From 48faa90b5e0532618654dd6391b536df25dbeaac Mon Sep 17 00:00:00 2001 From: Yannik Bloscheck Date: Mon, 14 Jul 2025 20:51:41 +0200 Subject: [PATCH] [ios] Switch About to SwiftUI Signed-off-by: Yannik Bloscheck --- iphone/Maps/Bridging/BridgeControllers.swift | 9 + iphone/Maps/Bridging/EmbeddedSafariView.swift | 42 + .../Bridging/EmbeddedSafariViewContent.swift | 59 + .../EmbeddedSafariViewCoordinator.swift | 57 + .../UIApplication+LoadingOverlay.swift | 6 +- .../Classes/CustomAlert/Toast/Toast.swift | 7 + iphone/Maps/Classes/MapViewController.h | 1 + iphone/Maps/Classes/MapViewController.mm | 5 + .../Theme/Renderers/UITableViewRenderer.swift | 2 +- .../ic_about_faq.imageset/ic_about_faq.svg | 5 - .../ic_about_news.imageset/ic_about_news.svg | 3 - .../ic_about_rate_app.svg | 3 - .../Contents.json | 16 - .../ic_about_report_bug.svg | 4 - .../Contents.json | 16 - .../ic_about_report_osm.svg | 6 - .../ic_about_volunteer.svg | 4 - .../ic_christmas_tree.imageset/Contents.json | 16 - .../ic_christmas_tree.svg | 45 - .../Contents.json | 16 - .../ic_social_media_bluesky.svg | 4 - .../Contents.json | 16 - .../ic_social_media_codeberg.svg | 164 - .../Contents.json | 16 - .../ic_social_media_facebook.pdf | 113 - .../Contents.json | 16 - .../ic_social_media_fosstodon.svg | 1 - .../Contents.json | 16 - .../ic_social_media_instagram.pdf | 355 -- .../Contents.json | 16 - .../ic_social_media_lemmy.svg | 75 - .../Contents.json | 16 - .../ic_social_media_linkedin.pdf | 203 - .../Contents.json | 16 - .../ic_social_media_mail.pdf | 147 - .../Contents.json | 16 - .../ic_social_media_matrix.pdf | Bin 1598 -> 0 bytes .../Contents.json | 16 - .../ic_social_media_telegram.pdf | 125 - .../About/osm_logo.imageset/osm_logo.pdf | Bin 212727 -> 0 bytes .../Contents.json | 2 +- .../OpenStreetMap.svg | 3374 +++++++++++++++++ .../Bluesky.imageset}/Contents.json | 2 +- .../Social Media/Bluesky.imageset/bluesky.svg | 1 + .../Codeberg.imageset}/Contents.json | 2 +- .../Codeberg.imageset/codeberg.svg | 1 + .../Interface/Social Media/Contents.json | 9 + .../Facebook.imageset}/Contents.json | 2 +- .../Facebook.imageset/facebook.svg | 1 + .../Instagram.imageset}/Contents.json | 2 +- .../Instagram.imageset/instagram.svg | 1 + .../Social Media/Lemmy.imageset/Contents.json | 16 + .../Social Media/Lemmy.imageset/lemmy.svg | 1 + .../LinkedIn.imageset/Contents.json | 16 + .../LinkedIn.imageset/linkedin.svg | 1 + .../Mastodon.imageset/Contents.json | 16 + .../Mastodon.imageset/mastodon.svg | 1 + .../Matrix.imageset/Contents.json | 16 + .../Social Media/Matrix.imageset/matrix.svg | 1 + .../Telegram.imageset/Contents.json | 16 + .../Telegram.imageset/telegram.svg | 1 + .../Symbols}/Contents.json | 0 .../Symbols/comaps.symbolset/Contents.json | 15 + .../Symbols/comaps.symbolset/comaps.svg | 109 + .../af.lproj/Localizable.strings | 28 +- .../ar.lproj/Localizable.strings | 28 +- .../az.lproj/Localizable.strings | 28 +- .../be.lproj/Localizable.strings | 28 +- .../bg.lproj/Localizable.strings | 28 +- .../ca.lproj/Localizable.strings | 28 +- .../cs.lproj/Localizable.strings | 28 +- .../da.lproj/Localizable.strings | 28 +- .../de.lproj/Localizable.strings | 32 +- .../el.lproj/Localizable.strings | 28 +- .../en-GB.lproj/Localizable.strings | 32 +- .../en.lproj/Localizable.strings | 30 +- .../es-MX.lproj/Localizable.strings | 28 +- .../es.lproj/Localizable.strings | 28 +- .../et.lproj/Localizable.strings | 28 +- .../eu.lproj/Localizable.strings | 28 +- .../fa.lproj/Localizable.strings | 28 +- .../fi.lproj/Localizable.strings | 28 +- .../fr.lproj/Localizable.strings | 28 +- .../he.lproj/Localizable.strings | 28 +- .../hi.lproj/Localizable.strings | 28 +- .../hu.lproj/Localizable.strings | 28 +- .../id.lproj/Localizable.strings | 28 +- .../it.lproj/Localizable.strings | 28 +- .../ja.lproj/Localizable.strings | 26 +- .../ko.lproj/Localizable.strings | 28 +- .../lt.lproj/Localizable.strings | 28 +- .../lv.lproj/Localizable.strings | 28 +- .../mr.lproj/Localizable.strings | 28 +- .../mt.lproj/Localizable.strings | 28 +- .../nb.lproj/Localizable.strings | 28 +- .../nl.lproj/Localizable.strings | 28 +- .../pl.lproj/Localizable.strings | 28 +- .../pt-BR.lproj/Localizable.strings | 28 +- .../pt.lproj/Localizable.strings | 28 +- .../ro.lproj/Localizable.strings | 28 +- .../ru.lproj/Localizable.strings | 28 +- .../sk.lproj/Localizable.strings | 28 +- .../sr.lproj/Localizable.strings | 28 +- .../sv.lproj/Localizable.strings | 28 +- .../sw.lproj/Localizable.strings | 28 +- .../th.lproj/Localizable.strings | 28 +- .../tr.lproj/Localizable.strings | 28 +- .../uk.lproj/Localizable.strings | 28 +- .../vi.lproj/Localizable.strings | 28 +- .../zh-Hans.lproj/Localizable.strings | 26 +- .../zh-Hant.lproj/Localizable.strings | 26 +- iphone/Maps/Maps.xcodeproj/project.pbxproj | 128 +- iphone/Maps/Model/Social Media.swift | 106 + .../BottomMenu/Menu/BottomMenuPresenter.swift | 2 +- .../TabBar/BottomTabBarInteractor.swift | 8 +- .../Maps/UI/Help/About/AboutCoMapsView.swift | 45 + iphone/Maps/UI/Help/About/AboutView.swift | 225 ++ .../Help/About/ApoutOpenStreetMapView.swift | 45 + .../AboutController/AboutController.swift | 455 --- .../AboutController/Models/AboutInfo.swift | 71 - .../AboutController/Models/SocialMedia.swift | 62 - .../Views/ButtonsStackView.swift | 56 - .../AboutController/Views/DonationView.swift | 67 - .../Views/InfoTableViewCell.swift | 33 - .../Help/AboutController/Views/InfoView.swift | 81 - .../Help/AboutController/Views/OSMView.swift | 87 - .../Views/SocialMediaCollectionViewCell.swift | 45 - .../SocialMediaCollectionViewHeader.swift | 30 - iphone/Maps/UI/Help/CopyrightView.swift | 14 + iphone/Maps/UI/Help/FaqController.swift | 24 - iphone/Maps/UI/Help/FaqView.swift | 14 + .../Maps/UI/MailComposer/MailComposer.swift | 2 +- .../Profile/NoExistingProfileView.swift | 4 +- iphone/Maps/UI/Storyboard/Main.storyboard | 9 + 134 files changed, 5387 insertions(+), 2805 deletions(-) create mode 100644 iphone/Maps/Bridging/EmbeddedSafariView.swift create mode 100644 iphone/Maps/Bridging/EmbeddedSafariViewContent.swift create mode 100644 iphone/Maps/Bridging/EmbeddedSafariViewCoordinator.swift delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_faq.imageset/ic_about_faq.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_news.imageset/ic_about_news.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_rate_app.imageset/ic_about_rate_app.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/ic_about_report_bug.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/ic_about_report_osm.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_about_volunteer.imageset/ic_about_volunteer.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/ic_christmas_tree.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/ic_social_media_bluesky.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/ic_social_media_codeberg.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/ic_social_media_facebook.pdf delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/ic_social_media_fosstodon.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/ic_social_media_instagram.pdf delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/ic_social_media_lemmy.svg delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/ic_social_media_linkedin.pdf delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/ic_social_media_mail.pdf delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_matrix.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_matrix.imageset/ic_social_media_matrix.pdf delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/Contents.json delete mode 100644 iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/ic_social_media_telegram.pdf delete mode 100644 iphone/Maps/Images.xcassets/About/osm_logo.imageset/osm_logo.pdf rename iphone/Maps/Images.xcassets/{About/osm_logo.imageset => Interface/OpenStreetMap Logo.imageset}/Contents.json (85%) create mode 100644 iphone/Maps/Images.xcassets/Interface/OpenStreetMap Logo.imageset/OpenStreetMap.svg rename iphone/Maps/Images.xcassets/{About/ic_about_faq.imageset => Interface/Social Media/Bluesky.imageset}/Contents.json (85%) create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Bluesky.imageset/bluesky.svg rename iphone/Maps/Images.xcassets/{About/ic_about_news.imageset => Interface/Social Media/Codeberg.imageset}/Contents.json (85%) create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Codeberg.imageset/codeberg.svg create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Contents.json rename iphone/Maps/Images.xcassets/{About/ic_about_rate_app.imageset => Interface/Social Media/Facebook.imageset}/Contents.json (84%) create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Facebook.imageset/facebook.svg rename iphone/Maps/Images.xcassets/{About/ic_about_volunteer.imageset => Interface/Social Media/Instagram.imageset}/Contents.json (84%) create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Instagram.imageset/instagram.svg create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/lemmy.svg create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/linkedin.svg create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/mastodon.svg create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/matrix.svg create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/telegram.svg rename iphone/Maps/Images.xcassets/{About => Interface/Symbols}/Contents.json (100%) create mode 100644 iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/comaps.svg create mode 100644 iphone/Maps/Model/Social Media.swift create mode 100644 iphone/Maps/UI/Help/About/AboutCoMapsView.swift create mode 100644 iphone/Maps/UI/Help/About/AboutView.swift create mode 100644 iphone/Maps/UI/Help/About/ApoutOpenStreetMapView.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/AboutController.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Models/AboutInfo.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Models/SocialMedia.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Views/ButtonsStackView.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Views/DonationView.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Views/InfoTableViewCell.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Views/InfoView.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Views/OSMView.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewCell.swift delete mode 100644 iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewHeader.swift create mode 100644 iphone/Maps/UI/Help/CopyrightView.swift delete mode 100644 iphone/Maps/UI/Help/FaqController.swift create mode 100644 iphone/Maps/UI/Help/FaqView.swift diff --git a/iphone/Maps/Bridging/BridgeControllers.swift b/iphone/Maps/Bridging/BridgeControllers.swift index c78df13f1..e7ade0cd4 100644 --- a/iphone/Maps/Bridging/BridgeControllers.swift +++ b/iphone/Maps/Bridging/BridgeControllers.swift @@ -20,6 +20,15 @@ import UIKit +/// Class for using the SwiftUI `AboutView` in the interface builder +class AboutBridgeController: UIHostingController { + required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder, rootView: AboutView()) + } +} + + + /// Class for using the SwiftUI `SettingsView` in the interface builder class SettingsBridgeController: UIHostingController { required init?(coder aDecoder: NSCoder) { diff --git a/iphone/Maps/Bridging/EmbeddedSafariView.swift b/iphone/Maps/Bridging/EmbeddedSafariView.swift new file mode 100644 index 000000000..61019b3b4 --- /dev/null +++ b/iphone/Maps/Bridging/EmbeddedSafariView.swift @@ -0,0 +1,42 @@ +import SwiftUI + +/// View for Safari via a WebKit view +struct EmbeddedSafariView: View { + // MARK: Properties + + /// If the content is loading + @State private var isLoading: Bool = true + + + /// The view height + @State private var height: CGFloat = .zero + + + /// The url + let url: URL + + + /// If the view should resize itself to the height of the website content + var hasDynamicHeight: Bool = true + + + /// The actual view + var body: some View { + ZStack { + if hasDynamicHeight { + EmbeddedSafariViewContent(isLoading: $isLoading, height: $height, hasDynamicHeight: hasDynamicHeight, url: url) + .frame(height: .infinity) + .edgesIgnoringSafeArea(.all) + } else { + EmbeddedSafariViewContent(isLoading: $isLoading, height: $height, hasDynamicHeight: hasDynamicHeight, url: url) + .edgesIgnoringSafeArea(.all) + } + + if isLoading { + ProgressView() + .controlSize(.large) + .frame(minHeight: 100) + } + } + } +} diff --git a/iphone/Maps/Bridging/EmbeddedSafariViewContent.swift b/iphone/Maps/Bridging/EmbeddedSafariViewContent.swift new file mode 100644 index 000000000..7f0ff4cb2 --- /dev/null +++ b/iphone/Maps/Bridging/EmbeddedSafariViewContent.swift @@ -0,0 +1,59 @@ +import SwiftUI +import WebKit + +/// Content of the view for Safari via a WebKit view +struct EmbeddedSafariViewContent: UIViewRepresentable { + // MARK: Properties + + /// If the content is loading + @Binding var isLoading: Bool + + + /// The view height + @Binding var height: CGFloat + + + /// If the view should resize itself to the height of the website content + var hasDynamicHeight: Bool = true + + + /// The url + let url: URL + + + + // MARK: Methods + + /// Create a coodindator for the WebKit view + func makeCoordinator() -> EmbeddedSafariViewCoordinator { + EmbeddedSafariViewCoordinator(self) + } + + + /// Create a WebKit view + /// - Parameter context: The context + /// - Returns: The WebKit view + func makeUIView(context: UIViewRepresentableContext) -> WKWebView { + let uiView = WKWebView() + uiView.navigationDelegate = context.coordinator + uiView.scrollView.isScrollEnabled = !hasDynamicHeight + uiView.scrollView.showsHorizontalScrollIndicator = false + uiView.allowsBackForwardNavigationGestures = false + uiView.allowsLinkPreview = false + if #available(iOS 16.0, *) { + uiView.isFindInteractionEnabled = false + } + uiView.isOpaque = false + uiView.backgroundColor = .clear + uiView.underPageBackgroundColor = .clear + uiView.load(URLRequest(url: url)) + return uiView + } + + + /// Update the WebKit view + /// - Parameter context: The context + func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext) { + uiView.load(URLRequest(url: url)) + } +} diff --git a/iphone/Maps/Bridging/EmbeddedSafariViewCoordinator.swift b/iphone/Maps/Bridging/EmbeddedSafariViewCoordinator.swift new file mode 100644 index 000000000..2e59e7e94 --- /dev/null +++ b/iphone/Maps/Bridging/EmbeddedSafariViewCoordinator.swift @@ -0,0 +1,57 @@ +import WebKit + +/// Coordinator of the view for Safari via a WebKit view +class EmbeddedSafariViewCoordinator: NSObject { + // MARK: Properties + + /// The content + var content: EmbeddedSafariViewContent + + + // MARK: Initialization + + /// Initalize the coordinator with the matching content + /// - Parameter content: The content + init(_ content: EmbeddedSafariViewContent) { + self.content = content + } +} + + + +// MARK: - `WKNavigationDelegate` +extension EmbeddedSafariViewCoordinator: WKNavigationDelegate { + // MARK: Methods + + func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { + if webView.isLoading == false { + self.content.isLoading = false + + if content.hasDynamicHeight { + webView.evaluateJavaScript( + "document.body.scrollHeight", + completionHandler: { (result, error) in + if let height = result as? CGFloat { + self.content.height = height + } + }) + } + } + } + + + func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping @MainActor (WKNavigationActionPolicy) -> Void) { + if let url = navigationAction.request.url { + if url.absoluteString.starts(with: "file:///") { + decisionHandler(.allow) + return + } else if navigationAction.navigationType == .linkActivated { + if UIApplication.shared.canOpenURL(url) { + UIApplication.shared.open(url) + } + } + } + + decisionHandler(.cancel) + } +} diff --git a/iphone/Maps/Categories/UIApplication+LoadingOverlay.swift b/iphone/Maps/Categories/UIApplication+LoadingOverlay.swift index 9e5fe2d4f..4769fe545 100644 --- a/iphone/Maps/Categories/UIApplication+LoadingOverlay.swift +++ b/iphone/Maps/Categories/UIApplication+LoadingOverlay.swift @@ -11,7 +11,11 @@ extension UIApplication { DispatchQueue.main.async { UIApplication.overlayViewController.modalPresentationStyle = .overFullScreen UIApplication.overlayViewController.modalTransitionStyle = .crossDissolve - window.rootViewController?.present(UIApplication.overlayViewController, animated: true, completion: completion) + if window.rootViewController?.presentedViewController != nil { + window.rootViewController?.presentedViewController?.present(UIApplication.overlayViewController, animated: true, completion: completion) + } else { + window.rootViewController?.present(UIApplication.overlayViewController, animated: true, completion: completion) + } } } diff --git a/iphone/Maps/Classes/CustomAlert/Toast/Toast.swift b/iphone/Maps/Classes/CustomAlert/Toast/Toast.swift index aeccf36be..49e71266c 100644 --- a/iphone/Maps/Classes/CustomAlert/Toast/Toast.swift +++ b/iphone/Maps/Classes/CustomAlert/Toast/Toast.swift @@ -113,3 +113,10 @@ final class Toast: NSObject { } } } + +extension NSLayoutConstraint { + func withPriority(_ priority: UILayoutPriority) -> NSLayoutConstraint { + self.priority = priority + return self + } +} diff --git a/iphone/Maps/Classes/MapViewController.h b/iphone/Maps/Classes/MapViewController.h index 68fd84ed8..eb1f4d37e 100644 --- a/iphone/Maps/Classes/MapViewController.h +++ b/iphone/Maps/Classes/MapViewController.h @@ -30,6 +30,7 @@ - (void)openMenu; - (void)openSettings; +- (void)openAbout; - (void)openMapsDownloader:(MWMMapDownloaderMode)mode; - (void)openEditor; - (void)openBookmarkEditor; diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm index d665dea45..30a038f11 100644 --- a/iphone/Maps/Classes/MapViewController.mm +++ b/iphone/Maps/Classes/MapViewController.mm @@ -40,6 +40,7 @@ NSString *const kEditorSegue = @"Map2EditorSegue"; NSString *const kUDViralAlertWasShown = @"ViralAlertWasShown"; NSString *const kPP2BookmarkEditingSegue = @"PP2BookmarkEditing"; NSString *const kSettingsSegue = @"Map2Settings"; +NSString *const kAboutSegue = @"Map2About"; } // namespace @interface NSValueWrapper : NSObject @@ -584,6 +585,10 @@ NSString *const kSettingsSegue = @"Map2Settings"; [self performSegueWithIdentifier:kSettingsSegue sender:nil]; } +- (void)openAbout { + [self performSegueWithIdentifier:kAboutSegue sender:nil]; +} + - (void)openMapsDownloader:(MWMMapDownloaderMode)mode { [self performSegueWithIdentifier:kDownloaderSegue sender:@(mode)]; } diff --git a/iphone/Maps/Core/Theme/Renderers/UITableViewRenderer.swift b/iphone/Maps/Core/Theme/Renderers/UITableViewRenderer.swift index 62b05aad6..39a715f22 100644 --- a/iphone/Maps/Core/Theme/Renderers/UITableViewRenderer.swift +++ b/iphone/Maps/Core/Theme/Renderers/UITableViewRenderer.swift @@ -1,6 +1,6 @@ extension UITableView { @objc override func applyTheme() { - if styleName.isEmpty { + if styleName.isEmpty, style != .insetGrouped, style != .grouped { setStyle(.tableView) } for style in StyleManager.shared.getStyle(styleName) diff --git a/iphone/Maps/Images.xcassets/About/ic_about_faq.imageset/ic_about_faq.svg b/iphone/Maps/Images.xcassets/About/ic_about_faq.imageset/ic_about_faq.svg deleted file mode 100644 index 69e611ec2..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_faq.imageset/ic_about_faq.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_about_news.imageset/ic_about_news.svg b/iphone/Maps/Images.xcassets/About/ic_about_news.imageset/ic_about_news.svg deleted file mode 100644 index 987868caa..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_news.imageset/ic_about_news.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_about_rate_app.imageset/ic_about_rate_app.svg b/iphone/Maps/Images.xcassets/About/ic_about_rate_app.imageset/ic_about_rate_app.svg deleted file mode 100644 index a49d89c72..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_rate_app.imageset/ic_about_rate_app.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/Contents.json deleted file mode 100644 index f70eb38ac..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_about_report_bug.svg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/ic_about_report_bug.svg b/iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/ic_about_report_bug.svg deleted file mode 100644 index 32764df63..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_report_bug.imageset/ic_about_report_bug.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/Contents.json deleted file mode 100644 index d50f82a7e..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_about_report_osm.svg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/ic_about_report_osm.svg b/iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/ic_about_report_osm.svg deleted file mode 100644 index be88a1aab..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_report_osm.imageset/ic_about_report_osm.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_about_volunteer.imageset/ic_about_volunteer.svg b/iphone/Maps/Images.xcassets/About/ic_about_volunteer.imageset/ic_about_volunteer.svg deleted file mode 100644 index bcd93db53..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_about_volunteer.imageset/ic_about_volunteer.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/Contents.json deleted file mode 100644 index 2e35a54c2..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_christmas_tree.svg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/ic_christmas_tree.svg b/iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/ic_christmas_tree.svg deleted file mode 100644 index 54673aff6..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_christmas_tree.imageset/ic_christmas_tree.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/Contents.json deleted file mode 100644 index cc87ba2fd..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_bluesky.svg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/ic_social_media_bluesky.svg b/iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/ic_social_media_bluesky.svg deleted file mode 100644 index c71e2018a..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_bluesky.imageset/ic_social_media_bluesky.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/Contents.json deleted file mode 100644 index 4483b0ee8..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_codeberg.svg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/ic_social_media_codeberg.svg b/iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/ic_social_media_codeberg.svg deleted file mode 100644 index 028b729ff..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_codeberg.imageset/ic_social_media_codeberg.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - Codeberg logo - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - Codeberg logo - - - - Robert Martinez - - - - - Codeberg and the Codeberg Logo are trademarks of Codeberg e.V. - - - 2020-04-09 - - - Codeberg e.V. - - - codeberg.org - - - - - - - - - - - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/Contents.json deleted file mode 100644 index 0f9c4afca..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_facebook.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/ic_social_media_facebook.pdf b/iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/ic_social_media_facebook.pdf deleted file mode 100644 index e16b93608..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_facebook.imageset/ic_social_media_facebook.pdf +++ /dev/null @@ -1,113 +0,0 @@ -%PDF-1.7 - -1 0 obj - << >> -endobj - -2 0 obj - << /Length 3 0 R >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.175674 cm -0.031373 0.400000 1.000000 scn -48.000000 23.824326 m -48.000000 37.079048 37.254723 47.824326 24.000000 47.824326 c -10.745279 47.824326 0.000000 37.079048 0.000000 23.824326 c -0.000000 12.569286 7.749120 3.124805 18.202560 0.530884 c -18.202560 16.489925 l -13.253760 16.489925 l -13.253760 23.824326 l -18.202560 23.824326 l -18.202560 26.984646 l -18.202560 35.153286 21.899521 38.939526 29.919361 38.939526 c -31.440001 38.939526 34.063683 38.640965 35.136963 38.343365 c -35.136963 31.695366 l -34.570560 31.754887 33.586559 31.784645 32.364479 31.784645 c -28.429441 31.784645 26.908798 30.293766 26.908798 26.418245 c -26.908798 23.824326 l -34.748161 23.824326 l -33.401279 16.489925 l -26.908798 16.489925 l -26.908798 0.000004 l -38.792641 1.435204 48.000961 11.553604 48.000961 23.824326 c -48.000000 23.824326 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 13.252808 0.000000 cm -1.000000 1.000000 1.000000 scn -20.147522 16.665604 m -21.494402 24.000004 l -13.655041 24.000004 l -13.655041 26.593925 l -13.655041 30.469444 15.175679 31.960323 19.110720 31.960323 c -20.332800 31.960323 21.316799 31.930565 21.883200 31.871044 c -21.883200 38.519043 l -20.809919 38.817604 18.186239 39.115204 16.665600 39.115204 c -8.645760 39.115204 4.948801 35.328964 4.948801 27.160324 c -4.948801 24.000004 l -0.000000 24.000004 l -0.000000 16.665604 l -4.948801 16.665604 l -4.948801 0.706562 l -6.805440 0.245762 8.747520 0.000004 10.746241 0.000004 c -11.730240 0.000004 12.700800 0.060486 13.654079 0.175686 c -13.654079 16.665604 l -20.146561 16.665604 l -20.147522 16.665604 l -h -f -n -Q - -endstream -endobj - -3 0 obj - 1642 -endobj - -4 0 obj - << /Annots [] - /Type /Page - /MediaBox [ 0.000000 0.000000 48.000000 48.000000 ] - /Resources 1 0 R - /Contents 2 0 R - /Parent 5 0 R - >> -endobj - -5 0 obj - << /Kids [ 4 0 R ] - /Count 1 - /Type /Pages - >> -endobj - -6 0 obj - << /Pages 5 0 R - /Type /Catalog - >> -endobj - -xref -0 7 -0000000000 65535 f -0000000010 00000 n -0000000034 00000 n -0000001732 00000 n -0000001755 00000 n -0000001928 00000 n -0000002002 00000 n -trailer -<< /ID [ (some) (id) ] - /Root 6 0 R - /Size 7 ->> -startxref -2061 -%%EOF \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/Contents.json deleted file mode 100644 index fc219cf7e..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_fosstodon.svg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/ic_social_media_fosstodon.svg b/iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/ic_social_media_fosstodon.svg deleted file mode 100644 index ff5658a7e..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_fosstodon.imageset/ic_social_media_fosstodon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/Contents.json deleted file mode 100644 index cf5281252..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_instagram.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/ic_social_media_instagram.pdf b/iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/ic_social_media_instagram.pdf deleted file mode 100644 index 09e3ae424..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_instagram.imageset/ic_social_media_instagram.pdf +++ /dev/null @@ -1,355 +0,0 @@ -%PDF-1.7 - -1 0 obj - << /Length 2 0 R - /Range [ 0.000000 1.000000 ] - /Domain [ 0.000000 1.000000 ] - /FunctionType 4 - >> -stream -{ 1.000000 exch dup 0.000000 gt { exch pop dup 0.000000 sub 0.000000 mul 1.000000 add exch } if dup 0.128000 gt { exch pop dup 0.128000 sub -1.146789 mul 1.000000 add exch } if dup 1.000000 gt { exch pop 0.000000 exch } if pop } -endstream -endobj - -2 0 obj - 229 -endobj - -3 0 obj - << /BBox [ 0.000000 0.000000 55.000000 55.000000 ] - /Resources << /Pattern << /P1 << /Matrix [ 9.564900 -47.783638 196.961945 39.448235 -112.476196 55.205605 ] - /Shading << /Coords [ 0.500000 0.500000 0.000000 0.500000 0.500000 0.500000 ] - /ColorSpace /DeviceGray - /Function 1 0 R - /Domain [ 0.000000 1.000000 ] - /ShadingType 3 - /Extend [ true true ] - >> - /PatternType 2 - /Type /Pattern - >> >> >> - /Subtype /Form - /Length 4 0 R - /Group << /Type /Group - /S /Transparency - /CS /DeviceGray - >> - /Type /XObject - >> -stream -/DeviceGray CS -/DeviceGray cs -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -27.508976 55.000000 m -16.027981 55.000000 12.670229 54.988152 12.017544 54.933994 c -9.661448 54.738094 8.195339 54.367023 6.598101 53.571571 c -5.367179 52.960175 4.396400 52.251461 3.438311 51.257992 c -1.693447 49.446224 0.635953 47.217266 0.253140 44.567734 c -0.067022 43.281471 0.012878 43.019138 0.001880 36.449043 c --0.002350 34.259014 0.001880 31.376770 0.001880 27.510788 c -0.001880 16.035973 0.014570 12.680691 0.069560 12.029095 c -0.259908 9.735825 0.619456 8.293011 1.380852 6.714802 c -2.835963 3.693775 5.615056 1.425888 8.889055 0.579662 c -10.022689 0.287716 11.274761 0.126938 12.882151 0.050777 c -13.563177 0.021160 20.504562 0.000000 27.450178 0.000000 c -34.395798 0.000000 41.341415 0.008461 42.005524 0.042309 c -43.866711 0.129894 44.947468 0.275028 46.142437 0.583900 c -47.765820 1.000317 49.278755 1.766197 50.575581 2.828056 c -51.872406 3.889915 52.921856 5.222153 53.650642 6.731724 c -54.397232 8.271854 54.775814 9.769676 54.947128 11.943203 c -54.984352 12.417091 55.000000 19.972614 55.000000 27.517982 c -55.000000 35.064621 54.983082 42.606182 54.945858 43.080070 c -54.772430 45.288715 54.393845 46.773842 53.623142 48.343590 c -52.990761 49.628586 52.288589 50.588203 51.269165 51.569401 c -49.450275 53.307549 47.225307 54.365330 44.573536 54.747826 c -43.288895 54.933571 43.032982 54.988575 36.459602 55.000000 c -27.508976 55.000000 l -h -/Pattern cs -/P1 scn -f -n - -endstream -endobj - -4 0 obj - 1473 -endobj - -5 0 obj - << /Length 6 0 R - /Range [ 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 ] - /Domain [ 0.000000 1.000000 ] - /FunctionType 4 - >> -stream -{ 0.215686 exch 0.443137 exch 0.784314 exch dup 0.000000 gt { exch pop exch pop exch pop dup 0.000000 sub 0.000000 mul 0.215686 add exch dup 0.000000 sub 0.000000 mul 0.443137 add exch dup 0.000000 sub 0.000000 mul 0.784314 add exch } if dup 0.128000 gt { exch pop exch pop exch pop dup 0.128000 sub 0.211369 mul 0.215686 add exch dup 0.128000 sub -0.508185 mul 0.443137 add exch dup 0.128000 sub 0.247347 mul 0.784314 add exch } if dup 1.000000 gt { exch pop exch pop exch pop 0.400000 exch 0.000000 exch 1.000000 exch } if pop } -endstream -endobj - -6 0 obj - 531 -endobj - -7 0 obj - << /Length 8 0 R - /Range [ 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 ] - /Domain [ 0.000000 1.000000 ] - /FunctionType 4 - >> -stream -{ 1.000000 exch 0.866667 exch 0.333333 exch dup 0.000000 gt { exch pop exch pop exch pop dup 0.000000 sub 0.000000 mul 1.000000 add exch dup 0.000000 sub 0.000000 mul 0.866667 add exch dup 0.000000 sub 0.000000 mul 0.333333 add exch } if dup 0.100000 gt { exch pop exch pop exch pop dup 0.100000 sub 0.000000 mul 1.000000 add exch dup 0.100000 sub -1.343137 mul 0.866667 add exch dup 0.100000 sub -0.225490 mul 0.333333 add exch } if dup 0.500000 gt { exch pop exch pop exch pop dup 0.500000 sub -0.431373 mul 1.000000 add exch dup 0.500000 sub -0.227451 mul 0.329412 add exch dup 0.500000 sub 0.854902 mul 0.243137 add exch } if dup 1.000000 gt { exch pop exch pop exch pop 0.784314 exch 0.215686 exch 0.670588 exch } if pop } -endstream -endobj - -8 0 obj - 728 -endobj - -9 0 obj - << /ExtGState << /E1 << /SMask << /Type /Mask - /G 3 0 R - /S /Luminosity - >> - /Type /ExtGState - >> >> - /Pattern << /P2 << /Matrix [ 9.564900 -47.783638 196.961945 39.448235 -112.476196 55.205605 ] - /Shading << /Coords [ 0.500000 0.500000 0.000000 0.500000 0.500000 0.500000 ] - /ColorSpace /DeviceRGB - /Function 5 0 R - /Domain [ 0.000000 1.000000 ] - /ShadingType 3 - /Extend [ true true ] - >> - /PatternType 2 - /Type /Pattern - >> - /P1 << /Matrix [ 0.000000 109.018143 -101.395439 -0.000000 65.307152 -58.745239 ] - /Shading << /Coords [ 0.500000 0.500000 0.000000 0.500000 0.500000 0.500000 ] - /ColorSpace /DeviceRGB - /Function 7 0 R - /Domain [ 0.000000 1.000000 ] - /ShadingType 3 - /Extend [ true true ] - >> - /PatternType 2 - /Type /Pattern - >> - >> - >> -endobj - -10 0 obj - << /Length 11 0 R >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -/Pattern cs -/P1 scn -27.508976 55.000000 m -16.027981 55.000000 12.670229 54.988152 12.017544 54.933994 c -9.661448 54.738094 8.195339 54.367023 6.598101 53.571571 c -5.367179 52.960175 4.396400 52.251461 3.438311 51.257992 c -1.693447 49.446224 0.635953 47.217266 0.253140 44.567734 c -0.067022 43.281471 0.012878 43.019138 0.001880 36.449043 c --0.002350 34.259014 0.001880 31.376770 0.001880 27.510788 c -0.001880 16.035973 0.014570 12.680691 0.069560 12.029095 c -0.259908 9.735825 0.619456 8.293011 1.380852 6.714802 c -2.835963 3.693775 5.615056 1.425888 8.889055 0.579662 c -10.022689 0.287716 11.274761 0.126938 12.882151 0.050777 c -13.563177 0.021160 20.504562 0.000000 27.450178 0.000000 c -34.395798 0.000000 41.341415 0.008461 42.005524 0.042309 c -43.866711 0.129894 44.947468 0.275028 46.142437 0.583900 c -47.765820 1.000317 49.278755 1.766197 50.575581 2.828056 c -51.872406 3.889915 52.921856 5.222153 53.650642 6.731724 c -54.397232 8.271854 54.775814 9.769676 54.947128 11.943203 c -54.984352 12.417091 55.000000 19.972614 55.000000 27.517982 c -55.000000 35.064621 54.983082 42.606182 54.945858 43.080070 c -54.772430 45.288715 54.393845 46.773842 53.623142 48.343590 c -52.990761 49.628586 52.288589 50.588203 51.269165 51.569401 c -49.450275 53.307549 47.225307 54.365330 44.573536 54.747826 c -43.288895 54.933571 43.032982 54.988575 36.459602 55.000000 c -27.508976 55.000000 l -h -f -n -Q -q -/E1 gs -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -/Pattern cs -/P2 scn -27.508976 55.000000 m -16.027981 55.000000 12.670229 54.988152 12.017544 54.933994 c -9.661448 54.738094 8.195339 54.367023 6.598101 53.571571 c -5.367179 52.960175 4.396400 52.251461 3.438311 51.257992 c -1.693447 49.446224 0.635953 47.217266 0.253140 44.567734 c -0.067022 43.281471 0.012878 43.019138 0.001880 36.449043 c --0.002350 34.259014 0.001880 31.376770 0.001880 27.510788 c -0.001880 16.035973 0.014570 12.680691 0.069560 12.029095 c -0.259908 9.735825 0.619456 8.293011 1.380852 6.714802 c -2.835963 3.693775 5.615056 1.425888 8.889055 0.579662 c -10.022689 0.287716 11.274761 0.126938 12.882151 0.050777 c -13.563177 0.021160 20.504562 0.000000 27.450178 0.000000 c -34.395798 0.000000 41.341415 0.008461 42.005524 0.042309 c -43.866711 0.129894 44.947468 0.275028 46.142437 0.583900 c -47.765820 1.000317 49.278755 1.766197 50.575581 2.828056 c -51.872406 3.889915 52.921856 5.222153 53.650642 6.731724 c -54.397232 8.271854 54.775814 9.769676 54.947128 11.943203 c -54.984352 12.417091 55.000000 19.972614 55.000000 27.517982 c -55.000000 35.064621 54.983082 42.606182 54.945858 43.080070 c -54.772430 45.288715 54.393845 46.773842 53.623142 48.343590 c -52.990761 49.628586 52.288589 50.588203 51.269165 51.569401 c -49.450275 53.307549 47.225307 54.365330 44.573536 54.747826 c -43.288895 54.933571 43.032982 54.988575 36.459602 55.000000 c -27.508976 55.000000 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 7.191101 7.188263 cm -1.000000 1.000000 1.000000 scn -20.305143 40.618805 m -14.790950 40.618805 14.098926 40.594688 11.933179 40.496101 c -9.771663 40.397095 8.296248 40.054794 7.005260 39.552559 c -5.669858 39.033825 4.537070 38.339920 3.408513 37.210632 c -2.279110 36.081768 1.585394 34.948673 1.065107 33.613331 c -0.561740 32.321568 0.219113 30.845325 0.121823 28.684067 c -0.025380 26.517731 0.000000 25.825092 0.000000 20.309397 c -0.000000 14.793701 0.024534 14.103601 0.122670 11.937265 c -0.222074 9.775160 0.564279 8.299347 1.065954 7.008007 c -1.584972 5.672241 2.278687 4.539143 3.407667 3.410275 c -4.535801 2.280567 5.668588 1.584969 7.003145 1.066231 c -8.294979 0.563995 9.770817 0.221703 11.931911 0.122692 c -14.097657 0.024109 14.789259 -0.000011 20.303030 -0.000011 c -25.817646 -0.000011 26.507557 0.024109 28.673304 0.122692 c -30.834820 0.221703 32.311928 0.563995 33.603760 1.066231 c -34.938740 1.584969 36.069836 2.280567 37.197968 3.410275 c -38.327374 4.539143 39.021084 5.672237 39.541370 7.007580 c -40.040508 8.299343 40.383137 9.775585 40.484657 11.936844 c -40.581947 14.103180 40.607327 14.793701 40.607327 20.309397 c -40.607327 25.825092 40.581947 26.517307 40.484657 28.683643 c -40.383137 30.845749 40.040508 32.321568 39.541370 33.612907 c -39.021084 34.948673 38.327374 36.081768 37.197968 37.210632 c -36.068565 38.340343 34.939163 39.034248 33.602489 39.552559 c -32.308117 40.054794 30.831860 40.397095 28.670341 40.496101 c -26.504595 40.594688 25.815107 40.618805 20.299221 40.618805 c -20.305143 40.618805 l -h -18.483717 36.958881 m -19.024307 36.959728 19.627502 36.958881 20.305143 36.958881 c -25.726278 36.958881 26.368813 36.939419 28.509602 36.842102 c -30.489231 36.751556 31.563641 36.420681 32.279354 36.142696 c -33.226868 35.774590 33.902397 35.334549 34.612610 34.623722 c -35.323246 33.912891 35.763161 33.235912 36.132015 32.288139 c -36.409924 31.573080 36.741131 30.498375 36.831226 28.518208 c -36.928516 26.377256 36.949669 25.734127 36.949669 20.314053 c -36.949669 14.893980 36.928516 14.250847 36.831226 12.109898 c -36.740707 10.129730 36.409924 9.055023 36.132015 8.339962 c -35.764008 7.392193 35.323246 6.717327 34.612610 6.006920 c -33.901974 5.296093 33.227291 4.856052 32.279354 4.487946 c -31.564487 4.208691 30.489231 3.878666 28.509602 3.788120 c -26.369236 3.690804 25.726278 3.669647 20.305143 3.669647 c -14.883586 3.669647 14.241053 3.690804 12.100686 3.788120 c -10.121058 3.879513 9.046646 4.210384 8.330511 4.488373 c -7.382997 4.856480 6.706201 5.296513 5.995565 6.007343 c -5.284930 6.718174 4.845013 7.393459 4.476159 8.341652 c -4.198249 9.056713 3.867043 10.131424 3.776944 12.111591 c -3.679655 14.252541 3.660196 14.895674 3.660196 20.319132 c -3.660196 25.742588 3.679655 26.382332 3.776944 28.523283 c -3.867465 30.503448 4.198249 31.578157 4.476159 32.294064 c -4.844166 33.241837 5.284930 33.918816 5.995565 34.629646 c -6.706201 35.340473 7.382997 35.780510 8.330511 36.149467 c -9.046223 36.428719 10.121058 36.758747 12.100686 36.849716 c -13.973719 36.934341 14.699581 36.959724 18.483717 36.963959 c -18.483717 36.958881 l -h -31.143183 33.586674 m -30.661259 33.586674 30.190159 33.443718 29.789467 33.175884 c -29.388773 32.908051 29.076487 32.527374 28.892101 32.081997 c -28.707714 31.636621 28.659515 31.146553 28.753595 30.673773 c -28.847675 30.200993 29.079811 29.766739 29.420641 29.425934 c -29.761473 29.085129 30.195686 28.853081 30.668369 28.759140 c -31.141054 28.665199 31.630972 28.713583 32.076164 28.898174 c -32.521355 29.082764 32.901821 29.395267 33.169441 29.796164 c -33.437061 30.197060 33.579815 30.668335 33.579647 31.150391 c -33.579647 32.495888 32.488316 33.587521 31.143183 33.587521 c -31.143183 33.586674 l -h -20.305143 30.739124 m -14.546881 30.739124 9.878259 26.069229 9.878259 20.309397 c -9.878259 14.549564 14.546881 9.881786 20.305143 9.881786 c -26.063408 9.881786 30.730762 14.549564 30.730762 20.309397 c -30.730762 26.069229 26.062984 30.739124 20.304720 30.739124 c -20.305143 30.739124 l -h -20.305143 27.079201 m -24.042749 27.079201 27.073101 24.048443 27.073101 20.309397 c -27.073101 16.570774 24.042749 13.539595 20.305143 13.539595 c -16.567116 13.539595 13.537185 16.570774 13.537185 20.309397 c -13.537185 24.048443 16.567116 27.079201 20.305143 27.079201 c -20.305143 27.079201 l -h -f -n -Q - -endstream -endobj - -11 0 obj - 7233 -endobj - -12 0 obj - << /Annots [] - /Type /Page - /MediaBox [ 0.000000 0.000000 55.000000 55.000000 ] - /Resources 9 0 R - /Contents 10 0 R - /Parent 13 0 R - >> -endobj - -13 0 obj - << /Kids [ 12 0 R ] - /Count 1 - /Type /Pages - >> -endobj - -14 0 obj - << /Pages 13 0 R - /Type /Catalog - >> -endobj - -xref -0 15 -0000000000 65535 f -0000000010 00000 n -0000000387 00000 n -0000000409 00000 n -0000002925 00000 n -0000002948 00000 n -0000003663 00000 n -0000003685 00000 n -0000004597 00000 n -0000004619 00000 n -0000006159 00000 n -0000013450 00000 n -0000013474 00000 n -0000013650 00000 n -0000013726 00000 n -trailer -<< /ID [ (some) (id) ] - /Root 14 0 R - /Size 15 ->> -startxref -13787 -%%EOF \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/Contents.json deleted file mode 100644 index 52d8ff499..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_lemmy.svg", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/ic_social_media_lemmy.svg b/iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/ic_social_media_lemmy.svg deleted file mode 100644 index eb0772428..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_lemmy.imageset/ic_social_media_lemmy.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/Contents.json deleted file mode 100644 index 5feb7d243..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_linkedin.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/ic_social_media_linkedin.pdf b/iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/ic_social_media_linkedin.pdf deleted file mode 100644 index 551a7cbe7..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_linkedin.imageset/ic_social_media_linkedin.pdf +++ /dev/null @@ -1,203 +0,0 @@ -%PDF-1.7 - -1 0 obj - << /Type /XObject - /Length 2 0 R - /Group << /Type /Group - /S /Transparency - >> - /Subtype /Form - /Resources << >> - /BBox [ 0.000000 0.000000 53.616821 53.616821 ] - >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -1.000000 1.000000 1.000000 scn -0.000000 48.616821 m -0.000000 51.378242 2.238576 53.616821 5.000000 53.616821 c -48.616821 53.616821 l -51.378242 53.616821 53.616821 51.378246 53.616821 48.616821 c -53.616821 5.000000 l -53.616821 2.238579 51.378246 0.000000 48.616821 0.000000 c -5.000000 0.000000 l -2.238577 0.000000 0.000000 2.238575 0.000000 5.000000 c -0.000000 48.616821 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -0.039216 0.400000 0.760784 scn -49.658855 53.616821 m -3.957965 53.616821 l -2.908247 53.616821 1.901524 53.199821 1.159261 52.457561 c -0.416999 51.715298 0.000000 50.708572 0.000000 49.658855 c -0.000000 3.957966 l -0.000000 2.908245 0.416999 1.901516 1.159261 1.159256 c -1.901524 0.416992 2.908247 -0.000004 3.957965 0.000000 c -49.658855 0.000000 l -50.708576 -0.000004 51.715305 0.416992 52.457565 1.159256 c -53.199829 1.901516 53.616825 2.908245 53.616821 3.957966 c -53.616821 49.658855 l -53.616825 50.708572 53.199829 51.715298 52.457565 52.457561 c -51.715305 53.199821 50.708576 53.616821 49.658855 53.616821 c -h -15.980792 7.941990 m -7.919653 7.941990 l -7.919653 33.547745 l -15.980792 33.547745 l -15.980792 7.941990 l -h -11.944638 37.096138 m -11.030241 37.101288 10.137859 37.377190 9.380116 37.889023 c -8.622374 38.400860 8.033230 39.125690 7.687038 39.972034 c -7.340846 40.818382 7.253122 41.748306 7.434936 42.644463 c -7.616749 43.540619 8.059953 44.362831 8.708612 45.007339 c -9.357272 45.651848 10.182315 46.089764 11.079618 46.265820 c -11.976922 46.441875 12.906269 46.348183 13.750374 45.996563 c -14.594480 45.644943 15.315511 45.051163 15.822470 44.290146 c -16.329430 43.529133 16.599596 42.634998 16.598875 41.720589 c -16.607500 41.108387 16.492785 40.500717 16.261562 39.933800 c -16.030342 39.366879 15.687348 38.852310 15.253028 38.420769 c -14.818707 37.989231 14.301950 37.649548 13.733557 37.421970 c -13.165163 37.194393 12.556769 37.083580 11.944638 37.096138 c -h -45.693451 7.919651 m -37.636036 7.919651 l -37.636036 21.908424 l -37.636036 26.033941 35.882317 27.307343 33.618496 27.307343 c -31.228081 27.307343 28.882339 25.505220 28.882339 21.804171 c -28.882339 7.919651 l -20.821199 7.919651 l -20.821199 33.529129 l -28.573301 33.529129 l -28.573301 29.980736 l -28.677557 29.980736 l -29.455746 31.555731 32.181267 34.247742 36.340294 34.247742 c -40.838150 34.247742 45.697170 31.578072 45.697170 23.758951 c -45.693451 7.919651 l -h -f -n -Q - -endstream -endobj - -2 0 obj - 2476 -endobj - -3 0 obj - << /Type /XObject - /Length 4 0 R - /Group << /Type /Group - /S /Transparency - >> - /Subtype /Form - /Resources << >> - /BBox [ 0.000000 0.000000 53.616821 53.616821 ] - >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -0.000000 0.000000 0.000000 scn -0.000000 48.616821 m -0.000000 51.378242 2.238576 53.616821 5.000000 53.616821 c -48.616821 53.616821 l -51.378242 53.616821 53.616821 51.378246 53.616821 48.616821 c -53.616821 5.000000 l -53.616821 2.238579 51.378246 0.000000 48.616821 0.000000 c -5.000000 0.000000 l -2.238577 0.000000 0.000000 2.238575 0.000000 5.000000 c -0.000000 48.616821 l -h -f -n -Q - -endstream -endobj - -4 0 obj - 468 -endobj - -5 0 obj - << /XObject << /X1 1 0 R >> - /ExtGState << /E1 << /SMask << /Type /Mask - /G 3 0 R - /S /Alpha - >> - /Type /ExtGState - >> >> - >> -endobj - -6 0 obj - << /Length 7 0 R >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -/E1 gs -/X1 Do -Q - -endstream -endobj - -7 0 obj - 46 -endobj - -8 0 obj - << /Annots [] - /Type /Page - /MediaBox [ 0.000000 0.000000 53.616821 53.616821 ] - /Resources 5 0 R - /Contents 6 0 R - /Parent 9 0 R - >> -endobj - -9 0 obj - << /Kids [ 8 0 R ] - /Count 1 - /Type /Pages - >> -endobj - -10 0 obj - << /Pages 9 0 R - /Type /Catalog - >> -endobj - -xref -0 11 -0000000000 65535 f -0000000010 00000 n -0000002734 00000 n -0000002757 00000 n -0000003473 00000 n -0000003495 00000 n -0000003793 00000 n -0000003895 00000 n -0000003916 00000 n -0000004089 00000 n -0000004163 00000 n -trailer -<< /ID [ (some) (id) ] - /Root 10 0 R - /Size 11 ->> -startxref -4223 -%%EOF \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/Contents.json deleted file mode 100644 index 62361acf4..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_mail.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/ic_social_media_mail.pdf b/iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/ic_social_media_mail.pdf deleted file mode 100644 index 9f4586756..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_mail.imageset/ic_social_media_mail.pdf +++ /dev/null @@ -1,147 +0,0 @@ -%PDF-1.7 - -1 0 obj - << /Length 2 0 R - /Range [ 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 ] - /Domain [ 0.000000 1.000000 ] - /FunctionType 4 - >> -stream -{ 0.117647 exch 0.317647 exch 0.933333 exch dup 0.000000 gt { exch pop exch pop exch pop dup 0.000000 sub -0.019608 mul 0.117647 add exch dup 0.000000 sub 0.584314 mul 0.317647 add exch dup 0.000000 sub 0.066667 mul 0.933333 add exch } if dup 1.000000 gt { exch pop exch pop exch pop 0.098039 exch 0.901961 exch 1.000000 exch } if pop } -endstream -endobj - -2 0 obj - 337 -endobj - -3 0 obj - << /Pattern << /P1 << /Matrix [ 0.000000 -51.982666 51.982666 0.000000 -51.982666 51.983826 ] - /Shading << /Coords [ 0.000000 0.000000 1.000000 0.000000 ] - /ColorSpace /DeviceRGB - /Function 1 0 R - /Domain [ 0.000000 1.000000 ] - /ShadingType 2 - /Extend [ true true ] - >> - /PatternType 2 - /Type /Pattern - >> >> >> -endobj - -4 0 obj - << /Length 5 0 R >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -/Pattern cs -/P1 scn -33.825233 52.000000 m -39.020233 52.000000 41.617737 52.000000 44.446125 51.133335 c -47.505405 50.035557 49.929741 47.608891 51.026463 44.546665 c -51.950016 41.715553 51.950016 39.057777 51.950016 33.857777 c -51.950016 18.142223 l -51.950016 12.942223 51.950016 10.342220 51.084183 7.511108 c -49.987461 4.448887 47.563126 2.022221 44.503845 0.924442 c -41.675457 -0.000004 39.020233 -0.000004 33.825233 -0.000004 c -18.124784 -0.000004 l -12.929783 -0.000004 10.332281 -0.000004 7.503891 0.866665 c -4.444613 2.022221 2.020278 4.391109 0.923556 7.511108 c --0.000000 10.284443 0.000000 12.884445 0.000000 18.142223 c -0.000000 33.857777 l -0.000000 39.057777 0.000000 41.657776 0.865834 44.488888 c -2.020278 47.551109 4.444613 49.977779 7.503891 51.075554 c -10.274559 52.000000 12.929783 52.000000 18.124784 52.000000 c -33.825233 52.000000 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 8.657959 14.643463 cm -1.000000 1.000000 1.000000 scn -33.998405 0.089878 m -33.940681 0.089878 33.825237 0.032101 33.767513 0.032101 c -0.865834 0.032101 l -0.808111 0.032101 0.692667 0.032101 0.634945 0.089878 c -10.909506 10.374320 l -13.102950 8.120989 l -15.469563 5.694323 19.221510 5.694323 21.588121 8.120989 c -23.781567 10.374320 l -33.998405 0.089878 l -h -34.633347 1.187656 m -34.633347 21.583210 l -34.633347 21.698765 34.633350 21.814322 34.575626 21.872099 c -34.517906 21.756542 24.358789 11.240987 24.358789 11.240987 c -34.633347 0.956545 l -34.633347 1.072100 34.633347 1.129879 34.633347 1.187656 c -h -0.000000 1.129879 m -0.000000 21.467653 l -0.000000 21.583210 0.000000 21.698765 0.057722 21.756542 c -0.115445 21.640987 10.274559 11.125431 10.274559 11.125431 c -0.057722 0.898767 l -0.000000 0.956545 0.000000 1.072102 0.000000 1.129879 c -h -34.056126 22.565432 m -20.953175 9.160988 l -18.932896 7.138765 15.700451 7.138765 13.737894 9.160988 c -0.634945 22.565432 l -0.577223 22.623209 34.056126 22.565432 34.056126 22.565432 c -h -f -n -Q - -endstream -endobj - -5 0 obj - 2024 -endobj - -6 0 obj - << /Annots [] - /Type /Page - /MediaBox [ 0.000000 0.000000 51.949951 52.000000 ] - /Resources 3 0 R - /Contents 4 0 R - /Parent 7 0 R - >> -endobj - -7 0 obj - << /Kids [ 6 0 R ] - /Count 1 - /Type /Pages - >> -endobj - -8 0 obj - << /Pages 7 0 R - /Type /Catalog - >> -endobj - -xref -0 9 -0000000000 65535 f -0000000010 00000 n -0000000531 00000 n -0000000553 00000 n -0000001179 00000 n -0000003259 00000 n -0000003282 00000 n -0000003455 00000 n -0000003529 00000 n -trailer -<< /ID [ (some) (id) ] - /Root 8 0 R - /Size 9 ->> -startxref -3588 -%%EOF \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_matrix.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_matrix.imageset/Contents.json deleted file mode 100644 index 691746fe9..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_matrix.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_matrix.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_matrix.imageset/ic_social_media_matrix.pdf b/iphone/Maps/Images.xcassets/About/ic_social_media_matrix.imageset/ic_social_media_matrix.pdf deleted file mode 100644 index 1227534b63da1e727767dcae2a0403f11cc20512..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1598 zcmZWpdr%Wc9BzFSdbJuXqeVfsN;EjYP5yEYFS~r4-03VPWHz9I4Kvxqc9jymq2&oYO0ID?P(gX$PT%0DN2o0$vkgzbs zLQ@28M68F5$+0FsY)0>h_vP@6^l|?x6>q`Mc|+gn3%4B$aM+JWb3o(YL3VF$!q-0A zHX!3&hX)3@qcc-4uUIkA^GrHEIzJ{}lC$2>TZ|6vXTB}d?dnL;-Duu&KfL8(v`ySP zI^27(_TkpH4HYS|cd~;dx9{%SoN=VPA*}z=Ps8adMt-8Mvt)2pL;BUW+ed7*)eF-v z1aB!#DTuE%I+p&LbxyRubJNm~m$a|m8`w81{VtKjJ8}D+P((n@2mt zyEw8>sl<83Yb&VvUVY@11Y6sg>0TA{B$l-9vOU{5f>T0lyFhDSH!JjNPDwo>j^Hfq zY?&2Q+j#K7aZZ4~aQK-qwm|v1j@IwHCA}En%{i@1el<`uWAVu6g}Jt}&qh9JI@700 zNWF8XnaRIk+&{Q%->TauuS@zfTid&R<~!=!v%044yx9EV?lOTjU!m2idX^`9T(Hk6 zPF>M3SXnZq$V30?&-Png5j{1JvzVr|_LKMHnntD_NOPz@V4Cr~(|cm1UF&wI#TA9D z+ne&rzR)jAbF`ZI$~$Sv%=q{pJ+8%U_WfSprq3~F&kf!o>NXNjlflt%5`Q?Q9Y99G{5|#X1hT|VrA6mU+ z>IrE}jrtVjomo)T7?-iifwk5hJ9+WwMzwz?a*dqM_3-zvxDsElu$|AEb~)#ZFR!4X zzd!N3JLXd}m$xn8pL_WpPlN-$3c2q}k^K1U!o1?=+)i87?DhT!jHtt>^u-iQ(0hw6 z$;zv&zb%Mq%d{$aiY$NMp6IY4Mm9XC8JdlDyz~jL+1XK;zQK0*ocK`3jh8Q$501~- zn&&9}D|mG3(Oao42w~DrUT^rv5`$#}J3~G!6NuP-b|rj68z)f|R$8@&h9m)UISass z;(WLOXyi(O0aSy-5mENA(utnol#V1#G!(Z0medmrR#7Blc5`aNh7)!9xdvLMaFfN%+S25^;AlWo z4B=WuLa8Vs&!8dHst6XGhy_&>7LuVfgaxn}QM*OP`s{jG-bQ9&&!Vvgtp!HF2CoJ# z-x)SgHw6+m1&I`?Wi;?9;%RULMFK1Y6Ng{|z|+&TS%$*&LR3fLX1zgU2_Y$6V4%}b zBz&l718It4OT&wj3HSmLUyMoEF5;&Jx|v(%W^TgYNSwxVNu5&>TNTS>9o|;YN)g!z zAA}c|KMu-W;5`@cD IBq))80oOV?od5s; diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/Contents.json b/iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/Contents.json deleted file mode 100644 index 1fafcbc2c..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "ic_social_media_telegram.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "original" - } -} diff --git a/iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/ic_social_media_telegram.pdf b/iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/ic_social_media_telegram.pdf deleted file mode 100644 index f65fe92d5..000000000 --- a/iphone/Maps/Images.xcassets/About/ic_social_media_telegram.imageset/ic_social_media_telegram.pdf +++ /dev/null @@ -1,125 +0,0 @@ -%PDF-1.7 - -1 0 obj - << /Length 2 0 R - /Range [ 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 ] - /Domain [ 0.000000 1.000000 ] - /FunctionType 4 - >> -stream -{ 0.164706 exch 0.670588 exch 0.933333 exch dup 0.000000 gt { exch pop exch pop exch pop dup 0.000000 sub -0.031373 mul 0.164706 add exch dup 0.000000 sub -0.050980 mul 0.670588 add exch dup 0.000000 sub -0.082353 mul 0.933333 add exch } if dup 1.000000 gt { exch pop exch pop exch pop 0.133333 exch 0.619608 exch 0.850980 exch } if pop } -endstream -endobj - -2 0 obj - 339 -endobj - -3 0 obj - << /Pattern << /P1 << /Matrix [ 0.000000 -47.644001 47.644001 0.000000 -47.644001 48.000000 ] - /Shading << /Coords [ 0.000000 0.000000 1.000000 0.000000 ] - /ColorSpace /DeviceRGB - /Function 1 0 R - /Domain [ 0.000000 1.000000 ] - /ShadingType 2 - /Extend [ true true ] - >> - /PatternType 2 - /Type /Pattern - >> >> >> -endobj - -4 0 obj - << /Length 5 0 R >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -/Pattern cs -/P1 scn -24.000000 0.000000 m -37.254833 0.000000 48.000000 10.745167 48.000000 24.000000 c -48.000000 37.254833 37.254833 48.000000 24.000000 48.000000 c -10.745167 48.000000 0.000000 37.254833 0.000000 24.000000 c -0.000000 10.745167 10.745167 0.000000 24.000000 0.000000 c -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 9.072021 11.831146 cm -1.000000 1.000000 1.000000 scn -1.791764 12.422209 m -8.788252 15.470463 13.453674 17.480059 15.788029 18.450996 c -22.453085 21.223221 23.838024 21.704784 24.740709 21.720686 c -24.939247 21.724184 25.383163 21.674980 25.670712 21.441654 c -25.913513 21.244638 25.980316 20.978498 26.012285 20.791706 c -26.044252 20.604912 26.084059 20.179394 26.052416 19.846907 c -25.691233 16.051943 24.128407 6.842571 23.333328 2.592148 c -22.996901 0.793634 22.334465 0.190603 21.693151 0.131590 c -20.299427 0.003336 19.241095 1.052656 17.891205 1.937525 c -15.778893 3.322170 14.585570 4.184118 12.535205 5.535276 c -10.165653 7.096773 11.701735 7.955001 13.052135 9.357582 c -13.405541 9.724644 19.546326 15.310153 19.665180 15.816847 c -19.680046 15.880217 19.693840 16.116432 19.553509 16.241163 c -19.413177 16.365892 19.206060 16.323240 19.056599 16.289318 c -18.844742 16.241234 15.470295 14.010853 8.933260 9.598174 c -7.975434 8.940458 7.107866 8.619998 6.330554 8.636792 c -5.473630 8.655305 3.825253 9.121309 2.599853 9.519638 c -1.096851 10.008204 -0.097705 10.266511 0.006314 11.096248 c -0.060494 11.528425 0.655644 11.970412 1.791764 12.422209 c -h -f* -n -Q - -endstream -endobj - -5 0 obj - 1582 -endobj - -6 0 obj - << /Annots [] - /Type /Page - /MediaBox [ 0.000000 0.000000 48.000000 48.000000 ] - /Resources 3 0 R - /Contents 4 0 R - /Parent 7 0 R - >> -endobj - -7 0 obj - << /Kids [ 6 0 R ] - /Count 1 - /Type /Pages - >> -endobj - -8 0 obj - << /Pages 7 0 R - /Type /Catalog - >> -endobj - -xref -0 9 -0000000000 65535 f -0000000010 00000 n -0000000533 00000 n -0000000555 00000 n -0000001181 00000 n -0000002819 00000 n -0000002842 00000 n -0000003015 00000 n -0000003089 00000 n -trailer -<< /ID [ (some) (id) ] - /Root 8 0 R - /Size 9 ->> -startxref -3148 -%%EOF \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/osm_logo.imageset/osm_logo.pdf b/iphone/Maps/Images.xcassets/About/osm_logo.imageset/osm_logo.pdf deleted file mode 100644 index fa97af05d1c643453fb73b897260de979f2e7f90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212727 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

Om|7?V#sQ&UADX_LYwp35{q!;ujqh=ow~8MpD(G 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

M&-|%+$ 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

HM#->-PK;Boc2xco%){T7K)t}WIq$XDzC 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 diff --git a/iphone/Maps/Images.xcassets/About/osm_logo.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/OpenStreetMap Logo.imageset/Contents.json similarity index 85% rename from iphone/Maps/Images.xcassets/About/osm_logo.imageset/Contents.json rename to iphone/Maps/Images.xcassets/Interface/OpenStreetMap Logo.imageset/Contents.json index a587f3793..551a128d7 100644 --- a/iphone/Maps/Images.xcassets/About/osm_logo.imageset/Contents.json +++ b/iphone/Maps/Images.xcassets/Interface/OpenStreetMap Logo.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "osm_logo.pdf", + "filename" : "OpenStreetMap.svg", "idiom" : "universal" } ], diff --git a/iphone/Maps/Images.xcassets/Interface/OpenStreetMap Logo.imageset/OpenStreetMap.svg b/iphone/Maps/Images.xcassets/Interface/OpenStreetMap Logo.imageset/OpenStreetMap.svg new file mode 100644 index 000000000..61e8d3574 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/OpenStreetMap Logo.imageset/OpenStreetMap.svg @@ -0,0 +1,3374 @@ + + + + + OpenStreetMap logo 2011 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + OpenStreetMap logo 2011 + + + Ken Vermette + + + + April 2011 + + + OpenStreetMap.org + + + Replacement logo for OpenStreetMap Foundation + + + OSM openstreetmap logo + + + http://wiki.openstreetmap.org/wiki/File:Public-images-osm_logo.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 010110010011010110010011 + 010110010011010110010011 + + + diff --git a/iphone/Maps/Images.xcassets/About/ic_about_faq.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Bluesky.imageset/Contents.json similarity index 85% rename from iphone/Maps/Images.xcassets/About/ic_about_faq.imageset/Contents.json rename to iphone/Maps/Images.xcassets/Interface/Social Media/Bluesky.imageset/Contents.json index 34683149a..5e5340658 100644 --- a/iphone/Maps/Images.xcassets/About/ic_about_faq.imageset/Contents.json +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Bluesky.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "ic_about_faq.svg", + "filename" : "bluesky.svg", "idiom" : "universal" } ], diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Bluesky.imageset/bluesky.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Bluesky.imageset/bluesky.svg new file mode 100644 index 000000000..d46e3c821 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Bluesky.imageset/bluesky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_about_news.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Codeberg.imageset/Contents.json similarity index 85% rename from iphone/Maps/Images.xcassets/About/ic_about_news.imageset/Contents.json rename to iphone/Maps/Images.xcassets/Interface/Social Media/Codeberg.imageset/Contents.json index 7ca605d18..1dcdf3c6b 100644 --- a/iphone/Maps/Images.xcassets/About/ic_about_news.imageset/Contents.json +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Codeberg.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "ic_about_news.svg", + "filename" : "codeberg.svg", "idiom" : "universal" } ], diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Codeberg.imageset/codeberg.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Codeberg.imageset/codeberg.svg new file mode 100644 index 000000000..a2075a4a9 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Codeberg.imageset/codeberg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Contents.json new file mode 100644 index 000000000..6e965652d --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Contents.json @@ -0,0 +1,9 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "provides-namespace" : true + } +} diff --git a/iphone/Maps/Images.xcassets/About/ic_about_rate_app.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Facebook.imageset/Contents.json similarity index 84% rename from iphone/Maps/Images.xcassets/About/ic_about_rate_app.imageset/Contents.json rename to iphone/Maps/Images.xcassets/Interface/Social Media/Facebook.imageset/Contents.json index ed89c9cd8..44ac40b72 100644 --- a/iphone/Maps/Images.xcassets/About/ic_about_rate_app.imageset/Contents.json +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Facebook.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "ic_about_rate_app.svg", + "filename" : "facebook.svg", "idiom" : "universal" } ], diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Facebook.imageset/facebook.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Facebook.imageset/facebook.svg new file mode 100644 index 000000000..6b7712bd0 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Facebook.imageset/facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/ic_about_volunteer.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Instagram.imageset/Contents.json similarity index 84% rename from iphone/Maps/Images.xcassets/About/ic_about_volunteer.imageset/Contents.json rename to iphone/Maps/Images.xcassets/Interface/Social Media/Instagram.imageset/Contents.json index 30d5632bf..dcec24aa5 100644 --- a/iphone/Maps/Images.xcassets/About/ic_about_volunteer.imageset/Contents.json +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Instagram.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "ic_about_volunteer.svg", + "filename" : "instagram.svg", "idiom" : "universal" } ], diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Instagram.imageset/instagram.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Instagram.imageset/instagram.svg new file mode 100644 index 000000000..a6156d724 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Instagram.imageset/instagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/Contents.json new file mode 100644 index 000000000..346c63020 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "lemmy.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/lemmy.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/lemmy.svg new file mode 100644 index 000000000..231ea6581 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Lemmy.imageset/lemmy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/Contents.json new file mode 100644 index 000000000..40aa73709 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "linkedin.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/linkedin.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/linkedin.svg new file mode 100644 index 000000000..642bf5f29 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/LinkedIn.imageset/linkedin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/Contents.json new file mode 100644 index 000000000..3d4cc3cfd --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "mastodon.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/mastodon.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/mastodon.svg new file mode 100644 index 000000000..d5fc8db13 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Mastodon.imageset/mastodon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/Contents.json new file mode 100644 index 000000000..d2193b340 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "matrix.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/matrix.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/matrix.svg new file mode 100644 index 000000000..948c2192c --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Matrix.imageset/matrix.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/Contents.json new file mode 100644 index 000000000..86f6e723d --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "telegram.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/telegram.svg b/iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/telegram.svg new file mode 100644 index 000000000..cbfd1f3f2 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Social Media/Telegram.imageset/telegram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/About/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/Contents.json similarity index 100% rename from iphone/Maps/Images.xcassets/About/Contents.json rename to iphone/Maps/Images.xcassets/Interface/Symbols/Contents.json diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/Contents.json b/iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/Contents.json new file mode 100644 index 000000000..74d71d862 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/Contents.json @@ -0,0 +1,15 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "symbol-rendering-intent" : "multicolor" + }, + "symbols" : [ + { + "filename" : "comaps.svg", + "idiom" : "universal" + } + ] +} diff --git a/iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/comaps.svg b/iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/comaps.svg new file mode 100644 index 000000000..816c27a67 --- /dev/null +++ b/iphone/Maps/Images.xcassets/Interface/Symbols/comaps.symbolset/comaps.svg @@ -0,0 +1,109 @@ + + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.6.0 + Requires Xcode 16 or greater + Generated from comaps + Typeset at 100.0 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iphone/Maps/LocalizedStrings/af.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/af.lproj/Localizable.strings index 82d0849e8..e75485bdb 100644 --- a/iphone/Maps/LocalizedStrings/af.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/af.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis vir almal, gemaak met liefde"; /* Text in About screen */ -"about_proposition_1" = "• Geen advertensies, geen nasporing, geen dataversameling"; +"about_proposition_1" = "Geen advertensies, geen nasporing, geen dataversameling"; /* Text in About screen */ -"about_proposition_2" = "• Geen battery dreineer, werk vanlyn"; +"about_proposition_2" = "Geen battery dreineer, werk vanlyn"; /* Text in About screen */ -"about_proposition_3" = "• Vinnig, minimalisties, ontwikkel deur die gemeenskap"; +"about_proposition_3" = "Vinnig, minimalisties, ontwikkel deur die gemeenskap"; "close" = "Sluit"; "download" = "Laai af"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-pos"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Na knipbord gekopieer: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps weergawe: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Paaie"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Nuus"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Om vrywillig te wees"; /* "Social media" section header in the About screen */ -"follow_us" = "Volg en kontak ons:"; +"follow_us" = "Volg en kontak ons"; /* Alert text */ "email_error_body" = "Die e-posleser is nie opgestel nie. Stel dit asb. op of kontak ons by %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Voeg besigheidsure toe"; /* OpenStreetMap */ -"osm_explanation" = "Gemeenskap-geskepte OpenStreetMap-data vanaf %@. Kom meer te wete oor hoe om die kaart te redigeer en op te dateer by OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Gemeenskap-geskepte OpenStreetMap-data vanaf %@. Kom meer te wete oor hoe om die kaart te redigeer en op te dateer by OpenStreetMap.org"; "osm_more_about" = "Meer oor OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings index 6cbf85caa..7cd6f1be4 100644 --- a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "مجاني للجميع ، مصنوع من الحب"; /* Text in About screen */ -"about_proposition_1" = "• لا إعلانات ، لا تتبع ، لا جمع البيانات"; +"about_proposition_1" = "لا إعلانات ، لا تتبع ، لا جمع البيانات"; /* Text in About screen */ -"about_proposition_2" = "• لا يوجد استنزاف للبطارية، يعمل دون اتصال بالإنترنت"; +"about_proposition_2" = "لا يوجد استنزاف للبطارية، يعمل دون اتصال بالإنترنت"; /* Text in About screen */ -"about_proposition_3" = "• سريع وبسيط، تم تطويره بواسطة المجتمع"; +"about_proposition_3" = "سريع وبسيط، تم تطويره بواسطة المجتمع"; "close" = "إغلاق"; "download" = "تنزيل"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "البريد الالكتروني"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "تم النسخ الى الحافظة: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "إصدار CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "المسارات"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "أخبار"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "للتطوع"; /* "Social media" section header in the About screen */ -"follow_us" = "تابعنا وتواصل معنا:"; +"follow_us" = "تابعنا وتواصل معنا"; /* Alert text */ "email_error_body" = "لم يتم تنصيب البريد الإلكتروني. يرجى تفعيله أو استخدام أي وسيلة أخرى للاتصال بنا على %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "أضف ساعات العمل"; /* OpenStreetMap */ -"osm_explanation" = "بيانات OpenStreetMap التي أنشأها المجتمع اعتبارًا من %@. تعرف على المزيد حول كيفية تعديل الخريطة وتحديثها على OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "بيانات OpenStreetMap التي أنشأها المجتمع اعتبارًا من %@. تعرف على المزيد حول كيفية تعديل الخريطة وتحديثها على OpenStreetMap.org"; "osm_more_about" = "المزيد عن خريطة الشارع المفتوحة"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Ar:About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/az.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/az.lproj/Localizable.strings index a9979289c..e948c3a60 100644 --- a/iphone/Maps/LocalizedStrings/az.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/az.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Hər kəs üçün ödənişsiz və sevgi ilə hazırlanmış xəritə"; /* Text in About screen */ -"about_proposition_1" = "• Reklam yoxdur, izləmə yoxdur, məlumatların toplanması yoxdur"; +"about_proposition_1" = "Reklam yoxdur, izləmə yoxdur, məlumatların toplanması yoxdur"; /* Text in About screen */ -"about_proposition_2" = "• Batareyanın boşalması yoxdur, oflayn işləyir"; +"about_proposition_2" = "Batareyanın boşalması yoxdur, oflayn işləyir"; /* Text in About screen */ -"about_proposition_3" = "• Sürətli, minimalist, icma tərəfindən hazırlanmışdır"; +"about_proposition_3" = "Sürətli, minimalist, icma tərəfindən hazırlanmışdır"; "close" = "Yaxın"; "download" = "Yüklə"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-poçt"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Buferə kopyalandı: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps versiyası: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Marşrutlari"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Xəbərlər"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Könüllü olmaq"; /* "Social media" section header in the About screen */ -"follow_us" = "İzləyin və bizimlə əlaqə saxlayın:"; +"follow_us" = "İzləyin və bizimlə əlaqə saxlayın"; /* Alert text */ "email_error_body" = "E-poçt müştəri xidməti hələ quraşdırılmayıb. Zəhmət olmasa e-poçt müştəri xidmətini konfiqurasiya edin və ya %@ vasitəsilə bizimlə əlaqə saxlayın"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Açılış saatlarını əlavə edin"; /* OpenStreetMap */ -"osm_explanation" = "%@ tarixinə icma tərəfindən yaradılmış OpenStreetMap datası. OpenStreetMap.org saytında xəritəni necə redaktə etmək və yeniləmək haqqında ətraflı məlumat əldə edin"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "%@ tarixinə icma tərəfindən yaradılmış OpenStreetMap datası. OpenStreetMap.org saytında xəritəni necə redaktə etmək və yeniləmək haqqında ətraflı məlumat əldə edin"; "osm_more_about" = "OpenStreetMap haqqında əlavə məlumat"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Az:Layihə_haqqında"; diff --git a/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings index 49e1dd57a..7490708d9 100644 --- a/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Бясплатная для ўсіх, зробленая з любоўю"; /* Text in About screen */ -"about_proposition_1" = "• Без рэкламы, без трэкінгу, без збірання вашых даных"; +"about_proposition_1" = "Без рэкламы, без трэкінгу, без збірання вашых даных"; /* Text in About screen */ -"about_proposition_2" = "• Без празмернай разрадкі батарэі, працуе ў аўтаномным рэжыме"; +"about_proposition_2" = "Без празмернай разрадкі батарэі, працуе ў аўтаномным рэжыме"; /* Text in About screen */ -"about_proposition_3" = "• Хуткая, мінімалістычная, распрацаваная супольнасцю"; +"about_proposition_3" = "Хуткая, мінімалістычная, распрацаваная супольнасцю"; "close" = "Закрыць"; "download" = "Спампаваць"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Электронная пошта"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Скапіявана ў буфер абмену: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Версія CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Маршруты"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Навіны"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Стаць валанцёрам"; /* "Social media" section header in the About screen */ -"follow_us" = "Падпісвайцеся і пішыце нам:"; +"follow_us" = "Падпісвайцеся і пішыце нам"; /* Alert text */ "email_error_body" = "Паштовы кліент не наладжаны. Наладзьце яго альбо звяжыцеся з намі па адрасе %@ іншым чынам."; @@ -528,7 +545,8 @@ "add_opening_hours" = "Дадаць часы працы"; /* OpenStreetMap */ -"osm_explanation" = "Створаныя супольнасцю даныя OpenStreetMap па стане на %@. Даведайцеся больш пра тое, як рэдагаваць і абнаўляць карту на OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Створаныя супольнасцю даныя OpenStreetMap па стане на %@. Даведайцеся больш пра тое, як рэдагаваць і абнаўляць карту на OpenStreetMap.org"; "osm_more_about" = "Падрабязней пра OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/RU:О_проекте"; diff --git a/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings index d828ffb18..c8fb117a6 100644 --- a/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Безплатно за всички, направени с любов"; /* Text in About screen */ -"about_proposition_1" = "• Без реклами, без проследяване, без събиране на данни"; +"about_proposition_1" = "Без реклами, без проследяване, без събиране на данни"; /* Text in About screen */ -"about_proposition_2" = "• Без източване на батерията, работи офлайн"; +"about_proposition_2" = "Без източване на батерията, работи офлайн"; /* Text in About screen */ -"about_proposition_3" = "• Бърз, прост, разработен от общността"; +"about_proposition_3" = "Бърз, прост, разработен от общността"; "close" = "Затваряне"; "download" = "Изтегляне"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Имейл"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Копирано в клипборда: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Версия на CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Пътеки"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Новини"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "За доброволчество"; /* "Social media" section header in the About screen */ -"follow_us" = "Следвайте и се свържете с нас:"; +"follow_us" = "Следвайте и се свържете с нас"; /* Alert text */ "email_error_body" = "Имейл клиентът не е настроен. Моля, конфигурирайте го или използвайте друг начин, за да се свържете с нас на %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Добавяне на работно време"; /* OpenStreetMap */ -"osm_explanation" = "Създадени от общността данни от OpenStreetMap към %@. Научете повече за това как да редактирате и актуализирате картата в OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Създадени от общността данни от OpenStreetMap към %@. Научете повече за това как да редактирате и актуализирате картата в OpenStreetMap.org"; "osm_more_about" = "Повече за OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Bg:About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings index d520dc94f..ee22ddc08 100644 --- a/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratuït per a tothom, fet amb amor"; /* Text in About screen */ -"about_proposition_1" = "• Sense publicitat, rastreig ni recopilació de dades"; +"about_proposition_1" = "Sense publicitat, rastreig ni recopilació de dades"; /* Text in About screen */ -"about_proposition_2" = "• Consum de bateria mínim, funciona fora de línia"; +"about_proposition_2" = "Consum de bateria mínim, funciona fora de línia"; /* Text in About screen */ -"about_proposition_3" = "• Ràpid, minimalista, desenvolupat per la comunitat"; +"about_proposition_3" = "Ràpid, minimalista, desenvolupat per la comunitat"; "close" = "Tanca"; "download" = "Baixa"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Correu-e"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "S’ha copiat al porta-retalls: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versió de l’CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Recorreguts"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Notícies"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Fer-se voluntari"; /* "Social media" section header in the About screen */ -"follow_us" = "Segueix i contacta amb nosaltres:"; +"follow_us" = "Segueix i contacta amb nosaltres"; /* Alert text */ "email_error_body" = "No s'ha configurat cap client de correu electrònic. Configureu-lo o useu un altra via per contactar amb nosaltres a %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Afegeix horari d'obertura"; /* OpenStreetMap */ -"osm_explanation" = "Dades de l’OpenStreetMap creades per la comunitat a partir de %@. Obteniu més informació sobre com editar i actualitzar el mapa a OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Dades de l’OpenStreetMap creades per la comunitat a partir de %@. Obteniu més informació sobre com editar i actualitzar el mapa a OpenStreetMap.org"; "osm_more_about" = "Més sobre l'OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Ca:About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings index 5cd50e37e..3b2a30099 100644 --- a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Zdarma pro všechny, vyrobené s láskou"; /* Text in About screen */ -"about_proposition_1" = "• Žádné reklamy, žádné sledování, žádný sběr dat"; +"about_proposition_1" = "Žádné reklamy, žádné sledování, žádný sběr dat"; /* Text in About screen */ -"about_proposition_2" = "• Žádné vybíjení baterie, funguje offline"; +"about_proposition_2" = "Žádné vybíjení baterie, funguje offline"; /* Text in About screen */ -"about_proposition_3" = "• Rychlé, minimalistické, vyvinuté komunitou"; +"about_proposition_3" = "Rychlé, minimalistické, vyvinuté komunitou"; "close" = "Zavřít"; "download" = "Stáhnout"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-mail"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Zkopírováno do schránky: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Verze CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Stopy"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Novinky"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Dobrovolnictví"; /* "Social media" section header in the About screen */ -"follow_us" = "Sledujte nás a kontaktujte nás:"; +"follow_us" = "Sledujte nás a kontaktujte nás"; /* Alert text */ "email_error_body" = "Emailový klient nebyl ještě nakonfigurován. Nastavte ho, prosím, nebo použijte jiný způsob k našemu kontaktování na %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Přidat otevírací dobu"; /* OpenStreetMap */ -"osm_explanation" = "Data OpenStreetMap vytvořená komunitou ke dni %@. Další informace o tom, jak upravovat a aktualizovat mapu, najdete na stránkách OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Data OpenStreetMap vytvořená komunitou ke dni %@. Další informace o tom, jak upravovat a aktualizovat mapu, najdete na stránkách OpenStreetMap.org"; "osm_more_about" = "Další informace o projektu OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Cs:Co_je_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings index b482b46ad..aa7cb0fc9 100644 --- a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis for alle, lavet med kærlighed"; /* Text in About screen */ -"about_proposition_1" = "• Ingen annoncer, ingen sporing, ingen dataindsamling"; +"about_proposition_1" = "Ingen annoncer, ingen sporing, ingen dataindsamling"; /* Text in About screen */ -"about_proposition_2" = "• Intet batteridræn, fungerer offline"; +"about_proposition_2" = "Intet batteridræn, fungerer offline"; /* Text in About screen */ -"about_proposition_3" = "• Hurtig, minimalistisk, udviklet i fællesskab"; +"about_proposition_3" = "Hurtig, minimalistisk, udviklet i fællesskab"; "close" = "Luk"; "download" = "Hent"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-mail"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Kopieret til udklipsholderen: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps version: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Spor"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Nyheder"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "At melde sig som frivillig"; /* "Social media" section header in the About screen */ -"follow_us" = "Følg og kontakt os:"; +"follow_us" = "Følg og kontakt os"; /* Alert text */ "email_error_body" = "Emailklienten er ikke blevet sat op. Venligst konfigurér den eller brug en anden måde til at kontakte os på %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Tilføj arbejdstid"; /* OpenStreetMap */ -"osm_explanation" = "Fællesskabsskabte OpenStreetMap-data fra %@. Få mere at vide om, hvordan du redigerer og opdaterer kortet på OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Fællesskabsskabte OpenStreetMap-data fra %@. Få mere at vide om, hvordan du redigerer og opdaterer kortet på OpenStreetMap.org"; "osm_more_about" = "Mere om OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Da:Om_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings index c9ff46945..3275401bb 100644 --- a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings @@ -43,16 +43,16 @@ "country_status_download_failed" = "Herunterladen fehlgeschlagen"; /* Text in About screen */ -"about_headline" = "Kostenlos für alle, mit Liebe gemacht"; +"about_headline" = "Ein offenes Projekt der Community"; /* Text in About screen */ -"about_proposition_1" = "• Keine Werbung, kein Tracking, keine Datenerfassung"; +"about_proposition_1" = "Offline, schnell und einfach zu benutzen"; /* Text in About screen */ -"about_proposition_2" = "• Minimaler Batterieverbrauch, funktioniert offline"; +"about_proposition_2" = "Datenschutzorientiert und wersbefrei"; /* Text in About screen */ -"about_proposition_3" = "• Schnell, minimalistisch, von der Community entwickelt"; +"about_proposition_3" = "Transparent und nicht gewinnorientiert"; "close" = "Schließen"; "download" = "Herunterladen"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "In die Zwischenablage kopieren"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "In die Zwischenablage kopiert: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps Version: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nKartendaten: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Tracks"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Neuigkeiten"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -290,7 +307,7 @@ "panoramax_picture" = "Panoramax Bild"; /* Text in menu */ -"rate_the_app" = "Bewerten Sie die App"; +"rate_the_app" = "Bewerte die App"; /* Text in menu */ "help" = "Hilfe"; @@ -314,7 +331,7 @@ "volunteer" = "Freiwillig helfen"; /* "Social media" section header in the About screen */ -"follow_us" = "Folge und kontaktiere uns:"; +"follow_us" = "Folge und kontaktiere uns"; /* Alert text */ "email_error_body" = "Der Email-Client ist noch nicht eingerichtet worden. Konfigurieren Sie ihn bitte oder nutzen Sie eine andere Möglichkeit oder kontaktieren Sie uns unter %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Öffnungszeiten hinzufügen"; /* OpenStreetMap */ -"osm_explanation" = "Von der Community erstellte OpenStreetMap-Daten (Stand: %@). Erfahre mehr darüber, wie du die Karte bearbeiten und aktualisieren kannst unter OpenStreetMap.org"; +"osm_mapdata" = "Kartendaten von OpenStreetMap"; +"osm_mapdata_explanation %@" = "Von der Community erstellte Kartendaten vom *%@*. Erfahre mehr darüber, wie du die Karte bearbeiten und aktualisieren kannst unter [OpenStreetMap.org](https://openstreetmap.org)."; "osm_more_about" = "Mehr Infos über OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/DE:Über_OSM"; diff --git a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings index d3aa5d385..3652f1b63 100644 --- a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Δωρεάν για όλους, φτιαγμένα με αγάπη"; /* Text in About screen */ -"about_proposition_1" = "• Χωρίς διαφημίσεις, χωρίς tracking, χωρίς συλλογή δεδομένων"; +"about_proposition_1" = "Χωρίς διαφημίσεις, χωρίς tracking, χωρίς συλλογή δεδομένων"; /* Text in About screen */ -"about_proposition_2" = "• Δεν εξαντλεί τη μπαταρία, λειτουργεί εκτός σύνδεσης"; +"about_proposition_2" = "Δεν εξαντλεί τη μπαταρία, λειτουργεί εκτός σύνδεσης"; /* Text in About screen */ -"about_proposition_3" = "- Γρήγορο, μινιμαλιστικό, αναπτυγμένο από την κοινότητα"; +"about_proposition_3" = "Γρήγορο, μινιμαλιστικό, αναπτυγμένο από την κοινότητα"; "close" = "Κλείσιμο"; "download" = "Λήψη"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Αντιγράφηκε στο Πρόχειρο: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Έκδοση CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Διαδρομές"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Νέα"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Γίνετε εθελοντής"; /* "Social media" section header in the About screen */ -"follow_us" = "Ακολουθήστε και επικοινωνήστε μαζί μας:"; +"follow_us" = "Ακολουθήστε και επικοινωνήστε μαζί μας"; /* Alert text */ "email_error_body" = "Το πρόγραμμα ηλεκτρονικού ταχυδρομείου δεν έχει ρυθμιστεί. Ρυθμίστε το ή χρησιμοποιήστε άλλο τρόπο να επικοινωνήσετε μαζί μας στη διεύθυνση %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Προσθέστε ώρες λειτουργίας"; /* OpenStreetMap */ -"osm_explanation" = "Δεδομένα OpenStreetMap που δημιουργήθηκαν από την κοινότητα στις %@. Μάθετε περισσότερα για τον τρόπο επεξεργασίας και ενημέρωσης του χάρτη στο OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Δεδομένα OpenStreetMap που δημιουργήθηκαν από την κοινότητα στις %@. Μάθετε περισσότερα για τον τρόπο επεξεργασίας και ενημέρωσης του χάρτη στο OpenStreetMap.org"; "osm_more_about" = "Περισσότερα σχετικά με το OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/El:Σχετικά_με_το_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings index e7723c1e3..35ea21302 100644 --- a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings @@ -43,16 +43,17 @@ "country_status_download_failed" = "Download has failed"; /* Text in About screen */ -"about_headline" = "Free for everyone, made with love"; +"about_headline" = "Open project powered by the community"; /* Text in About screen */ -"about_proposition_1" = "• No ads, no tracking, no data collection"; +"about_proposition_1" = "Offline, fast and easy to use"; /* Text in About screen */ -"about_proposition_2" = "• No battery drain, works offline"; +"about_proposition_2" = "Privacy-focused and ads-free"; /* Text in About screen */ -"about_proposition_3" = "• Fast, minimalist, developed by the community"; +"about_proposition_3" = "Transparent and not for profit"; + "close" = "Close"; "download" = "Download"; @@ -180,6 +181,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copied to clipboard: %@"; @@ -191,6 +195,9 @@ /* Prints version number in About dialog */ "version" = "CoMaps version: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Tracks"; @@ -262,6 +269,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "News"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +333,7 @@ "volunteer" = "Volunteer"; /* "Social media" section header in the About screen */ -"follow_us" = "Follow and contact us:"; +"follow_us" = "Follow and contact us"; /* Alert text */ "email_error_body" = "The email client has not been set up. Please configure it or contact us at %@"; @@ -528,7 +547,8 @@ "add_opening_hours" = "Add opening hours"; /* OpenStreetMap */ -"osm_explanation" = "Community-created OpenStreetMap data as of %@. Learn more about how to edit and update the map at OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Community-created map data as of *%@*. Learn more about how to edit and update the map at [OpenStreetMap.org](https://openstreetmap.org)."; "osm_more_about" = "More about OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings index dbdbeae78..7fb371f13 100644 --- a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings @@ -47,16 +47,16 @@ "country_status_download_failed" = "Download has failed"; /* Text in About screen */ -"about_headline" = "Free for everyone, made with love"; +"about_headline" = "Open project powered by the community"; /* Text in About screen */ -"about_proposition_1" = "• No ads, no tracking, no data collection"; +"about_proposition_1" = "Offline, fast and easy to use"; /* Text in About screen */ -"about_proposition_2" = "• No battery drain, works offline"; +"about_proposition_2" = "Privacy-focused and ads-free"; /* Text in About screen */ -"about_proposition_3" = "• Fast, minimalist, developed by the community"; +"about_proposition_3" = "Transparent and not for profit"; "close" = "Close"; "download" = "Download"; @@ -192,6 +192,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copied to clipboard: %@"; @@ -203,6 +206,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps version: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Tracks"; @@ -274,6 +279,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "News"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -326,7 +343,7 @@ "volunteer" = "Volunteer"; /* "Social media" section header in the About screen */ -"follow_us" = "Follow and contact us:"; +"follow_us" = "Follow and contact us"; /* Alert text */ "email_error_body" = "The email client has not been set up. Please configure it or contact us at %@"; @@ -548,7 +565,8 @@ "add_opening_hours" = "Add opening hours"; /* OpenStreetMap */ -"osm_explanation" = "Community-created OpenStreetMap data as of %@. Learn more about how to edit and update the map at OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Community-created map data as of *%@*. Learn more about how to edit and update the map at [OpenStreetMap.org](https://openstreetmap.org)."; "osm_more_about" = "More about OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings index 658ad6060..4c27df973 100644 --- a/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis para todos, hecho con amor"; /* Text in About screen */ -"about_proposition_1" = "• Sin anuncios, sin rastreo, sin recopilación de datos"; +"about_proposition_1" = "Sin anuncios, sin rastreo, sin recopilación de datos"; /* Text in About screen */ -"about_proposition_2" = "• Consumo de batería mínimo, funciona sin conexión"; +"about_proposition_2" = "Consumo de batería mínimo, funciona sin conexión"; /* Text in About screen */ -"about_proposition_3" = "• Rápido, minimalista, desarrollado por la comunidad"; +"about_proposition_3" = "Rápido, minimalista, desarrollado por la comunidad"; "close" = "Cerrar"; "download" = "Descargar"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copiado en el portapapeles: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versión de CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Rutas"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Noticias"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Para ser voluntario"; /* "Social media" section header in the About screen */ -"follow_us" = "Síguenos y contáctanos:"; +"follow_us" = "Síguenos y contáctanos"; /* Alert text */ "email_error_body" = "No se ha configurado el cliente de correo electrónico. Por favor, configúrelo o utilice alguna otra forma de ponerse en contacto con nosotros en %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Añadir horarios de apertura"; /* OpenStreetMap */ -"osm_explanation" = "Datos de OpenStreetMap creados por la comunidad a partir de %@. Obtenga más información sobre cómo editar y actualizar el mapa en OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Datos de OpenStreetMap creados por la comunidad a partir de %@. Obtenga más información sobre cómo editar y actualizar el mapa en OpenStreetMap.org"; "osm_more_about" = "Más acerca de OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/ES:Acerca_de_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings index 83dd5a411..8fd7d91e9 100644 --- a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis para todos, hecho con amor"; /* Text in About screen */ -"about_proposition_1" = "• Sin anuncios, sin rastreo, sin recopilación de datos"; +"about_proposition_1" = "Sin anuncios, sin rastreo, sin recopilación de datos"; /* Text in About screen */ -"about_proposition_2" = "• Consumo de batería mínimo, funciona sin conexión"; +"about_proposition_2" = "Consumo de batería mínimo, funciona sin conexión"; /* Text in About screen */ -"about_proposition_3" = "• Rápido, minimalista, desarrollado por la comunidad"; +"about_proposition_3" = "Rápido, minimalista, desarrollado por la comunidad"; "close" = "Cerrar"; "download" = "Descargar"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Correo"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copiado en el portapapeles: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versión de CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Trayectos"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Noticias"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Voluntariado"; /* "Social media" section header in the About screen */ -"follow_us" = "Síganos y póngase en contacto con nosotros:"; +"follow_us" = "Síganos y póngase en contacto con nosotros"; /* Alert text */ "email_error_body" = "No se ha configurado el cliente de correo electrónico. Configúrelo o contáctenos en %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Añadir horarios de apertura"; /* OpenStreetMap */ -"osm_explanation" = "Datos de OpenStreetMap creados por la comunidad a partir de %@. Más información sobre cómo editar y actualizar el mapa en OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Datos de OpenStreetMap creados por la comunidad a partir de %@. Más información sobre cómo editar y actualizar el mapa en OpenStreetMap.org"; "osm_more_about" = "Más acerca de OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/ES:Acerca_de_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings index 084da4215..ba78bbff8 100644 --- a/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Tasuta ja vaba kõigi jaoks, tehtud armastusega"; /* Text in About screen */ -"about_proposition_1" = "• Pole reklaame, jälitamist ega andmekogumist"; +"about_proposition_1" = "Pole reklaame, jälitamist ega andmekogumist"; /* Text in About screen */ -"about_proposition_2" = "• Ei tühjenda akut, töötab võrguühenduseta"; +"about_proposition_2" = "Ei tühjenda akut, töötab võrguühenduseta"; /* Text in About screen */ -"about_proposition_3" = "• Kiire, minimalistlik, kogukonna poolt väljatöötatud"; +"about_proposition_3" = "Kiire, minimalistlik, kogukonna poolt väljatöötatud"; "close" = "Sulge"; "download" = "Laadi alla"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-post"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Kopeeritud lõikelauale: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMapsi versioon: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Rajad"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Uudised"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Vabatahtlik kaastöö"; /* "Social media" section header in the About screen */ -"follow_us" = "Jälgi ja võta meiega ühendust:"; +"follow_us" = "Jälgi ja võta meiega ühendust"; /* Alert text */ "email_error_body" = "E-posti klienti ei ole seadistatud. Palun seadista see või kasuta mõnda muud võimalust meiega ühenduse võtmiseks aadressil %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Lisa tööaeg"; /* OpenStreetMap */ -"osm_explanation" = "Kogukonna loodud OpenStreetMapi andmed seisuga %@. Lisateavet kaardi muutmise ja uuendamise kohta leiad OpenStreetMap.org saidist"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Kogukonna loodud OpenStreetMapi andmed seisuga %@. Lisateavet kaardi muutmise ja uuendamise kohta leiad OpenStreetMap.org saidist"; "osm_more_about" = "Lisateave OpenStreetMapi kohta"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings index 2c20955fd..d129e276a 100644 --- a/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Denontzat doan, maitasunez egina"; /* Text in About screen */ -"about_proposition_1" = "• Ez iragarkirik, ez jarraipenik, ez datu-bilketarik"; +"about_proposition_1" = "Ez iragarkirik, ez jarraipenik, ez datu-bilketarik"; /* Text in About screen */ -"about_proposition_2" = "• Ez da bateria deskargatzen, konexiorik gabe funtzionatzen du"; +"about_proposition_2" = "Ez da bateria deskargatzen, konexiorik gabe funtzionatzen du"; /* Text in About screen */ -"about_proposition_3" = "• Azkarra, minimalista, komunitateak garatua"; +"about_proposition_3" = "Azkarra, minimalista, komunitateak garatua"; "close" = "Itxi"; "download" = "Deskargatu"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Posta elektronikoa"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Arbelean kopiatu da: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps bertsioa: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Arrasto"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Albisteak"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Boluntario izateko"; /* "Social media" section header in the About screen */ -"follow_us" = "Jarraitu eta jarri gurekin harremanetan:"; +"follow_us" = "Jarraitu eta jarri gurekin harremanetan"; /* Alert text */ "email_error_body" = "Posta elektronikoko bezeroa ez da konfiguratu. Mesedez, konfigura ezazu edo erabili beste moduren bat gurekin harremanetan jartzeko %@ helbidean"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Gehitu ordutegia"; /* OpenStreetMap */ -"osm_explanation" = "Komunitateak sortutako OpenStreetMap datuak %@-tik aurrera. Lortu informazio gehiago mapa editatu eta eguneratzeari buruz OpenStreetMap.org helbidean"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Komunitateak sortutako OpenStreetMap datuak %@-tik aurrera. Lortu informazio gehiago mapa editatu eta eguneratzeari buruz OpenStreetMap.org helbidean"; "osm_more_about" = "OpenStreetMap-i buruzko informazio gehiago"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings index 94715f590..d8041752c 100644 --- a/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "رایگان برای همه ، ساخته شده با عشق"; /* Text in About screen */ -"about_proposition_1" = "• بدون تبلیغات ، ردیابی ، جمع آوری داده ها"; +"about_proposition_1" = "بدون تبلیغات ، ردیابی ، جمع آوری داده ها"; /* Text in About screen */ -"about_proposition_2" = "• بدون تخلیه باتری، آفلاین کار می کند"; +"about_proposition_2" = "بدون تخلیه باتری، آفلاین کار می کند"; /* Text in About screen */ -"about_proposition_3" = "• سریع، مینیمالیستی، توسعه یافته توسط انجمن"; +"about_proposition_3" = "سریع، مینیمالیستی، توسعه یافته توسط انجمن"; "close" = "بستن"; "download" = "دانلود"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "ایمیل"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "کپی در کلیپ‌برد: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "نسخه CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "مسیر"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "اخبار"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "داوطلب شدن"; /* "Social media" section header in the About screen */ -"follow_us" = "دنبال کنید و با ما تماس بگیرید:"; +"follow_us" = "دنبال کنید و با ما تماس بگیرید"; /* Alert text */ "email_error_body" = "کلاینت ایمیل شما پیکربندی نشده است.لطفا آن را پیکربندی کنید یا از طریق دیگر با ما تماس بگیرید %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "اضافه کردن ساعت بازگشایی"; /* OpenStreetMap */ -"osm_explanation" = "داده های OpenStreetMap ایجاد شده توسط انجمن از %@. درباره نحوه ویرایش و به روز رسانی نقشه در OpenStreetMap.org بیشتر بیاموزید"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "داده های OpenStreetMap ایجاد شده توسط انجمن از %@. درباره نحوه ویرایش و به روز رسانی نقشه در OpenStreetMap.org بیشتر بیاموزید"; "osm_more_about" = "در مورد OpenStreetMap بیشتر بدانید"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Fa:About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings index 1806d8085..e68b063c9 100644 --- a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Ilmainen kaikille, tehty rakkaudella"; /* Text in About screen */ -"about_proposition_1" = "• Ei mainoksia, ei seurantaa, ei tiedonkeruuta"; +"about_proposition_1" = "Ei mainoksia, ei seurantaa, ei tiedonkeruuta"; /* Text in About screen */ -"about_proposition_2" = "• Ei akun tyhjenemistä, toimii offline-tilassa"; +"about_proposition_2" = "Ei akun tyhjenemistä, toimii offline-tilassa"; /* Text in About screen */ -"about_proposition_3" = "• Nopea, minimalistinen, yhteisön kehittämä"; +"about_proposition_3" = "Nopea, minimalistinen, yhteisön kehittämä"; "close" = "Sulje"; "download" = "Lataa"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Sähköposti"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Kopioitu leikepöydälle: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps versio: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Reitit"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Uutiset"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Vapaaehtoiseksi"; /* "Social media" section header in the About screen */ -"follow_us" = "Seuraa ja ota meihin yhteyttä:"; +"follow_us" = "Seuraa ja ota meihin yhteyttä"; /* Alert text */ "email_error_body" = "Sähköpostisovellusta ei ole asetettu. Ole hyvä ja määritä sähköpostiasetukset tai ota meihin yhteyttä toista kautta osoitteessa %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Lisää aukioloajat"; /* OpenStreetMap */ -"osm_explanation" = "Yhteisön luomat OpenStreetMap-tiedot %@:sta alkaen. Lisätietoja kartan muokkaamisesta ja päivittämisestä osoitteessa OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Yhteisön luomat OpenStreetMap-tiedot %@:sta alkaen. Lisätietoja kartan muokkaamisesta ja päivittämisestä osoitteessa OpenStreetMap.org"; "osm_more_about" = "Lisätietoja OpenStreetMap:sta"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings index 58b548ab2..0053479d0 100644 --- a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratuit pour tout le monde, fait avec amour"; /* Text in About screen */ -"about_proposition_1" = "• Pas de pub, pas de suivi, pas de collecte de données"; +"about_proposition_1" = "Pas de pub, pas de suivi, pas de collecte de données"; /* Text in About screen */ -"about_proposition_2" = "• Préserve la batterie, fonctionne hors ligne"; +"about_proposition_2" = "Préserve la batterie, fonctionne hors ligne"; /* Text in About screen */ -"about_proposition_3" = "• Rapide, minimaliste, développé par la communauté"; +"about_proposition_3" = "Rapide, minimaliste, développé par la communauté"; "close" = "Fermer"; "download" = "Télécharger"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copié dans le presse-papiers : %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Version d'CoMaps : %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Parcours"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Nouvelles"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Se porter volontaire"; /* "Social media" section header in the About screen */ -"follow_us" = "Suis et contacte-nous :"; +"follow_us" = "Suis et contacte-nous "; /* Alert text */ "email_error_body" = "Le client de courriel n'a pas été configuré. Veuillez le configurer ou nous contacter à %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Ajouter les heures d'ouverture"; /* OpenStreetMap */ -"osm_explanation" = "Données OpenStreetMap créées par la communauté en date du %@. Pour en savoir plus sur la façon de modifier et de mettre à jour la carte, consulte le site OpenStreetMap.org."; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Données OpenStreetMap créées par la communauté en date du %@. Pour en savoir plus sur la façon de modifier et de mettre à jour la carte, consulte le site OpenStreetMap.org."; "osm_more_about" = "En savoir plus sur OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/FR:À_propos_d’OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings index f07fbad5c..64f98153a 100644 --- a/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "חינם לכולם, מיוצרים באהבה"; /* Text in About screen */ -"about_proposition_1" = "• ללא מודעות, ללא מעקב, ללא איסוף נתונים"; +"about_proposition_1" = "ללא מודעות, ללא מעקב, ללא איסוף נתונים"; /* Text in About screen */ -"about_proposition_2" = "• אין ריקון סוללה, עובד במצב לא מקוון"; +"about_proposition_2" = "אין ריקון סוללה, עובד במצב לא מקוון"; /* Text in About screen */ -"about_proposition_3" = "• מהיר, מינימליסטי, שפותח על ידי הקהילה"; +"about_proposition_3" = "מהיר, מינימליסטי, שפותח על ידי הקהילה"; "close" = "סגור"; "download" = "הורדה"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "דוא\"ל"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "הועתק: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "גרסת מפות אורגניות: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "מסלולים"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "חדשות"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "להתנדב"; /* "Social media" section header in the About screen */ -"follow_us" = "עקבו ופנו אלינו:"; +"follow_us" = "עקבו ופנו אלינו"; /* Alert text */ "email_error_body" = "יישום הדוא\"ל לא הוגדר. אנא הגדירו אותו או השתמשו בכל דרך אחרת על מנת ליצור עמנו קשר בכתובת %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "הוספת שעות פעילות"; /* OpenStreetMap */ -"osm_explanation" = "נתוני OpenStreetMap שנוצרו על ידי הקהילה החל מ-%@. למידע נוסף על איך לערוך ולעדכן את המפה ב-OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "נתוני OpenStreetMap שנוצרו על ידי הקהילה החל מ-%@. למידע נוסף על איך לערוך ולעדכן את המפה ב-OpenStreetMap.org"; "osm_more_about" = "עוד על OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/hi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/hi.lproj/Localizable.strings index 51f380eac..5424133b2 100644 --- a/iphone/Maps/LocalizedStrings/hi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/hi.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "सभी के लिए मुफ़्त, प्यार से बनाया गया"; /* Text in About screen */ -"about_proposition_1" = "• कोई विज्ञापन नहीं, कोई ट्रैकिंग नहीं, कोई डेटा संग्रह नहीं"; +"about_proposition_1" = "कोई विज्ञापन नहीं, कोई ट्रैकिंग नहीं, कोई डेटा संग्रह नहीं"; /* Text in About screen */ -"about_proposition_2" = "• कोई बैटरी ख़त्म नहीं, ऑफ़लाइन काम करता है"; +"about_proposition_2" = "कोई बैटरी ख़त्म नहीं, ऑफ़लाइन काम करता है"; /* Text in About screen */ -"about_proposition_3" = "• तेज़, न्यूनतम, समुदाय द्वारा विकसित"; +"about_proposition_3" = "तेज़, न्यूनतम, समुदाय द्वारा विकसित"; "close" = "बंद करना"; "download" = "डाउन लोड करना"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "ईमेल"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "क्लिपबोर्ड पर नकल: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "ऑर्गेनिकमैप्स संस्करण: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "पटरियों"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "समाचार"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "स्वयंसेवक"; /* "Social media" section header in the About screen */ -"follow_us" = "फ़ॉलो करें और हमसे संपर्क करें:"; +"follow_us" = "फ़ॉलो करें और हमसे संपर्क करें"; /* Alert text */ "email_error_body" = "ईमेल क्लाइंट सेट अप नहीं किया गया है. कृपया इसे कॉन्फ़िगर करें या %@ पर हमसे संपर्क करें"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Add opening hours"; /* OpenStreetMap */ -"osm_explanation" = "समुदाय-निर्मित OpenStreetMap डेटा %@ तक। OpenStreetMap.org पर मानचित्र को संपादित और अपडेट करने के तरीके के बारे में और जानें"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "समुदाय-निर्मित OpenStreetMap डेटा %@ तक। OpenStreetMap.org पर मानचित्र को संपादित और अपडेट करने के तरीके के बारे में और जानें"; "osm_more_about" = "OpenStreetMap के बारे में अधिक जानकारी"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings index d628857b1..ba33097b4 100644 --- a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Mindenki számára ingyenes – szeretettel készült"; /* Text in About screen */ -"about_proposition_1" = "• Nincs hirdetés, nyomon követés és adatgyűjtés"; +"about_proposition_1" = "Nincs hirdetés, nyomon követés és adatgyűjtés"; /* Text in About screen */ -"about_proposition_2" = "• Nem merül le az akkumulátor – offline is működik"; +"about_proposition_2" = "Nem merül le az akkumulátor – offline is működik"; /* Text in About screen */ -"about_proposition_3" = "• Gyors, minimalista – a közösség által fejlesztett"; +"about_proposition_3" = "Gyors, minimalista – a közösség által fejlesztett"; "close" = "Bezár"; "download" = "Letöltés"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-mail-cím"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "A vágólapra másolva: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Az CoMaps verziója: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Nyomvonalak"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Hírek"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Önkéntes"; /* "Social media" section header in the About screen */ -"follow_us" = "Kövessen és lépjen kapcsolatba velünk:"; +"follow_us" = "Kövessen és lépjen kapcsolatba velünk"; /* Alert text */ "email_error_body" = "Az e-mail kliens nem lett beállítva. Állítsa be, vagy lépjen kapcsolatba velünk a(z) %@ címen"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Nyitvatartás hozzáadása"; /* OpenStreetMap */ -"osm_explanation" = "Közösség által létrehozott OpenStreetMap adatok innen: %@. További információkat a térkép szerkesztéséről és frissítéséről az OpenStreetMap.org oldalon találhat"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Közösség által létrehozott OpenStreetMap adatok innen: %@. További információkat a térkép szerkesztéséről és frissítéséről az OpenStreetMap.org oldalon találhat"; "osm_more_about" = "További részletek az OpenStreetMap adatbázisról"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Hu:Névjegy"; diff --git a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings index c3dff3ba0..cfa7bc0be 100644 --- a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis untuk semua orang, dibuat dengan cinta"; /* Text in About screen */ -"about_proposition_1" = "• Tidak ada iklan, tidak ada pelacakan, tidak ada pengumpulan data"; +"about_proposition_1" = "Tidak ada iklan, tidak ada pelacakan, tidak ada pengumpulan data"; /* Text in About screen */ -"about_proposition_2" = "• Tidak menguras baterai, bekerja secara offline"; +"about_proposition_2" = "Tidak menguras baterai, bekerja secara offline"; /* Text in About screen */ -"about_proposition_3" = "• Cepat, minimalis, dikembangkan oleh komunitas"; +"about_proposition_3" = "Cepat, minimalis, dikembangkan oleh komunitas"; "close" = "Tutup"; "download" = "Unduh"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Surel"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Telah Disalin ke Papan Klip: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versi CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Jalur"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Berita"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Untuk Menjadi Relawan"; /* "Social media" section header in the About screen */ -"follow_us" = "Ikuti dan hubungi kami:"; +"follow_us" = "Ikuti dan hubungi kami"; /* Alert text */ "email_error_body" = "Surel pelanggan belum diatur. Mohon konfigurasikan atau gunakan cara lain untuk menghubungi kami di %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Tambah jam kerja"; /* OpenStreetMap */ -"osm_explanation" = "Data OpenStreetMap yang dibuat oleh komunitas pada tanggal %@. Pelajari lebih lanjut mengenai cara mengedit dan memperbarui peta di OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Data OpenStreetMap yang dibuat oleh komunitas pada tanggal %@. Pelajari lebih lanjut mengenai cara mengedit dan memperbarui peta di OpenStreetMap.org"; "osm_more_about" = "Selengkapnya tentang OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings index 508995c92..9ff2c5588 100644 --- a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratuita per tutti, fatta con amore"; /* Text in About screen */ -"about_proposition_1" = "• Nessun annuncio, nessun tracciamento, nessuna raccolta di dati"; +"about_proposition_1" = "Nessun annuncio, nessun tracciamento, nessuna raccolta di dati"; /* Text in About screen */ -"about_proposition_2" = "• Consuma poca batteria, funziona offline"; +"about_proposition_2" = "Consuma poca batteria, funziona offline"; /* Text in About screen */ -"about_proposition_3" = "• Veloce, minimalista, sviluppato dalla comunità"; +"about_proposition_3" = "Veloce, minimalista, sviluppato dalla comunità"; "close" = "Chiudi"; "download" = "Scarica"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-mail"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copiato negli appunti: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versione di CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Tracce"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Notizie"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Per fare il volontario"; /* "Social media" section header in the About screen */ -"follow_us" = "Seguici e contattaci:"; +"follow_us" = "Seguici e contattaci"; /* Alert text */ "email_error_body" = "Il client di posta elettronica non è stato configurato. Per favore, configuralo o contattaci all'indirizzo %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Aggiungi orari di apertura"; /* OpenStreetMap */ -"osm_explanation" = "Dati OpenStreetMap creati dalla comunità al %@. Per saperne di più su come modificare e aggiornare la mappa, visita OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Dati OpenStreetMap creati dalla comunità al %@. Per saperne di più su come modificare e aggiornare la mappa, visita OpenStreetMap.org"; "osm_more_about" = "Informazioni su OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/IT:About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings index 26f2cd880..39e31ed70 100644 --- a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "すべての人のために無料で、愛を込めて作られています"; /* Text in About screen */ -"about_proposition_1" = "• 広告、追跡なし、データ収集なし"; +"about_proposition_1" = "広告、追跡なし、データ収集なし"; /* Text in About screen */ -"about_proposition_2" = "• バッテリーの消耗がなく、オフラインで動作する"; +"about_proposition_2" = "バッテリーの消耗がなく、オフラインで動作する"; /* Text in About screen */ -"about_proposition_3" = "• 高速、ミニマリスト、コミュニティによる開発"; +"about_proposition_3" = "高速、ミニマリスト、コミュニティによる開発"; "close" = "閉じる"; "download" = "ダウンロード"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Eメール"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "クリップボードにコピーしました: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMapsバージョン: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "トラック"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "ニュース"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -528,7 +545,8 @@ "add_opening_hours" = "営業時間を追加"; /* OpenStreetMap */ -"osm_explanation" = "コミュニティが作成した%@時点の OpenStreetMap のデータ。地図の編集や更新の方法については、OpenStreetMap.org を参照してください"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "コミュニティが作成した%@時点の OpenStreetMap のデータ。地図の編集や更新の方法については、OpenStreetMap.org を参照してください"; "osm_more_about" = "OpenStreetMapについての詳細"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/JA:OpenStreetMap_について"; diff --git a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings index 057d1fb73..49f46e059 100644 --- a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "사랑으로 만든 모든 사람에게 무료"; /* Text in About screen */ -"about_proposition_1" = "• 광고 없음, 추적 없음, 데이터 수집 없음"; +"about_proposition_1" = "광고 없음, 추적 없음, 데이터 수집 없음"; /* Text in About screen */ -"about_proposition_2" = "• 배터리 소모 없음, 오프라인에서 작동"; +"about_proposition_2" = "배터리 소모 없음, 오프라인에서 작동"; /* Text in About screen */ -"about_proposition_3" = "• 빠르고 미니멀한, 커뮤니티가 개발한"; +"about_proposition_3" = "빠르고 미니멀한, 커뮤니티가 개발한"; "close" = "닫기"; "download" = "다운로드"; @@ -179,6 +179,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "이메일"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "클립보드에 복사됨: %@"; @@ -190,6 +193,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps 버전: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "트랙"; @@ -261,6 +266,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "소식"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -313,7 +330,7 @@ "volunteer" = "자원봉사에 참여하려면"; /* "Social media" section header in the About screen */ -"follow_us" = "팔로우하고 문의하세요:"; +"follow_us" = "팔로우하고 문의하세요"; /* Alert text */ "email_error_body" = "이메일 클라이언트가 설정되지 않았습니다. 이를 구성하거나 %@로 연락할 다른 방법을 사용하십시오."; @@ -527,7 +544,8 @@ "add_opening_hours" = "영업일 추가"; /* OpenStreetMap */ -"osm_explanation" = "커뮤니티에서 만든 오픈스트리트맵 데이터(%@ 기준). 지도를 편집하고 업데이트하는 방법에 대한 자세한 내용은 OpenStreetMap.org에서 확인하세요."; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "커뮤니티에서 만든 오픈스트리트맵 데이터(%@ 기준). 지도를 편집하고 업데이트하는 방법에 대한 자세한 내용은 OpenStreetMap.org에서 확인하세요."; "osm_more_about" = "OpenStreetMap 정보"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Ko:OpenStreetMap_소개"; diff --git a/iphone/Maps/LocalizedStrings/lt.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/lt.lproj/Localizable.strings index 26025619d..e205c4512 100644 --- a/iphone/Maps/LocalizedStrings/lt.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/lt.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Nemokama visiems, sukurta su meile"; /* Text in About screen */ -"about_proposition_1" = "• Jokių reklamų, sekimo, duomenų rinkimo"; +"about_proposition_1" = "Jokių reklamų, sekimo, duomenų rinkimo"; /* Text in About screen */ -"about_proposition_2" = "• Neiškrauna akumuliatoriaus, nes veikia neprisijungus prie interneto"; +"about_proposition_2" = "Neiškrauna akumuliatoriaus, nes veikia neprisijungus prie interneto"; /* Text in About screen */ -"about_proposition_3" = "• Sparti, minimalistinė, vystoma bendruomenės"; +"about_proposition_3" = "Sparti, minimalistinė, vystoma bendruomenės"; "close" = "Užverti"; "download" = "Atsiųsti"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "El. paštas"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Nukopijuota į iškarpinę: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "„CoMaps“ versija: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Trasos"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Naujienos"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Prisidėti"; /* "Social media" section header in the About screen */ -"follow_us" = "Sekite ar susisiekite su mumis:"; +"follow_us" = "Sekite ar susisiekite su mumis"; /* Alert text */ "email_error_body" = "El. pašto programa nenustatyta. Sukonfigūruokite ją arba susisiekite su mumis adresu %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Pridėti darbo valandas"; /* OpenStreetMap */ -"osm_explanation" = "Bendruomenės surinkti „OpenStreetMap“ duomenys %@ dienai. Sužinokite, kaip redaguoti ir atnaujinti žemėlapį, apsilankydami OpenStreetMap.org svetainėje"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Bendruomenės surinkti „OpenStreetMap“ duomenys %@ dienai. Sužinokite, kaip redaguoti ir atnaujinti žemėlapį, apsilankydami OpenStreetMap.org svetainėje"; "osm_more_about" = "Plačiau apie „OpenStreetMap“"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/lv.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/lv.lproj/Localizable.strings index b7ce646cd..015bb0dc8 100644 --- a/iphone/Maps/LocalizedStrings/lv.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/lv.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Bezmaksas, pieejama visiem un veidota ar mīlestību"; /* Text in About screen */ -"about_proposition_1" = "• Nesatur reklāmas, izsekošanu un nevāc datus"; +"about_proposition_1" = "Nesatur reklāmas, izsekošanu un nevāc datus"; /* Text in About screen */ -"about_proposition_2" = "• Neizlādē bateriju, darbojas bez interneta pieslēguma"; +"about_proposition_2" = "Neizlādē bateriju, darbojas bez interneta pieslēguma"; /* Text in About screen */ -"about_proposition_3" = "• Ātra, minimālistiska un kopienas izstrādāta"; +"about_proposition_3" = "Ātra, minimālistiska un kopienas izstrādāta"; "close" = "Aizvērt"; "download" = "Lejupielādēt"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-pasts"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Nokopēts starpliktuvē: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "„CoMaps“ versija: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Ceļi"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Jaunumi"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Brīvprātīgi palīdzēt"; /* "Social media" section header in the About screen */ -"follow_us" = "Sekojiet un sazinieties ar mums:"; +"follow_us" = "Sekojiet un sazinieties ar mums"; /* Alert text */ "email_error_body" = "E-pasta klients nav sagatavots darbam. Konfigurējiet to vai sazinieties ar mums: %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Pievienot darba laiku"; /* OpenStreetMap */ -"osm_explanation" = "Kopienas veidotie „OpenStreetMap“ dati, %@. Uzziniet vairāk par to, kā piedalīties kartes rediģēšanā un uzlabošanā vietnē „OpenStreetMap.org“."; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Kopienas veidotie „OpenStreetMap“ dati, %@. Uzziniet vairāk par to, kā piedalīties kartes rediģēšanā un uzlabošanā vietnē „OpenStreetMap.org“."; "osm_more_about" = "Vairāk par „OpenStreetMap“"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings index 8e2b5a4de..0e3fa2148 100644 --- a/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "सर्वांसाठी विनामूल्य, आवडीने तयार केलेले"; /* Text in About screen */ -"about_proposition_1" = "• जाहिराती नाही, माहितीचा मागोवा नाही, डेटा संग्रहण नाही"; +"about_proposition_1" = "जाहिराती नाही, माहितीचा मागोवा नाही, डेटा संग्रहण नाही"; /* Text in About screen */ -"about_proposition_2" = "• बॅटरी संपत नाही, ऑफलाइन कार्य करते"; +"about_proposition_2" = "बॅटरी संपत नाही, ऑफलाइन कार्य करते"; /* Text in About screen */ -"about_proposition_3" = "• जलद, मिनिमलिस्ट, समुदायाद्वारे विकसित"; +"about_proposition_3" = "जलद, मिनिमलिस्ट, समुदायाद्वारे विकसित"; "close" = "बंद"; "download" = "डाउनलोड करा"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "ई-मेल"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "क्लिपबोर्डावर कॉपी केले: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps आवृत्ती: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "ट्रॅक"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "बातम्या"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "स्वयंसेवक करण्यासाठी"; /* "Social media" section header in the About screen */ -"follow_us" = "अनुसरण करा आणि आमच्याशी संपर्क साधा:"; +"follow_us" = "अनुसरण करा आणि आमच्याशी संपर्क साधा"; /* Alert text */ "email_error_body" = "ईमेल वाहक सेट केलेले नाही. कृपया ते सेट करा किंवा वेगळ्या पद्धतीने आमच्याशी %@ वर संपर्क करा"; @@ -525,7 +542,8 @@ "add_opening_hours" = "उघडण्याची वेळ जोड"; /* OpenStreetMap */ -"osm_explanation" = "समुदाय-निर्मित OpenStreetMap डेटा %@ नुसार. OpenStreetMap.org वर नकाशा संपादित आणि अपडेट कसा करायचा याबद्दल अधिक जाणून घ्या"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "समुदाय-निर्मित OpenStreetMap डेटा %@ नुसार. OpenStreetMap.org वर नकाशा संपादित आणि अपडेट कसा करायचा याबद्दल अधिक जाणून घ्या"; "osm_more_about" = "OpenStreetMap बद्दल अधिक"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/mt.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/mt.lproj/Localizable.strings index d3468e29a..028b8443b 100644 --- a/iphone/Maps/LocalizedStrings/mt.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/mt.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "B' xejn għal kulħadd, magħmul bl-imħabba"; /* Text in About screen */ -"about_proposition_1" = "• Bla reklami, bla traċċar, bla kollezjoni ta' data"; +"about_proposition_1" = "Bla reklami, bla traċċar, bla kollezjoni ta' data"; /* Text in About screen */ -"about_proposition_2" = "• Bla ħela ta' batterija, jaħdem offline"; +"about_proposition_2" = "Bla ħela ta' batterija, jaħdem offline"; /* Text in About screen */ -"about_proposition_3" = "• Malajr, minimalista, żvillupat mill-komunità"; +"about_proposition_3" = "Malajr, minimalista, żvillupat mill-komunità"; "close" = "Ġħalaq"; "download" = "Niżżel"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-mejl"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Ikkupjat fil-klibbord: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Verżjoni ta' CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Korsa"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Aħbarijiet"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Voluntier"; /* "Social media" section header in the About screen */ -"follow_us" = "Segwi u kkuntattjana:"; +"follow_us" = "Segwi u kkuntattjana"; /* Alert text */ "email_error_body" = "Il-klijent tal-posta elettronika ma ġiex ikkonfigurat. Jekk jogħġbok ikkonfiguraha jew ikkuntattjana fuq %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Add opening hours"; /* OpenStreetMap */ -"osm_explanation" = "Community-created OpenStreetMap data as of %@. Learn more about how to edit and update the map at OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Community-created OpenStreetMap data as of %@. Learn more about how to edit and update the map at OpenStreetMap.org"; "osm_more_about" = "Aktar dwar OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings index e21ed1f13..d73166c24 100644 --- a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis for alle, laget med kjærlighet"; /* Text in About screen */ -"about_proposition_1" = "• Ingen annonser, ingen sporing, ingen datainnsamling"; +"about_proposition_1" = "Ingen annonser, ingen sporing, ingen datainnsamling"; /* Text in About screen */ -"about_proposition_2" = "• Ingen batterislitasje, fungerer offline"; +"about_proposition_2" = "Ingen batterislitasje, fungerer offline"; /* Text in About screen */ -"about_proposition_3" = "• Rask, minimalistisk, utviklet av fellesskapet"; +"about_proposition_3" = "Rask, minimalistisk, utviklet av fellesskapet"; "close" = "Lukk"; "download" = "Last ned"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-post"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Kopiert til utklippstavlen: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps versjon: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Ruter"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Nyheter"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Frivillig arbeid"; /* "Social media" section header in the About screen */ -"follow_us" = "Følg og kontakt oss:"; +"follow_us" = "Følg og kontakt oss"; /* Alert text */ "email_error_body" = "E-postklienten har ikke blitt konfigurert. Konfigurer den eller bruk en annen måte å kontakte oss på %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Legg til åpningstider"; /* OpenStreetMap */ -"osm_explanation" = "Fellesskapsopprettede OpenStreetMap-data fra %@. Les mer om hvordan du redigerer og oppdaterer kartet på OpenStreetMap.org."; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Fellesskapsopprettede OpenStreetMap-data fra %@. Les mer om hvordan du redigerer og oppdaterer kartet på OpenStreetMap.org."; "osm_more_about" = "Mer om OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/No:Hva_er_OpenStreetmap"; diff --git a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings index af71b9f13..023318842 100644 --- a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis voor iedereen, met liefde gemaakt"; /* Text in About screen */ -"about_proposition_1" = "• Geen advertenties, geen tracking, geen gegevensverzameling"; +"about_proposition_1" = "Geen advertenties, geen tracking, geen gegevensverzameling"; /* Text in About screen */ -"about_proposition_2" = "• Geen batterijverlies, werkt offline"; +"about_proposition_2" = "Geen batterijverlies, werkt offline"; /* Text in About screen */ -"about_proposition_3" = "• Snel, minimalistisch, ontwikkeld door de gemeenschap"; +"about_proposition_3" = "Snel, minimalistisch, ontwikkeld door de gemeenschap"; "close" = "Sluit"; "download" = "Download"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-mail"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Naar het klembord gekopieerd: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps versie: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Tracks"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Nieuws"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Vrijwilligerswerk"; /* "Social media" section header in the About screen */ -"follow_us" = "Volg ons en neem contact met ons op:"; +"follow_us" = "Volg ons en neem contact met ons op"; /* Alert text */ "email_error_body" = "Het e-mailprogramma is niet ingesteld. Stel het programma in of neem contact met ons op via %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Voeg openingstijden toe"; /* OpenStreetMap */ -"osm_explanation" = "Door de gemeenschap gemaakte OpenStreetMap-gegevens tot %@. Lees meer over hoe je de kaart kunt bewerken en bijwerken op OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Door de gemeenschap gemaakte OpenStreetMap-gegevens tot %@. Lees meer over hoe je de kaart kunt bewerken en bijwerken op OpenStreetMap.org"; "osm_more_about" = "Meer over OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/NL:Wat_is_OpenStreetMap%3F"; diff --git a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings index a3637f7f4..77afa0742 100644 --- a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Darmowa dla wszystkich, wykonana z miłością"; /* Text in About screen */ -"about_proposition_1" = "• Bez reklam, bez śledzenia, bez gromadzenia danych"; +"about_proposition_1" = "Bez reklam, bez śledzenia, bez gromadzenia danych"; /* Text in About screen */ -"about_proposition_2" = "• Nie zużywa baterii, działa w trybie offline"; +"about_proposition_2" = "Nie zużywa baterii, działa w trybie offline"; /* Text in About screen */ -"about_proposition_3" = "• Szybki, minimalistyczny, opracowany przez społeczność"; +"about_proposition_3" = "Szybki, minimalistyczny, opracowany przez społeczność"; "close" = "Zamknij"; "download" = "Pobierz"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Skopiowano do schowka: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Wersja CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Trasy"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Wiadomości"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Wolontariusz"; /* "Social media" section header in the About screen */ -"follow_us" = "Śledź nas i skontaktuj się z nami:"; +"follow_us" = "Śledź nas i skontaktuj się z nami"; /* Alert text */ "email_error_body" = "Klient pocztowy nie został skonfigurowany. Proszę skonfigurować go, bądź skorzystać z innych opcji, aby się z nami skontaktować na %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Dodaj godziny otwarcia"; /* OpenStreetMap */ -"osm_explanation" = "Dane OpenStreetMap stworzone przez społeczność na dzień %@. Dowiedz się więcej o tym, jak edytować i aktualizować mapę na stronie OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Dane OpenStreetMap stworzone przez społeczność na dzień %@. Dowiedz się więcej o tym, jak edytować i aktualizować mapę na stronie OpenStreetMap.org"; "osm_more_about" = "Więcej o OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Pl:Wstęp"; diff --git a/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings index 9f46b8e8c..dc487d3d7 100644 --- a/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Grátis para todos, feito com amor"; /* Text in About screen */ -"about_proposition_1" = "• Sem anúncios, rastreamento ou coleta de dados"; +"about_proposition_1" = "Sem anúncios, rastreamento ou coleta de dados"; /* Text in About screen */ -"about_proposition_2" = "• Sem consumo de bateria, funciona off-line"; +"about_proposition_2" = "Sem consumo de bateria, funciona off-line"; /* Text in About screen */ -"about_proposition_3" = "• Rápido, minimalista, desenvolvido pela comunidade"; +"about_proposition_3" = "Rápido, minimalista, desenvolvido pela comunidade"; "close" = "Fechar"; "download" = "Baixar"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copiado para a área de transferência: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versão do CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Trilhas"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Notícias"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Voluntarie-se"; /* "Social media" section header in the About screen */ -"follow_us" = "Siga-nos e entre em contato conosco:"; +"follow_us" = "Siga-nos e entre em contato conosco"; /* Alert text */ "email_error_body" = "O cliente de email não está configurado. Por favor, configure-o ou utilize qualquer outro modo para nos contatar através de %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Adicionar horário de funcionamento"; /* OpenStreetMap */ -"osm_explanation" = "Dados do OpenStreetMap criados pela comunidade até %@. Saiba mais sobre como editar e atualizar o mapa em OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Dados do OpenStreetMap criados pela comunidade até %@. Saiba mais sobre como editar e atualizar o mapa em OpenStreetMap.org"; "osm_more_about" = "Mais sobre OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Pt:Sobre_o_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings index 521695547..d292070c8 100644 --- a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Grátis para todos, feito com amor"; /* Text in About screen */ -"about_proposition_1" = "• Sem anúncios, rastreamento ou coleta de dados"; +"about_proposition_1" = "Sem anúncios, rastreamento ou coleta de dados"; /* Text in About screen */ -"about_proposition_2" = "• Não gasta a bateria, funciona offline"; +"about_proposition_2" = "Não gasta a bateria, funciona offline"; /* Text in About screen */ -"about_proposition_3" = "• Rápido, minimalista, desenvolvido pela comunidade"; +"about_proposition_3" = "Rápido, minimalista, desenvolvido pela comunidade"; "close" = "Fechar"; "download" = "Descarregar"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copiado para a área de transferência: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versão do CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Trajetos"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Notícias"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Voluntaria-te"; /* "Social media" section header in the About screen */ -"follow_us" = "Segue-nos e contacta-nos:"; +"follow_us" = "Segue-nos e contacta-nos"; /* Alert text */ "email_error_body" = "O programa de email não está configurado. Por favor, configure-o ou utilize qualquer outra forma de nos contactar através de %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Adicionar horário de funcionamento"; /* OpenStreetMap */ -"osm_explanation" = "Dados do OpenStreetMap criados pela comunidade até %@. Sabe mais sobre como editar e atualizar o mapa em OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Dados do OpenStreetMap criados pela comunidade até %@. Sabe mais sobre como editar e atualizar o mapa em OpenStreetMap.org"; "osm_more_about" = "Mais sobre o OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Pt:Sobre_o_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings index a8040744a..57f5f4c5a 100644 --- a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratuit pentru toată lumea, făcut cu dragoste"; /* Text in About screen */ -"about_proposition_1" = "• Fără reclame, fără urmărire, fără colectare de date"; +"about_proposition_1" = "Fără reclame, fără urmărire, fără colectare de date"; /* Text in About screen */ -"about_proposition_2" = "• Nu consumă baterie, funcționează offline"; +"about_proposition_2" = "Nu consumă baterie, funcționează offline"; /* Text in About screen */ -"about_proposition_3" = "• Rapid, minimalist, dezvoltat de comunitate"; +"about_proposition_3" = "Rapid, minimalist, dezvoltat de comunitate"; "close" = "Închide"; "download" = "Descarcă"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-mail"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copiat în notițe: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Versiunea CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Trasee"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Știri"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Pentru a fi voluntar"; /* "Social media" section header in the About screen */ -"follow_us" = "Urmăriți-ne și contactați-ne:"; +"follow_us" = "Urmăriți-ne și contactați-ne"; /* Alert text */ "email_error_body" = "Aplicația de email nu a fost stabilită. Stabilește-o sau utilizează alt mod de a ne contacta la %@."; @@ -528,7 +545,8 @@ "add_opening_hours" = "Adaugă orele de funcționare"; /* OpenStreetMap */ -"osm_explanation" = "Date OpenStreetMap create de comunitate la data de %@. Aflați mai multe despre cum să editați și să actualizați harta la OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Date OpenStreetMap create de comunitate la data de %@. Aflați mai multe despre cum să editați și să actualizați harta la OpenStreetMap.org"; "osm_more_about" = "Mai multe despre OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings index c85b2fc85..4d2db6a06 100644 --- a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Бесплатно для всех, сделано с любовью"; /* Text in About screen */ -"about_proposition_1" = "• Без рекламы, без трекинга, без слежки"; +"about_proposition_1" = "Без рекламы, без трекинга, без слежки"; /* Text in About screen */ -"about_proposition_2" = "• Не разряжает батарею, работает в автономном режиме"; +"about_proposition_2" = "Не разряжает батарею, работает в автономном режиме"; /* Text in About screen */ -"about_proposition_3" = "• Быстрый, минималистичный, разработанный сообществом"; +"about_proposition_3" = "Быстрый, минималистичный, разработанный сообществом"; "close" = "Закрыть"; "download" = "Загрузить"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Скопировано в буфер обмена: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Версия CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Треки"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Новости"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Cтать волонтёром"; /* "Social media" section header in the About screen */ -"follow_us" = "Подписывайтесь и пишите нам:"; +"follow_us" = "Подписывайтесь и пишите нам"; /* Alert text */ "email_error_body" = "Почтовый клиент не настроен. Настройте его или используйте другие способы для связи. Наш адрес - %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Добавить время работы"; /* OpenStreetMap */ -"osm_explanation" = "Созданные сообществом данные OpenStreetMap по состоянию на %@. Узнайте больше о том, как редактировать и обновлять карту, на сайте OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Созданные сообществом данные OpenStreetMap по состоянию на %@. Узнайте больше о том, как редактировать и обновлять карту, на сайте OpenStreetMap.org"; "osm_more_about" = "Подробнее об OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/RU:О_проекте"; diff --git a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings index 2be2a3ce7..6f52a5be5 100644 --- a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Zadarmo pre každého, vyrobené s láskou"; /* Text in About screen */ -"about_proposition_1" = "• Žiadne reklamy, žiadne sledovanie, žiadny zber údajov"; +"about_proposition_1" = "Žiadne reklamy, žiadne sledovanie, žiadny zber údajov"; /* Text in About screen */ -"about_proposition_2" = "• Žiadne vybíjanie batérie, funguje v režime offline"; +"about_proposition_2" = "Žiadne vybíjanie batérie, funguje v režime offline"; /* Text in About screen */ -"about_proposition_3" = "• Rýchly, minimalistický, vyvinutý komunitou"; +"about_proposition_3" = "Rýchly, minimalistický, vyvinutý komunitou"; "close" = "Zavrieť"; "download" = "Stiahnuť"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Skopírované do schránky: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Verzia CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Stopy"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Správy"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Dobrovoľníctvo"; /* "Social media" section header in the About screen */ -"follow_us" = "Sledujte nás a kontaktujte nás:"; +"follow_us" = "Sledujte nás a kontaktujte nás"; /* Alert text */ "email_error_body" = "Emailový klient nebol nastavený. Nakonfigurujte ho prosím alebo použite iný spôsob k tomu, abyste nás kontaktovali na %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Pridať otváracie hodiny"; /* OpenStreetMap */ -"osm_explanation" = "Údaje OpenStreetMap vytvorené komunitou od %@. Viac informácií o tom, ako upravovať a aktualizovať mapu, nájdete na stránke OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Údaje OpenStreetMap vytvorené komunitou od %@. Viac informácií o tom, ako upravovať a aktualizovať mapu, nájdete na stránke OpenStreetMap.org"; "osm_more_about" = "Viac o OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/sr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sr.lproj/Localizable.strings index c7f449b62..e3f6bfd48 100644 --- a/iphone/Maps/LocalizedStrings/sr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sr.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Слободна за све, направљена с љубављу"; /* Text in About screen */ -"about_proposition_1" = "• Без реклама, без праћења, без сакупљања података"; +"about_proposition_1" = "Без реклама, без праћења, без сакупљања података"; /* Text in About screen */ -"about_proposition_2" = "• Без непотребне потрошње батерије, ради и без интернета"; +"about_proposition_2" = "Без непотребне потрошње батерије, ради и без интернета"; /* Text in About screen */ -"about_proposition_3" = "• Брза, минималистичка, направљена од стране заједнице"; +"about_proposition_3" = "Брза, минималистичка, направљена од стране заједнице"; "close" = "Затвори"; "download" = "Преузми"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Копирано у клипборд: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps верзија: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Путање"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Новости"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Волонтирајте"; /* "Social media" section header in the About screen */ -"follow_us" = "Пратите и контактирајте нас:"; +"follow_us" = "Пратите и контактирајте нас"; /* Alert text */ "email_error_body" = "Email клијент није подешен. Молимо вас да га подесите или нас контактирајте на %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Додај радно време"; /* OpenStreetMap */ -"osm_explanation" = "Подаци са OpenStreetMap-а које је креирала заједница до %@. Научите више о томе како да мењате и ажурирате мапу на OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Подаци са OpenStreetMap-а које је креирала заједница до %@. Научите више о томе како да мењате и ажурирате мапу на OpenStreetMap.org"; "osm_more_about" = "Више о OpenStreetMap-у"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings index 1fea0b32e..116ebd345 100644 --- a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Gratis för alla, skapad med kärlek"; /* Text in About screen */ -"about_proposition_1" = "• Inga annonser, ingen spårning, ingen datainsamling"; +"about_proposition_1" = "Inga annonser, ingen spårning, ingen datainsamling"; /* Text in About screen */ -"about_proposition_2" = "• Låg batteriförbrukning, fungerar utan uppkoppling"; +"about_proposition_2" = "Låg batteriförbrukning, fungerar utan uppkoppling"; /* Text in About screen */ -"about_proposition_3" = "• Snabb, minimalistisk, utvecklad av gemenskapen"; +"about_proposition_3" = "Snabb, minimalistisk, utvecklad av gemenskapen"; "close" = "Stäng"; "download" = "Ladda ner"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-post"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Kopierat till urklipp: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps-version: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Rutter"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Nyheter"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Bli volontär"; /* "Social media" section header in the About screen */ -"follow_us" = "Följ och kontakta oss:"; +"follow_us" = "Följ och kontakta oss"; /* Alert text */ "email_error_body" = "Emailklienten har inte konfigurerats. Ställ in den eller använd ett annat sätt att kontakta oss på %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Lägg till öppettider"; /* OpenStreetMap */ -"osm_explanation" = "Community-skapade OpenStreetMap-data från och med %@. Läs mer om hur du redigerar och uppdaterar kartan på OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Community-skapade OpenStreetMap-data från och med %@. Läs mer om hur du redigerar och uppdaterar kartan på OpenStreetMap.org"; "osm_more_about" = "Mer om OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Sv:Om_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings index 9f1e639ec..0f7f94954 100644 --- a/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings @@ -36,13 +36,13 @@ "about_headline" = "Bure kwa kila mtu, iliyotengenezwa na upendo"; /* Text in About screen */ -"about_proposition_1" = "• Hakuna matangazo, hakuna ufuatiliaji, hakuna mkusanyiko wa data"; +"about_proposition_1" = "Hakuna matangazo, hakuna ufuatiliaji, hakuna mkusanyiko wa data"; /* Text in About screen */ -"about_proposition_2" = "• Hakuna betri kuisha, inafanya kazi nje ya mtandao"; +"about_proposition_2" = "Hakuna betri kuisha, inafanya kazi nje ya mtandao"; /* Text in About screen */ -"about_proposition_3" = "• Haraka, minimalist, iliyotengenezwa na jumuiya"; +"about_proposition_3" = "Haraka, minimalist, iliyotengenezwa na jumuiya"; "close" = "Close"; "download" = "Pakua"; @@ -170,6 +170,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Copied to clipboard: %@"; @@ -181,6 +184,8 @@ /* Prints version number in About dialog */ "version" = "Toleo la CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Tracks"; @@ -252,6 +257,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Habari"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -304,7 +321,7 @@ "volunteer" = "Kujitolea"; /* "Social media" section header in the About screen */ -"follow_us" = "Fuata na uwasiliane nasi:"; +"follow_us" = "Fuata na uwasiliane nasi"; /* Alert text */ "email_error_body" = "The email client has not been set up. Please configure it or contact us at %@"; @@ -518,7 +535,8 @@ "add_opening_hours" = "Add opening hours"; /* OpenStreetMap */ -"osm_explanation" = "Data ya OpenStreetMap iliyoundwa na jumuiya kufikia %@. Pata maelezo zaidi kuhusu jinsi ya kuhariri na kusasisha ramani katika OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Data ya OpenStreetMap iliyoundwa na jumuiya kufikia %@. Pata maelezo zaidi kuhusu jinsi ya kuhariri na kusasisha ramani katika OpenStreetMap.org"; "osm_more_about" = "More about OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings index c5da49013..186515ea6 100644 --- a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "ฟรีสำหรับทุกคนทำด้วยความรัก"; /* Text in About screen */ -"about_proposition_1" = "• ไม่มีโฆษณาไม่มีการติดตามไม่มีการรวบรวมข้อมูล"; +"about_proposition_1" = "ไม่มีโฆษณาไม่มีการติดตามไม่มีการรวบรวมข้อมูล"; /* Text in About screen */ -"about_proposition_2" = "• ไม่มีแบตเตอรี่หมด ทำงานแบบออฟไลน์"; +"about_proposition_2" = "ไม่มีแบตเตอรี่หมด ทำงานแบบออฟไลน์"; /* Text in About screen */ -"about_proposition_3" = "• รวดเร็ว เรียบง่าย พัฒนาโดยชุมชน"; +"about_proposition_3" = "รวดเร็ว เรียบง่าย พัฒนาโดยชุมชน"; "close" = "ปิด"; "download" = "ดาวน์โหลด"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "อีเมล"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "คัดลอกไปยังคลิปบอร์ด: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "เวอร์ชัน CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "การติดตาม"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "ข่าว"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "อาสาสมัคร"; /* "Social media" section header in the About screen */ -"follow_us" = "ติดตามและติดต่อเรา:"; +"follow_us" = "ติดตามและติดต่อเรา"; /* Alert text */ "email_error_body" = "อีเมลลูกค้ายังไม่ได้รับการจัดตั้งขึ้น กรุณาตั้งค่าหรือใช้วิธีอื่นที่จะติดต่อเราที่ %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "เพิ่มชั่วโมงทำการ"; /* OpenStreetMap */ -"osm_explanation" = "ข้อมูล OpenStreetMap ที่สร้างโดยชุมชน ณ %@ เรียนรู้เพิ่มเติมเกี่ยวกับวิธีแก้ไขและอัปเดตแผนที่ได้ที่ OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "ข้อมูล OpenStreetMap ที่สร้างโดยชุมชน ณ %@ เรียนรู้เพิ่มเติมเกี่ยวกับวิธีแก้ไขและอัปเดตแผนที่ได้ที่ OpenStreetMap.org"; "osm_more_about" = "ข้อมูลเพิ่มเติมเกี่ยวกับ OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Th:เกี่ยวกับ_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings index 45af0db69..dec5b63eb 100644 --- a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Sevgiyle yapılmış, herkes için ücretsiz harita"; /* Text in About screen */ -"about_proposition_1" = "• Reklam yok, izleyici yok, veri toplama yok"; +"about_proposition_1" = "Reklam yok, izleyici yok, veri toplama yok"; /* Text in About screen */ -"about_proposition_2" = "• Pilinizi tüketmez, çevrim dışı çalışır"; +"about_proposition_2" = "Pilinizi tüketmez, çevrim dışı çalışır"; /* Text in About screen */ -"about_proposition_3" = "• Hızlı, minimalist, toplulukça geliştirilmiş"; +"about_proposition_3" = "Hızlı, minimalist, toplulukça geliştirilmiş"; "close" = "Kapat"; "download" = "İndir"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "E-posta"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Panoya kopyalandı: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps sürümü: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "GPS Kayıtları"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Haberler"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Gönüllü ol"; /* "Social media" section header in the About screen */ -"follow_us" = "Bizi izle ve iletişime geç:"; +"follow_us" = "Bizi izle ve iletişime geç"; /* Alert text */ "email_error_body" = "E-posta istemcisi henüz kurulmamış. Lütfen e-posta istemcisini yapılandırın veya bize %@ adresinden ulaşmak için başka bir yöntem deneyin"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Açılış saatlerini ekle"; /* OpenStreetMap */ -"osm_explanation" = "%@ tarihine ait topluluk tarafından oluşturulmuş OpenStreetMap verilerini kullanıyorsunuz. OpenStreetMap.org adresinden haritayı nasıl düzenleyebileceğinizle ilgili bilgi edinebilirsiniz"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "%@ tarihine ait topluluk tarafından oluşturulmuş OpenStreetMap verilerini kullanıyorsunuz. OpenStreetMap.org adresinden haritayı nasıl düzenleyebileceğinizle ilgili bilgi edinebilirsiniz"; "osm_more_about" = "OpenStreetMap ile ilgili ek bilgi"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Tr:About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings index fee20e4de..3bb104cab 100644 --- a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Безкоштовно для всіх, зроблене з любов'ю"; /* Text in About screen */ -"about_proposition_1" = "• Без реклами, без трекінгу, без стеження"; +"about_proposition_1" = "Без реклами, без трекінгу, без стеження"; /* Text in About screen */ -"about_proposition_2" = "• Не розряджає батарею, працює в автономному режимі"; +"about_proposition_2" = "Не розряджає батарею, працює в автономному режимі"; /* Text in About screen */ -"about_proposition_3" = "• Швидкий, мінімалістичний, розроблений спільнотою"; +"about_proposition_3" = "Швидкий, мінімалістичний, розроблений спільнотою"; "close" = "Закрити"; "download" = "Завантажити"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Ел. пошта"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Скопійовано в буфер обміну: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Версія CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Маршрути"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Новини"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Стати волонтером"; /* "Social media" section header in the About screen */ -"follow_us" = "Підписуйтесь та зв'язуйтесь з нами:"; +"follow_us" = "Підписуйтесь та зв'язуйтесь з нами"; /* Alert text */ "email_error_body" = "Поштовий клієнт не налаштований. Налаштуйте його або скористайтеся іншими способами зв'язку. Наша адреса – %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Додати години роботи"; /* OpenStreetMap */ -"osm_explanation" = "Дані OpenStreetMap, створені спільнотою, станом на %@. Дізнайтеся більше про те, як редагувати та оновлювати мапу на OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Дані OpenStreetMap, створені спільнотою, станом на %@. Дізнайтеся більше про те, як редагувати та оновлювати мапу на OpenStreetMap.org"; "osm_more_about" = "Більше про OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Uk:Про_проект"; diff --git a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings index 1855dbd4a..78569c9b5 100644 --- a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "Miễn phí cho mọi người, được làm bằng tình yêu"; /* Text in About screen */ -"about_proposition_1" = "• Không có quảng cáo, không theo dõi, không thu thập dữ liệu"; +"about_proposition_1" = "Không có quảng cáo, không theo dõi, không thu thập dữ liệu"; /* Text in About screen */ -"about_proposition_2" = "• Không hao pin, hoạt động offline"; +"about_proposition_2" = "Không hao pin, hoạt động offline"; /* Text in About screen */ -"about_proposition_3" = "• Nhanh chóng, tối giản, được phát triển bởi cộng đồng"; +"about_proposition_3" = "Nhanh chóng, tối giản, được phát triển bởi cộng đồng"; "close" = "Đóng"; "download" = "Tải xuống"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "Email"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "Đã sao chép vào Bảng tạm: %@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "Phiên bản CoMaps: %@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "Dấu vết"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "Tin tức"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -314,7 +331,7 @@ "volunteer" = "Tình nguyện"; /* "Social media" section header in the About screen */ -"follow_us" = "Theo dõi và liên hệ với chúng tôi:"; +"follow_us" = "Theo dõi và liên hệ với chúng tôi"; /* Alert text */ "email_error_body" = "Trình khách email này chưa được thiết lập. Bạn vui lòng cấu hình nó hoặc sử dụng một cách khác để liên hệ với chúng tôi tại %@"; @@ -528,7 +545,8 @@ "add_opening_hours" = "Thêm giờ làm việc"; /* OpenStreetMap */ -"osm_explanation" = "Dữ liệu OpenStreetMap do cộng đồng tạo ra kể từ %@. Tìm hiểu thêm về cách chỉnh sửa và cập nhật bản đồ tại OpenStreetMap.org"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "Dữ liệu OpenStreetMap do cộng đồng tạo ra kể từ %@. Tìm hiểu thêm về cách chỉnh sửa và cập nhật bản đồ tại OpenStreetMap.org"; "osm_more_about" = "Thông tin bổ sung về OpenStreetMap"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/About_OpenStreetMap"; diff --git a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings index 92dd6f90b..eea384d74 100644 --- a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "对每个人都免费,用爱制成"; /* Text in About screen */ -"about_proposition_1" = "• 没有广告,不会跟踪您,更不会收集您的数据"; +"about_proposition_1" = "没有广告,不会跟踪您,更不会收集您的数据"; /* Text in About screen */ -"about_proposition_2" = "• 无需耗费太多电量,可离线工作"; +"about_proposition_2" = "无需耗费太多电量,可离线工作"; /* Text in About screen */ -"about_proposition_3" = "• 快速且简约,由社区开发"; +"about_proposition_3" = "快速且简约,由社区开发"; "close" = "关闭"; "download" = "下载"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "电子邮件"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "已复制到剪贴板:%@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps 版本:%@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "轨迹"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "新闻"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -528,7 +545,8 @@ "add_opening_hours" = "添加营业时间"; /* OpenStreetMap */ -"osm_explanation" = "截至 %@ 的社区创建的 OpenStreetMap 数据。请访问 OpenStreetMap.org 详细了解如何编辑和更新地图"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "截至 %@ 的社区创建的 OpenStreetMap 数据。请访问 OpenStreetMap.org 详细了解如何编辑和更新地图"; "osm_more_about" = "关于 OpenStreetMap 的更多信息"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Zh-hans:关于"; diff --git a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings index 028efde57..78dc93ddd 100644 --- a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings @@ -46,13 +46,13 @@ "about_headline" = "對每個人都免費,用愛製成"; /* Text in About screen */ -"about_proposition_1" = "• 沒有廣告,不會跟蹤您,更不會收集您的數據"; +"about_proposition_1" = "沒有廣告,不會跟蹤您,更不會收集您的數據"; /* Text in About screen */ -"about_proposition_2" = "• 無需耗費太多電量,可離線工作"; +"about_proposition_2" = "無需耗費太多電量,可離線工作"; /* Text in About screen */ -"about_proposition_3" = "• 快速且簡約,由社區開發"; +"about_proposition_3" = "快速且簡約,由社區開發"; "close" = "關閉"; "download" = "下載"; @@ -180,6 +180,9 @@ /* Share by email button text, also used in editor and About. */ "email" = "電子郵件"; +/* Text for message to copy something */ +"copy_to_clipboard" = "Copy to Clipboard"; + /* Text for message when used successfully copied something */ "copied_to_clipboard" = "已複製到剪貼簿:%@"; @@ -191,6 +194,8 @@ /* Prints version number in About dialog */ "version" = "CoMaps 版本:%@"; +"version %@ (%@)" = "Version %@ (%@)"; +"version: %@ (%@)\nmap data: %@" = "Version: %@ (%@)\nMap Data: %@"; /* Title for tracks category in bookmarks manager */ "tracks_title" = "軌跡"; @@ -262,6 +267,18 @@ /* Text in About menu, opens CoMaps news website */ "news" = "新聞"; +/* Text in the about screen */ +"social_codeberg" = "Codeberg"; +"social_mastodon" = "Mastodon"; +"social_lemmy" = "Lemmy"; +"social_matrix" = "Matrix"; +"social_telegram" = "Telegram"; +"social_instagram" = "Instagram"; +"social_bluesky" = "Bluesky"; +"social_linkedin" = "LinkedIn"; +"social_facebook" = "Facebook"; +"social_email" = "E-Mail"; + /* Text in the editor */ "fediverse" = "Mastodon"; @@ -528,7 +545,8 @@ "add_opening_hours" = "新增營業時間"; /* OpenStreetMap */ -"osm_explanation" = "截至 %@ 的社群創建的 OpenStreetMap 資料。請訪問 OpenStreetMap.org 以了解有關如何編輯和更新地圖的更多資訊"; +"osm_mapdata" = "Map data from OpenStreetMap"; +"osm_mapdata_explanation %@" = "截至 %@ 的社群創建的 OpenStreetMap 資料。請訪問 OpenStreetMap.org 以了解有關如何編輯和更新地圖的更多資訊"; "osm_more_about" = "關於 OpenStreetMap 的更多資訊"; "osm_more_about_url" = "https://wiki.openstreetmap.org/wiki/Zh-hant:關於OpenStreetMap"; diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj index bda1d720a..359ca0678 100644 --- a/iphone/Maps/Maps.xcodeproj/project.pbxproj +++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj @@ -16,6 +16,14 @@ 272F1F3D2E0EE0C800FA52EF /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F3C2E0EE0C400FA52EF /* ProfileView.swift */; }; 272F1F462E0EEF9400FA52EF /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272F1F452E0EEF8B00FA52EF /* SafariView.swift */; }; 2765D1D02E13F9C20005CA2B /* BridgeControllers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2765D1CD2E13F9BC0005CA2B /* BridgeControllers.swift */; }; + 27697F742E25177600FBD913 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F732E25177300FBD913 /* AboutView.swift */; }; + 27697F7F2E254A5500FBD913 /* CopyrightView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F7C2E254A5000FBD913 /* CopyrightView.swift */; }; + 27697F812E254A6000FBD913 /* FaqView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F802E254A5800FBD913 /* FaqView.swift */; }; + 27697F832E254AA100FBD913 /* EmbeddedSafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F822E254A9900FBD913 /* EmbeddedSafariView.swift */; }; + 27697F852E255B6500FBD913 /* EmbeddedSafariViewCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F842E255B6300FBD913 /* EmbeddedSafariViewCoordinator.swift */; }; + 27697F872E255B8500FBD913 /* EmbeddedSafariViewContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F862E255B7C00FBD913 /* EmbeddedSafariViewContent.swift */; }; + 27697F902E257EDA00FBD913 /* AboutCoMapsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F8F2E257ED800FBD913 /* AboutCoMapsView.swift */; }; + 27697F922E257EED00FBD913 /* ApoutOpenStreetMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27697F912E257EE600FBD913 /* ApoutOpenStreetMapView.swift */; }; 27768FDB2E20199A0086784A /* RoutingOptionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27768FD92E20199A0086784A /* RoutingOptionsView.swift */; }; 27768FE02E201BE60086784A /* LeftButtonType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27768FDF2E201BE60086784A /* LeftButtonType.swift */; }; 279367562E1BE16300AA5C3D /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 279367552E1BE16300AA5C3D /* Settings.swift */; }; @@ -461,7 +469,6 @@ ED0B1C312BC2951F00FB8EDD /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = ED0B1C302BC2951F00FB8EDD /* PrivacyInfo.xcprivacy */; }; ED0B1FEF2CAA9A25006E31A4 /* UIView+Highlight.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0B1FEE2CAA9A25006E31A4 /* UIView+Highlight.swift */; }; ED0C54992C6E6AF000253A5F /* TrackRecordingManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0C54972C6E14E800253A5F /* TrackRecordingManager.swift */; }; - ED1080A72B791CFE0023F27E /* SocialMediaCollectionViewHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED1080A62B791CFE0023F27E /* SocialMediaCollectionViewHeader.swift */; }; ED1263AB2B6F99F900AD99F3 /* UIView+AddSeparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED1263AA2B6F99F900AD99F3 /* UIView+AddSeparator.swift */; }; ED1ADA332BC6B1B40029209F /* CarPlayServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED1ADA322BC6B1B40029209F /* CarPlayServiceTests.swift */; }; ED2D74382D14337500660FBF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ED2D74342D14337500660FBF /* Assets.xcassets */; }; @@ -527,9 +534,6 @@ EDC4E3612C5E2576009286A2 /* RecentlyDeletedCategoriesViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDC4E3412C5D1BD3009286A2 /* RecentlyDeletedCategoriesViewModelTests.swift */; }; EDC4E3692C5E6F5B009286A2 /* MockRecentlyDeletedCategoriesManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDC4E3402C5D1BD3009286A2 /* MockRecentlyDeletedCategoriesManager.swift */; }; EDCA7CDF2D317DF9003366CE /* StyleSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDCA7CDE2D317DF9003366CE /* StyleSheet.swift */; }; - EDE243DD2B6D2E640057369B /* AboutController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE243D52B6CF3980057369B /* AboutController.swift */; }; - EDE243E52B6D3F400057369B /* OSMView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE243E42B6D3F400057369B /* OSMView.swift */; }; - EDE243E72B6D55610057369B /* InfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE243E02B6D3EA00057369B /* InfoView.swift */; }; EDE8EAEB2C2DBB99002777F5 /* OpenInApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE8EAEA2C2DBB99002777F5 /* OpenInApplication.swift */; }; EDF838842C00B640007E4E67 /* SynchronizationFileWriter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF838812C00B640007E4E67 /* SynchronizationFileWriter.swift */; }; EDF838BE2C00B9D0007E4E67 /* LocalDirectoryMonitorDelegateMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF838AD2C00B9C7007E4E67 /* LocalDirectoryMonitorDelegateMock.swift */; }; @@ -539,12 +543,7 @@ EDF838C22C00B9D6007E4E67 /* MetadataItemStubs.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF838B42C00B9C7007E4E67 /* MetadataItemStubs.swift */; }; EDF838C32C00B9D6007E4E67 /* UbiquitousDirectoryMonitorDelegateMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF838B12C00B9C7007E4E67 /* UbiquitousDirectoryMonitorDelegateMock.swift */; }; EDF838C42C00B9D6007E4E67 /* FileManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF838B32C00B9C7007E4E67 /* FileManagerMock.swift */; }; - EDFDFB462B7139490013A44C /* AboutInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFDFB452B7139490013A44C /* AboutInfo.swift */; }; - EDFDFB482B7139670013A44C /* SocialMedia.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFDFB472B7139670013A44C /* SocialMedia.swift */; }; - EDFDFB4A2B722A310013A44C /* SocialMediaCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFDFB492B722A310013A44C /* SocialMediaCollectionViewCell.swift */; }; - EDFDFB4C2B722C9C0013A44C /* InfoTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFDFB4B2B722C9C0013A44C /* InfoTableViewCell.swift */; }; - EDFDFB522B726F1A0013A44C /* ButtonsStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFDFB512B726F1A0013A44C /* ButtonsStackView.swift */; }; - EDFDFB612B74E2500013A44C /* DonationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFDFB602B74E2500013A44C /* DonationView.swift */; }; + EDFDFB482B7139670013A44C /* Social Media.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFDFB472B7139670013A44C /* Social Media.swift */; }; EDFE1A4A2DF1989700FDEA38 /* UIAlertController+UnknownCurrentPosition.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFE1A492DF1989700FDEA38 /* UIAlertController+UnknownCurrentPosition.swift */; }; F607C1881C032A8800B53A87 /* resources-hdpi_light in Resources */ = {isa = PBXBuildFile; fileRef = F607C1831C032A8800B53A87 /* resources-hdpi_light */; }; F607C18A1C032A8800B53A87 /* resources-hdpi_dark in Resources */ = {isa = PBXBuildFile; fileRef = F607C1841C032A8800B53A87 /* resources-hdpi_dark */; }; @@ -675,7 +674,6 @@ FA853BED26BC5B9E0026D455 /* libmwm_diff.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA853BEC26BC5B9E0026D455 /* libmwm_diff.a */; }; FA853BEF26BC5BA40026D455 /* libdescriptions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA853BEE26BC5BA40026D455 /* libdescriptions.a */; }; FA853BF326BC5DE50026D455 /* libshaders.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA853BF226BC5DE50026D455 /* libshaders.a */; }; - FA85D43D27958BF500B858E9 /* FaqController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA85D43C27958BF500B858E9 /* FaqController.swift */; }; FA85D44E279B738F00B858E9 /* CopyableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA85D44D279B738F00B858E9 /* CopyableLabel.swift */; }; FA8E808925F412E2002A1434 /* FirstSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = FA8E808825F412E2002A1434 /* FirstSession.mm */; }; FAF9DDA32A86DC54000D7037 /* libharfbuzz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FAF9DDA22A86DC54000D7037 /* libharfbuzz.a */; }; @@ -777,6 +775,14 @@ 272F1F3C2E0EE0C400FA52EF /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = ""; }; 272F1F452E0EEF8B00FA52EF /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = ""; }; 2765D1CD2E13F9BC0005CA2B /* BridgeControllers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BridgeControllers.swift; sourceTree = ""; }; + 27697F732E25177300FBD913 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = ""; }; + 27697F7C2E254A5000FBD913 /* CopyrightView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CopyrightView.swift; sourceTree = ""; }; + 27697F802E254A5800FBD913 /* FaqView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaqView.swift; sourceTree = ""; }; + 27697F822E254A9900FBD913 /* EmbeddedSafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmbeddedSafariView.swift; sourceTree = ""; }; + 27697F842E255B6300FBD913 /* EmbeddedSafariViewCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmbeddedSafariViewCoordinator.swift; sourceTree = ""; }; + 27697F862E255B7C00FBD913 /* EmbeddedSafariViewContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmbeddedSafariViewContent.swift; sourceTree = ""; }; + 27697F8F2E257ED800FBD913 /* AboutCoMapsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutCoMapsView.swift; sourceTree = ""; }; + 27697F912E257EE600FBD913 /* ApoutOpenStreetMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApoutOpenStreetMapView.swift; sourceTree = ""; }; 27768FD92E20199A0086784A /* RoutingOptionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoutingOptionsView.swift; sourceTree = ""; }; 27768FDF2E201BE60086784A /* LeftButtonType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LeftButtonType.swift; sourceTree = ""; }; 279367552E1BE16300AA5C3D /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = ""; }; @@ -1418,7 +1424,6 @@ ED0B1C302BC2951F00FB8EDD /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; ED0B1FEE2CAA9A25006E31A4 /* UIView+Highlight.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Highlight.swift"; sourceTree = ""; }; ED0C54972C6E14E800253A5F /* TrackRecordingManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackRecordingManager.swift; sourceTree = ""; }; - ED1080A62B791CFE0023F27E /* SocialMediaCollectionViewHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialMediaCollectionViewHeader.swift; sourceTree = ""; }; ED1263AA2B6F99F900AD99F3 /* UIView+AddSeparator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+AddSeparator.swift"; sourceTree = ""; }; ED1ADA322BC6B1B40029209F /* CarPlayServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarPlayServiceTests.swift; sourceTree = ""; }; ED2D742C2D14337500660FBF /* AppLogo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLogo.swift; sourceTree = ""; }; @@ -1531,9 +1536,6 @@ EDC4E3482C5D1BEF009286A2 /* RecentlyDeletedCategoriesViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecentlyDeletedCategoriesViewModel.swift; sourceTree = ""; }; EDC4E3492C5D1BEF009286A2 /* RecentlyDeletedTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecentlyDeletedTableViewCell.swift; sourceTree = ""; }; EDCA7CDE2D317DF9003366CE /* StyleSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StyleSheet.swift; sourceTree = ""; }; - EDE243D52B6CF3980057369B /* AboutController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutController.swift; sourceTree = ""; }; - EDE243E02B6D3EA00057369B /* InfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoView.swift; sourceTree = ""; }; - EDE243E42B6D3F400057369B /* OSMView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OSMView.swift; sourceTree = ""; }; EDE8EAEA2C2DBB99002777F5 /* OpenInApplication.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenInApplication.swift; sourceTree = ""; }; EDF838812C00B640007E4E67 /* SynchronizationFileWriter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SynchronizationFileWriter.swift; sourceTree = ""; }; EDF838AD2C00B9C7007E4E67 /* LocalDirectoryMonitorDelegateMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalDirectoryMonitorDelegateMock.swift; sourceTree = ""; }; @@ -1543,12 +1545,7 @@ EDF838B22C00B9C7007E4E67 /* iCloudDirectoryMonitorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = iCloudDirectoryMonitorTests.swift; sourceTree = ""; }; EDF838B32C00B9C7007E4E67 /* FileManagerMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileManagerMock.swift; sourceTree = ""; }; EDF838B42C00B9C7007E4E67 /* MetadataItemStubs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetadataItemStubs.swift; sourceTree = ""; }; - EDFDFB452B7139490013A44C /* AboutInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutInfo.swift; sourceTree = ""; }; - EDFDFB472B7139670013A44C /* SocialMedia.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialMedia.swift; sourceTree = ""; }; - EDFDFB492B722A310013A44C /* SocialMediaCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialMediaCollectionViewCell.swift; sourceTree = ""; }; - EDFDFB4B2B722C9C0013A44C /* InfoTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoTableViewCell.swift; sourceTree = ""; }; - EDFDFB512B726F1A0013A44C /* ButtonsStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonsStackView.swift; sourceTree = ""; }; - EDFDFB602B74E2500013A44C /* DonationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DonationView.swift; sourceTree = ""; }; + EDFDFB472B7139670013A44C /* Social Media.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Social Media.swift"; sourceTree = ""; }; EDFE1A492DF1989700FDEA38 /* UIAlertController+UnknownCurrentPosition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIAlertController+UnknownCurrentPosition.swift"; sourceTree = ""; }; EE026F0511D6AC0D00645242 /* classificator.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = classificator.txt; path = ../../data/classificator.txt; sourceTree = SOURCE_ROOT; }; EED10A4411F78D120095FAD4 /* MapViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = MapViewController.mm; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; @@ -1771,7 +1768,6 @@ FA853BEC26BC5B9E0026D455 /* libmwm_diff.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libmwm_diff.a; sourceTree = BUILT_PRODUCTS_DIR; }; FA853BEE26BC5BA40026D455 /* libdescriptions.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libdescriptions.a; sourceTree = BUILT_PRODUCTS_DIR; }; FA853BF226BC5DE50026D455 /* libshaders.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libshaders.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FA85D43C27958BF500B858E9 /* FaqController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaqController.swift; sourceTree = ""; }; FA85D44D279B738F00B858E9 /* CopyableLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CopyableLabel.swift; sourceTree = ""; }; FA85F632145DDDC20090E1A0 /* packed_polygons.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; name = packed_polygons.bin; path = ../../data/packed_polygons.bin; sourceTree = SOURCE_ROOT; }; FA8E808825F412E2002A1434 /* FirstSession.mm */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.cpp.objcpp; path = FirstSession.mm; sourceTree = ""; tabWidth = 2; }; @@ -1926,6 +1922,9 @@ children = ( 2765D1CD2E13F9BC0005CA2B /* BridgeControllers.swift */, 272F1F452E0EEF8B00FA52EF /* SafariView.swift */, + 27697F822E254A9900FBD913 /* EmbeddedSafariView.swift */, + 27697F842E255B6300FBD913 /* EmbeddedSafariViewCoordinator.swift */, + 27697F862E255B7C00FBD913 /* EmbeddedSafariViewContent.swift */, ); path = Bridging; sourceTree = ""; @@ -1946,10 +1945,31 @@ 279367552E1BE16300AA5C3D /* Settings.swift */, 27AF185B2E1DB64B00CD41E2 /* Settings Types */, 270C9C252E16AB6300ABA688 /* Profile.swift */, + EDFDFB472B7139670013A44C /* Social Media.swift */, ); path = Model; sourceTree = ""; }; + 27697F882E255D3F00FBD913 /* Help */ = { + isa = PBXGroup; + children = ( + 27697F8E2E257ECB00FBD913 /* About */, + 27697F802E254A5800FBD913 /* FaqView.swift */, + 27697F7C2E254A5000FBD913 /* CopyrightView.swift */, + ); + path = Help; + sourceTree = ""; + }; + 27697F8E2E257ECB00FBD913 /* About */ = { + isa = PBXGroup; + children = ( + 27697F732E25177300FBD913 /* AboutView.swift */, + 27697F8F2E257ED800FBD913 /* AboutCoMapsView.swift */, + 27697F912E257EE600FBD913 /* ApoutOpenStreetMapView.swift */, + ); + path = About; + sourceTree = ""; + }; 27768FDA2E20199A0086784A /* Routing */ = { isa = PBXGroup; children = ( @@ -3414,39 +3434,6 @@ path = iCloudDirectoryMonitorTests; sourceTree = ""; }; - EDFDFB412B7108090013A44C /* AboutController */ = { - isa = PBXGroup; - children = ( - EDFDFB442B7139380013A44C /* Models */, - EDFDFB552B72821D0013A44C /* Views */, - EDE243D52B6CF3980057369B /* AboutController.swift */, - ); - path = AboutController; - sourceTree = ""; - }; - EDFDFB442B7139380013A44C /* Models */ = { - isa = PBXGroup; - children = ( - EDFDFB452B7139490013A44C /* AboutInfo.swift */, - EDFDFB472B7139670013A44C /* SocialMedia.swift */, - ); - path = Models; - sourceTree = ""; - }; - EDFDFB552B72821D0013A44C /* Views */ = { - isa = PBXGroup; - children = ( - EDE243E42B6D3F400057369B /* OSMView.swift */, - EDFDFB602B74E2500013A44C /* DonationView.swift */, - EDE243E02B6D3EA00057369B /* InfoView.swift */, - EDFDFB492B722A310013A44C /* SocialMediaCollectionViewCell.swift */, - ED1080A62B791CFE0023F27E /* SocialMediaCollectionViewHeader.swift */, - EDFDFB512B726F1A0013A44C /* ButtonsStackView.swift */, - EDFDFB4B2B722C9C0013A44C /* InfoTableViewCell.swift */, - ); - path = Views; - sourceTree = ""; - }; EDFE1A462DF1986900FDEA38 /* UnknownCurrentPositionAlert */ = { isa = PBXGroup; children = ( @@ -3635,9 +3622,9 @@ F6E2FBFC1E097B9F0083EBEC /* Downloader */, F6E2FC291E097B9F0083EBEC /* EditBookmark */, F6E2FC321E097B9F0083EBEC /* Editor */, - FA85D4372795895500B858E9 /* Help */, F6E2FC8F1E097B9F0083EBEC /* PlacePage */, F6E2FCE11E097B9F0083EBEC /* Search */, + 27697F882E255D3F00FBD913 /* Help */, F6E2FD361E097BA00083EBEC /* Settings */, 340E1EE31E2F614400CE49BF /* Storyboard */, ); @@ -4033,15 +4020,6 @@ name = Products; sourceTree = ""; }; - FA85D4372795895500B858E9 /* Help */ = { - isa = PBXGroup; - children = ( - EDFDFB412B7108090013A44C /* AboutController */, - FA85D43C27958BF500B858E9 /* FaqController.swift */, - ); - path = Help; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -4450,6 +4428,7 @@ 337F98B421D3C9F200C8AC27 /* SearchHistoryViewController.swift in Sources */, 3404F49D2028A2430090E401 /* BMCActionsCell.swift in Sources */, F6E2FD8F1E097BA00083EBEC /* MWMNoMapsViewController.mm in Sources */, + 27697F902E257EDA00FBD913 /* AboutCoMapsView.swift in Sources */, 993DF12C23F6BDB100AC231A /* Theme.swift in Sources */, 47CA68D8250044C500671019 /* BookmarksListRouter.swift in Sources */, 34D3B0421E389D05004100F9 /* MWMEditorTextTableViewCell.m in Sources */, @@ -4464,6 +4443,7 @@ 34AB66471FC5AA330078E451 /* RouteManagerTableView.swift in Sources */, 9989273C2449E60200260CE2 /* BottomMenuInteractor.swift in Sources */, 47DF72B922520CE20004AB10 /* MWMRoutingOptions.mm in Sources */, + 27697F812E254A6000FBD913 /* FaqView.swift in Sources */, 999FC12023ABA9AD00B0E6F9 /* SearchStyleSheet.swift in Sources */, ED2D745E2D1433DE00660FBF /* TrackRecordingActivityManager.swift in Sources */, 3D15ACEE2155117000F725D5 /* MWMObjectsCategorySelectorDataSource.mm in Sources */, @@ -4503,7 +4483,7 @@ 9989273A2449E60200260CE2 /* BottomMenuViewController.swift in Sources */, 47E3C72D2111E6A2008B3B27 /* FadeTransitioning.swift in Sources */, 34845DAF1E1649F6003D55B9 /* DownloaderNoResultsEmbedViewController.swift in Sources */, - EDFDFB482B7139670013A44C /* SocialMedia.swift in Sources */, + EDFDFB482B7139670013A44C /* Social Media.swift in Sources */, 993DF0B523F6B2EF00AC231A /* PlacePageTrackLayout.swift in Sources */, 44360A0D2A7D34990016F412 /* TransportRuler.swift in Sources */, CD6E8677226774C700D1EDF7 /* CPConstants.swift in Sources */, @@ -4522,7 +4502,6 @@ 993DF11D23F6BDB100AC231A /* UIToolbarRenderer.swift in Sources */, 99A906E923F6F7030005872B /* WikiDescriptionViewController.swift in Sources */, ED79A5D62BDF8D6100952D1F /* CloudDirectoryMonitor.swift in Sources */, - EDFDFB522B726F1A0013A44C /* ButtonsStackView.swift in Sources */, 993DF11023F6BDB100AC231A /* MWMButtonRenderer.swift in Sources */, 3463BA671DE81DB90082417F /* MWMTrafficButtonViewController.mm in Sources */, ED79A5D52BDF8D6100952D1F /* SynchronizationError.swift in Sources */, @@ -4547,6 +4526,7 @@ ED5BAF4B2D688F5B0088D7B1 /* SearchOnMapHeaderView.swift in Sources */, CDB4D5022231412900104869 /* SettingsTemplateBuilder.swift in Sources */, 27AF18522E1DB62000CD41E2 /* DistanceUnit.swift in Sources */, + 27697F7F2E254A5500FBD913 /* CopyrightView.swift in Sources */, 993DF10A23F6BDB100AC231A /* UISwitchRenderer.swift in Sources */, 99C9642C2428C0F700E41723 /* PlacePageHeaderBuilder.swift in Sources */, 99C9642B2428C0F700E41723 /* PlacePageHeaderViewController.swift in Sources */, @@ -4560,7 +4540,6 @@ 47B9065421C7FA400079C85E /* UIImageView+WebImage.m in Sources */, 47CA68D4250043C000671019 /* BookmarksListPresenter.swift in Sources */, 34C9BD0A1C6DBCDA000DC38D /* MWMNavigationController.m in Sources */, - ED1080A72B791CFE0023F27E /* SocialMediaCollectionViewHeader.swift in Sources */, F6E2FE311E097BA00083EBEC /* MWMStreetEditorViewController.mm in Sources */, F6E2FE281E097BA00083EBEC /* MWMOpeningHoursSection.mm in Sources */, 3406FA161C6E0C3300E9FAD2 /* MWMMapDownloadDialog.mm in Sources */, @@ -4583,7 +4562,6 @@ 8CB13C3B2BF1276A004288F2 /* CarplayPlaceholderView.swift in Sources */, CDB4D4E1222D70DF00104869 /* CarPlayMapViewController.swift in Sources */, 471AB98923AA8A3500F56D49 /* IDownloaderDataSource.swift in Sources */, - EDE243E72B6D55610057369B /* InfoView.swift in Sources */, F692F3831EA0FAF5001E82EB /* MWMAutoupdateController.mm in Sources */, 34AB664D1FC5AA330078E451 /* RouteManagerFooterView.swift in Sources */, 6741A9E01BF340DE002C974C /* MWMDownloaderDialogHeader.mm in Sources */, @@ -4640,7 +4618,6 @@ 47CA68FC250F99E500671019 /* BookmarksListCellStrategy.swift in Sources */, 34AB662F1FC5AA330078E451 /* RouteManagerPresentationController.swift in Sources */, 993F5508237C622700545511 /* DeepLinkRouteStrategyAdapter.mm in Sources */, - FA85D43D27958BF500B858E9 /* FaqController.swift in Sources */, 99A906ED23F6F7030005872B /* PlacePagePreviewViewController.swift in Sources */, 993DF10223F6BDB100AC231A /* Colors.swift in Sources */, ED70D55C2D5396F300738C1E /* SearchResult.mm in Sources */, @@ -4670,12 +4647,14 @@ 462452E92BD052C0004C85E1 /* MWMEditorSegmentedTableViewCell.mm in Sources */, 993DF12D23F6BDB100AC231A /* GlobalStyleSheet.swift in Sources */, F6E2FF361E097BA00083EBEC /* MWMSearchSuggestionCell.mm in Sources */, + 27697F742E25177600FBD913 /* AboutView.swift in Sources */, 3472B5CF200F4A2B00DC6CD5 /* BackgroundFetchTask.swift in Sources */, CDB4D4E4222E8FF600104869 /* CarPlayService.swift in Sources */, 3454D7C21E07F045004AF2AD /* NSString+Categories.m in Sources */, ED2D74662D1435A600660FBF /* LiveActivityManager.swift in Sources */, 34E7761F1F14DB48003040B3 /* PlacePageArea.swift in Sources */, ED79A5D82BDF8D6100952D1F /* LocalDirectoryMonitor.swift in Sources */, + 27697F852E255B6500FBD913 /* EmbeddedSafariViewCoordinator.swift in Sources */, EDC4E34B2C5D1BEF009286A2 /* RecentlyDeletedCategoriesViewController.swift in Sources */, 4728F69322CF89A400E00028 /* GradientView.swift in Sources */, F6381BF61CD12045004CA943 /* LocaleTranslator.mm in Sources */, @@ -4690,6 +4669,7 @@ 2765D1D02E13F9C20005CA2B /* BridgeControllers.swift in Sources */, 99A906E123F6F7030005872B /* PlacePageButtonsViewController.swift in Sources */, 998927382449E60200260CE2 /* BottomMenuPresenter.swift in Sources */, + 27697F832E254AA100FBD913 /* EmbeddedSafariView.swift in Sources */, F6E2FE821E097BA00083EBEC /* MWMPlacePageOpeningHoursDayView.m in Sources */, F6E2FD6B1E097BA00083EBEC /* MWMMapDownloaderSubplaceTableViewCell.m in Sources */, CDCA27842245090900167D87 /* ListenerContainer.swift in Sources */, @@ -4721,7 +4701,6 @@ 3486B5191E27AD3B0069C126 /* MWMFrameworkListener.mm in Sources */, 3404756B1E081A4600C92850 /* MWMSearch+CoreSpotlight.mm in Sources */, CD9AD96C2281B56900EC174A /* CPViewPortState.swift in Sources */, - EDE243DD2B6D2E640057369B /* AboutController.swift in Sources */, 3404755C1E081A4600C92850 /* MWMLocationManager.mm in Sources */, ED70D5892D539A2500738C1E /* SearchOnMapViewController.swift in Sources */, ED70D58A2D539A2500738C1E /* SearchOnMapModels.swift in Sources */, @@ -4737,7 +4716,6 @@ CDCA27812243F59800167D87 /* CarPlayRouter.swift in Sources */, 34F5E0D41E3F254800B1C415 /* UIView+Hierarchy.swift in Sources */, 6741AA0B1BF340DE002C974C /* MWMMapViewControlsManager.mm in Sources */, - EDFDFB4C2B722C9C0013A44C /* InfoTableViewCell.swift in Sources */, 47CA68F8250F8AB700671019 /* BookmarksListSectionHeader.swift in Sources */, 47CF2E6323BA0DD500D11C30 /* CopyLabel.swift in Sources */, 47CA68D12500435E00671019 /* BookmarksListViewController.swift in Sources */, @@ -4814,8 +4792,8 @@ 27768FE02E201BE60086784A /* LeftButtonType.swift in Sources */, 34AB66291FC5AA330078E451 /* RouteManagerViewController.swift in Sources */, 3404754D1E081A4600C92850 /* MWMKeyboard.m in Sources */, - EDE243E52B6D3F400057369B /* OSMView.swift in Sources */, 993DF10C23F6BDB100AC231A /* MWMTableViewCellRenderer.swift in Sources */, + 27697F922E257EED00FBD913 /* ApoutOpenStreetMapView.swift in Sources */, 3457C4261F680F1900028233 /* String+BoundingRect.swift in Sources */, 34EF94291C05A6F30050B714 /* MWMSegue.m in Sources */, 47E3C7312111F4C2008B3B27 /* CoverVerticalPresentationAnimator.swift in Sources */, @@ -4824,8 +4802,8 @@ F6E2FE2B1E097BA00083EBEC /* MWMStreetEditorEditTableViewCell.m in Sources */, 34AB66891FC5AA330078E451 /* NavigationControlView.swift in Sources */, 479EE94A2292FB03009DEBA6 /* ActivityIndicator.swift in Sources */, + 27697F872E255B8500FBD913 /* EmbeddedSafariViewContent.swift in Sources */, ED3EAC202B03C88100220A4A /* BottomTabBarButton.swift in Sources */, - EDFDFB612B74E2500013A44C /* DonationView.swift in Sources */, 47B9065321C7FA400079C85E /* MWMImageCache.m in Sources */, F6FEA82E1C58F108007223CC /* MWMButton.m in Sources */, 34B924431DC8A29C0008D971 /* MWMMailViewController.m in Sources */, @@ -4841,10 +4819,8 @@ 6741AA281BF340DE002C974C /* MWMAlert.mm in Sources */, 993DF11323F6BDB100AC231A /* UITableViewRenderer.swift in Sources */, 34AB66261FC5AA330078E451 /* RouteManagerDimView.swift in Sources */, - EDFDFB4A2B722A310013A44C /* SocialMediaCollectionViewCell.swift in Sources */, 6741AA2B1BF340DE002C974C /* CircleView.m in Sources */, 4788739220EE326500F6826B /* VerticallyAlignedButton.swift in Sources */, - EDFDFB462B7139490013A44C /* AboutInfo.swift in Sources */, 3444DFDE1F18A5AF00E73099 /* SideButtonsArea.swift in Sources */, CDCA278622451F5000167D87 /* RouteInfo.swift in Sources */, 3467CEB6202C6FA900D3C670 /* BMCNotificationsCell.swift in Sources */, diff --git a/iphone/Maps/Model/Social Media.swift b/iphone/Maps/Model/Social Media.swift new file mode 100644 index 000000000..591b1bf12 --- /dev/null +++ b/iphone/Maps/Model/Social Media.swift @@ -0,0 +1,106 @@ +import SwiftUI + +enum SocialMedia: CaseIterable, Identifiable { + case codeberg + case mastodon + case lemmy + case matrix + case telegram + case bluesky + case linkedin + case instagram + case facebook + case email + + + + // MARK: Properties + + /// The e-mail address + static let emailAddress: String = "ios@comaps.app" + + + //// The id + var id: Self { self } + + + /// The description text + var description: String { + switch self { + case .codeberg: + return String(localized: "social_codeberg") + case .mastodon: + return String(localized: "social_mastodon") + case .lemmy: + return String(localized: "social_lemmy") + case .matrix: + return String(localized: "social_matrix") + case .telegram: + return String(localized: "social_telegram") + case .bluesky: + return String(localized: "social_bluesky") + case .linkedin: + return String(localized: "social_linkedin") + case .instagram: + return String(localized: "social_instagram") + case .facebook: + return String(localized: "social_facebook") + case .email: + return String(localized: "social_email") + } + } + + + /// The url + var url: URL { + switch self { + case .codeberg: + return URL(string: "https://codeberg.org/comaps/")! + case .mastodon: + return URL(string: "https://floss.social/@CoMaps")! + case .lemmy: + return URL(string: "https://sopuli.xyz/c/CoMaps")! + case .matrix: + return URL(string: "https://matrix.to/#/#comaps:matrix.org")! + case .telegram: + return URL(string: String(localized: "telegram_url"))! + case .bluesky: + return URL(string: "https://bsky.app/profile/comaps.app")! + case .linkedin: + return URL(string: "https://www.linkedin.com/company/comapsapp/")! + case .instagram: + return URL(string: String(localized: "instagram_url"))! + case .facebook: + return URL(string: "https://www.facebook.com/CoMapsApp/")! + case .email: + return URL(string: "mailto:\(SocialMedia.emailAddress)")! + } + } + + + /// The image text + var image: Image { + switch self { + case .codeberg: + return Image(.SocialMedia.codeberg) + case .mastodon: + return Image(.SocialMedia.mastodon) + case .lemmy: + return Image(.SocialMedia.lemmy) + case .matrix: + return Image(.SocialMedia.matrix) + case .telegram: + return Image(.SocialMedia.telegram) + case .bluesky: + return Image(.SocialMedia.bluesky) + case .linkedin: + return Image(.SocialMedia.linkedIn) + case .instagram: + return Image(.SocialMedia.instagram) + case .facebook: + return Image(.SocialMedia.facebook) + case .email: + return Image(systemName: "envelope.fill") + } + } +} diff --git a/iphone/Maps/UI/BottomMenu/Menu/BottomMenuPresenter.swift b/iphone/Maps/UI/BottomMenu/Menu/BottomMenuPresenter.swift index b262b8548..c85e44845 100644 --- a/iphone/Maps/UI/BottomMenu/Menu/BottomMenuPresenter.swift +++ b/iphone/Maps/UI/BottomMenu/Menu/BottomMenuPresenter.swift @@ -112,7 +112,7 @@ extension BottomMenuPresenter { title: L("download_maps"), badgeCount: MapsAppDelegate.theApp().badgeNumber()) case .donate: - cell.configure(imageName: SettingsBridge.isNY() ? "ic_christmas_tree" : "ic_menu_donate", + cell.configure(imageName: "ic_menu_donate", title: L("donate")) case .settings: cell.configure(imageName: "ic_menu_settings", diff --git a/iphone/Maps/UI/BottomMenu/TabBar/BottomTabBarInteractor.swift b/iphone/Maps/UI/BottomMenu/TabBar/BottomTabBarInteractor.swift index b1d9dc352..c980a55d8 100644 --- a/iphone/Maps/UI/BottomMenu/TabBar/BottomTabBarInteractor.swift +++ b/iphone/Maps/UI/BottomMenu/TabBar/BottomTabBarInteractor.swift @@ -51,16 +51,12 @@ extension BottomTabBarInteractor: BottomTabBarInteractorProtocol { } } default: - MapViewController.shared()?.navigationController?.pushViewController(AboutController(), animated: true) + mapViewController?.openAbout() } } func openFaq() { - guard let navigationController = MapViewController.shared()?.navigationController else { return } - let aboutController = AboutController(onDidAppearCompletionHandler: { - navigationController.pushViewController(FaqController(), animated: true) - }) - navigationController.pushViewController(aboutController, animated: true) + mapViewController?.openAbout() } func openBookmarks() { diff --git a/iphone/Maps/UI/Help/About/AboutCoMapsView.swift b/iphone/Maps/UI/Help/About/AboutCoMapsView.swift new file mode 100644 index 000000000..d47768280 --- /dev/null +++ b/iphone/Maps/UI/Help/About/AboutCoMapsView.swift @@ -0,0 +1,45 @@ +import SwiftUI + +/// View for the about information for CoMaps (split up in its own view because of differences between OS versions) +struct AboutCoMapsView: View { + // MARK: Properties + + /// The actual view + var body: some View { + VStack(alignment: .leading) { + HStack(alignment: .top, spacing: 12) { + Image("comaps") + .resizable() + .aspectRatio(1, contentMode: .fit) + .frame(maxWidth: 50) + .padding(.top, 6) + + VStack(alignment: .leading) { + Text("about_headline") + .font(.headline) + .bold() + + VStack(alignment: .leading) { + HStack(alignment: .top, spacing: 4) { + Text(String("•")) + + Text("about_proposition_1") + } + + HStack(alignment: .top, spacing: 4) { + Text(String("•")) + + Text("about_proposition_2") + } + + HStack(alignment: .top, spacing: 4) { + Text(String("•")) + + Text("about_proposition_3") + } + } + } + } + } + } +} diff --git a/iphone/Maps/UI/Help/About/AboutView.swift b/iphone/Maps/UI/Help/About/AboutView.swift new file mode 100644 index 000000000..9b7bf4788 --- /dev/null +++ b/iphone/Maps/UI/Help/About/AboutView.swift @@ -0,0 +1,225 @@ +import SwiftUI + +/// View for the about information +struct AboutView: View { + // MARK: Properties + + /// The dismiss action of the environment + @Environment(\.dismiss) private var dismiss + + + /// The open url action of the environment + @Environment(\.openURL) private var openUrl + + + /// If the FAQ should be shown in the Safari view + @State var showFaq: Bool = false + + + /// If the privacy policy should be shown in the Safari view + @State private var showPrivacyPolicy: Bool = false + + + /// If the therms of use should be shown in the Safari view + @State private var showTermsOfUse: Bool = false + + + /// The app name + private var appName: String? { + return Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String + } + + + /// The app version + private var appVersion: String? { + return Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String + } + + + /// The app build number + private var appBuild: String? { + return Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String + } + + + /// The information to copy when long pressing the version number + private var copyInformation: String? { + if let appVersion, let appBuild { + let dateFormatter = DateFormatter() + dateFormatter.locale = Locale(identifier: "en_US_POSIX") + dateFormatter.dateFormat = "yyMMdd" + if let date = dateFormatter.date(from: String(FrameworkHelper.dataVersion())) { + dateFormatter.dateFormat = "yyyy-MM-dd" + return String(localized: "version: \(appVersion) (\(appBuild))\nmap data: \(dateFormatter.string(from: date))") + } + } + + return nil + } + + + /// The actual view + var body: some View { + NavigationView { + List { + Section { + if #available(iOS 16, *) { + AboutCoMapsView() + .alignmentGuide(.listRowSeparatorLeading) { _ in + return 0 + } + } else { + AboutCoMapsView() + } + + NavigationLink(isActive: $showFaq) { + FaqView() + } label: { + Label("faq", systemImage: "questionmark.circle") + .foregroundStyle(.alternativeAccent) + } + .tint(.alternativeAccent) + + Button { + MailComposer.sendBugReportWith(title: "Bug Report") + } label: { + Label("report_a_bug", systemImage: "exclamationmark.bubble") + } + .tint(.alternativeAccent) + + Button { + openUrl(URL(string: String(localized: "translated_om_site_url") + "news/")!) + } label: { + Label("news", systemImage: "newspaper") + } + .tint(.alternativeAccent) + + Button { + openUrl(URL(string: String(localized: "translated_om_site_url") + "community/")!) + } label: { + Label("volunteer", systemImage: "person.wave.2") + } + .tint(.alternativeAccent) + + Button { + openUrl(URL(string: "https://apps.apple.com/app/comaps/id6747180809?action=write-review")!) + } label: { + Label("rate_the_app", systemImage: "star") + } + .tint(.alternativeAccent) + } + + Section { + if #available(iOS 16, *) { + ApoutOpenStreetMapView() + .alignmentGuide(.listRowSeparatorLeading) { _ in + return 0 + } + } else { + ApoutOpenStreetMapView() + } + + Button { + openUrl(URL(string: "https://www.openstreetmap.org/fixthemap")!) + } label: { + if #available(iOS 17.0, *) { + Label("report_incorrect_map_bug", systemImage: "exclamationmark.magnifyingglass") + } else { + Label("report_incorrect_map_bug", systemImage: "exclamationmark.bubble") + } + } + .tint(.alternativeAccent) + } + + Section { + ForEach(SocialMedia.allCases) { socialMedia in + Button { + openUrl(socialMedia.url) + } label: { + Label { + Text(socialMedia.description) + } icon: { + socialMedia.image + .resizable() + .aspectRatio(contentMode: .fit) + } + } + } + } header: { + Text("follow_us") + } footer: { + VStack(spacing: 8) { + Button { + showPrivacyPolicy = true + } label: { + Text("privacy_policy") + } + .sheet(isPresented: $showPrivacyPolicy) { + SafariView(url: URL(string: String(localized: "translated_om_site_url") + "privacy/")!, dismissButton: .close) + } + + Button { + showTermsOfUse = true + } label: { + Text("terms_of_use") + } + .sheet(isPresented: $showTermsOfUse) { + SafariView(url: URL(string: String(localized: "translated_om_site_url") + "terms/")!, dismissButton: .close) + } + + NavigationLink { + CopyrightView() + } label: { + Text("copyright") + } + } + .tint(.secondary) + .padding(.top) + .frame(maxWidth: .infinity) + } + } + .accentColor(.accent) + .navigationTitle(appName ?? String()) + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .principal) { + Menu { + Button { + if let copyInformation { + UIPasteboard.general.string = copyInformation + } + } label: { + Label("copy_to_clipboard", systemImage: "document.on.clipboard") + } + } label: { + VStack { + if let appName { + Text(appName) + .font(.title3) + .bold() + .foregroundStyle(.white) + .foregroundStyle(.white.opacity(0.96)) + } + + if let appVersion, let appBuild { + Text("version \(appVersion) (\(appBuild))") + .font(.caption2) + .foregroundStyle(.white.opacity(0.92)) + } + } + } + } + + ToolbarItem(placement: .confirmationAction) { + Button { + dismiss() + } label: { + Text("close") + } + } + } + } + .navigationViewStyle(StackNavigationViewStyle()) + .accentColor(.toolbarAccent) + } +} diff --git a/iphone/Maps/UI/Help/About/ApoutOpenStreetMapView.swift b/iphone/Maps/UI/Help/About/ApoutOpenStreetMapView.swift new file mode 100644 index 000000000..352a3b260 --- /dev/null +++ b/iphone/Maps/UI/Help/About/ApoutOpenStreetMapView.swift @@ -0,0 +1,45 @@ +import SwiftUI + +/// View for the about information for CoMaps (split up in its own view because of differences between OS versions) +struct ApoutOpenStreetMapView: View { + // MARK: Properties + + /// The date fo the maps + private var mapsDate: String? { + let dateFormatter = DateFormatter() + dateFormatter.locale = Locale(identifier: "en_US_POSIX") + dateFormatter.dateFormat = "yyMMdd" + if let date = dateFormatter.date(from: String(FrameworkHelper.dataVersion())) { + dateFormatter.locale = Locale.autoupdatingCurrent + dateFormatter.dateStyle = .long + dateFormatter.timeStyle = .none + return dateFormatter.string(from: date) + } + + return nil + } + + + /// The actual view + var body: some View { + if let mapsDate { + VStack(alignment: .leading) { + HStack(alignment: .top, spacing: 12) { + Image(.openStreetMapLogo) + .resizable() + .aspectRatio(1, contentMode: .fit) + .frame(maxWidth: 50) + .padding(.top, 6) + VStack(alignment: .leading) { + Text("osm_mapdata") + .font(.headline) + .bold() + + Text("osm_mapdata_explanation \(mapsDate)") + .tint(.alternativeAccent) + } + } + } + } + } +} diff --git a/iphone/Maps/UI/Help/AboutController/AboutController.swift b/iphone/Maps/UI/Help/AboutController/AboutController.swift deleted file mode 100644 index e176a9f76..000000000 --- a/iphone/Maps/UI/Help/AboutController/AboutController.swift +++ /dev/null @@ -1,455 +0,0 @@ -import OSLog - -final class AboutController: MWMViewController { - - fileprivate struct AboutInfoTableViewCellModel { - let title: String - let image: UIImage? - let didTapHandler: (() -> Void)? - } - - fileprivate struct SocialMediaCollectionViewCellModel { - let image: UIImage - let didTapHandler: (() -> Void)? - } - - private enum Constants { - static let infoTableViewCellHeight: CGFloat = 40 - static let socialMediaCollectionViewCellMaxWidth: CGFloat = 50 - static let socialMediaCollectionViewSpacing: CGFloat = 25 - static let socialMediaCollectionNumberOfItemsInRowCompact: CGFloat = 5 - static let socialMediaCollectionNumberOfItemsInRowRegular: CGFloat = 10 - } - - private let scrollView = UIScrollView() - private let stackView = UIStackView() - private let logoImageView = UIImageView() - private let headerTitleLabel = UILabel() - private let additionalInfoStackView = UIStackView() - private let donationView = DonationView() - private let osmView = OSMView() - private let infoTableView = UITableView(frame: .zero, style: .plain) - private var infoTableViewHeightAnchor: NSLayoutConstraint? - private let socialMediaHeaderLabel = UILabel() - private let socialMediaCollectionView = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout()) - private lazy var socialMediaCollectionViewHeighConstraint = socialMediaCollectionView.heightAnchor.constraint(equalToConstant: .zero) - private let termsOfUseAndPrivacyPolicyView = ButtonsStackView() - private var infoTableViewData = [AboutInfoTableViewCellModel]() - private var socialMediaCollectionViewData = [SocialMediaCollectionViewCellModel]() - private var onDidAppearCompletionHandler: (() -> Void)? - - init(onDidAppearCompletionHandler: (() -> Void)? = nil) { - self.onDidAppearCompletionHandler = onDidAppearCompletionHandler - super.init(nibName: nil, bundle: nil) - } - - @available(*, unavailable) - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - // MARK: - Lifecycle - override func viewDidLoad() { - super.viewDidLoad() - setupViews() - arrangeViews() - layoutViews() - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - updateCollection() - } - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - if let completionHandler = onDidAppearCompletionHandler { - completionHandler() - onDidAppearCompletionHandler = nil - } - } - - override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { - super.traitCollectionDidChange(previousTraitCollection) - updateCollection() - } -} - -// MARK: - Private -private extension AboutController { - func setupViews() { - func setupTitle() { - let titleView = UILabel() - titleView.text = Self.formattedAppVersion() - titleView.textColor = .white - titleView.font = UIFont.systemFont(ofSize: 17, weight: .semibold) - titleView.isUserInteractionEnabled = true - titleView.numberOfLines = 1 - titleView.allowsDefaultTighteningForTruncation = true - titleView.adjustsFontSizeToFitWidth = true - titleView.minimumScaleFactor = 0.5 - let titleDidTapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(appVersionButtonTapped)) - titleView.addGestureRecognizer(titleDidTapGestureRecognizer) - navigationItem.titleView = titleView - } - - func setupScrollAndStack() { - scrollView.delaysContentTouches = false - scrollView.contentInset = UIEdgeInsets(top: 20, left: 0, bottom: 20, right: 0) - - stackView.axis = .vertical - stackView.distribution = .fill - stackView.alignment = .center - stackView.spacing = 15 - } - - func setupLogo() { - logoImageView.contentMode = .scaleAspectFit - logoImageView.image = UIImage(named: "Logo") - logoImageView.layer.cornerRadius = 12 - logoImageView.layer.masksToBounds = true - } - - func setupHeaderTitle() { - headerTitleLabel.setFontStyle(.semibold18, color: .blackPrimary) - headerTitleLabel.text = L("about_headline") - headerTitleLabel.textAlignment = .center - headerTitleLabel.numberOfLines = 1 - headerTitleLabel.allowsDefaultTighteningForTruncation = true - headerTitleLabel.adjustsFontSizeToFitWidth = true - headerTitleLabel.minimumScaleFactor = 0.5 - } - - func setupAdditionalInfo() { - additionalInfoStackView.axis = .vertical - additionalInfoStackView.spacing = 15 - - [AboutInfo.noTracking, .noWifi, .community].forEach({ additionalInfoStackView.addArrangedSubview(InfoView(image: nil, title: $0.title)) }) - } - - func setupDonation() { - donationView.donateButtonDidTapHandler = { [weak self] in - guard let self else { return } - self.openUrl(self.isDonateEnabled() ? SettingsBridge.donateUrl() : L("translated_om_site_url") + "support-us/") - } - } - - func setupOSM() { - osmView.setMapDate(Self.formattedMapsDataVersion()) - osmView.didTapHandler = { [weak self] in - self?.openUrl("https://www.openstreetmap.org/") - } - } - - func setupInfoTable() { - infoTableView.setStyle(.clearBackground) - infoTableView.delegate = self - infoTableView.dataSource = self - infoTableView.separatorStyle = .none - infoTableView.isScrollEnabled = false - infoTableView.showsVerticalScrollIndicator = false - infoTableView.contentInset = .zero - infoTableView.register(cell: InfoTableViewCell.self) - } - - func setupSocialMediaCollection() { - socialMediaHeaderLabel.setFontStyle(.regular16, color: .blackPrimary) - socialMediaHeaderLabel.text = L("follow_us") - socialMediaHeaderLabel.numberOfLines = 1 - socialMediaHeaderLabel.allowsDefaultTighteningForTruncation = true - socialMediaHeaderLabel.adjustsFontSizeToFitWidth = true - socialMediaHeaderLabel.minimumScaleFactor = 0.5 - - socialMediaCollectionView.backgroundColor = .clear - socialMediaCollectionView.isScrollEnabled = false - socialMediaCollectionView.dataSource = self - socialMediaCollectionView.delegate = self - socialMediaCollectionView.register(cell: SocialMediaCollectionViewCell.self) - } - - func setupTermsAndPrivacy() { - termsOfUseAndPrivacyPolicyView.addButton(title: L("privacy_policy"), didTapHandler: { [weak self] in - self?.openUrl(L("translated_om_site_url") + "privacy/") - }) - termsOfUseAndPrivacyPolicyView.addButton(title: L("terms_of_use"), didTapHandler: { [weak self] in - self?.openUrl(L("translated_om_site_url") + "terms/") - }) - termsOfUseAndPrivacyPolicyView.addButton(title: L("copyright"), didTapHandler: { [weak self] in - self?.showCopyright() - }) - } - - view.setStyle(.pressBackground) - - setupTitle() - setupScrollAndStack() - setupLogo() - setupHeaderTitle() - setupAdditionalInfo() - setupDonation() - setupOSM() - setupInfoTable() - setupSocialMediaCollection() - setupTermsAndPrivacy() - - infoTableViewData = buildInfoTableViewData() - socialMediaCollectionViewData = buildSocialMediaCollectionViewData() - } - - func arrangeViews() { - view.addSubview(scrollView) - scrollView.addSubview(stackView) - stackView.addArrangedSubview(logoImageView) - stackView.addArrangedSubview(headerTitleLabel) - stackView.addArrangedSubviewWithSeparator(additionalInfoStackView) - if isDonateEnabled() { - stackView.addArrangedSubviewWithSeparator(donationView) - } - stackView.addArrangedSubviewWithSeparator(osmView) - stackView.addArrangedSubviewWithSeparator(infoTableView) - stackView.addArrangedSubviewWithSeparator(socialMediaHeaderLabel) - stackView.addArrangedSubview(socialMediaCollectionView) - stackView.addArrangedSubviewWithSeparator(termsOfUseAndPrivacyPolicyView) - } - - func layoutViews() { - scrollView.translatesAutoresizingMaskIntoConstraints = false - stackView.translatesAutoresizingMaskIntoConstraints = false - logoImageView.translatesAutoresizingMaskIntoConstraints = false - additionalInfoStackView.translatesAutoresizingMaskIntoConstraints = false - donationView.translatesAutoresizingMaskIntoConstraints = false - infoTableView.translatesAutoresizingMaskIntoConstraints = false - socialMediaCollectionView.translatesAutoresizingMaskIntoConstraints = false - termsOfUseAndPrivacyPolicyView.translatesAutoresizingMaskIntoConstraints = false - - NSLayoutConstraint.activate([ - scrollView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor), - scrollView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor), - scrollView.topAnchor.constraint(equalTo: view.topAnchor), - scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor), - scrollView.contentLayoutGuide.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor), - - stackView.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor, constant: 20), - stackView.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor, constant: -20), - stackView.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor), - stackView.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor), - - logoImageView.heightAnchor.constraint(equalToConstant: 64), - logoImageView.widthAnchor.constraint(equalTo: logoImageView.heightAnchor), - - additionalInfoStackView.widthAnchor.constraint(equalTo: stackView.widthAnchor), - - osmView.widthAnchor.constraint(equalTo: stackView.widthAnchor), - - infoTableView.widthAnchor.constraint(equalTo: stackView.widthAnchor), - infoTableView.heightAnchor.constraint(equalToConstant: Constants.infoTableViewCellHeight * CGFloat(infoTableViewData.count)), - - socialMediaHeaderLabel.leadingAnchor.constraint(equalTo: socialMediaCollectionView.leadingAnchor), - - socialMediaCollectionView.widthAnchor.constraint(equalTo: stackView.widthAnchor), - socialMediaCollectionView.contentLayoutGuide.widthAnchor.constraint(equalTo: stackView.widthAnchor), - socialMediaCollectionViewHeighConstraint, - - termsOfUseAndPrivacyPolicyView.widthAnchor.constraint(equalTo: stackView.widthAnchor), - ]) - donationView.widthAnchor.constraint(equalTo: stackView.widthAnchor).isActive = isDonateEnabled() - - view.layoutIfNeeded() - updateCollection() - } - - func updateCollection() { - socialMediaCollectionView.collectionViewLayout.invalidateLayout() - // On devices with the iOS 12 the actual collectionView layout update not always occurs during the current layout update cycle. - // So constraints update should be performed on the next layout update cycle. - DispatchQueue.main.async { - self.socialMediaCollectionViewHeighConstraint.constant = self.socialMediaCollectionView.collectionViewLayout.collectionViewContentSize.height - } - } - - func isDonateEnabled() -> Bool { - return SettingsBridge.donateUrl() != nil - } - - func buildInfoTableViewData() -> [AboutInfoTableViewCellModel] { - let infoContent: [AboutInfo] = [.faq, .reportMapDataProblem, .reportABug, .news, .volunteer, .rateTheApp] - let data = infoContent.map { [weak self] aboutInfo in - return AboutInfoTableViewCellModel(title: aboutInfo.title, image: aboutInfo.image, didTapHandler: { - switch aboutInfo { - case .faq: - self?.navigationController?.pushViewController(FaqController(), animated: true) - case .reportABug: - MailComposer.sendBugReportWith(title:"CoMaps Bug Report") - case .reportMapDataProblem, .volunteer, .news: - self?.openUrl(aboutInfo.link) - case .rateTheApp: - UIApplication.shared.rateApp() - default: - break - } - }) - } - return data - } - - func buildSocialMediaCollectionViewData() -> [SocialMediaCollectionViewCellModel] { - let socialMediaContent: [SocialMedia] = [.telegram, .codeberg, .instagram, .bluesky, .linkedin, .email, .lemmy, .matrix, .facebook, .fosstodon] - let data = socialMediaContent.map { [weak self] socialMedia in - return SocialMediaCollectionViewCellModel(image: socialMedia.image, didTapHandler: { - switch socialMedia { - case .telegram: fallthrough - case .codeberg: fallthrough - case .lemmy: fallthrough - case .matrix: fallthrough - case .fosstodon: fallthrough - case .facebook: fallthrough - case .bluesky: fallthrough - case .instagram: fallthrough - case .linkedin: - self?.openUrl(socialMedia.link, externally: true) - case .email: - MailComposer.sendEmail(toRecipients: [socialMedia.link]) - } - }) - } - return data - } - - // Returns a human-readable maps data version. - static func formattedMapsDataVersion() -> String { - // First, convert version code like 220131 to a date. - let df = DateFormatter() - df.locale = Locale(identifier:"en_US_POSIX") - df.dateFormat = "yyMMdd" - let mapsVersionInt = FrameworkHelper.dataVersion() - let mapsDate = df.date(from: String(mapsVersionInt))! - // Second, print the date in the local user's format. - df.locale = Locale.current - df.dateStyle = .long - df.timeStyle = .none - return df.string(from:mapsDate) - } - - static func formattedAppVersion() -> String { - let appInfo = AppInfo.shared(); - // Use strong left-to-right unicode direction characters for the app version. - return String(format: L("version"), "\u{2066}\(appInfo.bundleVersion)-\(appInfo.buildNumber)\u{2069}") - } - - func showCopyright() { - let path = Bundle.main.path(forResource: "copyright", ofType: "html")! - let html = try! String(contentsOfFile: path, encoding: String.Encoding.utf8) - let webViewController = WebViewController.init(html: html, baseUrl: nil, title: L("copyright"))! - webViewController.openInSafari = true - self.navigationController?.pushViewController(webViewController, animated: true) - } - - func copyToClipboard(_ content: String) { - UIPasteboard.general.string = content - let message = String(format: L("copied_to_clipboard"), content) - UIImpactFeedbackGenerator(style: .medium).impactOccurred() - Toast.show(withText: message, alignment: .bottom, pinToSafeArea: false) - } -} - -// MARK: - Actions -private extension AboutController { - @objc func appVersionButtonTapped() { - copyToClipboard(Self.formattedAppVersion()) - } - - @objc func osmMapsDataButtonTapped() { - copyToClipboard(Self.formattedMapsDataVersion()) - } -} - -// MARK: - UITableViewDelegate -extension AboutController: UITableViewDelegate { - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - tableView.deselectRow(at: indexPath, animated: true) - infoTableViewData[indexPath.row].didTapHandler?() - } - - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - return Constants.infoTableViewCellHeight - } -} - -// MARK: - UITableViewDataSource -extension AboutController: UITableViewDataSource { - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return infoTableViewData.count - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(cell: InfoTableViewCell.self, indexPath: indexPath) - let aboutInfo = infoTableViewData[indexPath.row] - cell.set(image: aboutInfo.image, title: aboutInfo.title) - return cell - } -} - -// MARK: - UICollectionViewDataSource -extension AboutController: UICollectionViewDataSource { - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return socialMediaCollectionViewData.count - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell = collectionView.dequeueReusableCell(cell: SocialMediaCollectionViewCell.self, indexPath: indexPath) - cell.setImage(socialMediaCollectionViewData[indexPath.row].image) - return cell - } -} - -// MARK: - UICollectionViewDelegate -extension AboutController: UICollectionViewDelegate { - func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { - let model = socialMediaCollectionViewData[indexPath.row] - model.didTapHandler?() - } -} - -// MARK: - UICollectionViewDelegateFlowLayout -extension AboutController: UICollectionViewDelegateFlowLayout { - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - let spacing = Constants.socialMediaCollectionViewSpacing - let numberOfItemsInRowCompact = Constants.socialMediaCollectionNumberOfItemsInRowCompact - let numberOfItemsInRowRegular = Constants.socialMediaCollectionNumberOfItemsInRowRegular - var totalSpacing = (Constants.socialMediaCollectionNumberOfItemsInRowCompact - 1) * spacing - var width = (collectionView.bounds.width - totalSpacing) / numberOfItemsInRowCompact - if traitCollection.verticalSizeClass == .compact || traitCollection.horizontalSizeClass == .regular { - totalSpacing = (numberOfItemsInRowRegular - 1) * spacing - width = (collectionView.bounds.width - totalSpacing) / numberOfItemsInRowRegular - } - let maxWidth = Constants.socialMediaCollectionViewCellMaxWidth - width = min(width, maxWidth) - return CGSize(width: width, height: width) - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { - return Constants.socialMediaCollectionViewSpacing - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { - return Constants.socialMediaCollectionViewSpacing - } -} -// MARK: - UIStackView + AddArrangedSubviewWithSeparator -private extension UIStackView { - func addArrangedSubviewWithSeparator(_ view: UIView) { - if !arrangedSubviews.isEmpty { - let separator = UIView() - separator.setStyleAndApply(.divider) - separator.isUserInteractionEnabled = false - separator.translatesAutoresizingMaskIntoConstraints = false - addArrangedSubview(separator) - NSLayoutConstraint.activate([ - separator.heightAnchor.constraint(equalToConstant: 1.0), - separator.leadingAnchor.constraint(equalTo: leadingAnchor), - separator.trailingAnchor.constraint(equalTo: trailingAnchor), - ]) - } - addArrangedSubview(view) - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Models/AboutInfo.swift b/iphone/Maps/UI/Help/AboutController/Models/AboutInfo.swift deleted file mode 100644 index 74a72ddc0..000000000 --- a/iphone/Maps/UI/Help/AboutController/Models/AboutInfo.swift +++ /dev/null @@ -1,71 +0,0 @@ -enum AboutInfo { - case faq - case reportABug - case reportMapDataProblem - case volunteer - case news - case rateTheApp - case noTracking - case noWifi - case community - - var title: String { - switch self { - - case .faq: - return L("faq") - case .reportABug: - return L("report_a_bug") - case .reportMapDataProblem: - return L("report_incorrect_map_bug") - case .volunteer: - return L("volunteer") - case .news: - return L("news") - case .rateTheApp: - return L("rate_the_app") - case .noTracking: - return L("about_proposition_1") - case .noWifi: - return L("about_proposition_2") - case .community: - return L("about_proposition_3") - } - } - - var image: UIImage? { - switch self { - case .faq: - return UIImage(named: "ic_about_faq")! - case .reportABug: - return UIImage(named: "ic_about_report_bug")! - case .reportMapDataProblem: - return UIImage(named: "ic_about_report_osm")! - case .volunteer: - return UIImage(named: "ic_about_volunteer")! - case .news: - return UIImage(named: "ic_about_news")! - case .rateTheApp: - return UIImage(named: "ic_about_rate_app")! - case .noTracking, .noWifi, .community: - // Dots are used for these cases - return nil - } - } - - var link: String? { - switch self { - case .faq, .rateTheApp, .noTracking, .noWifi, .community: - // These cases don't provide redirection to the web - return nil - case .reportABug: - return "ios@comaps.app" - case .reportMapDataProblem: - return "https://www.openstreetmap.org/fixthemap" - case .volunteer: - return L("translated_om_site_url") + "community/" - case .news: - return L("translated_om_site_url") + "news/" - } - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Models/SocialMedia.swift b/iphone/Maps/UI/Help/AboutController/Models/SocialMedia.swift deleted file mode 100644 index e3b0ab527..000000000 --- a/iphone/Maps/UI/Help/AboutController/Models/SocialMedia.swift +++ /dev/null @@ -1,62 +0,0 @@ -enum SocialMedia { - case telegram - case bluesky - case instagram - case facebook - case lemmy - case matrix - case fosstodon - case linkedin - case email - case codeberg - - var link: String { - switch self { - case .telegram: - return L("telegram_url") - case .codeberg: - return "https://codeberg.org/comaps/comaps/" - case .linkedin: - return "https://www.linkedin.com/company/comapsapp/" - case .email: - return "ios@comaps.app" - case .matrix: - return "https://matrix.to/#/#comaps:matrix.org" - case .fosstodon: - return "https://floss.social/@CoMaps" - case .facebook: - return "https://www.facebook.com/CoMapsApp/" - case .bluesky: - return "https://bsky.app/profile/comaps.app" - case .instagram: - return L("instagram_url") - case .lemmy: - return "https://sopuli.xyz/c/CoMaps/" - } - } - - var image: UIImage { - switch self { - case .telegram: - return UIImage(named: "ic_social_media_telegram")! - case .codeberg: - return UIImage(named: "ic_social_media_codeberg")! - case .linkedin: - return UIImage(named: "ic_social_media_linkedin")! - case .email: - return UIImage(named: "ic_social_media_mail")! - case .matrix: - return UIImage(named: "ic_social_media_matrix")! - case .fosstodon: - return UIImage(named: "ic_social_media_fosstodon")! - case .facebook: - return UIImage(named: "ic_social_media_facebook")! - case .bluesky: - return UIImage(named: "ic_social_media_bluesky")! - case .instagram: - return UIImage(named: "ic_social_media_instagram")! - case .lemmy: - return UIImage(named: "ic_social_media_lemmy")! - } - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Views/ButtonsStackView.swift b/iphone/Maps/UI/Help/AboutController/Views/ButtonsStackView.swift deleted file mode 100644 index 4346d748f..000000000 --- a/iphone/Maps/UI/Help/AboutController/Views/ButtonsStackView.swift +++ /dev/null @@ -1,56 +0,0 @@ -final class ButtonsStackView: UIView { - - private let stackView = UIStackView() - private var didTapHandlers = [UIButton: (() -> Void)?]() - - override init(frame: CGRect) { - super.init(frame: frame) - setupViews() - arrangeViews() - layoutViews() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - setupViews() - arrangeViews() - layoutViews() - } - - private func setupViews() { - stackView.distribution = .fillEqually - stackView.axis = .vertical - stackView.spacing = 20 - } - - private func arrangeViews() { - addSubview(stackView) - } - - private func layoutViews() { - stackView.translatesAutoresizingMaskIntoConstraints = false - let offset = CGFloat(20) - NSLayoutConstraint.activate([ - stackView.leadingAnchor.constraint(equalTo: leadingAnchor, constant: offset), - stackView.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -offset), - stackView.topAnchor.constraint(equalTo: topAnchor), - stackView.bottomAnchor.constraint(equalTo: bottomAnchor) - ]) - } - - @objc private func buttonTapped(_ sender: UIButton) { - guard let didTapHandler = didTapHandlers[sender] else { return } - didTapHandler?() - } - - // MARK: - Public - func addButton(title: String, font: UIFont = .regular14(), didTapHandler: @escaping () -> Void) { - let button = UIButton() - button.setStyleAndApply(.flatPrimaryTransButton) - button.setTitle(title, for: .normal) - button.titleLabel?.font = font - button.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside) - stackView.addArrangedSubview(button) - didTapHandlers[button] = didTapHandler - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Views/DonationView.swift b/iphone/Maps/UI/Help/AboutController/Views/DonationView.swift deleted file mode 100644 index 4fc72d3d9..000000000 --- a/iphone/Maps/UI/Help/AboutController/Views/DonationView.swift +++ /dev/null @@ -1,67 +0,0 @@ -final class DonationView: UIView { - - private let donateTextLabel = UILabel() - private let donateButton = UIButton() - - var donateButtonDidTapHandler: (() -> Void)? - - init() { - super.init(frame: .zero) - setupViews() - arrangeViews() - layoutViews() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - setupViews() - arrangeViews() - layoutViews() - } - - private func setupViews() { - donateTextLabel.setFontStyle(.regular14, color: .blackPrimary) - donateTextLabel.text = L("donate_description") - donateTextLabel.textAlignment = .center - donateTextLabel.lineBreakMode = .byWordWrapping - donateTextLabel.numberOfLines = 0 - - donateButton.setStyle(.flatNormalButton) - donateButton.setTitle(L("donate").localizedUppercase, for: .normal) - donateButton.addTarget(self, action: #selector(donateButtonDidTap), for: .touchUpInside) - } - - private func arrangeViews() { - addSubview(donateTextLabel) - addSubview(donateButton) - } - - private func layoutViews() { - donateTextLabel.translatesAutoresizingMaskIntoConstraints = false - donateButton.translatesAutoresizingMaskIntoConstraints = false - - NSLayoutConstraint.activate([ - donateTextLabel.leadingAnchor.constraint(equalTo: leadingAnchor), - donateTextLabel.trailingAnchor.constraint(equalTo: trailingAnchor), - donateTextLabel.topAnchor.constraint(equalTo: topAnchor), - - donateButton.topAnchor.constraint(equalTo: donateTextLabel.bottomAnchor, constant: 10), - donateButton.widthAnchor.constraint(equalTo: widthAnchor, constant: -40).withPriority(.defaultHigh), - donateButton.widthAnchor.constraint(lessThanOrEqualToConstant: 400).withPriority(.defaultHigh), - donateButton.centerXAnchor.constraint(equalTo: centerXAnchor), - donateButton.heightAnchor.constraint(equalToConstant: 40), - donateButton.bottomAnchor.constraint(equalTo: bottomAnchor), - ]) - } - - @objc private func donateButtonDidTap() { - donateButtonDidTapHandler?() - } -} - -extension NSLayoutConstraint { - func withPriority(_ priority: UILayoutPriority) -> NSLayoutConstraint { - self.priority = priority - return self - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Views/InfoTableViewCell.swift b/iphone/Maps/UI/Help/AboutController/Views/InfoTableViewCell.swift deleted file mode 100644 index 91751d435..000000000 --- a/iphone/Maps/UI/Help/AboutController/Views/InfoTableViewCell.swift +++ /dev/null @@ -1,33 +0,0 @@ -final class InfoTableViewCell: UITableViewCell { - - private let infoView = InfoView() - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: .default, reuseIdentifier: reuseIdentifier) - setupView() - } - - @available(*, unavailable) - required init?(coder: NSCoder) { - super.init(coder: coder) - setupView() - } - - private func setupView() { - backgroundView = UIView() // Set background color to clear - setStyle(.clearBackground) - contentView.addSubview(infoView) - infoView.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - infoView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor), - infoView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor), - infoView.topAnchor.constraint(equalTo: contentView.topAnchor), - infoView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor), - ]) - } - - // MARK: - Public - func set(image: UIImage?, title: String) { - infoView.set(image: image, title: title) - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Views/InfoView.swift b/iphone/Maps/UI/Help/AboutController/Views/InfoView.swift deleted file mode 100644 index 8de9fcb20..000000000 --- a/iphone/Maps/UI/Help/AboutController/Views/InfoView.swift +++ /dev/null @@ -1,81 +0,0 @@ -final class InfoView: UIView { - - private let stackView = UIStackView() - private let imageView = UIImageView() - private let titleLabel = UILabel() - private lazy var imageViewWidthConstrain = imageView.widthAnchor.constraint(equalToConstant: 0) - - init() { - super.init(frame: .zero) - self.setupView() - self.arrangeViews() - self.layoutViews() - } - - convenience init(image: UIImage?, title: String) { - self.init() - self.set(image: image, title: title) - } - - override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { - super.traitCollectionDidChange(previousTraitCollection) - if #available(iOS 13.0, *), traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) { - imageView.applyTheme() - } - } - - @available(*, unavailable) - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - private func setupView() { - stackView.axis = .horizontal - stackView.distribution = .fill - stackView.alignment = .center - stackView.spacing = 16 - - titleLabel.setFontStyle(.regular16, color: .blackPrimary) - titleLabel.lineBreakMode = .byWordWrapping - titleLabel.numberOfLines = .zero - - imageView.setStyle(.black) - imageView.contentMode = .scaleAspectFit - } - - private func arrangeViews() { - addSubview(stackView) - stackView.addArrangedSubview(imageView) - stackView.addArrangedSubview(titleLabel) - } - - private func layoutViews() { - stackView.translatesAutoresizingMaskIntoConstraints = false - imageView.translatesAutoresizingMaskIntoConstraints = false - titleLabel.translatesAutoresizingMaskIntoConstraints = false - imageView.setContentHuggingPriority(.defaultHigh, for: .vertical) - imageView.setContentHuggingPriority(.defaultHigh, for: .horizontal) - titleLabel.setContentHuggingPriority(.defaultLow, for: .horizontal) - NSLayoutConstraint.activate([ - stackView.leadingAnchor.constraint(equalTo: leadingAnchor), - stackView.trailingAnchor.constraint(equalTo: trailingAnchor), - stackView.topAnchor.constraint(equalTo: topAnchor), - stackView.bottomAnchor.constraint(equalTo: bottomAnchor), - imageView.heightAnchor.constraint(equalToConstant: 24), - imageViewWidthConstrain - ]) - updateImageWidth() - } - - private func updateImageWidth() { - imageViewWidthConstrain.constant = imageView.image == nil ? 0 : 24 - imageView.isHidden = imageView.image == nil - } - - // MARK: - Public - func set(image: UIImage?, title: String) { - imageView.image = image - titleLabel.text = title - updateImageWidth() - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Views/OSMView.swift b/iphone/Maps/UI/Help/AboutController/Views/OSMView.swift deleted file mode 100644 index 93f476a27..000000000 --- a/iphone/Maps/UI/Help/AboutController/Views/OSMView.swift +++ /dev/null @@ -1,87 +0,0 @@ -final class OSMView: UIView { - - private let OSMImageView = UIImageView() - private let OSMTextLabel = UILabel() - private var mapDate: String? - - var didTapHandler: (() -> Void)? - - init() { - super.init(frame: .zero) - setupViews() - arrangeViews() - layoutViews() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - setupViews() - arrangeViews() - layoutViews() - } - - override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { - super.traitCollectionDidChange(previousTraitCollection) - guard let mapDate, traitCollection.userInterfaceStyle != previousTraitCollection?.userInterfaceStyle else { return } - OSMTextLabel.attributedText = attributedString(for: mapDate) - } - - // MARK: - Public - func setMapDate(_ mapDate: String) { - self.mapDate = mapDate - OSMTextLabel.attributedText = attributedString(for: mapDate) - } - - // MARK: - Private - private func setupViews() { - OSMImageView.image = UIImage(named: "osm_logo") - - OSMTextLabel.setFontStyle(.regular14, color: .blackPrimary) - OSMTextLabel.lineBreakMode = .byWordWrapping - OSMTextLabel.numberOfLines = 0 - OSMTextLabel.isUserInteractionEnabled = true - - let osmDidTapGesture = UITapGestureRecognizer(target: self, action: #selector(osmDidTap)) - OSMTextLabel.addGestureRecognizer(osmDidTapGesture) - } - - private func arrangeViews() { - addSubview(OSMImageView) - addSubview(OSMTextLabel) - } - - private func layoutViews() { - OSMImageView.translatesAutoresizingMaskIntoConstraints = false - OSMTextLabel.translatesAutoresizingMaskIntoConstraints = false - - NSLayoutConstraint.activate([ - OSMImageView.leadingAnchor.constraint(equalTo: leadingAnchor), - OSMImageView.heightAnchor.constraint(equalToConstant: 40), - OSMImageView.widthAnchor.constraint(equalTo: OSMImageView.heightAnchor), - OSMImageView.topAnchor.constraint(greaterThanOrEqualTo: topAnchor), - OSMImageView.bottomAnchor.constraint(lessThanOrEqualTo: bottomAnchor), - - OSMTextLabel.leadingAnchor.constraint(equalTo: OSMImageView.trailingAnchor, constant: 8), - OSMTextLabel.trailingAnchor.constraint(equalTo: trailingAnchor), - OSMTextLabel.topAnchor.constraint(greaterThanOrEqualTo: topAnchor), - OSMTextLabel.bottomAnchor.constraint(lessThanOrEqualTo: bottomAnchor), - OSMTextLabel.centerYAnchor.constraint(equalTo: OSMImageView.centerYAnchor) - ]) - } - - @objc private func osmDidTap() { - didTapHandler?() - } - - private func attributedString(for date: String) -> NSAttributedString { - let osmLink = "OpenStreetMap.org" - let attributedString = NSMutableAttributedString(string: String(format: L("osm_explanation"), date.trimmingCharacters(in: .punctuationCharacters)), - attributes: [.font: UIFont.regular14(), - .foregroundColor: StyleManager.shared.theme!.colors.blackPrimaryText] - ) - let linkRange = attributedString.mutableString.range(of: osmLink) - attributedString.addAttribute(.link, value: "https://www.openstreetmap.org/", range: linkRange) - - return attributedString - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewCell.swift b/iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewCell.swift deleted file mode 100644 index f5238489f..000000000 --- a/iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewCell.swift +++ /dev/null @@ -1,45 +0,0 @@ -final class SocialMediaCollectionViewCell: UICollectionViewCell { - - private let imageView = UIImageView() - - override init(frame: CGRect) { - super.init(frame: frame) - setupView() - } - - required init?(coder: NSCoder) { - super.init(coder: coder) - setupView() - } - - override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { - super.traitCollectionDidChange(previousTraitCollection) - guard traitCollection.userInterfaceStyle != previousTraitCollection?.userInterfaceStyle else { return } - updateImageColor() - } - - private func setupView() { - setStyle(.clearBackground) - - imageView.contentMode = .scaleAspectFit - imageView.translatesAutoresizingMaskIntoConstraints = false - contentView.addSubview(imageView) - - NSLayoutConstraint.activate([ - imageView.topAnchor.constraint(equalTo: contentView.topAnchor), - imageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor), - imageView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor), - imageView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor) - ]) - } - - private func updateImageColor() { - imageView.tintColor = StyleManager.shared.theme?.colors.blackPrimaryText - } - - // MARK: - Public - func setImage(_ image: UIImage) { - imageView.image = image - updateImageColor() - } -} diff --git a/iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewHeader.swift b/iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewHeader.swift deleted file mode 100644 index 1f7037bff..000000000 --- a/iphone/Maps/UI/Help/AboutController/Views/SocialMediaCollectionViewHeader.swift +++ /dev/null @@ -1,30 +0,0 @@ -final class SocialMediaCollectionViewHeader: UICollectionReusableView { - - static let reuseIdentifier = String(describing: SocialMediaCollectionViewHeader.self) - - private let titleLabel = UILabel() - - override init(frame: CGRect) { - super.init(frame: frame) - setupView() - } - - @available(*, unavailable) - required init?(coder aDecoder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - private func setupView() { - addSubview(titleLabel) - titleLabel.setFontStyleAndApply(.regular16, color: .blackPrimary) - titleLabel.numberOfLines = 1 - titleLabel.allowsDefaultTighteningForTruncation = true - titleLabel.adjustsFontSizeToFitWidth = true - titleLabel.minimumScaleFactor = 0.5 - } - - // MARK: - Public - func setTitle(_ title: String) { - titleLabel.text = title - } -} diff --git a/iphone/Maps/UI/Help/CopyrightView.swift b/iphone/Maps/UI/Help/CopyrightView.swift new file mode 100644 index 000000000..66a02bf84 --- /dev/null +++ b/iphone/Maps/UI/Help/CopyrightView.swift @@ -0,0 +1,14 @@ +import SwiftUI + +/// View for the copyright info +struct CopyrightView: View { + // MARK: Properties + + /// The actual view + var body: some View { + EmbeddedSafariView(url: URL(fileURLWithPath: Bundle.main.path(forResource: "copyright", ofType: "html")!), hasDynamicHeight: false) + .accentColor(.accent) + .navigationViewStyle(StackNavigationViewStyle()) + .navigationTitle("copyright") + } +} diff --git a/iphone/Maps/UI/Help/FaqController.swift b/iphone/Maps/UI/Help/FaqController.swift deleted file mode 100644 index 5b3a80027..000000000 --- a/iphone/Maps/UI/Help/FaqController.swift +++ /dev/null @@ -1,24 +0,0 @@ -final class FaqController: MWMViewController { - override func loadView() { - super.loadView() - - // TODO: FAQ? - self.title = L("help") - - let path = Bundle.main.path(forResource: "faq", ofType: "html")! - let html = try! String(contentsOfFile: path, encoding: String.Encoding.utf8) - let webViewController = WebViewController.init(html: html, baseUrl: nil, title: nil)! - webViewController.openInSafari = true - addChild(webViewController) - let aboutView = webViewController.view! - view.addSubview(aboutView) - - aboutView.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - aboutView.leadingAnchor.constraint(equalTo: view.leadingAnchor), - aboutView.trailingAnchor.constraint(equalTo: view.trailingAnchor), - aboutView.topAnchor.constraint(equalTo: view.topAnchor), - aboutView.bottomAnchor.constraint(equalTo: view.bottomAnchor) - ]) - } -} diff --git a/iphone/Maps/UI/Help/FaqView.swift b/iphone/Maps/UI/Help/FaqView.swift new file mode 100644 index 000000000..a6a6437c3 --- /dev/null +++ b/iphone/Maps/UI/Help/FaqView.swift @@ -0,0 +1,14 @@ +import SwiftUI + +/// View for the frequently asked questions +struct FaqView: View { + // MARK: Properties + + /// The actual view + var body: some View { + EmbeddedSafariView(url: URL(fileURLWithPath: Bundle.main.path(forResource: "faq", ofType: "html")!), hasDynamicHeight: false) + .accentColor(.accent) + .navigationViewStyle(StackNavigationViewStyle()) + .navigationTitle("faq") + } +} diff --git a/iphone/Maps/UI/MailComposer/MailComposer.swift b/iphone/Maps/UI/MailComposer/MailComposer.swift index 69e69c693..68d057fa6 100644 --- a/iphone/Maps/UI/MailComposer/MailComposer.swift +++ b/iphone/Maps/UI/MailComposer/MailComposer.swift @@ -35,7 +35,7 @@ final class MailComposer: NSObject { UIApplication.shared.hideLoadingOverlay { sendEmailWith(subject: subject(), body: body(), - toRecipients: [SocialMedia.email.link], + toRecipients: [SocialMedia.emailAddress], attachmentFileURL: logFileURL) } } diff --git a/iphone/Maps/UI/Settings/Profile/NoExistingProfileView.swift b/iphone/Maps/UI/Settings/Profile/NoExistingProfileView.swift index d8d405172..df62a2e4f 100644 --- a/iphone/Maps/UI/Settings/Profile/NoExistingProfileView.swift +++ b/iphone/Maps/UI/Settings/Profile/NoExistingProfileView.swift @@ -25,7 +25,7 @@ struct NoExistingProfileView: View { .font(.headline) HStack(alignment: .top) { - Image(.osmLogo) + Image(.openStreetMapLogo) .resizable() .aspectRatio(1, contentMode: .fit) .frame(maxWidth: 50) @@ -35,7 +35,7 @@ struct NoExistingProfileView: View { .tint(.alternativeAccent) } } - .padding(.bottom) + .padding(.bottom, 8) } Spacer(minLength: 0) diff --git a/iphone/Maps/UI/Storyboard/Main.storyboard b/iphone/Maps/UI/Storyboard/Main.storyboard index 128d26de9..8737418b5 100644 --- a/iphone/Maps/UI/Storyboard/Main.storyboard +++ b/iphone/Maps/UI/Storyboard/Main.storyboard @@ -210,6 +210,7 @@ + @@ -1022,6 +1023,14 @@ + + + + + + + +