From b3bc6dc273995d3e57d96c4c4624447a3099b907 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Wed, 9 Nov 2022 15:50:36 -0500 Subject: [PATCH 001/300] Add accessibility labels to notifications, only have 1 element per notification --- .../Content/NotificationView+ViewModel.swift | 46 +++++++++++++------ .../View/Content/NotificationView.swift | 9 ++++ .../View/Content/StatusView+ViewModel.swift | 14 +++--- 3 files changed, 49 insertions(+), 20 deletions(-) diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift index d7ba51e17..524c92146 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift @@ -54,7 +54,7 @@ extension NotificationView.ViewModel { bindAuthor(notificationView: notificationView) bindAuthorMenu(notificationView: notificationView) bindFollowRequest(notificationView: notificationView) - + $authContext .assign(to: \.authContext, on: notificationView.statusView.viewModel) .store(in: &disposeBag) @@ -100,21 +100,20 @@ extension NotificationView.ViewModel { } .store(in: &disposeBag) // timestamp - Publishers.CombineLatest( + let formattedTimestamp = Publishers.CombineLatest( $timestamp, timestampUpdatePublisher.prepend(Date()).eraseToAnyPublisher() ) - .sink { [weak self] timestamp, _ in - guard let self = self else { return } - guard let timestamp = timestamp else { - notificationView.dateLabel.configure(content: PlaintextMetaContent(string: "")) - return - } - - let text = timestamp.localizedTimeAgoSinceNow - notificationView.dateLabel.configure(content: PlaintextMetaContent(string: text)) + .map { timestamp, _ in + timestamp?.localizedTimeAgoSinceNow ?? "" } - .store(in: &disposeBag) + + formattedTimestamp + .sink { timestamp in + notificationView.dateLabel.configure(content: PlaintextMetaContent(string: timestamp)) + } + .store(in: &disposeBag) + // notification type indicator $notificationIndicatorText .sink { text in @@ -125,6 +124,27 @@ extension NotificationView.ViewModel { } } .store(in: &disposeBag) + + Publishers.CombineLatest4( + $authorName, + $authorUsername, + $notificationIndicatorText, + formattedTimestamp + ) + .sink { name, username, type, timestamp in + notificationView.accessibilityLabel = [ + "\(name?.string ?? "") \(type?.string ?? "")", + username.map { "@\($0)" } ?? "", + timestamp + ].joined(separator: ", ") + if !notificationView.statusView.isHidden { + notificationView.accessibilityLabel! += ", " + (notificationView.statusView.accessibilityLabel ?? "") + } + if !notificationView.quoteStatusViewContainerView.isHidden { + notificationView.accessibilityLabel! += ", " + (notificationView.quoteStatusView.accessibilityLabel ?? "") + } + } + .store(in: &disposeBag) } private func bindAuthorMenu(notificationView: NotificationView) { @@ -207,5 +227,5 @@ extension NotificationView.ViewModel { } .store(in: &disposeBag) } - + } diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift index e52422770..f6821dec7 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift @@ -382,6 +382,15 @@ extension NotificationView { statusView.delegate = self quoteStatusView.delegate = self + + isAccessibilityElement = true + } +} + +extension NotificationView { + public override var accessibilityElements: [Any]? { + get { [] } + set {} } } diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift index 416226cbb..530294ea7 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift @@ -709,13 +709,13 @@ extension StatusView.ViewModel { meidaAccessibilityLabel ) .map { author, content, media in - let group = [ - author, - content, - media - ] - - return group + var labels: [String?] = [content, media] + + if statusView.style != .notification { + labels.insert(author, at: 0) + } + + return labels .compactMap { $0 } .joined(separator: ", ") } From 393e4632da334fa2fc79686ffb7d3acf929fdcf5 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Wed, 9 Nov 2022 16:33:54 -0500 Subject: [PATCH 002/300] Add secondary actions to notifications --- .../NotificationView+Configuration.swift | 1 + .../Transient/MastodonNotificationType.swift | 2 +- .../Content/NotificationView+ViewModel.swift | 56 ++++++++++++++++++- .../View/Content/NotificationView.swift | 31 ++++++++-- 4 files changed, 83 insertions(+), 7 deletions(-) diff --git a/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift b/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift index 98d06fd92..daa37a93b 100644 --- a/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift +++ b/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift @@ -111,6 +111,7 @@ extension NotificationView { self.viewModel.notificationIndicatorText = nil return } + self.viewModel.type = type func createMetaContent(text: String, emojis: MastodonContent.Emojis) -> MetaContent { let content = MastodonContent(content: text, emojis: emojis) diff --git a/MastodonSDK/Sources/CoreDataStack/Entity/Transient/MastodonNotificationType.swift b/MastodonSDK/Sources/CoreDataStack/Entity/Transient/MastodonNotificationType.swift index 9e3029f26..455230d5e 100644 --- a/MastodonSDK/Sources/CoreDataStack/Entity/Transient/MastodonNotificationType.swift +++ b/MastodonSDK/Sources/CoreDataStack/Entity/Transient/MastodonNotificationType.swift @@ -7,7 +7,7 @@ import Foundation -public enum MastodonNotificationType: RawRepresentable { +public enum MastodonNotificationType: RawRepresentable, Equatable { case follow case followRequest case mention diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift index 524c92146..b80486e14 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift @@ -25,7 +25,8 @@ extension NotificationView { let logger = Logger(subsystem: "NotificationView", category: "ViewModel") @Published public var authContext: AuthContext? - + + @Published public var type: MastodonNotificationType? @Published public var notificationIndicatorText: MetaContent? @Published public var authorAvatarImage: UIImage? @@ -145,6 +146,55 @@ extension NotificationView.ViewModel { } } .store(in: &disposeBag) + + Publishers.CombineLatest( + $authorAvatarImage, + $type + ) + .sink { avatarImage, type in + var actions = [UIAccessibilityCustomAction]() + + // these notifications can be directly actioned to view the profile + if type != .follow, type != .followRequest { + actions.append( + UIAccessibilityCustomAction( + name: L10n.Common.Controls.Status.showUserProfile, + image: avatarImage + ) { [weak notificationView] _ in + guard let notificationView = notificationView, let delegate = notificationView.delegate else { return false } + delegate.notificationView(notificationView, authorAvatarButtonDidPressed: notificationView.avatarButton) + return true + } + ) + } + + if type == .followRequest { + actions.append( + UIAccessibilityCustomAction( + name: L10n.Common.Controls.Actions.confirm, + image: Asset.Editing.checkmark20.image + ) { [weak notificationView] _ in + guard let notificationView = notificationView, let delegate = notificationView.delegate else { return false } + delegate.notificationView(notificationView, acceptFollowRequestButtonDidPressed: notificationView.acceptFollowRequestButton) + return true + } + ) + + actions.append( + UIAccessibilityCustomAction( + name: L10n.Common.Controls.Actions.delete, + image: Asset.Circles.forbidden20.image + ) { [weak notificationView] _ in + guard let notificationView = notificationView, let delegate = notificationView.delegate else { return false } + delegate.notificationView(notificationView, rejectFollowRequestButtonDidPressed: notificationView.rejectFollowRequestButton) + return true + } + ) + } + + notificationView.notificationActions = actions + } + .store(in: &disposeBag) } private func bindAuthorMenu(notificationView: NotificationView) { @@ -167,7 +217,9 @@ extension NotificationView.ViewModel { isMyself: isMyself, isBookmarking: false // no bookmark action display for notification item ) - notificationView.menuButton.menu = notificationView.setupAuthorMenu(menuContext: menuContext) + let (menu, actions) = notificationView.setupAuthorMenu(menuContext: menuContext) + notificationView.menuButton.menu = menu + notificationView.authorActions = actions notificationView.menuButton.showsMenuAsPrimaryAction = true notificationView.menuButton.isHidden = menuContext.isMyself diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift index f6821dec7..d4828875b 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView.swift @@ -46,7 +46,10 @@ public final class NotificationView: UIView { var _disposeBag = Set() public var disposeBag = Set() - + + var notificationActions = [UIAccessibilityCustomAction]() + var authorActions = [UIAccessibilityCustomAction]() + public private(set) lazy var viewModel: ViewModel = { let viewModel = ViewModel() viewModel.bind(notificationView: self) @@ -392,6 +395,21 @@ extension NotificationView { get { [] } set {} } + + public override var accessibilityCustomActions: [UIAccessibilityCustomAction]? { + get { + var actions = notificationActions + actions += authorActions + if !statusView.isHidden { + actions += statusView.accessibilityCustomActions ?? [] + } + if !quoteStatusViewContainerView.isHidden { + actions += quoteStatusView.accessibilityCustomActions ?? [] + } + return actions + } + set {} + } } extension NotificationView { @@ -449,7 +467,7 @@ extension NotificationView: AdaptiveContainerView { extension NotificationView { public typealias AuthorMenuContext = StatusAuthorView.AuthorMenuContext - public func setupAuthorMenu(menuContext: AuthorMenuContext) -> UIMenu { + public func setupAuthorMenu(menuContext: AuthorMenuContext) -> (UIMenu, [UIAccessibilityCustomAction]) { var actions: [MastodonMenu.Action] = [] actions = [ @@ -475,8 +493,13 @@ extension NotificationView { actions: actions, delegate: self ) - - return menu + + let accessibilityActions = MastodonMenu.setupAccessibilityActions( + actions: actions, + delegate: self + ) + + return (menu, accessibilityActions) } } From c2232a596d207be0cf1be1a7091bedd1e1a51618 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Wed, 9 Nov 2022 16:59:02 -0500 Subject: [PATCH 003/300] Improve accessibility labels for reply/reblog posts --- .../StatusThreadRootTableViewCell.swift | 1 - .../View/Content/StatusView+ViewModel.swift | 68 +++++++++++++------ .../MastodonUI/View/Content/StatusView.swift | 1 + 3 files changed, 47 insertions(+), 23 deletions(-) diff --git a/Mastodon/Scene/Share/View/TableviewCell/StatusThreadRootTableViewCell.swift b/Mastodon/Scene/Share/View/TableviewCell/StatusThreadRootTableViewCell.swift index 64f3456b5..350bf8660 100644 --- a/Mastodon/Scene/Share/View/TableviewCell/StatusThreadRootTableViewCell.swift +++ b/Mastodon/Scene/Share/View/TableviewCell/StatusThreadRootTableViewCell.swift @@ -96,7 +96,6 @@ extension StatusThreadRootTableViewCell { override var accessibilityElements: [Any]? { get { var elements = [ - statusView.headerContainerView, statusView.authorView, statusView.viewModel.isContentReveal ? statusView.contentMetaText.textView diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift index 530294ea7..66994f2a9 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift @@ -238,12 +238,11 @@ extension StatusView.ViewModel { } .store(in: &disposeBag) // username - let usernamePublisher = $authorUsername + $authorUsername .map { text -> String in guard let text = text else { return "" } return "@\(text)" } - usernamePublisher .sink { username in let metaContent = PlaintextMetaContent(string: username) authorView.authorUsernameLabel.configure(content: metaContent) @@ -270,18 +269,6 @@ extension StatusView.ViewModel { authorView.dateLabel.configure(content: PlaintextMetaContent(string: text)) } .store(in: &disposeBag) - - // accessibility label - Publishers.CombineLatest4($authorName, usernamePublisher, $timestampText, $timestamp) - .map { name, username, timestampText, timestamp in - let formatter = DateFormatter() - formatter.dateStyle = .medium - formatter.timeStyle = .short - let longTimestamp = timestamp.map { formatter.string(from: $0) } ?? "" - return "\(name?.string ?? "") \(username), \(timestampText). \(longTimestamp)" - } - .assign(to: \.accessibilityLabel, on: authorView) - .store(in: &disposeBag) } private func bindContent(statusView: StatusView) { @@ -634,7 +621,7 @@ extension StatusView.ViewModel { } private func bindAccessibility(statusView: StatusView) { - let authorAccessibilityLabel = Publishers.CombineLatest3( + let shortAuthorAccessibilityLabel = Publishers.CombineLatest3( $header, $authorName, $timestampText @@ -644,19 +631,56 @@ extension StatusView.ViewModel { switch header { case .none: - break + strings.append(authorName?.string) case .reply(let info): + strings.append(authorName?.string) strings.append(info.header.string) case .repost(let info): strings.append(info.header.string) + strings.append(authorName?.string) } - strings.append(authorName?.string) strings.append(timestamp) return strings.compactMap { $0 }.joined(separator: ", ") } - + + let longTimestampFormatter = DateFormatter() + longTimestampFormatter.dateStyle = .medium + longTimestampFormatter.timeStyle = .short + let longTimestampLabel = Publishers.CombineLatest( + $timestampText, + $timestamp.map { timestamp in + if let timestamp { + return longTimestampFormatter.string(from: timestamp) + } + return "" + } + ) + .map { timestampText, longTimestamp in + "\(timestampText). \(longTimestamp)" + } + + Publishers.CombineLatest4( + $header, + $authorName, + $authorUsername, + longTimestampLabel + ) + .map { header, name, username, timestamp in + let nameAndUsername = "\(name?.string ?? "") @\(username ?? "")" + switch header { + case .none: + return "\(nameAndUsername), \(timestamp)" + case .repost(info: let info): + return "\(info.header.string) \(nameAndUsername), \(timestamp)" + case .reply(info: let info): + return "\(nameAndUsername) \(info.header.string), \(timestamp)" + } + } + .assign(to: \.accessibilityLabel, on: statusView.authorView) + .store(in: &disposeBag) + let contentAccessibilityLabel = Publishers.CombineLatest3( $isContentReveal, $spoilerContent, @@ -694,8 +718,8 @@ extension StatusView.ViewModel { statusView.spoilerOverlayView.accessibilityLabel = contentAccessibilityLabel } .store(in: &disposeBag) - - let meidaAccessibilityLabel = $mediaViewConfigurations + + let mediaAccessibilityLabel = $mediaViewConfigurations .map { configurations -> String? in let count = configurations.count return L10n.Plural.Count.media(count) @@ -704,9 +728,9 @@ extension StatusView.ViewModel { // TODO: Toolbar Publishers.CombineLatest3( - authorAccessibilityLabel, + shortAuthorAccessibilityLabel, contentAccessibilityLabel, - meidaAccessibilityLabel + mediaAccessibilityLabel ) .map { author, content, media in var labels: [String?] = [content, media] diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift index 563bc7e3d..21410b9e2 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift @@ -246,6 +246,7 @@ extension StatusView { // header headerIconImageView.isUserInteractionEnabled = false headerInfoLabel.isUserInteractionEnabled = false + headerInfoLabel.isAccessibilityElement = false let headerTapGestureRecognizer = UITapGestureRecognizer.singleTapGestureRecognizer headerTapGestureRecognizer.addTarget(self, action: #selector(StatusView.headerDidPressed(_:))) headerContainerView.addGestureRecognizer(headerTapGestureRecognizer) From ed9911ca76b7d4e51901fbb5b47b76cea0f2732a Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Wed, 9 Nov 2022 17:30:57 -0500 Subject: [PATCH 004/300] =?UTF-8?q?Rename=20tab=20to=20=E2=80=9CNotificati?= =?UTF-8?q?ons=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StringsConvertor/input/en.lproj/app.json | 2 +- Localization/app.json | 2 +- Mastodon/Coordinator/SceneCoordinator.swift | 4 ++-- .../Root/MainTab/MainTabBarController.swift | 18 +++++++++--------- .../Scene/Root/Sidebar/SidebarViewModel.swift | 6 +++--- Mastodon/Supporting Files/SceneDelegate.swift | 2 +- .../Generated/Strings.swift | 4 ++-- .../Resources/en.lproj/Localizable.strings | 2 +- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json index 8867385e2..ff2926996 100644 --- a/Localization/StringsConvertor/input/en.lproj/app.json +++ b/Localization/StringsConvertor/input/en.lproj/app.json @@ -96,7 +96,7 @@ "tabs": { "home": "Home", "search": "Search", - "notification": "Notification", + "notifications": "Notifications", "profile": "Profile" }, "keyboard": { diff --git a/Localization/app.json b/Localization/app.json index 8867385e2..ff2926996 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -96,7 +96,7 @@ "tabs": { "home": "Home", "search": "Search", - "notification": "Notification", + "notifications": "Notifications", "profile": "Profile" }, "keyboard": { diff --git a/Mastodon/Coordinator/SceneCoordinator.swift b/Mastodon/Coordinator/SceneCoordinator.swift index 8a0825969..737d74d7e 100644 --- a/Mastodon/Coordinator/SceneCoordinator.swift +++ b/Mastodon/Coordinator/SceneCoordinator.swift @@ -71,8 +71,8 @@ final public class SceneCoordinator { self.setup() try await Task.sleep(nanoseconds: .second * 1) - // redirect to notification tab - self.switchToTabBar(tab: .notification) + // redirect to notifications tab + self.switchToTabBar(tab: .notifications) // Delay in next run loop DispatchQueue.main.async { [weak self] in diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index c49dcc1a1..4f6b21d96 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -49,7 +49,7 @@ class MainTabBarController: UITabBarController { case home case search case compose - case notification + case notifications case me var tag: Int { @@ -61,7 +61,7 @@ class MainTabBarController: UITabBarController { case .home: return L10n.Common.Controls.Tabs.home case .search: return L10n.Common.Controls.Tabs.search case .compose: return L10n.Common.Controls.Actions.compose - case .notification: return L10n.Common.Controls.Tabs.notification + case .notifications: return L10n.Common.Controls.Tabs.notifications case .me: return L10n.Common.Controls.Tabs.profile } } @@ -71,7 +71,7 @@ class MainTabBarController: UITabBarController { case .home: return Asset.ObjectsAndTools.house.image.withRenderingMode(.alwaysTemplate) case .search: return Asset.ObjectsAndTools.magnifyingglass.image.withRenderingMode(.alwaysTemplate) case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate) - case .notification: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate) + case .notifications: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate) case .me: return UIImage(systemName: "person")! } } @@ -81,7 +81,7 @@ class MainTabBarController: UITabBarController { case .home: return Asset.ObjectsAndTools.houseFill.image.withRenderingMode(.alwaysTemplate) case .search: return Asset.ObjectsAndTools.magnifyingglassFill.image.withRenderingMode(.alwaysTemplate) case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate) - case .notification: return Asset.ObjectsAndTools.bellFill.image.withRenderingMode(.alwaysTemplate) + case .notifications: return Asset.ObjectsAndTools.bellFill.image.withRenderingMode(.alwaysTemplate) case .me: return UIImage(systemName: "person.fill")! } } @@ -91,7 +91,7 @@ class MainTabBarController: UITabBarController { case .home: return Asset.ObjectsAndTools.house.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80)) case .search: return Asset.ObjectsAndTools.magnifyingglass.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80)) case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80)) - case .notification: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80)) + case .notifications: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate).resized(size: CGSize(width: 80, height: 80)) case .me: return UIImage(systemName: "person", withConfiguration: UIImage.SymbolConfiguration(pointSize: 80))! } } @@ -101,7 +101,7 @@ class MainTabBarController: UITabBarController { case .home: return Asset.ObjectsAndTools.house.image.withRenderingMode(.alwaysTemplate) case .search: return Asset.ObjectsAndTools.magnifyingglass.image.withRenderingMode(.alwaysTemplate) case .compose: return Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate) - case .notification: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate) + case .notifications: return Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate) case .me: return UIImage(systemName: "person")! } } @@ -127,7 +127,7 @@ class MainTabBarController: UITabBarController { viewController = _viewController case .compose: viewController = UIViewController() - case .notification: + case .notifications: let _viewController = NotificationViewController() _viewController.context = context _viewController.coordinator = coordinator @@ -272,7 +272,7 @@ extension MainTabBarController { } ?? false let image: UIImage = { - if currentTab == .notification { + if currentTab == .notifications { return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadgeFill.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bellFill.image.withRenderingMode(.alwaysTemplate) } else { return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadge.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate) @@ -593,7 +593,7 @@ extension MainTabBarController { let tabs: [Tab] = [ .home, .search, - .notification, + .notifications, .me ] for (i, tab) in tabs.enumerated() { diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift index c3f9e3e36..7c323bbca 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift @@ -100,7 +100,7 @@ extension SidebarViewModel { .store(in: &cell.disposeBag) switch item { - case .notification: + case .notifications: Publishers.CombineLatest( self.context.notificationService.unreadNotificationCountDidUpdate, self.$currentTab @@ -116,7 +116,7 @@ extension SidebarViewModel { }() let image: UIImage = { - if currentTab == .notification { + if currentTab == .notifications { return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadgeFill.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bellFill.image.withRenderingMode(.alwaysTemplate) } else { return hasUnreadPushNotification ? Asset.ObjectsAndTools.bellBadge.image.withRenderingMode(.alwaysTemplate) : Asset.ObjectsAndTools.bell.image.withRenderingMode(.alwaysTemplate) @@ -192,7 +192,7 @@ extension SidebarViewModel { let items: [Item] = [ .tab(.home), .tab(.search), - .tab(.notification), + .tab(.notifications), .tab(.me), .setting, ] diff --git a/Mastodon/Supporting Files/SceneDelegate.swift b/Mastodon/Supporting Files/SceneDelegate.swift index 1e97fb179..b25f7c5eb 100644 --- a/Mastodon/Supporting Files/SceneDelegate.swift +++ b/Mastodon/Supporting Files/SceneDelegate.swift @@ -172,7 +172,7 @@ extension SceneDelegate { return false } - coordinator.switchToTabBar(tab: .notification) + coordinator.switchToTabBar(tab: .notifications) case "org.joinmastodon.app.new-post": if coordinator?.tabBarController.topMost is ComposeViewController { diff --git a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift index 44ae29267..684ba439f 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift +++ b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift @@ -366,8 +366,8 @@ public enum L10n { public enum Tabs { /// Home public static let home = L10n.tr("Localizable", "Common.Controls.Tabs.Home") - /// Notification - public static let notification = L10n.tr("Localizable", "Common.Controls.Tabs.Notification") + /// Notifications + public static let notifications = L10n.tr("Localizable", "Common.Controls.Tabs.Notifications") /// Profile public static let profile = L10n.tr("Localizable", "Common.Controls.Tabs.Profile") /// Search diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index 9114b96e5..ac09ab1f4 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -131,7 +131,7 @@ Please check your internet connection."; "Common.Controls.Status.Visibility.PrivateFromMe" = "Only my followers can see this post."; "Common.Controls.Status.Visibility.Unlisted" = "Everyone can see this post but not display in the public timeline."; "Common.Controls.Tabs.Home" = "Home"; -"Common.Controls.Tabs.Notification" = "Notification"; +"Common.Controls.Tabs.Notifications" = "Notifications"; "Common.Controls.Tabs.Profile" = "Profile"; "Common.Controls.Tabs.Search" = "Search"; "Common.Controls.Timeline.Filtered" = "Filtered"; From daedd2b5be132c7d035f27d598908ac9c421270d Mon Sep 17 00:00:00 2001 From: Jeff Verkoeyen Date: Sat, 12 Nov 2022 13:41:01 -0800 Subject: [PATCH 005/300] [Welcome] Allow buttons to grow with Dynamic Type. The buttons now have a minimum height rather than a constant height. Also made a couple minor improvements / bug fixes: - Both buttons now react to Dynamic Type settings changes (enabled `adjustsFontForContentSizeCategory`). - A layout pass is now enforced in traitCollectionDidChange to ensure that setupButtonShadowView is using the right bounds. - signUpButtonShadowView now uses signUpButtonShadowView's bounds. --- .../Onboarding/Welcome/WelcomeViewController.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift b/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift index a2b8df83a..225f2f9ef 100644 --- a/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift +++ b/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift @@ -51,6 +51,7 @@ final class WelcomeViewController: UIViewController, NeedsDependency { private(set) lazy var signUpButton: PrimaryActionButton = { let button = PrimaryActionButton() button.adjustsBackgroundImageWhenUserInterfaceStyleChanges = false + button.titleLabel?.adjustsFontForContentSizeCategory = true button.titleLabel?.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold)) button.setTitle(L10n.Common.Controls.Actions.signUp, for: .normal) let backgroundImageColor: UIColor = .white @@ -65,6 +66,7 @@ final class WelcomeViewController: UIViewController, NeedsDependency { private(set) lazy var signInButton: PrimaryActionButton = { let button = PrimaryActionButton() button.adjustsBackgroundImageWhenUserInterfaceStyleChanges = false + button.titleLabel?.adjustsFontForContentSizeCategory = true button.titleLabel?.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold)) button.setTitle(L10n.Scene.Welcome.logIn, for: .normal) let backgroundImageColor = Asset.Scene.Welcome.signInButtonBackground.color @@ -113,12 +115,12 @@ extension WelcomeViewController { signUpButton.translatesAutoresizingMaskIntoConstraints = false buttonContainer.addArrangedSubview(signUpButton) NSLayoutConstraint.activate([ - signUpButton.heightAnchor.constraint(equalToConstant: WelcomeViewController.actionButtonHeight).priority(.required - 1), + signUpButton.heightAnchor.constraint(greaterThanOrEqualToConstant: WelcomeViewController.actionButtonHeight).priority(.required - 1), ]) signInButton.translatesAutoresizingMaskIntoConstraints = false buttonContainer.addArrangedSubview(signInButton) NSLayoutConstraint.activate([ - signInButton.heightAnchor.constraint(equalToConstant: WelcomeViewController.actionButtonHeight).priority(.required - 1), + signInButton.heightAnchor.constraint(greaterThanOrEqualToConstant: WelcomeViewController.actionButtonHeight).priority(.required - 1), ]) signUpButtonShadowView.translatesAutoresizingMaskIntoConstraints = false @@ -172,7 +174,9 @@ extension WelcomeViewController { override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { super.traitCollectionDidChange(previousTraitCollection) - + + view.layoutIfNeeded() + setupIllustrationLayout() setupButtonShadowView() } @@ -189,7 +193,7 @@ extension WelcomeViewController { y: 1, blur: 2, spread: 0, - roundedRect: signInButtonShadowView.bounds, + roundedRect: signUpButtonShadowView.bounds, byRoundingCorners: .allCorners, cornerRadii: CGSize(width: 10, height: 10) ) From 87df13987a6970f6b7d4a29e5445082141e25e79 Mon Sep 17 00:00:00 2001 From: Jeff Verkoeyen Date: Sat, 12 Nov 2022 20:30:57 -0800 Subject: [PATCH 006/300] Ensure that the welcome buttons have adequate padding at larger Dynamic Type configurations. --- .../Onboarding/Share/OnboardingViewControllerAppearance.swift | 4 ++++ Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Mastodon/Scene/Onboarding/Share/OnboardingViewControllerAppearance.swift b/Mastodon/Scene/Onboarding/Share/OnboardingViewControllerAppearance.swift index ba1eecfc5..ee01b99e8 100644 --- a/Mastodon/Scene/Onboarding/Share/OnboardingViewControllerAppearance.swift +++ b/Mastodon/Scene/Onboarding/Share/OnboardingViewControllerAppearance.swift @@ -22,6 +22,10 @@ extension OnboardingViewControllerAppearance { static var actionButtonMarginExtend: CGFloat { return 80 } static var viewBottomPaddingHeight: CGFloat { return 11 } static var viewBottomPaddingHeightExtend: CGFloat { return 22 } + + // Typically assigned to the button's contentEdgeInsets. Ensures space around content, even when + // content is large due to Dynamic Type. + static var actionButtonPadding: UIEdgeInsets { return UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8) } static var largeTitleFont: UIFont { return UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: .systemFont(ofSize: 28, weight: .bold)) diff --git a/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift b/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift index 225f2f9ef..a7703bfaa 100644 --- a/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift +++ b/Mastodon/Scene/Onboarding/Welcome/WelcomeViewController.swift @@ -51,6 +51,7 @@ final class WelcomeViewController: UIViewController, NeedsDependency { private(set) lazy var signUpButton: PrimaryActionButton = { let button = PrimaryActionButton() button.adjustsBackgroundImageWhenUserInterfaceStyleChanges = false + button.contentEdgeInsets = WelcomeViewController.actionButtonPadding button.titleLabel?.adjustsFontForContentSizeCategory = true button.titleLabel?.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold)) button.setTitle(L10n.Common.Controls.Actions.signUp, for: .normal) @@ -66,6 +67,7 @@ final class WelcomeViewController: UIViewController, NeedsDependency { private(set) lazy var signInButton: PrimaryActionButton = { let button = PrimaryActionButton() button.adjustsBackgroundImageWhenUserInterfaceStyleChanges = false + button.contentEdgeInsets = WelcomeViewController.actionButtonPadding button.titleLabel?.adjustsFontForContentSizeCategory = true button.titleLabel?.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: .systemFont(ofSize: 17, weight: .semibold)) button.setTitle(L10n.Scene.Welcome.logIn, for: .normal) From a36a303532e35b024d5990f3725a84700726e6c9 Mon Sep 17 00:00:00 2001 From: woxtu Date: Mon, 14 Nov 2022 02:53:59 +0900 Subject: [PATCH 007/300] Fix typos --- Mastodon/Scene/Account/AccountListViewModel.swift | 4 ++-- Mastodon/Scene/Profile/ProfileViewController.swift | 2 +- .../Sources/CoreDataStack/Utility/ManagedObjectRecord.swift | 2 +- .../Sources/MastodonCore/Service/AuthenticationService.swift | 4 ++-- .../Scene/ComposeContent/ComposeContentViewModel.swift | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Mastodon/Scene/Account/AccountListViewModel.swift b/Mastodon/Scene/Account/AccountListViewModel.swift index e0aaf97fc..c5bd93f07 100644 --- a/Mastodon/Scene/Account/AccountListViewModel.swift +++ b/Mastodon/Scene/Account/AccountListViewModel.swift @@ -52,7 +52,7 @@ final class AccountListViewModel: NSObject { mastodonAuthenticationFetchedResultsController.delegate = self do { try mastodonAuthenticationFetchedResultsController.performFetch() - authentications = mastodonAuthenticationFetchedResultsController.fetchedObjects?.compactMap { $0.asRecrod } ?? [] + authentications = mastodonAuthenticationFetchedResultsController.fetchedObjects?.compactMap { $0.asRecord } ?? [] } catch { assertionFailure(error.localizedDescription) } @@ -183,7 +183,7 @@ extension AccountListViewModel: NSFetchedResultsControllerDelegate { return } - authentications = mastodonAuthenticationFetchedResultsController.fetchedObjects?.compactMap { $0.asRecrod } ?? [] + authentications = mastodonAuthenticationFetchedResultsController.fetchedObjects?.compactMap { $0.asRecord } ?? [] } } diff --git a/Mastodon/Scene/Profile/ProfileViewController.swift b/Mastodon/Scene/Profile/ProfileViewController.swift index 3ce1fd33a..6c42f7643 100644 --- a/Mastodon/Scene/Profile/ProfileViewController.swift +++ b/Mastodon/Scene/Profile/ProfileViewController.swift @@ -540,7 +540,7 @@ extension ProfileViewController { let composeViewModel = ComposeViewModel( context: context, authContext: viewModel.authContext, - kind: .mention(user: mastodonUser.asRecrod) + kind: .mention(user: mastodonUser.asRecord) ) _ = coordinator.present(scene: .compose(viewModel: composeViewModel), from: self, transition: .modal(animated: true, completion: nil)) } diff --git a/MastodonSDK/Sources/CoreDataStack/Utility/ManagedObjectRecord.swift b/MastodonSDK/Sources/CoreDataStack/Utility/ManagedObjectRecord.swift index 4910145cf..88b08fc3c 100644 --- a/MastodonSDK/Sources/CoreDataStack/Utility/ManagedObjectRecord.swift +++ b/MastodonSDK/Sources/CoreDataStack/Utility/ManagedObjectRecord.swift @@ -32,7 +32,7 @@ public class ManagedObjectRecord: Hashable { } extension Managed where Self: NSManagedObject { - public var asRecrod: ManagedObjectRecord { + public var asRecord: ManagedObjectRecord { return .init(objectID: objectID) } } diff --git a/MastodonSDK/Sources/MastodonCore/Service/AuthenticationService.swift b/MastodonSDK/Sources/MastodonCore/Service/AuthenticationService.swift index 48da254c6..e8cb536ac 100644 --- a/MastodonSDK/Sources/MastodonCore/Service/AuthenticationService.swift +++ b/MastodonSDK/Sources/MastodonCore/Service/AuthenticationService.swift @@ -67,7 +67,7 @@ public final class AuthenticationService: NSObject { try mastodonAuthenticationFetchedResultsController.performFetch() mastodonAuthentications = mastodonAuthenticationFetchedResultsController.fetchedObjects? .sorted(by: { $0.activedAt > $1.activedAt }) - .compactMap { $0.asRecrod } ?? [] + .compactMap { $0.asRecord } ?? [] } catch { assertionFailure(error.localizedDescription) } @@ -148,7 +148,7 @@ extension AuthenticationService: NSFetchedResultsControllerDelegate { mastodonAuthentications = mastodonAuthenticationFetchedResultsController.fetchedObjects? .sorted(by: { $0.activedAt > $1.activedAt }) - .compactMap { $0.asRecrod } ?? [] + .compactMap { $0.asRecord } ?? [] } } diff --git a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift index 2bf4e26ff..62159667f 100644 --- a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift @@ -472,7 +472,7 @@ extension ComposeContentViewModel { let managedObjectContext = self.context.managedObjectContext var _author: ManagedObjectRecord? managedObjectContext.performAndWait { - _author = authContext.mastodonAuthenticationBox.authenticationRecord.object(in: managedObjectContext)?.user.asRecrod + _author = authContext.mastodonAuthenticationBox.authenticationRecord.object(in: managedObjectContext)?.user.asRecord } guard let author = _author else { throw AppError.badAuthentication From 88b54b2962fd9ebef957332e6198bbad8b7edb7c Mon Sep 17 00:00:00 2001 From: woxtu Date: Mon, 14 Nov 2022 02:56:20 +0900 Subject: [PATCH 008/300] Fix typos --- .../SearchResult/SearchResultViewModel+Diffable.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel+Diffable.swift b/Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel+Diffable.swift index 7d243b1fa..b9eb5a9ae 100644 --- a/Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel+Diffable.swift +++ b/Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel+Diffable.swift @@ -33,7 +33,7 @@ extension SearchResultViewModel { userFetchedResultsController.$records, $hashtags ) - .map { statusRecrods, userRecords, hashtags in + .map { statusRecords, userRecords, hashtags in var items: [SearchResultItem] = [] let userItems = userRecords.map { SearchResultItem.user($0) } @@ -42,7 +42,7 @@ extension SearchResultViewModel { let hashtagItems = hashtags.map { SearchResultItem.hashtag(tag: $0) } items.append(contentsOf: hashtagItems) - let statusItems = statusRecrods.map { SearchResultItem.status($0) } + let statusItems = statusRecords.map { SearchResultItem.status($0) } items.append(contentsOf: statusItems) return items From 37d77e9cf8773e2bc5cf69bdc5c9244d0bd8d2ca Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:32 +0100 Subject: [PATCH 009/300] New translations Localizable.stringsdict (Czech) --- .../input/cs.lproj/Localizable.stringsdict | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict index 827bd79e6..805ac70f2 100644 --- a/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict @@ -62,6 +62,26 @@ %ld znaků + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 96740d2e20e2a422d76d6cfd34b34f2e9d137f1c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:33 +0100 Subject: [PATCH 010/300] New translations app.json (Romanian) --- Localization/StringsConvertor/input/ro.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ro.lproj/app.json b/Localization/StringsConvertor/input/ro.lproj/app.json index a9d3804fa..e50c741b6 100644 --- a/Localization/StringsConvertor/input/ro.lproj/app.json +++ b/Localization/StringsConvertor/input/ro.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From 55e8cf845f35e059bf9fccabba11e5f63d2be833 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:34 +0100 Subject: [PATCH 011/300] New translations Localizable.stringsdict (Catalan) --- .../input/ca.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict index cc28edbc6..06d1f0301 100644 --- a/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caràcters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From dd0685060a8722b006ac57c371e7589e3a17b981 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:35 +0100 Subject: [PATCH 012/300] New translations Localizable.stringsdict (Arabic) --- .../input/ar.lproj/Localizable.stringsdict | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict index 862d98184..a65082272 100644 --- a/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict @@ -74,6 +74,30 @@ %ld حَرف + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From bde6bb0a7b83dc31bd2b5c1d5da6bf91493a5a42 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:36 +0100 Subject: [PATCH 013/300] New translations Localizable.stringsdict (Spanish) --- .../input/es.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/es.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/es.lproj/Localizable.stringsdict index def3d7bba..ca07b6b28 100644 --- a/Localization/StringsConvertor/input/es.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/es.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caracteres + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From bfa9b0294279340a94d7cd4429d475d18002124a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:37 +0100 Subject: [PATCH 014/300] New translations Localizable.stringsdict (French) --- .../input/fr.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict index d9d860a47..37f280de4 100644 --- a/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caractères + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 839816029a015e9b0a93f92fe71e30c9e0d1e045 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:38 +0100 Subject: [PATCH 015/300] New translations Localizable.stringsdict (Romanian) --- .../input/ro.lproj/Localizable.stringsdict | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Localization/StringsConvertor/input/ro.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ro.lproj/Localizable.stringsdict index 7ae5a1c79..9df2162b0 100644 --- a/Localization/StringsConvertor/input/ro.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ro.lproj/Localizable.stringsdict @@ -56,6 +56,24 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 8438fbf0f8d51774dc8fd5ab04a6224e0c6dc6a8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:39 +0100 Subject: [PATCH 016/300] New translations app.json (Japanese) --- Localization/StringsConvertor/input/ja.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ja.lproj/app.json b/Localization/StringsConvertor/input/ja.lproj/app.json index 9ff2a60a6..a18347581 100644 --- a/Localization/StringsConvertor/input/ja.lproj/app.json +++ b/Localization/StringsConvertor/input/ja.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "カスタム絵文字ピッカー", "enable_content_warning": "閲覧注意を有効にする", "disable_content_warning": "閲覧注意を無効にする", - "post_visibility_menu": "投稿の表示メニュー" + "post_visibility_menu": "投稿の表示メニュー", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "投稿を破棄", From 3241258fbff7e7c3cf27c04fec9604a4052c3162 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:40 +0100 Subject: [PATCH 017/300] New translations app.json (Finnish) --- Localization/StringsConvertor/input/fi.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/fi.lproj/app.json b/Localization/StringsConvertor/input/fi.lproj/app.json index a42642786..b98167c35 100644 --- a/Localization/StringsConvertor/input/fi.lproj/app.json +++ b/Localization/StringsConvertor/input/fi.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Mukautettu emojivalitsin", "enable_content_warning": "Ota sisältövaroitus käyttöön", "disable_content_warning": "Poista sisältövaroitus käytöstä", - "post_visibility_menu": "Julkaisun näkyvyysvalikko" + "post_visibility_menu": "Julkaisun näkyvyysvalikko", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Hylkää julkaisu", From ffbd2ba00a8568c3f8a49342ec60c405fd8cda86 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:41 +0100 Subject: [PATCH 018/300] New translations app.json (Basque) --- Localization/StringsConvertor/input/eu.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/eu.lproj/app.json b/Localization/StringsConvertor/input/eu.lproj/app.json index 3f58f522c..c4cecfe59 100644 --- a/Localization/StringsConvertor/input/eu.lproj/app.json +++ b/Localization/StringsConvertor/input/eu.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Emoji pertsonalizatuen hautatzailea", "enable_content_warning": "Gaitu edukiaren abisua", "disable_content_warning": "Desgaitu edukiaren abisua", - "post_visibility_menu": "Bidalketaren ikusgaitasunaren menua" + "post_visibility_menu": "Bidalketaren ikusgaitasunaren menua", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Baztertu bidalketa", From 6a80afbec6feeac8b7d75de4dfc3450513b15622 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:43 +0100 Subject: [PATCH 019/300] New translations app.json (German) --- Localization/StringsConvertor/input/de.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/de.lproj/app.json b/Localization/StringsConvertor/input/de.lproj/app.json index 481f07a4a..ce5dc4d3a 100644 --- a/Localization/StringsConvertor/input/de.lproj/app.json +++ b/Localization/StringsConvertor/input/de.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Benutzerdefinierter Emojiwähler", "enable_content_warning": "Inhaltswarnung einschalten", "disable_content_warning": "Inhaltswarnung ausschalten", - "post_visibility_menu": "Sichtbarkeitsmenü" + "post_visibility_menu": "Sichtbarkeitsmenü", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Beitrag verwerfen", From 7e9228e0469ab7d4e56c98d25140a56a8a2ab33a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:43 +0100 Subject: [PATCH 020/300] New translations app.json (Danish) --- Localization/StringsConvertor/input/da.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/da.lproj/app.json b/Localization/StringsConvertor/input/da.lproj/app.json index a6a971860..25f06ad83 100644 --- a/Localization/StringsConvertor/input/da.lproj/app.json +++ b/Localization/StringsConvertor/input/da.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From 828ce82fb081d0fb3a309fb4b6eec2f3174ed27e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:44 +0100 Subject: [PATCH 021/300] New translations app.json (Catalan) --- Localization/StringsConvertor/input/ca.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ca.lproj/app.json b/Localization/StringsConvertor/input/ca.lproj/app.json index 7164d1d12..b27042d0f 100644 --- a/Localization/StringsConvertor/input/ca.lproj/app.json +++ b/Localization/StringsConvertor/input/ca.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Selector d'Emoji Personalitzat", "enable_content_warning": "Activa l'Avís de Contingut", "disable_content_warning": "Desactiva l'Avís de Contingut", - "post_visibility_menu": "Menú de Visibilitat de Publicació" + "post_visibility_menu": "Menú de Visibilitat de Publicació", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Descarta la Publicació", From 946b798abbefea71fb90f7aebd9bf90d47b82990 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:46 +0100 Subject: [PATCH 022/300] New translations app.json (Arabic) --- Localization/StringsConvertor/input/ar.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ar.lproj/app.json b/Localization/StringsConvertor/input/ar.lproj/app.json index 4c5ac4c8b..ebea98b0c 100644 --- a/Localization/StringsConvertor/input/ar.lproj/app.json +++ b/Localization/StringsConvertor/input/ar.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "منتقي الرموز التعبيرية المُخصَّص", "enable_content_warning": "تفعيل تحذير المُحتَوى", "disable_content_warning": "تعطيل تحذير المُحتَوى", - "post_visibility_menu": "قائمة ظهور المنشور" + "post_visibility_menu": "قائمة ظهور المنشور", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "تجاهُل المنشور", From a62e16048aafbe192f61f67973b6c72ec3e5d893 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:47 +0100 Subject: [PATCH 023/300] New translations app.json (Spanish) --- Localization/StringsConvertor/input/es.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/es.lproj/app.json b/Localization/StringsConvertor/input/es.lproj/app.json index 7eaff340d..5398df49f 100644 --- a/Localization/StringsConvertor/input/es.lproj/app.json +++ b/Localization/StringsConvertor/input/es.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Selector de Emojis Personalizados", "enable_content_warning": "Activar Advertencia de Contenido", "disable_content_warning": "Desactivar Advertencia de Contenido", - "post_visibility_menu": "Menú de Visibilidad de la Publicación" + "post_visibility_menu": "Menú de Visibilidad de la Publicación", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Descartar Publicación", From 10a5a9905642eff7cbe06247f652a2bb70ec0d12 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:48 +0100 Subject: [PATCH 024/300] New translations app.json (Italian) --- Localization/StringsConvertor/input/it.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/it.lproj/app.json b/Localization/StringsConvertor/input/it.lproj/app.json index 73f42d1eb..bfd7811e2 100644 --- a/Localization/StringsConvertor/input/it.lproj/app.json +++ b/Localization/StringsConvertor/input/it.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Selettore Emoji personalizzato", "enable_content_warning": "Abilita avvertimento contenuti", "disable_content_warning": "Disabilita avviso di contenuti", - "post_visibility_menu": "Menu di visibilità del post" + "post_visibility_menu": "Menu di visibilità del post", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Scarta post", From 9fb3966f1e47d3d0c1927d5d9743a1d2d499fd1d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:49 +0100 Subject: [PATCH 025/300] New translations app.json (French) --- Localization/StringsConvertor/input/fr.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/fr.lproj/app.json b/Localization/StringsConvertor/input/fr.lproj/app.json index 25bb6e511..674d0f8ca 100644 --- a/Localization/StringsConvertor/input/fr.lproj/app.json +++ b/Localization/StringsConvertor/input/fr.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Sélecteur d’émojis personnalisés", "enable_content_warning": "Basculer l’avertissement de contenu", "disable_content_warning": "Désactiver l'avertissement de contenu", - "post_visibility_menu": "Menu de Visibilité de la publication" + "post_visibility_menu": "Menu de Visibilité de la publication", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Rejeter la publication", From 43588148eca59129f47f2190bf3eca49663cf2ad Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:50 +0100 Subject: [PATCH 026/300] New translations app.json (Czech) --- Localization/StringsConvertor/input/cs.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/cs.lproj/app.json b/Localization/StringsConvertor/input/cs.lproj/app.json index 4050352f4..02e7f5cec 100644 --- a/Localization/StringsConvertor/input/cs.lproj/app.json +++ b/Localization/StringsConvertor/input/cs.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Vlastní výběr Emoji", "enable_content_warning": "Povolit upozornění na obsah", "disable_content_warning": "Vypnout upozornění na obsah", - "post_visibility_menu": "Menu viditelnosti příspěvku" + "post_visibility_menu": "Menu viditelnosti příspěvku", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Zahodit příspěvek", From 28bd2dc4c18e3c48eac7597d87d29d2e3bb8eb59 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:51 +0100 Subject: [PATCH 027/300] New translations Localizable.stringsdict (German) --- .../input/de.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict index f60c6b0d7..1965fd02b 100644 --- a/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld Zeichen + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From d87959321ed0e79c66b117fa51fe3dc984c065e5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:52 +0100 Subject: [PATCH 028/300] New translations Localizable.stringsdict (Scottish Gaelic) --- .../input/gd.lproj/Localizable.stringsdict | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict index d0ccb5f41..45ba1e156 100644 --- a/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict @@ -62,6 +62,26 @@ %ld caractar + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + two + %ld characters + few + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 70f42ac890147f72a4f93486794fd2bac60ea0f8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:53 +0100 Subject: [PATCH 029/300] New translations app.json (Kurmanji (Kurdish)) --- Localization/StringsConvertor/input/kmr.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/kmr.lproj/app.json b/Localization/StringsConvertor/input/kmr.lproj/app.json index 098f514ee..1fa54d8ef 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/app.json +++ b/Localization/StringsConvertor/input/kmr.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Hilbijêrê emojî yên kesanekirî", "enable_content_warning": "Hişyariya naverokê çalak bike", "disable_content_warning": "Hişyariya naverokê neçalak bike", - "post_visibility_menu": "Kulîna xuyabûna şandiyê" + "post_visibility_menu": "Kulîna xuyabûna şandiyê", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Şandî paşguh bike", From 77d753a2353b5acdb93615269fb2c87b59aaaaee Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:55 +0100 Subject: [PATCH 030/300] New translations app.json (Latvian) --- Localization/StringsConvertor/input/lv.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/lv.lproj/app.json b/Localization/StringsConvertor/input/lv.lproj/app.json index 2835f0887..8a4b3e921 100644 --- a/Localization/StringsConvertor/input/lv.lproj/app.json +++ b/Localization/StringsConvertor/input/lv.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From c74f062b27eac0a916c665834713b582ae129a57 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:56 +0100 Subject: [PATCH 031/300] New translations app.json (Hindi) --- Localization/StringsConvertor/input/hi.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/hi.lproj/app.json b/Localization/StringsConvertor/input/hi.lproj/app.json index f0fedf75f..2c46d023d 100644 --- a/Localization/StringsConvertor/input/hi.lproj/app.json +++ b/Localization/StringsConvertor/input/hi.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From c5dc8dafdfd8ca69d98bd81586227b7dd265ef45 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:57 +0100 Subject: [PATCH 032/300] New translations app.json (English, United States) --- Localization/StringsConvertor/input/en-US.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/en-US.lproj/app.json b/Localization/StringsConvertor/input/en-US.lproj/app.json index a6a971860..25f06ad83 100644 --- a/Localization/StringsConvertor/input/en-US.lproj/app.json +++ b/Localization/StringsConvertor/input/en-US.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From efdeab68c79099ddaca4cdedb730557aaf4d9adf Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:58 +0100 Subject: [PATCH 033/300] New translations app.json (Welsh) --- Localization/StringsConvertor/input/cy.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/cy.lproj/app.json b/Localization/StringsConvertor/input/cy.lproj/app.json index f36fe7d16..a5de5143a 100644 --- a/Localization/StringsConvertor/input/cy.lproj/app.json +++ b/Localization/StringsConvertor/input/cy.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From 5a624b491a645ac7fb779128907ff0684df7c759 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:40:59 +0100 Subject: [PATCH 034/300] New translations app.json (Sinhala) --- Localization/StringsConvertor/input/si.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/si.lproj/app.json b/Localization/StringsConvertor/input/si.lproj/app.json index 816536440..1bc8b3036 100644 --- a/Localization/StringsConvertor/input/si.lproj/app.json +++ b/Localization/StringsConvertor/input/si.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From c8db5833cd508613ff695604153b7669533f1784 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:00 +0100 Subject: [PATCH 035/300] New translations app.json (Swedish) --- Localization/StringsConvertor/input/sv.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/sv.lproj/app.json b/Localization/StringsConvertor/input/sv.lproj/app.json index c740609c9..938134eaa 100644 --- a/Localization/StringsConvertor/input/sv.lproj/app.json +++ b/Localization/StringsConvertor/input/sv.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Anpassad emoji-väljare", "enable_content_warning": "Aktivera innehållsvarning", "disable_content_warning": "Inaktivera innehållsvarning", - "post_visibility_menu": "Inläggssynlighetsmeny" + "post_visibility_menu": "Inläggssynlighetsmeny", + "post_options": "Inläggsalternativ", + "posting_as": "Postar som %s" }, "keyboard": { "discard_post": "Släng inlägget", From 8964159a7a1d97b6158ccbba2bf274d65420f64c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:01 +0100 Subject: [PATCH 036/300] New translations app.json (Sorani (Kurdish)) --- Localization/StringsConvertor/input/ckb.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ckb.lproj/app.json b/Localization/StringsConvertor/input/ckb.lproj/app.json index 25452f38b..b8cf48fbe 100644 --- a/Localization/StringsConvertor/input/ckb.lproj/app.json +++ b/Localization/StringsConvertor/input/ckb.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "هەڵبژێری ئیمۆجی", "enable_content_warning": "ئاگاداریی ناوەڕۆک چالاک بکە", "disable_content_warning": "ئاگاداریی ناوەڕۆک ناچالاک بکە", - "post_visibility_menu": "پێڕستی شێوازی دەرکەوتنی پۆست" + "post_visibility_menu": "پێڕستی شێوازی دەرکەوتنی پۆست", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "پۆستەکە هەڵوەشێنەوە", From c450c89e749f59108dadbe490c91ef4c4a67936a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:03 +0100 Subject: [PATCH 037/300] New translations app.json (Spanish, Argentina) --- .../StringsConvertor/input/es-AR.lproj/app.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/input/es-AR.lproj/app.json b/Localization/StringsConvertor/input/es-AR.lproj/app.json index 309cf4d34..e54100c41 100644 --- a/Localization/StringsConvertor/input/es-AR.lproj/app.json +++ b/Localization/StringsConvertor/input/es-AR.lproj/app.json @@ -137,10 +137,10 @@ "closed": "Cerrada" }, "meta_entity": { - "url": "Link: %s", - "hashtag": "Hashtag: %s", - "mention": "Show Profile: %s", - "email": "Email address: %s" + "url": "Enlace: %s", + "hashtag": "Etiqueta: %s", + "mention": "Mostrar perfil: %s", + "email": "Dirección de correo electrónico: %s" }, "actions": { "reply": "Responder", @@ -417,7 +417,9 @@ "custom_emoji_picker": "Selector de emoji personalizado", "enable_content_warning": "Habilitar advertencia de contenido", "disable_content_warning": "Deshabilitar advertencia de contenido", - "post_visibility_menu": "Menú de visibilidad del mensaje" + "post_visibility_menu": "Menú de visibilidad del mensaje", + "post_options": "Opciones de mensaje", + "posting_as": "Enviar como %s" }, "keyboard": { "discard_post": "Descartar mensaje", @@ -706,7 +708,7 @@ "accessibility_hint": "Tocá dos veces para descartar este asistente" }, "bookmark": { - "title": "Bookmarks" + "title": "Marcadores" } } } From 8cf3f88e6a0bfc1dabf1c224e4f7dea413e1ce51 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:04 +0100 Subject: [PATCH 038/300] New translations Localizable.stringsdict (Korean) --- .../input/ko.lproj/Localizable.stringsdict | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict index 9628be614..644fd007a 100644 --- a/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld 글자 + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From cfca1ea5526f89058a697612af1e2bf19b7bd344 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:05 +0100 Subject: [PATCH 039/300] New translations app.json (Korean) --- Localization/StringsConvertor/input/ko.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ko.lproj/app.json b/Localization/StringsConvertor/input/ko.lproj/app.json index 826ac389c..fa40d14a7 100644 --- a/Localization/StringsConvertor/input/ko.lproj/app.json +++ b/Localization/StringsConvertor/input/ko.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "커스텀 에모지 선택기", "enable_content_warning": "열람 주의 설정", "disable_content_warning": "열람 주의 해제", - "post_visibility_menu": "게시물 공개범위 메뉴" + "post_visibility_menu": "게시물 공개범위 메뉴", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "글 버리기", From 114cdae5f9083d73b960d2a3a4a4884c42ef4146 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:06 +0100 Subject: [PATCH 040/300] New translations app.json (Kabyle) --- Localization/StringsConvertor/input/kab.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/kab.lproj/app.json b/Localization/StringsConvertor/input/kab.lproj/app.json index 9c5d7659a..194a2c681 100644 --- a/Localization/StringsConvertor/input/kab.lproj/app.json +++ b/Localization/StringsConvertor/input/kab.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Amefran n yimujiten udmawanen", "enable_content_warning": "Rmed alɣu n ugbur", "disable_content_warning": "Sens alɣu n ugbur", - "post_visibility_menu": "Umuɣ n ubani n tsuffeɣt" + "post_visibility_menu": "Umuɣ n ubani n tsuffeɣt", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Sefsex tasuffeɣt", From 020e8add8d4153769c0a5b0126e262fca120db13 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:07 +0100 Subject: [PATCH 041/300] New translations app.json (Vietnamese) --- Localization/StringsConvertor/input/vi.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/vi.lproj/app.json b/Localization/StringsConvertor/input/vi.lproj/app.json index 5b7696727..cd20997c3 100644 --- a/Localization/StringsConvertor/input/vi.lproj/app.json +++ b/Localization/StringsConvertor/input/vi.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Chọn emoji", "enable_content_warning": "Bật nội dung ẩn", "disable_content_warning": "Tắt nội dung ẩn", - "post_visibility_menu": "Menu hiển thị tút" + "post_visibility_menu": "Menu hiển thị tút", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Hủy đăng tút", From 37e24a0eeacc8203f306ab0e3ae670716b39f1a4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:08 +0100 Subject: [PATCH 042/300] New translations app.json (Thai) --- Localization/StringsConvertor/input/th.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/th.lproj/app.json b/Localization/StringsConvertor/input/th.lproj/app.json index 9b4316025..f9c30f01d 100644 --- a/Localization/StringsConvertor/input/th.lproj/app.json +++ b/Localization/StringsConvertor/input/th.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "ตัวเลือกอีโมจิที่กำหนดเอง", "enable_content_warning": "เปิดใช้งานคำเตือนเนื้อหา", "disable_content_warning": "ปิดใช้งานคำเตือนเนื้อหา", - "post_visibility_menu": "เมนูการมองเห็นโพสต์" + "post_visibility_menu": "เมนูการมองเห็นโพสต์", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "ละทิ้งโพสต์", From 16754b1048cdd912fe9bf6dfc32dec3394461732 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:09 +0100 Subject: [PATCH 043/300] New translations app.json (Portuguese, Brazilian) --- Localization/StringsConvertor/input/pt-BR.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index 26e6edb76..c7abb1da1 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From 40e505a8515f674a3e278e82bedd8ace450af884 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:10 +0100 Subject: [PATCH 044/300] New translations app.json (Indonesian) --- Localization/StringsConvertor/input/id.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index d942a22ad..91d31071b 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Aktifkan Peringatan Konten", "disable_content_warning": "Nonaktifkan Peringatan Konten", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From 0da6df18e952eba0843b952747f400002d8428ad Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:11 +0100 Subject: [PATCH 045/300] New translations app.json (Scottish Gaelic) --- Localization/StringsConvertor/input/gd.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/gd.lproj/app.json b/Localization/StringsConvertor/input/gd.lproj/app.json index c1d17f813..214279887 100644 --- a/Localization/StringsConvertor/input/gd.lproj/app.json +++ b/Localization/StringsConvertor/input/gd.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Roghnaichear nan Emoji gnàthaichte", "enable_content_warning": "Cuir rabhadh susbainte an comas", "disable_content_warning": "Cuir rabhadh susbainte à comas", - "post_visibility_menu": "Clàr-taice faicsinneachd a’ phuist" + "post_visibility_menu": "Clàr-taice faicsinneachd a’ phuist", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Tilg air falbh am post", From 1a13afd692ed9246560002acc23670f12800b2a3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:12 +0100 Subject: [PATCH 046/300] New translations app.json (Galician) --- Localization/StringsConvertor/input/gl.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index 3c394be95..0eb82b142 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Selector emoji personalizado", "enable_content_warning": "Marcar con Aviso sobre o contido", "disable_content_warning": "Retirar Aviso sobre o contido", - "post_visibility_menu": "Visibilidade da publicación" + "post_visibility_menu": "Visibilidade da publicación", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Descartar publicación", From 04ecfe47362c61a9ba0b5740d743c12d35b6d38e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:13 +0100 Subject: [PATCH 047/300] New translations app.json (English) --- Localization/StringsConvertor/input/en.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json index a6a971860..25f06ad83 100644 --- a/Localization/StringsConvertor/input/en.lproj/app.json +++ b/Localization/StringsConvertor/input/en.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From 1a4b27835ec33dddb1629dd2bd75223be4b28e39 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:14 +0100 Subject: [PATCH 048/300] New translations app.json (Chinese Simplified) --- Localization/StringsConvertor/input/zh-Hans.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json index ddf89e159..2bfd04c8d 100644 --- a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "自定义表情选择器", "enable_content_warning": "启用内容警告", "disable_content_warning": "关闭内容警告", - "post_visibility_menu": "帖子可见性" + "post_visibility_menu": "帖子可见性", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "丢弃帖子", From 0134aa8900c3c717c800dbab9961f008bdd2da29 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:15 +0100 Subject: [PATCH 049/300] New translations app.json (Russian) --- Localization/StringsConvertor/input/ru.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ru.lproj/app.json b/Localization/StringsConvertor/input/ru.lproj/app.json index 798cdb4c5..1f82a35db 100644 --- a/Localization/StringsConvertor/input/ru.lproj/app.json +++ b/Localization/StringsConvertor/input/ru.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Меню пользовательских эмодзи", "enable_content_warning": "Добавить предупреждение о содержании", "disable_content_warning": "Убрать предупреждение о содержании", - "post_visibility_menu": "Меню видимости поста" + "post_visibility_menu": "Меню видимости поста", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Удалить пост", From 08d976d022c5b1d806620380e3355ae91ca4a25e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:16 +0100 Subject: [PATCH 050/300] New translations app.json (Portuguese) --- Localization/StringsConvertor/input/pt.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/pt.lproj/app.json b/Localization/StringsConvertor/input/pt.lproj/app.json index a6a971860..25f06ad83 100644 --- a/Localization/StringsConvertor/input/pt.lproj/app.json +++ b/Localization/StringsConvertor/input/pt.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From 6bc7ce605018d1f1c20e8fcff446620381b8e75a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:18 +0100 Subject: [PATCH 051/300] New translations app.json (Dutch) --- Localization/StringsConvertor/input/nl.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/nl.lproj/app.json b/Localization/StringsConvertor/input/nl.lproj/app.json index e0b2872fb..bc508d5b0 100644 --- a/Localization/StringsConvertor/input/nl.lproj/app.json +++ b/Localization/StringsConvertor/input/nl.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Eigen Emojikiezer", "enable_content_warning": "Inhoudswaarschuwing inschakelen", "disable_content_warning": "Inhoudswaarschuwing Uitschakelen", - "post_visibility_menu": "Berichtzichtbaarheidsmenu" + "post_visibility_menu": "Berichtzichtbaarheidsmenu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Bericht Verwijderen", From 429b9b846477a9bf830500479559e01f2f776eb0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:19 +0100 Subject: [PATCH 052/300] New translations Localizable.stringsdict (Swedish) --- .../input/sv.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict index c7317903d..3cbfeae6d 100644 --- a/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld tecken + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ kvar + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld tecken + other + %ld tecken + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From f284a699f34db1efa88f1cf6ef495e959f4ebb08 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:20 +0100 Subject: [PATCH 053/300] New translations app.json (Chinese Traditional) --- Localization/StringsConvertor/input/zh-Hant.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json index ab7343c99..4b2ea2f0f 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "自訂 emoji 選擇器", "enable_content_warning": "啟用內容警告", "disable_content_warning": "停用內容警告", - "post_visibility_menu": "嘟文可見性選單" + "post_visibility_menu": "嘟文可見性選單", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "捨棄嘟文", From fe45e9ac251d3062062ab2e28910d2ddd44ac615 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:21 +0100 Subject: [PATCH 054/300] New translations Localizable.stringsdict (Slovenian) --- .../input/sl.lproj/Localizable.stringsdict | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict index 8f0bcb42b..742b78e87 100644 --- a/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict @@ -62,6 +62,26 @@ %ld znakov + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + two + %ld characters + few + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 1df93527843a46f2b5fa8bf6f04fecc3400ac9ba Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:22 +0100 Subject: [PATCH 055/300] New translations app.json (Turkish) --- Localization/StringsConvertor/input/tr.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/tr.lproj/app.json b/Localization/StringsConvertor/input/tr.lproj/app.json index 2abb92845..f363e3ab6 100644 --- a/Localization/StringsConvertor/input/tr.lproj/app.json +++ b/Localization/StringsConvertor/input/tr.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Özel Emoji Seçici", "enable_content_warning": "İçerik Uyarısını Etkinleştir", "disable_content_warning": "İçerik Uyarısını Kapat", - "post_visibility_menu": "Gönderi Görünürlüğü Menüsü" + "post_visibility_menu": "Gönderi Görünürlüğü Menüsü", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Gönderiyi İptal Et", From de0ed81d1e9186b1919cf4fbb5468cf8ddb08123 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:23 +0100 Subject: [PATCH 056/300] New translations app.json (Ukrainian) --- Localization/StringsConvertor/input/uk.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/uk.lproj/app.json b/Localization/StringsConvertor/input/uk.lproj/app.json index a6a971860..25f06ad83 100644 --- a/Localization/StringsConvertor/input/uk.lproj/app.json +++ b/Localization/StringsConvertor/input/uk.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Custom Emoji Picker", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu" + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Discard Post", From dfad727965514a5f72dbfaab54ee86a56e270427 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:24 +0100 Subject: [PATCH 057/300] New translations Localizable.stringsdict (Ukrainian) --- .../input/uk.lproj/Localizable.stringsdict | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict index cdf35477e..32e4cf9aa 100644 --- a/Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict @@ -62,6 +62,26 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 879211ac85c759b44eb7c22eb922b839ca058e80 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:25 +0100 Subject: [PATCH 058/300] New translations app.json (Slovenian) --- Localization/StringsConvertor/input/sl.lproj/app.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/sl.lproj/app.json b/Localization/StringsConvertor/input/sl.lproj/app.json index 37b62a45d..eb983b0fa 100644 --- a/Localization/StringsConvertor/input/sl.lproj/app.json +++ b/Localization/StringsConvertor/input/sl.lproj/app.json @@ -417,7 +417,9 @@ "custom_emoji_picker": "Izbirnik čustvenčkov po meri", "enable_content_warning": "Omogoči opozorilo o vsebini", "disable_content_warning": "Onemogoči opozorilo o vsebini", - "post_visibility_menu": "Meni vidnosti objave" + "post_visibility_menu": "Meni vidnosti objave", + "post_options": "Post Options", + "posting_as": "Posting as %s" }, "keyboard": { "discard_post": "Opusti objavo", From 144b83859ddf2aee63a807d1d8e7c407b9770d39 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:26 +0100 Subject: [PATCH 059/300] New translations Localizable.stringsdict (Danish) --- .../input/da.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/da.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/da.lproj/Localizable.stringsdict index bdcae6ac9..eabdc3c32 100644 --- a/Localization/StringsConvertor/input/da.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/da.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 4f8c7fee1836573b821ea8b95c874bee3638dd36 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:27 +0100 Subject: [PATCH 060/300] New translations Localizable.stringsdict (Finnish) --- .../input/fi.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/fi.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/fi.lproj/Localizable.stringsdict index 8048edf2d..ccfee35c9 100644 --- a/Localization/StringsConvertor/input/fi.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/fi.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld merkkiä + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 29fc78a8d7d4bb4cb583fbcf909bf099e51aeaac Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:28 +0100 Subject: [PATCH 061/300] New translations Localizable.stringsdict (Italian) --- .../input/it.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict index 38f986521..d4fc7d0ce 100644 --- a/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caratteri + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 1ccbdaeafa1acfb469d0584e6a9d9308850a251e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:29 +0100 Subject: [PATCH 062/300] New translations Localizable.stringsdict (Basque) --- .../input/eu.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/eu.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/eu.lproj/Localizable.stringsdict index 0159a7da9..057ca4010 100644 --- a/Localization/StringsConvertor/input/eu.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/eu.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld karaktere + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 3f5688fe1a1e145722ee83c8d2d30c9292bd5ef8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:30 +0100 Subject: [PATCH 063/300] New translations Localizable.stringsdict (Indonesian) --- .../input/id.lproj/Localizable.stringsdict | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Localization/StringsConvertor/input/id.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/id.lproj/Localizable.stringsdict index 2635defb8..9b8aca01c 100644 --- a/Localization/StringsConvertor/input/id.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/id.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld karakter + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 5825b90ac2ef230fc22c6791ab5395079bfb2526 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:31 +0100 Subject: [PATCH 064/300] New translations Localizable.stringsdict (Sorani (Kurdish)) --- .../input/ckb.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/ckb.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ckb.lproj/Localizable.stringsdict index 001a8a608..8116226ec 100644 --- a/Localization/StringsConvertor/input/ckb.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ckb.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld نووسە + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 134f8c4f73a450672d08c4b4cc5abee62baf1dd0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:32 +0100 Subject: [PATCH 065/300] New translations Localizable.stringsdict (Kurmanji (Kurdish)) --- .../input/kmr.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict index 77571439f..45d65bc71 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld tîp + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From e33c81a1dcaf64ddb2bda7af5701228a5c9b9d82 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:33 +0100 Subject: [PATCH 066/300] New translations Localizable.stringsdict (Sinhala) --- .../input/si.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict index bdcae6ac9..eabdc3c32 100644 --- a/Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 0bdd2044474c13c52d8f508d630014b0ca74429f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:34 +0100 Subject: [PATCH 067/300] New translations Localizable.stringsdict (Welsh) --- .../input/cy.lproj/Localizable.stringsdict | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Localization/StringsConvertor/input/cy.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/cy.lproj/Localizable.stringsdict index 038eaffda..9e4c09959 100644 --- a/Localization/StringsConvertor/input/cy.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/cy.lproj/Localizable.stringsdict @@ -74,6 +74,30 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + two + %ld characters + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 83822c96c2ed745d543cefa237b0c2c8a67f9e28 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:36 +0100 Subject: [PATCH 068/300] New translations Localizable.stringsdict (English, United States) --- .../input/en-US.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/en-US.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/en-US.lproj/Localizable.stringsdict index bdcae6ac9..eabdc3c32 100644 --- a/Localization/StringsConvertor/input/en-US.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/en-US.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 8c2d1c74adbcf9ffbccd0600e136bfda00aff028 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:37 +0100 Subject: [PATCH 069/300] New translations Localizable.stringsdict (Hindi) --- .../input/hi.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/hi.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/hi.lproj/Localizable.stringsdict index bdcae6ac9..eabdc3c32 100644 --- a/Localization/StringsConvertor/input/hi.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/hi.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 96e7fd24a46d3de752d2eac4327ed8529133a4a6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:38 +0100 Subject: [PATCH 070/300] New translations Localizable.stringsdict (Latvian) --- .../input/lv.lproj/Localizable.stringsdict | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict index 25f32c98d..ac30b4f8b 100644 --- a/Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict @@ -56,6 +56,24 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From fd9c040dbb7bc2ec07441e463cd2f2c14ac83866 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:39 +0100 Subject: [PATCH 071/300] New translations Localizable.stringsdict (Thai) --- .../input/th.lproj/Localizable.stringsdict | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict index 897d07eca..725e5c8a2 100644 --- a/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld ตัวอักษร + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 3a8abf63a12765f76d8d2e48738968817212f1c0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:40 +0100 Subject: [PATCH 072/300] New translations Localizable.stringsdict (Spanish, Argentina) --- .../input/es-AR.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/es-AR.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/es-AR.lproj/Localizable.stringsdict index 2bd66395a..fb939a040 100644 --- a/Localization/StringsConvertor/input/es-AR.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/es-AR.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caracteres + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + Quedan %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 caracter + other + %ld caracteres + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From b3503798b9dfa7a096b92e8f2b5052b72ae86b6c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:41 +0100 Subject: [PATCH 073/300] New translations Localizable.stringsdict (Galician) --- .../input/gl.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict index ff9d87c18..2224a13b3 100644 --- a/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caracteres + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From ba4e2ad110accf239ae676ab8cab14d77439792e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:41 +0100 Subject: [PATCH 074/300] New translations Localizable.stringsdict (Portuguese, Brazilian) --- .../input/pt-BR.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict index ba1532740..982e25c0b 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caracteres + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 8808905e035463b6e4360e5a63a6184d9fde5708 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:42 +0100 Subject: [PATCH 075/300] New translations Localizable.stringsdict (Vietnamese) --- .../input/vi.lproj/Localizable.stringsdict | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict index 6905b240e..d82694c21 100644 --- a/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld ký tự + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From c8c91ad892baeea3b6aa13cbf0577b48b4781ef2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:44 +0100 Subject: [PATCH 076/300] New translations Localizable.stringsdict (English) --- .../input/en.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict index bdcae6ac9..eabdc3c32 100644 --- a/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 519bc5935572d50fa7028ca1cd9d7cc1d6e33d32 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:45 +0100 Subject: [PATCH 077/300] New translations Localizable.stringsdict (Chinese Traditional) --- .../input/zh-Hant.lproj/Localizable.stringsdict | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict index c0ce0f9a2..936c2d48c 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld 個字 + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 02f159d52ad3d631e1fbd5761b9c2133a8d5d4d1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:45 +0100 Subject: [PATCH 078/300] New translations Localizable.stringsdict (Chinese Simplified) --- .../input/zh-Hans.lproj/Localizable.stringsdict | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict index 5a7af3752..915a524b5 100644 --- a/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld 个字符 + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From cac5f0df860dee4b2af7eacf6d65d076c1ab9709 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:46 +0100 Subject: [PATCH 079/300] New translations Localizable.stringsdict (Turkish) --- .../input/tr.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict index 29df92c2b..6ef7f4c75 100644 --- a/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld karakter + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 532580bce79e170aecc681b9f73dc4292bcec52f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:47 +0100 Subject: [PATCH 080/300] New translations Localizable.stringsdict (Russian) --- .../input/ru.lproj/Localizable.stringsdict | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Localization/StringsConvertor/input/ru.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ru.lproj/Localizable.stringsdict index afb29a6aa..c9552a9e4 100644 --- a/Localization/StringsConvertor/input/ru.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ru.lproj/Localizable.stringsdict @@ -62,6 +62,26 @@ %ld символа осталось + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 1d422047e386fc1a77b7432be43c683bb13a0370 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:49 +0100 Subject: [PATCH 081/300] New translations Localizable.stringsdict (Portuguese) --- .../input/pt.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/pt.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/pt.lproj/Localizable.stringsdict index bdcae6ac9..eabdc3c32 100644 --- a/Localization/StringsConvertor/input/pt.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/pt.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld characters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 8cba22bcf708caf429938bca30b578650d23874f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:50 +0100 Subject: [PATCH 082/300] New translations Localizable.stringsdict (Dutch) --- .../input/nl.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/nl.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/nl.lproj/Localizable.stringsdict index 314600ff7..84769b0c1 100644 --- a/Localization/StringsConvertor/input/nl.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/nl.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld tekens + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 0efd014b3183790df496ff6c508977791ebf0cf4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:50 +0100 Subject: [PATCH 083/300] New translations Localizable.stringsdict (Japanese) --- .../input/ja.lproj/Localizable.stringsdict | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Localization/StringsConvertor/input/ja.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ja.lproj/Localizable.stringsdict index cbc999738..795a971b7 100644 --- a/Localization/StringsConvertor/input/ja.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ja.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld 文字 + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From bea62f6a67cbcf714ac3d64b7c75721453a0d539 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 13:41:51 +0100 Subject: [PATCH 084/300] New translations Localizable.stringsdict (Kabyle) --- .../input/kab.lproj/Localizable.stringsdict | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict index 7fc6a50bb..fd7cac605 100644 --- a/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld yisekkilen + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 57003b0ca582beaa15d078a7eb6046a02af1883c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 14:44:59 +0100 Subject: [PATCH 085/300] New translations app.json (Catalan) --- Localization/StringsConvertor/input/ca.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/ca.lproj/app.json b/Localization/StringsConvertor/input/ca.lproj/app.json index b27042d0f..e75aa9ff8 100644 --- a/Localization/StringsConvertor/input/ca.lproj/app.json +++ b/Localization/StringsConvertor/input/ca.lproj/app.json @@ -418,8 +418,8 @@ "enable_content_warning": "Activa l'Avís de Contingut", "disable_content_warning": "Desactiva l'Avís de Contingut", "post_visibility_menu": "Menú de Visibilitat de Publicació", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Opcions del tut", + "posting_as": "Publicant com a %s" }, "keyboard": { "discard_post": "Descarta la Publicació", From 2161f68da4ad3c738dcde5406ea2519a03728ce2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 14:45:00 +0100 Subject: [PATCH 086/300] New translations app.json (Galician) --- Localization/StringsConvertor/input/gl.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index 0eb82b142..2c518c867 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -418,8 +418,8 @@ "enable_content_warning": "Marcar con Aviso sobre o contido", "disable_content_warning": "Retirar Aviso sobre o contido", "post_visibility_menu": "Visibilidade da publicación", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Opcións da publicación", + "posting_as": "Publicando como %s" }, "keyboard": { "discard_post": "Descartar publicación", From aa59bef0b522280b2da00a7a0abf8296aed9316d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 14:45:01 +0100 Subject: [PATCH 087/300] New translations Localizable.stringsdict (Catalan) --- .../StringsConvertor/input/ca.lproj/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict index 06d1f0301..947597417 100644 --- a/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ca.lproj/Localizable.stringsdict @@ -53,7 +53,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + resten %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 caràcter other - %ld characters + %ld caràcters plural.count.followed_by_and_mutual From 7e458ffb10895326ef59bee670d96268dc870e72 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 14:45:03 +0100 Subject: [PATCH 088/300] New translations Localizable.stringsdict (Galician) --- .../StringsConvertor/input/gl.lproj/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict index 2224a13b3..51b146ed4 100644 --- a/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/gl.lproj/Localizable.stringsdict @@ -53,7 +53,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ restantes character_count NSStringFormatSpecTypeKey @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 caracter other - %ld characters + %ld caracteres plural.count.followed_by_and_mutual From 3aac00fa83af05d2fe1cbe631dc9216daedc4e34 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 15:40:15 +0100 Subject: [PATCH 089/300] New translations app.json (Italian) --- Localization/StringsConvertor/input/it.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/it.lproj/app.json b/Localization/StringsConvertor/input/it.lproj/app.json index bfd7811e2..f5e8d9293 100644 --- a/Localization/StringsConvertor/input/it.lproj/app.json +++ b/Localization/StringsConvertor/input/it.lproj/app.json @@ -418,8 +418,8 @@ "enable_content_warning": "Abilita avvertimento contenuti", "disable_content_warning": "Disabilita avviso di contenuti", "post_visibility_menu": "Menu di visibilità del post", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Opzioni del messaggio", + "posting_as": "Pubblicazione come %s" }, "keyboard": { "discard_post": "Scarta post", From 95e90a712d559401ee46434cbc914e3efcdbf8d0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 15:40:16 +0100 Subject: [PATCH 090/300] New translations Localizable.stringsdict (Italian) --- .../StringsConvertor/input/it.lproj/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict index d4fc7d0ce..3a8549914 100644 --- a/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/it.lproj/Localizable.stringsdict @@ -53,7 +53,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ rimanenti character_count NSStringFormatSpecTypeKey @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 carattere other - %ld characters + %ld caratteri plural.count.followed_by_and_mutual From 82cc4f9feae01c07cb3ce5275463df70647a43d4 Mon Sep 17 00:00:00 2001 From: woxtu Date: Tue, 15 Nov 2022 00:36:50 +0900 Subject: [PATCH 091/300] Replace a deprecated property --- .../Scene/Search/SearchDetail/SearchDetailViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mastodon/Scene/Search/SearchDetail/SearchDetailViewController.swift b/Mastodon/Scene/Search/SearchDetail/SearchDetailViewController.swift index 62dd1a2cc..cb879a922 100644 --- a/Mastodon/Scene/Search/SearchDetail/SearchDetailViewController.swift +++ b/Mastodon/Scene/Search/SearchDetail/SearchDetailViewController.swift @@ -60,7 +60,7 @@ final class SearchDetailViewController: PageboyViewController, NeedsDependency { let searchController: CustomSearchController = { let searchController = CustomSearchController() searchController.automaticallyShowsScopeBar = false - searchController.dimsBackgroundDuringPresentation = false + searchController.obscuresBackgroundDuringPresentation = false return searchController }() private(set) lazy var searchBar: UISearchBar = { From 1938af714693d98e6ffd19bcda7cceb399cd8240 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 16:44:33 +0100 Subject: [PATCH 092/300] New translations app.json (Slovenian) --- .../StringsConvertor/input/sl.lproj/app.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/input/sl.lproj/app.json b/Localization/StringsConvertor/input/sl.lproj/app.json index eb983b0fa..1d63d2832 100644 --- a/Localization/StringsConvertor/input/sl.lproj/app.json +++ b/Localization/StringsConvertor/input/sl.lproj/app.json @@ -383,10 +383,10 @@ "attachment_broken": "To %s je okvarjeno in ga ni\nmožno naložiti v Mastodon.", "description_photo": "Opiši fotografijo za slabovidne in osebe z okvaro vida ...", "description_video": "Opiši video za slabovidne in osebe z okvaro vida ...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "load_failed": "Nalaganje ni uspelo", + "upload_failed": "Nalaganje na strežnik ni uspelo", + "can_not_recognize_this_media_attachment": "Te medijske priponke ni mogoče prepoznati", + "attachment_too_large": "Priponka je prevelika" }, "poll": { "duration_time": "Trajanje: %s", @@ -418,8 +418,8 @@ "enable_content_warning": "Omogoči opozorilo o vsebini", "disable_content_warning": "Onemogoči opozorilo o vsebini", "post_visibility_menu": "Meni vidnosti objave", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Možnosti objave", + "posting_as": "Objavljate kot %s" }, "keyboard": { "discard_post": "Opusti objavo", From 57d80a89975efc77193479aa75a03940668ccba8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 16:44:34 +0100 Subject: [PATCH 093/300] New translations app.json (Vietnamese) --- .../StringsConvertor/input/vi.lproj/app.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/input/vi.lproj/app.json b/Localization/StringsConvertor/input/vi.lproj/app.json index cd20997c3..eb1b1c52d 100644 --- a/Localization/StringsConvertor/input/vi.lproj/app.json +++ b/Localization/StringsConvertor/input/vi.lproj/app.json @@ -383,10 +383,10 @@ "attachment_broken": "%s này bị lỗi và không thể\ntải lên Mastodon.", "description_photo": "Mô tả hình ảnh cho người khiếm thị...", "description_video": "Mô tả video cho người khiếm thị...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "load_failed": "Tải thất bại", + "upload_failed": "Tải lên thất bại", + "can_not_recognize_this_media_attachment": "Không xem được tập tin đính kèm", + "attachment_too_large": "Tập tin đính kèm quá lớn" }, "poll": { "duration_time": "Thời hạn: %s", @@ -418,8 +418,8 @@ "enable_content_warning": "Bật nội dung ẩn", "disable_content_warning": "Tắt nội dung ẩn", "post_visibility_menu": "Menu hiển thị tút", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Tùy chọn đăng", + "posting_as": "Đăng dưới dạng %s" }, "keyboard": { "discard_post": "Hủy đăng tút", From d1d694717dced66a0bccc5e8b86bf5d071b3342f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 16:44:35 +0100 Subject: [PATCH 094/300] New translations Localizable.stringsdict (Slovenian) --- .../input/sl.lproj/Localizable.stringsdict | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict index 742b78e87..87cc42142 100644 --- a/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict @@ -65,7 +65,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + preostaja %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -73,13 +73,13 @@ NSStringFormatValueTypeKey ld one - 1 character + %ld znak two - %ld characters + %ld znaka few - %ld characters + %ld znaki other - %ld characters + %ld znakov plural.count.followed_by_and_mutual From dabb1a1502dfab09f179ca7cbd1fd622479ef8ab Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 16:44:36 +0100 Subject: [PATCH 095/300] New translations app.json (Thai) --- Localization/StringsConvertor/input/th.lproj/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/th.lproj/app.json b/Localization/StringsConvertor/input/th.lproj/app.json index f9c30f01d..d90786149 100644 --- a/Localization/StringsConvertor/input/th.lproj/app.json +++ b/Localization/StringsConvertor/input/th.lproj/app.json @@ -418,7 +418,7 @@ "enable_content_warning": "เปิดใช้งานคำเตือนเนื้อหา", "disable_content_warning": "ปิดใช้งานคำเตือนเนื้อหา", "post_visibility_menu": "เมนูการมองเห็นโพสต์", - "post_options": "Post Options", + "post_options": "ตัวเลือกโพสต์", "posting_as": "Posting as %s" }, "keyboard": { From 8185adcdd099316f164a6e24376e10d84d3e2e3e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 16:44:37 +0100 Subject: [PATCH 096/300] New translations Localizable.stringsdict (Vietnamese) --- .../StringsConvertor/input/vi.lproj/Localizable.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict index d82694c21..4c772f014 100644 --- a/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/vi.lproj/Localizable.stringsdict @@ -47,7 +47,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ còn lại character_count NSStringFormatSpecTypeKey @@ -55,7 +55,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld ký tự plural.count.followed_by_and_mutual From 2ba82adac90c0c2648f555ea66c9af7294c26e10 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 16:44:38 +0100 Subject: [PATCH 097/300] New translations Localizable.stringsdict (Thai) --- .../StringsConvertor/input/th.lproj/Localizable.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict index 725e5c8a2..f25561ad6 100644 --- a/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/th.lproj/Localizable.stringsdict @@ -47,7 +47,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + เหลืออีก %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -55,7 +55,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld ตัวอักษร plural.count.followed_by_and_mutual From d9f24a0ad0784d7e0f069e9f672f674c8b0f3656 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 18:00:59 +0100 Subject: [PATCH 098/300] New translations app.json (Chinese Traditional) --- .../StringsConvertor/input/zh-Hant.lproj/app.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json index 4b2ea2f0f..1c2e9b9ff 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json @@ -383,10 +383,10 @@ "attachment_broken": "此 %s 已損毀,並無法被上傳至 Mastodon。", "description_photo": "為視障人士提供圖片說明...", "description_video": "為視障人士提供影片說明...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "load_failed": "讀取失敗", + "upload_failed": "上傳失敗", + "can_not_recognize_this_media_attachment": "無法識別此媒體附加檔案", + "attachment_too_large": "附加檔案大小過大" }, "poll": { "duration_time": "持續時間:%s", From f8a15ce5cfd1523e821259ba9069d7c6bf2f3c8d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 19:01:32 +0100 Subject: [PATCH 099/300] New translations app.json (Chinese Traditional) --- Localization/StringsConvertor/input/zh-Hant.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json index 1c2e9b9ff..131bd3f37 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json @@ -418,8 +418,8 @@ "enable_content_warning": "啟用內容警告", "disable_content_warning": "停用內容警告", "post_visibility_menu": "嘟文可見性選單", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "嘟文選項", + "posting_as": "以 %s 發嘟" }, "keyboard": { "discard_post": "捨棄嘟文", From 610e0675fd3a13dffdb68949e592330421f2589d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 19:01:33 +0100 Subject: [PATCH 100/300] New translations app.json (Portuguese, Brazilian) --- .../input/pt-BR.lproj/app.json | 108 +++++++++--------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index c7abb1da1..352025595 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -164,7 +164,7 @@ "emoji": "Emoji" }, "visibility": { - "unlisted": "Everyone can see this post but not display in the public timeline.", + "unlisted": "Todos podem ver esta postagem, mas não são exibidos na linha do tempo pública.", "private": "Somente seus seguidores podem ver essa postagem.", "private_from_me": "Somente meus seguidores podem ver essa postagem.", "direct": "Somente o usuário mencionado pode ver essa postagem." @@ -202,8 +202,8 @@ }, "header": { "no_status_found": "Nenhuma postagem encontrada", - "blocking_warning": "You can’t view this user's profile\nuntil you unblock them.\nYour profile looks like this to them.", - "user_blocking_warning": "You can’t view %s’s profile\nuntil you unblock them.\nYour profile looks like this to them.", + "blocking_warning": "Você não pode ver o perfil deste usuário até desbloqueá-lo.\nSeu perfil aparece assim para esse usuário.", + "user_blocking_warning": "Você não pode ver o perfil de %s até desbloqueá-lo.\nSeu perfil aparece assim para esse usuário.", "blocked_warning": "Você não pode ver o perfil desse usuário até que ele o desbloqueie.", "user_blocked_warning": "Você não pode ver o perfil de %s até que ele o desbloqueie.", "suspended_warning": "Esse usuário foi suspenso.", @@ -259,7 +259,7 @@ }, "register": { "title": "Vamos configurar você em %s", - "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", + "lets_get_you_set_up_on_domain": "Vamos configurar você em %s", "input": { "avatar": { "delete": "Excluir" @@ -279,13 +279,13 @@ "require": "Sua senha deve ter pelo menos:", "character_limit": "8 carácteres", "accessibility": { - "checked": "checked", - "unchecked": "unchecked" + "checked": "marcado", + "unchecked": "desmarcado" }, "hint": "Sua senha precisa ter pelo menos oito carácteres" }, "invite": { - "registration_user_invite_request": "Why do you want to join?" + "registration_user_invite_request": "Por que você deseja se inscrever?" } }, "error": { @@ -298,51 +298,51 @@ "reason": "Motivo" }, "reason": { - "blocked": "%s contains a disallowed email provider", + "blocked": "%s contém um provedor de e-mail não permitido", "unreachable": "%s parece não existir", "taken": "%s já está em uso", - "reserved": "%s is a reserved keyword", - "accepted": "%s must be accepted", - "blank": "%s is required", - "invalid": "%s is invalid", - "too_long": "%s is too long", - "too_short": "%s is too short", - "inclusion": "%s is not a supported value" + "reserved": "%s é uma palavra-chave reservada", + "accepted": "%s deve ser aceite", + "blank": "%s é obrigatório", + "invalid": "%s é inválido", + "too_long": "%s é muito longo", + "too_short": "%s é muito curto", + "inclusion": "%s não é um valor suportado" }, "special": { - "username_invalid": "Username must only contain alphanumeric characters and underscores", - "username_too_long": "Username is too long (can’t be longer than 30 characters)", - "email_invalid": "This is not a valid email address", - "password_too_short": "Password is too short (must be at least 8 characters)" + "username_invalid": "O nome de usuário só pode conter caracteres alfanuméricos e underlines (_)", + "username_too_long": "Nome de usuário é muito longo (não pode ter mais de 30 caracteres)", + "email_invalid": "Este não é um endereço de e-mail válido", + "password_too_short": "A senha é muito curta (deve ter pelo menos 8 caracteres)" } } }, "server_rules": { - "title": "Some ground rules.", - "subtitle": "These are set and enforced by the %s moderators.", - "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", - "terms_of_service": "terms of service", - "privacy_policy": "privacy policy", + "title": "Algumas regras básicas.", + "subtitle": "Estes são definidos e aplicados pelos moderadores da %s.", + "prompt": "Ao continuar, você estará sujeito aos termos de serviço e política de privacidade para %s.", + "terms_of_service": "termos de serviço", + "privacy_policy": "política de privacidade", "button": { - "confirm": "I Agree" + "confirm": "Eu concordo" } }, "confirm_email": { - "title": "One last thing.", - "subtitle": "Tap the link we emailed to you to verify your account.", - "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", + "title": "Uma última coisa.", + "subtitle": "Clique no link que te enviamos por e-mail para verificar a sua conta.", + "tap_the_link_we_emailed_to_you_to_verify_your_account": "Clique no link que te enviamos por e-mail para verificar a sua conta", "button": { - "open_email_app": "Open Email App", - "resend": "Resend" + "open_email_app": "Abrir aplicativo de e-mail", + "resend": "Reenviar" }, "dont_receive_email": { - "title": "Check your email", - "description": "Check if your email address is correct as well as your junk folder if you haven’t.", - "resend_email": "Resend Email" + "title": "Verifique o seu e-mail", + "description": "Verifique se o seu endereço de e-mail está correto, e também a sua pasta de spam caso não tenha verificado.", + "resend_email": "Reenviar e-mail" }, "open_email_app": { - "title": "Check your inbox.", - "description": "We just sent you an email. Check your junk folder if you haven’t.", + "title": "Verifique sua caixa de entrada.", + "description": "Enviamos um e-mail para você. Verifique sua pasta de spam caso ainda tenha verificado.", "mail": "Mail", "open_email_client": "Open Email Client" } @@ -350,12 +350,12 @@ "home_timeline": { "title": "Home", "navigation_bar_state": { - "offline": "Offline", - "new_posts": "See new posts", - "published": "Published!", - "Publishing": "Publishing post...", + "offline": "Desconectado", + "new_posts": "Ver novas postagens", + "published": "Publicado!", + "Publishing": "Publicando toot...", "accessibility": { - "logo_label": "Logo Button", + "logo_label": "Botão do logotipo", "logo_hint": "Tap to scroll to top and tap again to previous location" } } @@ -366,12 +366,12 @@ }, "compose": { "title": { - "new_post": "New Post", - "new_reply": "New Reply" + "new_post": "Novo toot", + "new_reply": "Nova resposta" }, "media_selection": { - "camera": "Take Photo", - "photo_library": "Photo Library", + "camera": "Tirar foto", + "photo_library": "Galeria", "browse": "Navegar" }, "content_input_placeholder": "Digite ou cole o que está na sua mente", @@ -418,8 +418,8 @@ "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", "post_visibility_menu": "Post Visibility Menu", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Opções de postagem", + "posting_as": "Publicando como %s" }, "keyboard": { "discard_post": "Discard Post", @@ -443,20 +443,20 @@ "add_row": "Add Row", "placeholder": { "label": "Label", - "content": "Content" + "content": "Conteúdo" } }, "segmented_control": { - "posts": "Posts", - "replies": "Replies", - "posts_and_replies": "Posts and Replies", - "media": "Media", - "about": "About" + "posts": "Toots", + "replies": "Respostas", + "posts_and_replies": "Toots e respostas", + "media": "Mídia", + "about": "Sobre" }, "relationship_action_alert": { "confirm_mute_user": { - "title": "Mute Account", - "message": "Confirm to mute %s" + "title": "Silenciar conta", + "message": "Confirme para silenciar %s" }, "confirm_unmute_user": { "title": "Unmute Account", From 520028ec4cd786b65c7f2e88de4f9e8115a67173 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 19:01:34 +0100 Subject: [PATCH 101/300] New translations app.json (Thai) --- Localization/StringsConvertor/input/th.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/th.lproj/app.json b/Localization/StringsConvertor/input/th.lproj/app.json index d90786149..55c808efa 100644 --- a/Localization/StringsConvertor/input/th.lproj/app.json +++ b/Localization/StringsConvertor/input/th.lproj/app.json @@ -385,7 +385,7 @@ "description_video": "อธิบายวิดีโอสำหรับผู้บกพร่องทางการมองเห็น...", "load_failed": "การโหลดล้มเหลว", "upload_failed": "การอัปโหลดล้มเหลว", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", + "can_not_recognize_this_media_attachment": "ไม่สามารถระบุไฟล์แนบสื่อนี้", "attachment_too_large": "ไฟล์แนบใหญ่เกินไป" }, "poll": { @@ -419,7 +419,7 @@ "disable_content_warning": "ปิดใช้งานคำเตือนเนื้อหา", "post_visibility_menu": "เมนูการมองเห็นโพสต์", "post_options": "ตัวเลือกโพสต์", - "posting_as": "Posting as %s" + "posting_as": "กำลังโพสต์เป็น %s" }, "keyboard": { "discard_post": "ละทิ้งโพสต์", From 2428c828de049d4de72973319888140773ac59d2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 19:01:35 +0100 Subject: [PATCH 102/300] New translations Localizable.stringsdict (Chinese Traditional) --- .../input/zh-Hant.lproj/Localizable.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict index 936c2d48c..d545fd6a4 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/Localizable.stringsdict @@ -47,7 +47,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + 剩餘 %#@character_count@ 字 character_count NSStringFormatSpecTypeKey @@ -55,7 +55,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 個字 plural.count.followed_by_and_mutual From 52e7442d994ee597c6a717123b0f9fecf70ebab4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 19:01:36 +0100 Subject: [PATCH 103/300] New translations Localizable.stringsdict (Portuguese, Brazilian) --- .../input/pt-BR.lproj/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict index 982e25c0b..9a72fe3bb 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict @@ -53,7 +53,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ restantes character_count NSStringFormatSpecTypeKey @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 carácter other - %ld characters + %ld carácteres plural.count.followed_by_and_mutual From 646d099abab7418725c6ee2fbfe09bf8a4b41d0e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:08 +0100 Subject: [PATCH 104/300] New translations app.json (Slovenian) --- .../StringsConvertor/input/sl.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/sl.lproj/app.json b/Localization/StringsConvertor/input/sl.lproj/app.json index 1d63d2832..7cb750c38 100644 --- a/Localization/StringsConvertor/input/sl.lproj/app.json +++ b/Localization/StringsConvertor/input/sl.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Opiši video za slabovidne in osebe z okvaro vida ...", "load_failed": "Nalaganje ni uspelo", "upload_failed": "Nalaganje na strežnik ni uspelo", - "can_not_recognize_this_media_attachment": "Te medijske priponke ni mogoče prepoznati", - "attachment_too_large": "Priponka je prevelika" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Priponka je prevelika", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Trajanje: %s", @@ -396,7 +398,9 @@ "one_day": "1 dan", "three_days": "3 dni", "seven_days": "7 dni", - "option_number": "Možnost %ld" + "option_number": "Možnost %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Tukaj zapišite opozorilo ..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Oznaka", "content": "Vsebina" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Zaznamki" } } -} +} \ No newline at end of file From cd223766f746179c7930dd01ecf25dc6fc1fef7b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:09 +0100 Subject: [PATCH 105/300] New translations app.json (Thai) --- .../StringsConvertor/input/th.lproj/app.json | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/input/th.lproj/app.json b/Localization/StringsConvertor/input/th.lproj/app.json index 55c808efa..dd5ee212c 100644 --- a/Localization/StringsConvertor/input/th.lproj/app.json +++ b/Localization/StringsConvertor/input/th.lproj/app.json @@ -299,7 +299,7 @@ }, "reason": { "blocked": "%s มีผู้ให้บริการอีเมลที่ไม่ได้รับอนุญาต", - "unreachable": "ดูเหมือนว่า %s จะไม่มีอยู่", + "unreachable": "ดูเหมือนว่าจะไม่มี %s อยู่", "taken": "%s ถูกใช้งานแล้ว", "reserved": "%s เป็นคำสงวน", "accepted": "ต้องยอมรับ %s", @@ -337,12 +337,12 @@ }, "dont_receive_email": { "title": "ตรวจสอบอีเมลของคุณ", - "description": "หากคุณยังไม่ได้รับอีเมล ตรวจสอบว่าที่อยู่อีเมลของคุณถูกต้อง รวมถึงโฟลเดอร์อีเมลขยะของคุณ", + "description": "ตรวจสอบว่าที่อยู่อีเมลของคุณถูกต้องเช่นเดียวกับโฟลเดอร์อีเมลขยะหากคุณยังไม่ได้ทำ", "resend_email": "ส่งอีเมลใหม่" }, "open_email_app": { "title": "ตรวจสอบกล่องขาเข้าของคุณ", - "description": "เราเพิ่งส่งอีเมลหาคุณ หากคุณยังไม่ได้รับอีเมล โปรดตรวจสอบโฟลเดอร์อีเมลขยะ", + "description": "เราเพิ่งส่งอีเมลถึงคุณ ตรวจสอบโฟลเดอร์อีเมลขยะของคุณหากคุณยังไม่ได้ทำ", "mail": "จดหมาย", "open_email_client": "เปิดไคลเอ็นต์อีเมล" } @@ -386,7 +386,9 @@ "load_failed": "การโหลดล้มเหลว", "upload_failed": "การอัปโหลดล้มเหลว", "can_not_recognize_this_media_attachment": "ไม่สามารถระบุไฟล์แนบสื่อนี้", - "attachment_too_large": "ไฟล์แนบใหญ่เกินไป" + "attachment_too_large": "ไฟล์แนบใหญ่เกินไป", + "compressing_state": "กำลังบีบอัด...", + "server_processing_state": "เซิร์ฟเวอร์กำลังประมวลผล..." }, "poll": { "duration_time": "ระยะเวลา: %s", @@ -396,7 +398,9 @@ "one_day": "1 วัน", "three_days": "3 วัน", "seven_days": "7 วัน", - "option_number": "ตัวเลือก %ld" + "option_number": "ตัวเลือก %ld", + "the_poll_is_invalid": "การสำรวจความคิดเห็นไม่ถูกต้อง", + "the_poll_has_empty_option": "การสำรวจความคิดเห็นมีตัวเลือกที่ว่างเปล่า" }, "content_warning": { "placeholder": "เขียนคำเตือนที่ถูกต้องที่นี่..." @@ -444,6 +448,10 @@ "placeholder": { "label": "ป้ายชื่อ", "content": "เนื้อหา" + }, + "verified": { + "short": "ตรวจสอบเมื่อ %s", + "long": "ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "ที่คั่นหน้า" } } -} +} \ No newline at end of file From 2471dfa7ece2b77b20b229a9daf012c632e170fb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:10 +0100 Subject: [PATCH 106/300] New translations app.json (Russian) --- .../StringsConvertor/input/ru.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ru.lproj/app.json b/Localization/StringsConvertor/input/ru.lproj/app.json index 1f82a35db..8505e7f42 100644 --- a/Localization/StringsConvertor/input/ru.lproj/app.json +++ b/Localization/StringsConvertor/input/ru.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Опишите видео для людей с нарушениями зрения...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Продолжительность: %s", @@ -396,7 +398,9 @@ "one_day": "1 день", "three_days": "3 дня", "seven_days": "7 дней", - "option_number": "Вариант %ld" + "option_number": "Вариант %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Напишите предупреждение здесь..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Ярлык", "content": "Содержимое" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From c61c529ee757447e046d623639417818086c6b98 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:11 +0100 Subject: [PATCH 107/300] New translations app.json (Chinese Simplified) --- .../input/zh-Hans.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json index 2bfd04c8d..c4b127914 100644 --- a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "为视觉障碍人士添加视频的文字说明...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "时长:%s", @@ -396,7 +398,9 @@ "one_day": "1 天", "three_days": "3 天", "seven_days": "7 天", - "option_number": "选项 %ld" + "option_number": "选项 %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "在这里写下内容的警告消息..." @@ -444,6 +448,10 @@ "placeholder": { "label": "标签", "content": "内容" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From cd68fd5e284aeee313dd8d545f8e9673581f6060 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:12 +0100 Subject: [PATCH 108/300] New translations app.json (English) --- .../StringsConvertor/input/en.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json index 25f06ad83..30566d8d6 100644 --- a/Localization/StringsConvertor/input/en.lproj/app.json +++ b/Localization/StringsConvertor/input/en.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 1edde4311767a49dc97f39595c777b82edae26d5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:14 +0100 Subject: [PATCH 109/300] New translations app.json (Galician) --- .../StringsConvertor/input/gl.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index 2c518c867..ee2a7cef7 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe o vídeo para persoas con problemas visuais...", "load_failed": "Fallou a carga", "upload_failed": "Erro na subida", - "can_not_recognize_this_media_attachment": "Non se recoñece o tipo de multimedia", - "attachment_too_large": "Adxunto demasiado grande" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Adxunto demasiado grande", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duración: %s", @@ -396,7 +398,9 @@ "one_day": "1 Día", "three_days": "3 Días", "seven_days": "7 Días", - "option_number": "Opción %ld" + "option_number": "Opción %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Escribe o teu aviso aquí..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Etiqueta", "content": "Contido" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Marcadores" } } -} +} \ No newline at end of file From 348577cbd6b3e541eed83eb347304805a81556a7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:15 +0100 Subject: [PATCH 110/300] New translations app.json (Portuguese, Brazilian) --- .../StringsConvertor/input/pt-BR.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index 352025595..9d20f1151 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duração: %s", @@ -396,7 +398,9 @@ "one_day": "1 dia", "three_days": "3 dias", "seven_days": "7 dias", - "option_number": "Opção %ld" + "option_number": "Opção %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Conteúdo" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From ced67536667aba4bf04586430968509f219f7423 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:16 +0100 Subject: [PATCH 111/300] New translations app.json (Indonesian) --- .../StringsConvertor/input/id.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index 91d31071b..45e072a30 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Jelaskan videonya untuk mereka yang tidak dapat melihat dengan jelas...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Durasi: %s", @@ -396,7 +398,9 @@ "one_day": "1 Hari", "three_days": "3 Hari", "seven_days": "7 Hari", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Tulis peringatan yang akurat di sini..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Isi" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 5e2e1e06346159b14210bd5754c40a272ae676c3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:17 +0100 Subject: [PATCH 112/300] New translations app.json (Spanish, Argentina) --- .../StringsConvertor/input/es-AR.lproj/app.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/es-AR.lproj/app.json b/Localization/StringsConvertor/input/es-AR.lproj/app.json index e54100c41..21934a104 100644 --- a/Localization/StringsConvertor/input/es-AR.lproj/app.json +++ b/Localization/StringsConvertor/input/es-AR.lproj/app.json @@ -386,7 +386,9 @@ "load_failed": "Falló la descarga", "upload_failed": "Falló la subida", "can_not_recognize_this_media_attachment": "No se pudo reconocer este archivo adjunto", - "attachment_too_large": "Adjunto demasiado grande" + "attachment_too_large": "Adjunto demasiado grande", + "compressing_state": "Comprimiendo…", + "server_processing_state": "Servidor procesando…" }, "poll": { "duration_time": "Duración: %s", @@ -396,7 +398,9 @@ "one_day": "1 día", "three_days": "3 días", "seven_days": "7 días", - "option_number": "Opción %ld" + "option_number": "Opción %ld", + "the_poll_is_invalid": "La encuesta no es válida", + "the_poll_has_empty_option": "La encuesta tiene opción vacía" }, "content_warning": { "placeholder": "Escribí una advertencia precisa acá…" @@ -444,6 +448,10 @@ "placeholder": { "label": "Nombre de campo", "content": "Valor de campo" + }, + "verified": { + "short": "Verificado en %s", + "long": "La propiedad de este enlace fue verificada el %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Marcadores" } } -} +} \ No newline at end of file From a2d0e1521804317e808748ea785d739872238755 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:18 +0100 Subject: [PATCH 113/300] New translations app.json (Latvian) --- .../StringsConvertor/input/lv.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/lv.lproj/app.json b/Localization/StringsConvertor/input/lv.lproj/app.json index 8a4b3e921..f21cde453 100644 --- a/Localization/StringsConvertor/input/lv.lproj/app.json +++ b/Localization/StringsConvertor/input/lv.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Diena", "three_days": "3 Dienas", "seven_days": "7 Dienas", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Saturs" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 80d830d0749c128c0e0835119ea78f4fe4e70f75 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:19 +0100 Subject: [PATCH 114/300] New translations app.json (Dutch) --- .../StringsConvertor/input/nl.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/nl.lproj/app.json b/Localization/StringsConvertor/input/nl.lproj/app.json index bc508d5b0..5241d23bf 100644 --- a/Localization/StringsConvertor/input/nl.lproj/app.json +++ b/Localization/StringsConvertor/input/nl.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Omschrijf de video voor mensen met een visuele beperking...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duur: %s", @@ -396,7 +398,9 @@ "one_day": "1 Dag", "three_days": "3 Dagen", "seven_days": "7 Dagen", - "option_number": "Optie %ld" + "option_number": "Optie %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Schrijf hier een nauwkeurige waarschuwing..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Etiket", "content": "Inhoud" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 881c48d74f064ab4064d873f6e833bd265697d17 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:20 +0100 Subject: [PATCH 115/300] New translations app.json (Hindi) --- .../StringsConvertor/input/hi.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/hi.lproj/app.json b/Localization/StringsConvertor/input/hi.lproj/app.json index 2c46d023d..ec405da4d 100644 --- a/Localization/StringsConvertor/input/hi.lproj/app.json +++ b/Localization/StringsConvertor/input/hi.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 0d1e74ae395d0bd43ac9075f64563d1e11e892aa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:21 +0100 Subject: [PATCH 116/300] New translations app.json (English, United States) --- .../StringsConvertor/input/en-US.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/en-US.lproj/app.json b/Localization/StringsConvertor/input/en-US.lproj/app.json index 25f06ad83..30566d8d6 100644 --- a/Localization/StringsConvertor/input/en-US.lproj/app.json +++ b/Localization/StringsConvertor/input/en-US.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From a068ac9efcd0ffa0057f09854e3b08f5e9e62901 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:22 +0100 Subject: [PATCH 117/300] New translations app.json (Welsh) --- .../StringsConvertor/input/cy.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/cy.lproj/app.json b/Localization/StringsConvertor/input/cy.lproj/app.json index a5de5143a..5a962d852 100644 --- a/Localization/StringsConvertor/input/cy.lproj/app.json +++ b/Localization/StringsConvertor/input/cy.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 61519750fb30dd359d46dfe5dd303dacb4e098dc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:24 +0100 Subject: [PATCH 118/300] New translations app.json (Sinhala) --- .../StringsConvertor/input/si.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/si.lproj/app.json b/Localization/StringsConvertor/input/si.lproj/app.json index 1bc8b3036..2ac50e06b 100644 --- a/Localization/StringsConvertor/input/si.lproj/app.json +++ b/Localization/StringsConvertor/input/si.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "නම්පත", "content": "අන්තර්ගතය" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 25c55ddd0612fde595e05ddb50758c5247f8ff09 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:26 +0100 Subject: [PATCH 119/300] New translations app.json (Kurmanji (Kurdish)) --- .../StringsConvertor/input/kmr.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/kmr.lproj/app.json b/Localization/StringsConvertor/input/kmr.lproj/app.json index 1fa54d8ef..6f5fc8b97 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/app.json +++ b/Localization/StringsConvertor/input/kmr.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Vîdyoyê ji bo kêmbînên dîtbar bide nasîn...", "load_failed": "Barkirin têk çû", "upload_failed": "Barkirin têk çû", - "can_not_recognize_this_media_attachment": "Nikare ev pêveka medyayê nas bike", - "attachment_too_large": "Pêvek pir mezin e" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Pêvek pir mezin e", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Dirêjî: %s", @@ -396,7 +398,9 @@ "one_day": "1 Roj", "three_days": "3 Roj", "seven_days": "7 Roj", - "option_number": "Vebijêrk %ld" + "option_number": "Vebijêrk %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Li vir hişyariyek hûrgilî binivîsine..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Nîşan", "content": "Naverok" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Şûnpel" } } -} +} \ No newline at end of file From ab5eb3c285f4013727b33bd3ad0fdd07af7b0ea9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:27 +0100 Subject: [PATCH 120/300] New translations app.json (Sorani (Kurdish)) --- .../StringsConvertor/input/ckb.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ckb.lproj/app.json b/Localization/StringsConvertor/input/ckb.lproj/app.json index b8cf48fbe..3720f555e 100644 --- a/Localization/StringsConvertor/input/ckb.lproj/app.json +++ b/Localization/StringsConvertor/input/ckb.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "ڤیدیۆکەت بۆ نابیناکان باس بکە...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "کات:‌ %s", @@ -396,7 +398,9 @@ "one_day": "1 ڕۆژ", "three_days": "3 ڕۆژ", "seven_days": "7 ڕۆژ", - "option_number": "بژاردەی %ld" + "option_number": "بژاردەی %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "ئاگادارییەکەت لێرە بنووسە..." @@ -444,6 +448,10 @@ "placeholder": { "label": "ناونیشان", "content": "ناوەڕۆک" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 88489d5cdb219ed4735fe7673b0d6fdfb8733785 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:28 +0100 Subject: [PATCH 121/300] New translations Localizable.stringsdict (French) --- .../StringsConvertor/input/fr.lproj/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict index 37f280de4..4eb068697 100644 --- a/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/fr.lproj/Localizable.stringsdict @@ -53,7 +53,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ restants character_count NSStringFormatSpecTypeKey @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 caractère other - %ld characters + %ld caractères plural.count.followed_by_and_mutual From 8b897ec6a59a64ac26977d3edc54a1242502d5cc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:29 +0100 Subject: [PATCH 122/300] New translations app.json (Portuguese) --- .../StringsConvertor/input/pt.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/pt.lproj/app.json b/Localization/StringsConvertor/input/pt.lproj/app.json index 25f06ad83..30566d8d6 100644 --- a/Localization/StringsConvertor/input/pt.lproj/app.json +++ b/Localization/StringsConvertor/input/pt.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 544a0a0ef9920b78b46b7f73a107a3dbde83baa5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:30 +0100 Subject: [PATCH 123/300] New translations app.json (Japanese) --- .../StringsConvertor/input/ja.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ja.lproj/app.json b/Localization/StringsConvertor/input/ja.lproj/app.json index a18347581..d145ff494 100644 --- a/Localization/StringsConvertor/input/ja.lproj/app.json +++ b/Localization/StringsConvertor/input/ja.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "閲覧が難しいユーザーへの映像説明", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "期間: %s", @@ -396,7 +398,9 @@ "one_day": "1日", "three_days": "3日", "seven_days": "7日", - "option_number": "オプション %ld" + "option_number": "オプション %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "ここに警告を書いてください..." @@ -444,6 +448,10 @@ "placeholder": { "label": "ラベル", "content": "コンテンツ" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From b4f41a0b682c64f6688c8ae2a2392dfcdd55fa07 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:31 +0100 Subject: [PATCH 124/300] New translations app.json (Chinese Traditional) --- .../input/zh-Hant.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json index 131bd3f37..d7d02240f 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "為視障人士提供影片說明...", "load_failed": "讀取失敗", "upload_failed": "上傳失敗", - "can_not_recognize_this_media_attachment": "無法識別此媒體附加檔案", - "attachment_too_large": "附加檔案大小過大" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "附加檔案大小過大", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "持續時間:%s", @@ -396,7 +398,9 @@ "one_day": "一天", "three_days": "三天", "seven_days": "七天", - "option_number": "選項 %ld" + "option_number": "選項 %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "請於此處寫下精準的警告..." @@ -444,6 +448,10 @@ "placeholder": { "label": "標籤", "content": "內容" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "書籤" } } -} +} \ No newline at end of file From fc001af4c3baa8ab7045e073517478d79283ec9e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:32 +0100 Subject: [PATCH 125/300] New translations app.json (Ukrainian) --- .../StringsConvertor/input/uk.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/uk.lproj/app.json b/Localization/StringsConvertor/input/uk.lproj/app.json index 25f06ad83..30566d8d6 100644 --- a/Localization/StringsConvertor/input/uk.lproj/app.json +++ b/Localization/StringsConvertor/input/uk.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 2b2d419b398e87dbb59def2ab9e72648ece254db Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:33 +0100 Subject: [PATCH 126/300] New translations app.json (Vietnamese) --- .../StringsConvertor/input/vi.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/vi.lproj/app.json b/Localization/StringsConvertor/input/vi.lproj/app.json index eb1b1c52d..345ebe85d 100644 --- a/Localization/StringsConvertor/input/vi.lproj/app.json +++ b/Localization/StringsConvertor/input/vi.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Mô tả video cho người khiếm thị...", "load_failed": "Tải thất bại", "upload_failed": "Tải lên thất bại", - "can_not_recognize_this_media_attachment": "Không xem được tập tin đính kèm", - "attachment_too_large": "Tập tin đính kèm quá lớn" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Tập tin đính kèm quá lớn", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Thời hạn: %s", @@ -396,7 +398,9 @@ "one_day": "1 ngày", "three_days": "3 ngày", "seven_days": "7 ngày", - "option_number": "Lựa chọn %ld" + "option_number": "Lựa chọn %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Viết nội dung ẩn của bạn ở đây..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Nhãn", "content": "Nội dung" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Tút đã lưu" } } -} +} \ No newline at end of file From b6efb7cb3e3216429b2969c4e7e5b128de673be7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:34 +0100 Subject: [PATCH 127/300] New translations app.json (Kabyle) --- .../StringsConvertor/input/kab.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/kab.lproj/app.json b/Localization/StringsConvertor/input/kab.lproj/app.json index 194a2c681..713cc8959 100644 --- a/Localization/StringsConvertor/input/kab.lproj/app.json +++ b/Localization/StringsConvertor/input/kab.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Glem-d tavidyut i wid yesɛan ugur deg yiẓri...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Tangazt: %s", @@ -396,7 +398,9 @@ "one_day": "1 n wass", "three_days": "3 n wussan", "seven_days": "7 n wussan", - "option_number": "Taxtiṛt %ld" + "option_number": "Taxtiṛt %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Aru alɣu-inek s telqeyt da..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Tabzimt", "content": "Agbur" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 3b311f8a338e9149db109d4e5a90657cb6c546e2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:35 +0100 Subject: [PATCH 128/300] New translations app.json (Korean) --- .../StringsConvertor/input/ko.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ko.lproj/app.json b/Localization/StringsConvertor/input/ko.lproj/app.json index fa40d14a7..2c4316f07 100644 --- a/Localization/StringsConvertor/input/ko.lproj/app.json +++ b/Localization/StringsConvertor/input/ko.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "시각장애인을 위한 영상 설명…", "load_failed": "불러오기 실패", "upload_failed": "업로드 실패", - "can_not_recognize_this_media_attachment": "이 미디어 첨부파일을 인식할 수 없습니다", - "attachment_too_large": "첨부파일이 너무 큽니다" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "첨부파일이 너무 큽니다", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "기간: %s", @@ -396,7 +398,9 @@ "one_day": "1일", "three_days": "3일", "seven_days": "7일", - "option_number": "옵션 %ld" + "option_number": "옵션 %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "정확한 경고 문구를 여기에 작성하세요…" @@ -444,6 +448,10 @@ "placeholder": { "label": "라벨", "content": "내용" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 11960613f2c32185fe88ec33088f20b51d2e3cb0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:36 +0100 Subject: [PATCH 129/300] New translations app.json (Swedish) --- .../StringsConvertor/input/sv.lproj/app.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/sv.lproj/app.json b/Localization/StringsConvertor/input/sv.lproj/app.json index 938134eaa..6375771ff 100644 --- a/Localization/StringsConvertor/input/sv.lproj/app.json +++ b/Localization/StringsConvertor/input/sv.lproj/app.json @@ -386,7 +386,9 @@ "load_failed": "Det gick inte att läsa in", "upload_failed": "Uppladdning misslyckades", "can_not_recognize_this_media_attachment": "Känner inte igen mediebilagan", - "attachment_too_large": "Bilagan är för stor" + "attachment_too_large": "Bilagan är för stor", + "compressing_state": "Komprimerar...", + "server_processing_state": "Behandlas av servern..." }, "poll": { "duration_time": "Längd: %s", @@ -396,7 +398,9 @@ "one_day": "1 dag", "three_days": "3 dagar", "seven_days": "7 dagar", - "option_number": "Alternativ %ld" + "option_number": "Alternativ %ld", + "the_poll_is_invalid": "Undersökningen är ogiltig", + "the_poll_has_empty_option": "Undersökningen har ett tomt alternativ" }, "content_warning": { "placeholder": "Skriv en noggrann varning här..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Etikett", "content": "Innehåll" + }, + "verified": { + "short": "Verifierad på %s", + "long": "Ägarskap för denna länk kontrollerades den %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bokmärken" } } -} +} \ No newline at end of file From 807ec62d4134213b70267c5d226ecb07a10e801f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:37 +0100 Subject: [PATCH 130/300] New translations app.json (French) --- .../StringsConvertor/input/fr.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/fr.lproj/app.json b/Localization/StringsConvertor/input/fr.lproj/app.json index 674d0f8ca..f35ce4483 100644 --- a/Localization/StringsConvertor/input/fr.lproj/app.json +++ b/Localization/StringsConvertor/input/fr.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Décrire cette vidéo pour les personnes malvoyantes...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Durée: %s", @@ -396,7 +398,9 @@ "one_day": "1 Jour", "three_days": "3 jour", "seven_days": "7 jour", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Écrivez un avertissement précis ici..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Étiquette", "content": "Contenu" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Favoris" } } -} +} \ No newline at end of file From c7964c0e401eccbffb29f66c9acc6da0c29476d7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:39 +0100 Subject: [PATCH 131/300] New translations app.json (Turkish) --- .../StringsConvertor/input/tr.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/tr.lproj/app.json b/Localization/StringsConvertor/input/tr.lproj/app.json index f363e3ab6..27ebf6e0a 100644 --- a/Localization/StringsConvertor/input/tr.lproj/app.json +++ b/Localization/StringsConvertor/input/tr.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Görme engelliler için videoyu tarif edin...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Süre: %s", @@ -396,7 +398,9 @@ "one_day": "1 Gün", "three_days": "3 Gün", "seven_days": "7 Gün", - "option_number": "Seçenek %ld" + "option_number": "Seçenek %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Buraya kesin bir uyarı yazın..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Etiket", "content": "İçerik" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 8b7ee10642b08f96f08016c0d7a62b1ca62c4007 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:40 +0100 Subject: [PATCH 132/300] New translations app.json (Czech) --- .../StringsConvertor/input/cs.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/cs.lproj/app.json b/Localization/StringsConvertor/input/cs.lproj/app.json index 02e7f5cec..5e742009e 100644 --- a/Localization/StringsConvertor/input/cs.lproj/app.json +++ b/Localization/StringsConvertor/input/cs.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Popište video pro zrakově postižené...", "load_failed": "Načtení se nezdařilo", "upload_failed": "Nahrání selhalo", - "can_not_recognize_this_media_attachment": "Nelze rozpoznat toto medium přílohy", - "attachment_too_large": "Příloha je příliš velká" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Příloha je příliš velká", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Doba trvání: %s", @@ -396,7 +398,9 @@ "one_day": "1 den", "three_days": "3 dny", "seven_days": "7 dní", - "option_number": "Možnost %ld" + "option_number": "Možnost %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Zde napište přesné varování..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Označení", "content": "Obsah" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Záložky" } } -} +} \ No newline at end of file From f15baea19e567dc6ed652a037e92385c8fb66734 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:41 +0100 Subject: [PATCH 133/300] New translations app.json (Scottish Gaelic) --- .../StringsConvertor/input/gd.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/gd.lproj/app.json b/Localization/StringsConvertor/input/gd.lproj/app.json index 214279887..6a575afc2 100644 --- a/Localization/StringsConvertor/input/gd.lproj/app.json +++ b/Localization/StringsConvertor/input/gd.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Mìnich a’ video dhan fheadhainn air a bheil cion-lèirsinne…", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Faide: %s", @@ -396,7 +398,9 @@ "one_day": "Latha", "three_days": "3 làithean", "seven_days": "Seachdain", - "option_number": "Roghainn %ld" + "option_number": "Roghainn %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Sgrìobh rabhadh pongail an-seo…" @@ -444,6 +448,10 @@ "placeholder": { "label": "Leubail", "content": "Susbaint" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From d2843d8a1c30ec135f7f35f5b6ac0ac9bf60fcfd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:42 +0100 Subject: [PATCH 134/300] New translations app.json (Italian) --- .../StringsConvertor/input/it.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/it.lproj/app.json b/Localization/StringsConvertor/input/it.lproj/app.json index f5e8d9293..108de5506 100644 --- a/Localization/StringsConvertor/input/it.lproj/app.json +++ b/Localization/StringsConvertor/input/it.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Descrivi il filmato per gli utenti ipovedenti...", "load_failed": "Caricamento fallito", "upload_failed": "Caricamento fallito", - "can_not_recognize_this_media_attachment": "Impossibile riconoscere questo allegato multimediale", - "attachment_too_large": "Allegato troppo grande" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Allegato troppo grande", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Durata: %s", @@ -396,7 +398,9 @@ "one_day": "1 giorno", "three_days": "3 giorni", "seven_days": "7 giorni", - "option_number": "Opzione %ld" + "option_number": "Opzione %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Scrivi un avviso accurato qui..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Etichetta", "content": "Contenuto" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Segnalibri" } } -} +} \ No newline at end of file From 3f077bc77825680d7941633319f19b9953336c83 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:43 +0100 Subject: [PATCH 135/300] New translations app.json (Romanian) --- .../StringsConvertor/input/ro.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ro.lproj/app.json b/Localization/StringsConvertor/input/ro.lproj/app.json index e50c741b6..18fcb023b 100644 --- a/Localization/StringsConvertor/input/ro.lproj/app.json +++ b/Localization/StringsConvertor/input/ro.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 86a08221b86b5a65751432cbe5850647e661717c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:44 +0100 Subject: [PATCH 136/300] New translations app.json (Spanish) --- .../StringsConvertor/input/es.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/es.lproj/app.json b/Localization/StringsConvertor/input/es.lproj/app.json index 5398df49f..a7500e27f 100644 --- a/Localization/StringsConvertor/input/es.lproj/app.json +++ b/Localization/StringsConvertor/input/es.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe el vídeo para los usuarios con dificultad visual...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duración: %s", @@ -396,7 +398,9 @@ "one_day": "1 Día", "three_days": "4 Días", "seven_days": "7 Días", - "option_number": "Opción %ld" + "option_number": "Opción %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Escribe una advertencia precisa aquí..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Nombre para el campo", "content": "Contenido" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 4bd7bde994f179a39eec2f8be721b9fa51fd61e1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:45 +0100 Subject: [PATCH 137/300] New translations app.json (Arabic) --- .../StringsConvertor/input/ar.lproj/app.json | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ar.lproj/app.json b/Localization/StringsConvertor/input/ar.lproj/app.json index ebea98b0c..c28962a0f 100644 --- a/Localization/StringsConvertor/input/ar.lproj/app.json +++ b/Localization/StringsConvertor/input/ar.lproj/app.json @@ -383,10 +383,12 @@ "attachment_broken": "هذا ال%s مُعطَّل\nويتعذَّرُ رفعُه إلى ماستودون.", "description_photo": "صِف الصورة للمَكفوفين...", "description_video": "صِف المقطع المرئي للمَكفوفين...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "load_failed": "فَشَلَ التَّحميل", + "upload_failed": "فَشَلَ الرَّفع", + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "المُرفَق كَبيرٌ جِدًّا", + "compressing_state": "يجري الضغط...", + "server_processing_state": "مُعالجة الخادم جارِيَة..." }, "poll": { "duration_time": "المُدَّة: %s", @@ -396,7 +398,9 @@ "one_day": "يومٌ واحِد", "three_days": "ثلاثةُ أيام", "seven_days": "سبعةُ أيام", - "option_number": "الخيار %ld" + "option_number": "الخيار %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "اكتب تَحذيرًا دَقيقًا هُنا..." @@ -419,7 +423,7 @@ "disable_content_warning": "تعطيل تحذير المُحتَوى", "post_visibility_menu": "قائمة ظهور المنشور", "post_options": "Post Options", - "posting_as": "Posting as %s" + "posting_as": "نَشر كَـ %s" }, "keyboard": { "discard_post": "تجاهُل المنشور", @@ -444,6 +448,10 @@ "placeholder": { "label": "التسمية", "content": "المُحتَوى" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "العَلاماتُ المَرجعيَّة" } } -} +} \ No newline at end of file From 60a082577315d2f3b7fc4d0323b9ff47d33bd11d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:46 +0100 Subject: [PATCH 138/300] New translations app.json (Catalan) --- .../StringsConvertor/input/ca.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ca.lproj/app.json b/Localization/StringsConvertor/input/ca.lproj/app.json index e75aa9ff8..35dd58746 100644 --- a/Localization/StringsConvertor/input/ca.lproj/app.json +++ b/Localization/StringsConvertor/input/ca.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Descriu el vídeo per als disminuïts visuals...", "load_failed": "Ha fallat la càrrega", "upload_failed": "Pujada fallida", - "can_not_recognize_this_media_attachment": "No es pot reconèixer l'adjunt multimèdia", - "attachment_too_large": "El fitxer adjunt és massa gran" + "can_not_recognize_this_media_attachment": "No es pot reconèixer aquest adjunt multimèdia", + "attachment_too_large": "El fitxer adjunt és massa gran", + "compressing_state": "Comprimint...", + "server_processing_state": "Servidor processant..." }, "poll": { "duration_time": "Durada: %s", @@ -396,7 +398,9 @@ "one_day": "1 Dia", "three_days": "3 Dies", "seven_days": "7 Dies", - "option_number": "Opció %ld" + "option_number": "Opció %ld", + "the_poll_is_invalid": "L'enquesta no és vàlida", + "the_poll_has_empty_option": "L'enquesta té una opció buida" }, "content_warning": { "placeholder": "Escriu un advertiment precís aquí..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Etiqueta", "content": "Contingut" + }, + "verified": { + "short": "Verificat a %s", + "long": "La propietat d'aquest enllaç es va verificar el dia %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Marcadors" } } -} +} \ No newline at end of file From 50b4919a994b9c6bc3988b6bd5ebe11818e436b9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:47 +0100 Subject: [PATCH 139/300] New translations app.json (Danish) --- .../StringsConvertor/input/da.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/da.lproj/app.json b/Localization/StringsConvertor/input/da.lproj/app.json index 25f06ad83..30566d8d6 100644 --- a/Localization/StringsConvertor/input/da.lproj/app.json +++ b/Localization/StringsConvertor/input/da.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Describe the video for the visually-impaired...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Duration: %s", @@ -396,7 +398,9 @@ "one_day": "1 Day", "three_days": "3 Days", "seven_days": "7 Days", - "option_number": "Option %ld" + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Write an accurate warning here..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 50f971ae5ac44677f238be20162511886baea9bf Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:48 +0100 Subject: [PATCH 140/300] New translations app.json (German) --- .../StringsConvertor/input/de.lproj/app.json | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/de.lproj/app.json b/Localization/StringsConvertor/input/de.lproj/app.json index ce5dc4d3a..2fdfb494e 100644 --- a/Localization/StringsConvertor/input/de.lproj/app.json +++ b/Localization/StringsConvertor/input/de.lproj/app.json @@ -386,7 +386,9 @@ "load_failed": "Laden fehlgeschlagen", "upload_failed": "Upload fehlgeschlagen", "can_not_recognize_this_media_attachment": "Medienanhang wurde nicht erkannt", - "attachment_too_large": "Anhang zu groß" + "attachment_too_large": "Anhang zu groß", + "compressing_state": "Komprimieren...", + "server_processing_state": "Serververarbeitung..." }, "poll": { "duration_time": "Dauer: %s", @@ -396,7 +398,9 @@ "one_day": "1 Tag", "three_days": "3 Tage", "seven_days": "7 Tage", - "option_number": "Auswahlmöglichkeit %ld" + "option_number": "Auswahlmöglichkeit %ld", + "the_poll_is_invalid": "Die Umfrage ist ungültig", + "the_poll_has_empty_option": "Die Umfrage hat eine leere Option" }, "content_warning": { "placeholder": "Schreibe eine Inhaltswarnung hier..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Bezeichnung", "content": "Inhalt" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Lesezeichen" } } -} +} \ No newline at end of file From 8c0619d54d92d60fb5ef4c01cd2cc50f1696ec87 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:49 +0100 Subject: [PATCH 141/300] New translations app.json (Basque) --- .../StringsConvertor/input/eu.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/eu.lproj/app.json b/Localization/StringsConvertor/input/eu.lproj/app.json index c4cecfe59..9f5e925c6 100644 --- a/Localization/StringsConvertor/input/eu.lproj/app.json +++ b/Localization/StringsConvertor/input/eu.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Deskribatu bideoa ikusmen arazoak dituztenentzat...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Iraupena: %s", @@ -396,7 +398,9 @@ "one_day": "Egun 1", "three_days": "3 egun", "seven_days": "7 egun", - "option_number": "%ld aukera" + "option_number": "%ld aukera", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Idatzi abisu zehatz bat hemen..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Etiketa", "content": "Edukia" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From 3c1679239c43c022342ecd784f5dfa392e1bbcf6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:50 +0100 Subject: [PATCH 142/300] New translations app.json (Finnish) --- .../StringsConvertor/input/fi.lproj/app.json | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/fi.lproj/app.json b/Localization/StringsConvertor/input/fi.lproj/app.json index b98167c35..febfee2ca 100644 --- a/Localization/StringsConvertor/input/fi.lproj/app.json +++ b/Localization/StringsConvertor/input/fi.lproj/app.json @@ -385,8 +385,10 @@ "description_video": "Kuvaile video näkövammaisille...", "load_failed": "Load Failed", "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not regonize this media attachment", - "attachment_too_large": "Attachment too large" + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." }, "poll": { "duration_time": "Kesto: %s", @@ -396,7 +398,9 @@ "one_day": "1 päivä", "three_days": "3 päivää", "seven_days": "7 päivää", - "option_number": "Vaihtoehto %ld" + "option_number": "Vaihtoehto %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { "placeholder": "Kirjoita tarkka varoitus tähän..." @@ -444,6 +448,10 @@ "placeholder": { "label": "Nimi", "content": "Sisältö" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { @@ -711,4 +719,4 @@ "title": "Bookmarks" } } -} +} \ No newline at end of file From e2c120a72f65bdd85ce47ee80e0d86a05c23dc57 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 20:02:51 +0100 Subject: [PATCH 143/300] New translations Localizable.stringsdict (Arabic) --- .../input/ar.lproj/Localizable.stringsdict | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict index a65082272..91368a4fb 100644 --- a/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ar.lproj/Localizable.stringsdict @@ -85,17 +85,17 @@ NSStringFormatValueTypeKey ld zero - %ld characters + لَا حَرف one - 1 character + حَرفٌ واحِد two - %ld characters + حَرفانِ اِثنان few %ld characters many %ld characters other - %ld characters + %ld حَرف plural.count.followed_by_and_mutual From eaa1358a229647ee89cc6772dc4afa23f5e7ec5f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 21:11:37 +0100 Subject: [PATCH 144/300] New translations app.json (Italian) --- .../StringsConvertor/input/it.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/it.lproj/app.json b/Localization/StringsConvertor/input/it.lproj/app.json index 108de5506..c0d33a73b 100644 --- a/Localization/StringsConvertor/input/it.lproj/app.json +++ b/Localization/StringsConvertor/input/it.lproj/app.json @@ -385,10 +385,10 @@ "description_video": "Descrivi il filmato per gli utenti ipovedenti...", "load_failed": "Caricamento fallito", "upload_failed": "Caricamento fallito", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "Impossibile riconoscere questo allegato multimediale", "attachment_too_large": "Allegato troppo grande", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "compressing_state": "Compressione in corso...", + "server_processing_state": "Elaborazione del server in corso..." }, "poll": { "duration_time": "Durata: %s", @@ -399,8 +399,8 @@ "three_days": "3 giorni", "seven_days": "7 giorni", "option_number": "Opzione %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "Il sondaggio non è valido", + "the_poll_has_empty_option": "Il sondaggio ha un'opzione vuota" }, "content_warning": { "placeholder": "Scrivi un avviso accurato qui..." @@ -450,8 +450,8 @@ "content": "Contenuto" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Verificato il %s", + "long": "La proprietà di questo collegamento è stata verificata il %s" } }, "segmented_control": { From 945983c326686891b5330653316e5d22586e99f6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 22:27:48 +0100 Subject: [PATCH 145/300] New translations app.json (Czech) --- .../StringsConvertor/input/cs.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/cs.lproj/app.json b/Localization/StringsConvertor/input/cs.lproj/app.json index 5e742009e..d6624a26b 100644 --- a/Localization/StringsConvertor/input/cs.lproj/app.json +++ b/Localization/StringsConvertor/input/cs.lproj/app.json @@ -385,10 +385,10 @@ "description_video": "Popište video pro zrakově postižené...", "load_failed": "Načtení se nezdařilo", "upload_failed": "Nahrání selhalo", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "Nelze rozpoznat toto medium přílohy", "attachment_too_large": "Příloha je příliš velká", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "compressing_state": "Probíhá komprese...", + "server_processing_state": "Zpracování serveru..." }, "poll": { "duration_time": "Doba trvání: %s", @@ -399,8 +399,8 @@ "three_days": "3 dny", "seven_days": "7 dní", "option_number": "Možnost %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "Anketa je neplatná", + "the_poll_has_empty_option": "Anketa má prázdnou možnost" }, "content_warning": { "placeholder": "Zde napište přesné varování..." @@ -450,8 +450,8 @@ "content": "Obsah" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Ověřeno na %s", + "long": "Vlastnictví tohoto odkazu bylo zkontrolováno na %s" } }, "segmented_control": { From 009d4e6aa9a495fbac40b6647c04a7835a7c6e63 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 22:27:49 +0100 Subject: [PATCH 146/300] New translations app.json (German) --- Localization/StringsConvertor/input/de.lproj/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/de.lproj/app.json b/Localization/StringsConvertor/input/de.lproj/app.json index 2fdfb494e..54bb81973 100644 --- a/Localization/StringsConvertor/input/de.lproj/app.json +++ b/Localization/StringsConvertor/input/de.lproj/app.json @@ -451,7 +451,7 @@ }, "verified": { "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "long": "Besitz des Links wurde überprüft am %s" } }, "segmented_control": { From 303237743bcb582a5f551e1c804e5709d4eaea57 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 22:27:50 +0100 Subject: [PATCH 147/300] New translations Localizable.stringsdict (Czech) --- .../input/cs.lproj/Localizable.stringsdict | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict index 805ac70f2..6e44e9f0a 100644 --- a/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict @@ -73,13 +73,13 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 znak few - %ld characters + %ld znaky many - %ld characters + %ld znaků other - %ld characters + %ld znaků plural.count.followed_by_and_mutual @@ -308,13 +308,13 @@ NSStringFormatValueTypeKey ld one - 1 following + 1 sledující few - %ld following + %ld sledující many - %ld following + %ld sledujících other - %ld following + %ld sledujících plural.count.follower @@ -348,13 +348,13 @@ NSStringFormatValueTypeKey ld one - 1 year left + Zbývá 1 rok few - %ld years left + Zbývají %ld roky many - %ld years left + Zbývá %ld roků other - %ld years left + Zbývá %ld roků date.month.left @@ -368,7 +368,7 @@ NSStringFormatValueTypeKey ld one - 1 months left + Zbývá 1 měsíc few %ld months left many From 8775227aaf1d87cf86306910329005328c04c92d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 23:36:39 +0100 Subject: [PATCH 148/300] New translations app.json (Slovenian) --- .../StringsConvertor/input/sl.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/sl.lproj/app.json b/Localization/StringsConvertor/input/sl.lproj/app.json index 7cb750c38..5f79ef02a 100644 --- a/Localization/StringsConvertor/input/sl.lproj/app.json +++ b/Localization/StringsConvertor/input/sl.lproj/app.json @@ -385,10 +385,10 @@ "description_video": "Opiši video za slabovidne in osebe z okvaro vida ...", "load_failed": "Nalaganje ni uspelo", "upload_failed": "Nalaganje na strežnik ni uspelo", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "Te medijske priponke ni mogoče prepoznati", "attachment_too_large": "Priponka je prevelika", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "compressing_state": "Stiskanje ...", + "server_processing_state": "Obdelovanje na strežniku ..." }, "poll": { "duration_time": "Trajanje: %s", @@ -399,8 +399,8 @@ "three_days": "3 dni", "seven_days": "7 dni", "option_number": "Možnost %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "Anketa je neveljavna", + "the_poll_has_empty_option": "Anketa ima prazno izbiro" }, "content_warning": { "placeholder": "Tukaj zapišite opozorilo ..." @@ -450,8 +450,8 @@ "content": "Vsebina" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Preverjeno %s", + "long": "Lastništvo te povezave je bilo preverjeno %s" } }, "segmented_control": { From 35f6732ad924b9d56ceb2f253d31d164890882a4 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 14 Nov 2022 20:10:05 -0500 Subject: [PATCH 149/300] update generated files --- .../StringsConvertor/input/Base.lproj/app.json | 4 ++++ .../MastodonLocalization/Generated/Strings.swift | 12 ++++++------ .../Resources/Base.lproj/Localizable.strings | 2 ++ .../Resources/en.lproj/Localizable.strings | 4 +--- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Localization/StringsConvertor/input/Base.lproj/app.json b/Localization/StringsConvertor/input/Base.lproj/app.json index c40c0a39e..30566d8d6 100644 --- a/Localization/StringsConvertor/input/Base.lproj/app.json +++ b/Localization/StringsConvertor/input/Base.lproj/app.json @@ -448,6 +448,10 @@ "placeholder": { "label": "Label", "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" } }, "segmented_control": { diff --git a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift index 65a97c615..1ad98b0ea 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift +++ b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift @@ -742,13 +742,13 @@ public enum L10n { public static let label = L10n.tr("Localizable", "Scene.Profile.Fields.Placeholder.Label", fallback: "Label") } public enum Verified { - /// Ownership of this link was checked on %s - public static func long(_ p1: UnsafePointer) -> String { - return L10n.tr("Localizable", "Scene.Profile.Fields.Verified.Long", p1) + /// Ownership of this link was checked on %@ + public static func long(_ p1: Any) -> String { + return L10n.tr("Localizable", "Scene.Profile.Fields.Verified.Long", String(describing: p1), fallback: "Ownership of this link was checked on %@") } - /// Verified at %s - public static func short(_ p1: UnsafePointer) -> String { - return L10n.tr("Localizable", "Scene.Profile.Fields.Verified.Short", p1) + /// Verified on %@ + public static func short(_ p1: Any) -> String { + return L10n.tr("Localizable", "Scene.Profile.Fields.Verified.Short", String(describing: p1), fallback: "Verified on %@") } } } diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/Base.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/Base.lproj/Localizable.strings index a352b0526..73bc292cf 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/Base.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/Base.lproj/Localizable.strings @@ -267,6 +267,8 @@ uploaded to Mastodon."; "Scene.Profile.Fields.AddRow" = "Add Row"; "Scene.Profile.Fields.Placeholder.Content" = "Content"; "Scene.Profile.Fields.Placeholder.Label" = "Label"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index e269a45a7..07ccd2c1b 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -263,8 +263,6 @@ uploaded to Mastodon."; "Scene.Profile.Fields.AddRow" = "Add Row"; "Scene.Profile.Fields.Placeholder.Content" = "Content"; "Scene.Profile.Fields.Placeholder.Label" = "Label"; -"Scene.Profile.Fields.Verified.Short" = "Verified at %s"; -"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %s"; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; @@ -456,4 +454,4 @@ uploaded to Mastodon."; back in your hands."; "Scene.Wizard.AccessibilityHint" = "Double tap to dismiss this wizard"; "Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Switch between multiple accounts by holding the profile button."; -"Scene.Wizard.NewInMastodon" = "New in Mastodon"; +"Scene.Wizard.NewInMastodon" = "New in Mastodon"; \ No newline at end of file From ac28c2ee4f4d24fcab5d0442f2ea0e4eed12e910 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 14 Nov 2022 20:44:47 -0500 Subject: [PATCH 150/300] Add Live Text support to MediaPreviewImageView --- .../Image/MediaPreviewImageView.swift | 45 +++++++++++++++++-- .../MediaPreviewImageViewController.swift | 42 ++++++++++++++++- .../MastodonExtension/ImageAnalyzer.swift | 13 ++++++ 3 files changed, 94 insertions(+), 6 deletions(-) create mode 100644 MastodonSDK/Sources/MastodonExtension/ImageAnalyzer.swift diff --git a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift index 05f2ce70f..cc31a9639 100644 --- a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift +++ b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift @@ -9,6 +9,7 @@ import os.log import func AVFoundation.AVMakeRect import UIKit import FLAnimatedImage +import VisionKit final class MediaPreviewImageView: UIScrollView { @@ -28,9 +29,21 @@ final class MediaPreviewImageView: UIScrollView { tapGestureRecognizer.numberOfTapsRequired = 2 return tapGestureRecognizer }() - + private var containerFrame: CGRect? - + + private var _interaction: UIInteraction? = { + if #available(iOS 16.0, *) { + return ImageAnalysisInteraction() + } else { + return nil + } + }() + @available(iOS 16.0, *) + var liveTextInteraction: ImageAnalysisInteraction { + _interaction as! ImageAnalysisInteraction + } + override init(frame: CGRect) { super.init(frame: frame) _init() @@ -55,10 +68,14 @@ extension MediaPreviewImageView { maximumZoomScale = 4.0 addSubview(imageView) - + doubleTapGestureRecognizer.addTarget(self, action: #selector(MediaPreviewImageView.doubleTapGestureRecognizerHandler(_:))) imageView.addGestureRecognizer(doubleTapGestureRecognizer) - + if #available(iOS 16.0, *) { + liveTextInteraction.isSupplementaryInterfaceHidden = true + imageView.addInteraction(liveTextInteraction) + } + delegate = self } @@ -129,6 +146,26 @@ extension MediaPreviewImageView { centerScrollViewContents() contentOffset = CGPoint(x: -contentInset.left, y: -contentInset.top) + + if #available(iOS 16.0, *) { + Task.detached(priority: .userInitiated) { + do { + let analysis = try await ImageAnalyzer.shared.analyze(image, configuration: ImageAnalyzer.Configuration([.text, .machineReadableCode])) + await MainActor.run { + self.liveTextInteraction.analysis = analysis + self.liveTextInteraction.preferredInteractionTypes = .automatic + if self.liveTextInteraction.isSupplementaryInterfaceHidden { + self.liveTextInteraction.setSupplementaryInterfaceHidden(false, animated: true) + } + + } + } catch { + await MainActor.run { + self.liveTextInteraction.preferredInteractionTypes = [] + } + } + } + } os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: setup image for container %s", ((#file as NSString).lastPathComponent), #line, #function, container.frame.debugDescription) } diff --git a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift index 127c4c0c0..1c00b3907 100644 --- a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift +++ b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift @@ -11,6 +11,7 @@ import Combine import MastodonAsset import MastodonLocalization import FLAnimatedImage +import VisionKit protocol MediaPreviewImageViewControllerDelegate: AnyObject { func mediaPreviewImageViewController(_ viewController: MediaPreviewImageViewController, tapGestureRecognizerDidTrigger tapGestureRecognizer: UITapGestureRecognizer) @@ -31,7 +32,7 @@ final class MediaPreviewImageViewController: UIViewController { let tapGestureRecognizer = UITapGestureRecognizer.singleTapGestureRecognizer let longPressGestureRecognizer = UILongPressGestureRecognizer() - + deinit { os_log("%{public}s[%{public}ld], %{public}s", ((#file as NSString).lastPathComponent), #line, #function) previewImageView.imageView.af.cancelImageRequest() @@ -42,7 +43,10 @@ extension MediaPreviewImageViewController { override func viewDidLoad() { super.viewDidLoad() - + + if #available(iOS 16.0, *) { + previewImageView.liveTextInteraction.delegate = self + } previewImageView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(previewImageView) NSLayoutConstraint.activate([ @@ -53,7 +57,9 @@ extension MediaPreviewImageViewController { ]) tapGestureRecognizer.addTarget(self, action: #selector(MediaPreviewImageViewController.tapGestureRecognizerHandler(_:))) + tapGestureRecognizer.delegate = self longPressGestureRecognizer.addTarget(self, action: #selector(MediaPreviewImageViewController.longPressGestureRecognizerHandler(_:))) + longPressGestureRecognizer.delegate = self tapGestureRecognizer.require(toFail: previewImageView.doubleTapGestureRecognizer) tapGestureRecognizer.require(toFail: longPressGestureRecognizer) previewImageView.addGestureRecognizer(tapGestureRecognizer) @@ -105,10 +111,42 @@ extension MediaPreviewImageViewController { } +// MARK: - ImageAnalysisInteractionDelegate +@available(iOS 16.0, *) +extension MediaPreviewImageViewController: ImageAnalysisInteractionDelegate { + func contentView(for interaction: ImageAnalysisInteraction) -> UIView? { + view + } + + func presentingViewController(for interaction: ImageAnalysisInteraction) -> UIViewController? { + self + } +} + +// MARK: - UIGestureRecognizerDelegate +extension MediaPreviewImageViewController: UIGestureRecognizerDelegate { + func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool { + if #available(iOS 16.0, *) { + let location = touch.location(in: previewImageView.imageView) + let hasItem = previewImageView.liveTextInteraction.hasInteractiveItem(at: location) + return !hasItem + } else { + return true + } + } +} + // MARK: - UIContextMenuInteractionDelegate extension MediaPreviewImageViewController: UIContextMenuInteractionDelegate { func contextMenuInteraction(_ interaction: UIContextMenuInteraction, configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? { os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s", ((#file as NSString).lastPathComponent), #line, #function) + + if #available(iOS 16.0, *) { + if previewImageView.liveTextInteraction.hasInteractiveItem(at: previewImageView.imageView.convert(location, from: previewImageView)) { + return nil + } + } + let previewProvider: UIContextMenuContentPreviewProvider = { () -> UIViewController? in return nil diff --git a/MastodonSDK/Sources/MastodonExtension/ImageAnalyzer.swift b/MastodonSDK/Sources/MastodonExtension/ImageAnalyzer.swift new file mode 100644 index 000000000..cf8a0f437 --- /dev/null +++ b/MastodonSDK/Sources/MastodonExtension/ImageAnalyzer.swift @@ -0,0 +1,13 @@ +// +// ImageAnalyzer.swift +// +// +// Created by Jed Fox on 2022-11-14. +// + +import VisionKit + +@available(iOS 16.0, *) +extension ImageAnalyzer { + public static let shared = ImageAnalyzer() +} From 24e9e1b536e37a9640b0510fbcd9696430c50a0f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 03:10:47 +0100 Subject: [PATCH 151/300] New translations app.json (Vietnamese) --- .../StringsConvertor/input/vi.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/vi.lproj/app.json b/Localization/StringsConvertor/input/vi.lproj/app.json index 345ebe85d..ff751d964 100644 --- a/Localization/StringsConvertor/input/vi.lproj/app.json +++ b/Localization/StringsConvertor/input/vi.lproj/app.json @@ -385,10 +385,10 @@ "description_video": "Mô tả video cho người khiếm thị...", "load_failed": "Tải thất bại", "upload_failed": "Tải lên thất bại", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "Không xem được tập tin đính kèm", "attachment_too_large": "Tập tin đính kèm quá lớn", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "compressing_state": "Đang nén...", + "server_processing_state": "Máy chủ đang xử lý..." }, "poll": { "duration_time": "Thời hạn: %s", @@ -399,8 +399,8 @@ "three_days": "3 ngày", "seven_days": "7 ngày", "option_number": "Lựa chọn %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "Bình chọn không hợp lệ", + "the_poll_has_empty_option": "Thiếu lựa chọn" }, "content_warning": { "placeholder": "Viết nội dung ẩn của bạn ở đây..." @@ -450,8 +450,8 @@ "content": "Nội dung" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Đã xác minh %s", + "long": "Liên kết này đã được xác minh trên %s" } }, "segmented_control": { From 5277ec191bb26b3e2ea87bf7cd28360e6ae1bc5f Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 14 Nov 2022 21:50:38 -0500 Subject: [PATCH 152/300] Drop attempt to fade in the supplementary interface sometimes it just stayed hidden? --- .../Scene/MediaPreview/Image/MediaPreviewImageView.swift | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift index cc31a9639..8432ddade 100644 --- a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift +++ b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageView.swift @@ -72,7 +72,6 @@ extension MediaPreviewImageView { doubleTapGestureRecognizer.addTarget(self, action: #selector(MediaPreviewImageView.doubleTapGestureRecognizerHandler(_:))) imageView.addGestureRecognizer(doubleTapGestureRecognizer) if #available(iOS 16.0, *) { - liveTextInteraction.isSupplementaryInterfaceHidden = true imageView.addInteraction(liveTextInteraction) } @@ -154,10 +153,6 @@ extension MediaPreviewImageView { await MainActor.run { self.liveTextInteraction.analysis = analysis self.liveTextInteraction.preferredInteractionTypes = .automatic - if self.liveTextInteraction.isSupplementaryInterfaceHidden { - self.liveTextInteraction.setSupplementaryInterfaceHidden(false, animated: true) - } - } } catch { await MainActor.run { From 0687ef4f8eae50b3edc5647e9df522ba4875c8af Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 14 Nov 2022 21:52:16 -0500 Subject: [PATCH 153/300] Add support for tapping an image to hide all the chrome --- Mastodon/Coordinator/SceneCoordinator.swift | 2 +- .../MediaPreviewImageViewController.swift | 24 ++++++++++++----- .../MediaPreviewViewController.swift | 26 +++++++++++++++++-- .../MediaPreview/MediaPreviewViewModel.swift | 17 +++++++++++- .../MediaPreviewVideoViewController.swift | 6 +++++ 5 files changed, 65 insertions(+), 10 deletions(-) diff --git a/Mastodon/Coordinator/SceneCoordinator.swift b/Mastodon/Coordinator/SceneCoordinator.swift index 8a0825969..01fb744ce 100644 --- a/Mastodon/Coordinator/SceneCoordinator.swift +++ b/Mastodon/Coordinator/SceneCoordinator.swift @@ -339,7 +339,7 @@ extension SceneCoordinator { case .custom(let transitioningDelegate): viewController.modalPresentationStyle = .custom viewController.transitioningDelegate = transitioningDelegate - // viewController.modalPresentationCapturesStatusBarAppearance = true + viewController.modalPresentationCapturesStatusBarAppearance = true (splitViewController ?? presentingViewController)?.present(viewController, animated: true, completion: nil) case .customPush(let animated): diff --git a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift index 1c00b3907..513110d29 100644 --- a/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift +++ b/Mastodon/Scene/MediaPreview/Image/MediaPreviewImageViewController.swift @@ -111,13 +111,19 @@ extension MediaPreviewImageViewController { } +extension MediaPreviewImageViewController: MediaPreviewPage { + func setShowingChrome(_ showingChrome: Bool) { + if #available(iOS 16.0, *) { + UIView.animate(withDuration: 0.3) { + self.previewImageView.liveTextInteraction.setSupplementaryInterfaceHidden(!showingChrome, animated: true) + } + } + } +} + // MARK: - ImageAnalysisInteractionDelegate @available(iOS 16.0, *) extension MediaPreviewImageViewController: ImageAnalysisInteractionDelegate { - func contentView(for interaction: ImageAnalysisInteraction) -> UIView? { - view - } - func presentingViewController(for interaction: ImageAnalysisInteraction) -> UIViewController? { self } @@ -128,8 +134,14 @@ extension MediaPreviewImageViewController: UIGestureRecognizerDelegate { func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool { if #available(iOS 16.0, *) { let location = touch.location(in: previewImageView.imageView) - let hasItem = previewImageView.liveTextInteraction.hasInteractiveItem(at: location) - return !hasItem + // for tap gestures, only items that can be tapped are relevant + if gestureRecognizer is UITapGestureRecognizer { + return !previewImageView.liveTextInteraction.hasSupplementaryInterface(at: location) + && !previewImageView.liveTextInteraction.hasDataDetector(at: location) + } else { + // for long press, block out everything + return !previewImageView.liveTextInteraction.hasInteractiveItem(at: location) + } } else { return true } diff --git a/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift b/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift index c6552bcba..f3a59d0bb 100644 --- a/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift +++ b/Mastodon/Scene/MediaPreview/MediaPreviewViewController.swift @@ -137,6 +137,17 @@ extension MediaPreviewViewController { } } .store(in: &disposeBag) + + viewModel.$showingChrome + .receive(on: DispatchQueue.main) + .removeDuplicates() + .sink { [weak self] showingChrome in + UIView.animate(withDuration: 0.3) { + self?.setNeedsStatusBarAppearanceUpdate() + self?.closeButtonBackground.alpha = showingChrome ? 1 : 0 + } + } + .store(in: &disposeBag) // viewModel.$isPoping // .receive(on: DispatchQueue.main) @@ -153,6 +164,14 @@ extension MediaPreviewViewController { } +extension MediaPreviewViewController { + + override var prefersStatusBarHidden: Bool { + !viewModel.showingChrome + } + +} + extension MediaPreviewViewController { @objc private func closeButtonPressed(_ sender: UIButton) { @@ -239,8 +258,11 @@ extension MediaPreviewViewController: MediaPreviewImageViewControllerDelegate { let location = tapGestureRecognizer.location(in: viewController.previewImageView.imageView) let isContainsTap = viewController.previewImageView.imageView.frame.contains(location) - guard !isContainsTap else { return } - dismiss(animated: true, completion: nil) + if isContainsTap { + self.viewModel.showingChrome.toggle() + } else { + dismiss(animated: true, completion: nil) + } } func mediaPreviewImageViewController(_ viewController: MediaPreviewImageViewController, longPressGestureRecognizerDidTrigger longPressGestureRecognizer: UILongPressGestureRecognizer) { diff --git a/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift b/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift index c43d24945..3f60b19e5 100644 --- a/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift +++ b/Mastodon/Scene/MediaPreview/MediaPreviewViewModel.swift @@ -12,6 +12,10 @@ import CoreDataStack import Pageboy import MastodonCore +protocol MediaPreviewPage: UIViewController { + func setShowingChrome(_ showingChrome: Bool) +} + final class MediaPreviewViewModel: NSObject { weak var mediaPreviewImageViewControllerDelegate: MediaPreviewImageViewControllerDelegate? @@ -22,9 +26,12 @@ final class MediaPreviewViewModel: NSObject { let transitionItem: MediaPreviewTransitionItem @Published var currentPage: Int + @Published var showingChrome = true // output let viewControllers: [UIViewController] + + private var disposeBag: Set = [] init( context: AppContext, @@ -34,7 +41,7 @@ final class MediaPreviewViewModel: NSObject { self.context = context self.item = item var currentPage = 0 - var viewControllers: [UIViewController] = [] + var viewControllers: [MediaPreviewPage] = [] switch item { case .attachment(let previewContext): currentPage = previewContext.initialIndex @@ -106,6 +113,14 @@ final class MediaPreviewViewModel: NSObject { self.currentPage = currentPage self.transitionItem = transitionItem super.init() + + for viewController in viewControllers { + self.$showingChrome + .sink { [weak viewController] showingChrome in + viewController?.setShowingChrome(showingChrome) + } + .store(in: &disposeBag) + } } } diff --git a/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift b/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift index 7bdbbfed2..792854248 100644 --- a/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift +++ b/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift @@ -111,6 +111,12 @@ extension MediaPreviewVideoViewController { // } //} +extension MediaPreviewVideoViewController: MediaPreviewPage { + func setShowingChrome(_ showingChrome: Bool) { + // TODO: does this do anything? + } +} + // MARK: - AVPlayerViewControllerDelegate extension MediaPreviewVideoViewController: AVPlayerViewControllerDelegate { From d99636ded82f7a6026d68dbd337f488e2e4cfd31 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 06:16:39 +0100 Subject: [PATCH 154/300] New translations app.json (Portuguese, Brazilian) --- .../input/pt-BR.lproj/app.json | 218 +++++++++--------- 1 file changed, 109 insertions(+), 109 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index 9d20f1151..d58006a22 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -343,12 +343,12 @@ "open_email_app": { "title": "Verifique sua caixa de entrada.", "description": "Enviamos um e-mail para você. Verifique sua pasta de spam caso ainda tenha verificado.", - "mail": "Mail", - "open_email_client": "Open Email Client" + "mail": "Correio", + "open_email_client": "Abrir Cliente de Email" } }, "home_timeline": { - "title": "Home", + "title": "Início", "navigation_bar_state": { "offline": "Desconectado", "new_posts": "Ver novas postagens", @@ -356,13 +356,13 @@ "Publishing": "Publicando toot...", "accessibility": { "logo_label": "Botão do logotipo", - "logo_hint": "Tap to scroll to top and tap again to previous location" + "logo_hint": "Toque para rolar para o topo e toque novamente para a localização anterior" } } }, "suggestion_account": { - "title": "Find People to Follow", - "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + "title": "Encontre pessoas para seguir", + "follow_explain": "Ao seguir alguém, você verá as publicações dessa pessoa na sua página inicial." }, "compose": { "title": { @@ -380,15 +380,15 @@ "attachment": { "photo": "foto", "video": "vídeo", - "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", - "description_photo": "Describe the photo for the visually-impaired...", - "description_video": "Describe the video for the visually-impaired...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", - "attachment_too_large": "Attachment too large", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "attachment_broken": "Este %s está quebrado e não pode ser\nenviado para o Mastodon.", + "description_photo": "Descreva a foto para deficientes visuais...", + "description_video": "Descreva o vídeo para os deficientes visuais...", + "load_failed": "Falha ao carregar", + "upload_failed": "Falha no carregamento", + "can_not_recognize_this_media_attachment": "Não é possível reconhecer este anexo de mídia", + "attachment_too_large": "O anexo é muito grande", + "compressing_state": "Compactando...", + "server_processing_state": "Servidor processando..." }, "poll": { "duration_time": "Duração: %s", @@ -399,44 +399,44 @@ "three_days": "3 dias", "seven_days": "7 dias", "option_number": "Opção %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "A enquete é inválida", + "the_poll_has_empty_option": "A enquete tem uma opção vazia" }, "content_warning": { - "placeholder": "Write an accurate warning here..." + "placeholder": "Escreva um aviso de conteúdo preciso aqui..." }, "visibility": { - "public": "Public", - "unlisted": "Unlisted", - "private": "Followers only", - "direct": "Only people I mention" + "public": "Público", + "unlisted": "Não listado", + "private": "Apenas seguidores", + "direct": "Apenas pessoas que menciono" }, "auto_complete": { - "space_to_add": "Space to add" + "space_to_add": "Espaço a adicionar" }, "accessibility": { - "append_attachment": "Add Attachment", - "append_poll": "Add Poll", - "remove_poll": "Remove Poll", - "custom_emoji_picker": "Custom Emoji Picker", - "enable_content_warning": "Enable Content Warning", - "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", + "append_attachment": "Adicionar anexo", + "append_poll": "Adicionar enquete", + "remove_poll": "Remover enquete", + "custom_emoji_picker": "Seletor de emoji personalizado", + "enable_content_warning": "Ativar Aviso de Conteúdo", + "disable_content_warning": "Desativar Aviso de Conteúdo", + "post_visibility_menu": "Menu de Visibilidade do Post", "post_options": "Opções de postagem", "posting_as": "Publicando como %s" }, "keyboard": { - "discard_post": "Discard Post", - "publish_post": "Publish Post", - "toggle_poll": "Toggle Poll", - "toggle_content_warning": "Toggle Content Warning", - "append_attachment_entry": "Add Attachment - %s", - "select_visibility_entry": "Select Visibility - %s" + "discard_post": "Descartar postagem", + "publish_post": "Publicar postagem", + "toggle_poll": "Alternar enquete", + "toggle_content_warning": "Ativar/desativar Aviso de Conteúdo", + "append_attachment_entry": "Adicionar Anexo - %s", + "select_visibility_entry": "Selecionar Visibilidade - %s" } }, "profile": { "header": { - "follows_you": "Follows You" + "follows_you": "Segue você" }, "dashboard": { "posts": "toots", @@ -444,14 +444,14 @@ "followers": "seguidores" }, "fields": { - "add_row": "Add Row", + "add_row": "Adicionar linha", "placeholder": { - "label": "Label", + "label": "Descrição", "content": "Conteúdo" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Verificado em %s", + "long": "O link foi verificado em %s" } }, "segmented_control": { @@ -471,63 +471,63 @@ "message": "Confirm to unmute %s" }, "confirm_block_user": { - "title": "Block Account", - "message": "Confirm to block %s" + "title": "Bloquear conta", + "message": "Confirme para bloquear %s" }, "confirm_unblock_user": { - "title": "Unblock Account", - "message": "Confirm to unblock %s" + "title": "Desbloquear conta", + "message": "Confirme para desbloquear %s" }, "confirm_show_reblogs": { - "title": "Show Reblogs", - "message": "Confirm to show reblogs" + "title": "Mostrar reblogs", + "message": "Confirmar para mostrar reblogs" }, "confirm_hide_reblogs": { - "title": "Hide Reblogs", - "message": "Confirm to hide reblogs" + "title": "Ocultar reblogs", + "message": "Confirmar para ocultar reblogs" } }, "accessibility": { - "show_avatar_image": "Show avatar image", - "edit_avatar_image": "Edit avatar image", - "show_banner_image": "Show banner image", - "double_tap_to_open_the_list": "Double tap to open the list" + "show_avatar_image": "Mostrar foto de perfil", + "edit_avatar_image": "Editar foto de perfil", + "show_banner_image": "Mostrar foto de capa", + "double_tap_to_open_the_list": "Toque duas vezes para abrir a lista" } }, "follower": { - "title": "follower", - "footer": "Followers from other servers are not displayed." + "title": "seguidor", + "footer": "Seguidores de outras instâncias não são exibidos." }, "following": { - "title": "following", + "title": "seguindo", "footer": "Follows from other servers are not displayed." }, "familiarFollowers": { - "title": "Followers you familiar", - "followed_by_names": "Followed by %s" + "title": "Seguidores que você conhece", + "followed_by_names": "Seguido por %s" }, "favorited_by": { - "title": "Favorited By" + "title": "Favoritado por" }, "reblogged_by": { - "title": "Reblogged By" + "title": "Reblogado por" }, "search": { - "title": "Search", + "title": "Buscar", "search_bar": { - "placeholder": "Search hashtags and users", - "cancel": "Cancel" + "placeholder": "Buscar hashtags e usuários", + "cancel": "Cancelar" }, "recommend": { - "button_text": "See All", + "button_text": "Ver tudo", "hash_tag": { - "title": "Trending on Mastodon", - "description": "Hashtags that are getting quite a bit of attention", - "people_talking": "%s people are talking" + "title": "Em tendência no Mastodon", + "description": "Hashtags que estão recebendo bastante atenção", + "people_talking": "%s pessoas estão falando" }, "accounts": { - "title": "Accounts you might like", - "description": "You may like to follow these accounts", + "title": "Contas que você deve gostar", + "description": "Você pode gostar de seguir estas contas", "follow": "Seguir" } }, @@ -553,82 +553,82 @@ "community": "Comunidade", "for_you": "Para você" }, - "intro": "These are the posts gaining traction in your corner of Mastodon." + "intro": "Esses são os posts que estão ganhando força no seu canto do Mastodon." }, "favorite": { - "title": "Your Favorites" + "title": "Seus favoritos" }, "notification": { "title": { - "Everything": "Everything", - "Mentions": "Mentions" + "Everything": "Tudo", + "Mentions": "Menções" }, "notification_description": { - "followed_you": "followed you", - "favorited_your_post": "favorited your post", - "reblogged_your_post": "reblogged your post", - "mentioned_you": "mentioned you", + "followed_you": "seguiu você", + "favorited_your_post": "favoritou seu toot", + "reblogged_your_post": "reblogou seu toot", + "mentioned_you": "te mencionou", "request_to_follow_you": "request to follow you", - "poll_has_ended": "poll has ended" + "poll_has_ended": "enquete encerrada" }, "keyobard": { - "show_everything": "Show Everything", - "show_mentions": "Show Mentions" + "show_everything": "Mostrar tudo", + "show_mentions": "Mostrar menções" }, "follow_request": { - "accept": "Accept", - "accepted": "Accepted", - "reject": "reject", - "rejected": "Rejected" + "accept": "Aceitar", + "accepted": "Aceito", + "reject": "rejeitar", + "rejected": "Rejeitado" } }, "thread": { "back_title": "Post", - "title": "Post from %s" + "title": "Publicação de %s" }, "settings": { - "title": "Settings", + "title": "Configurações", "section": { "appearance": { - "title": "Appearance", - "automatic": "Automatic", - "light": "Always Light", - "dark": "Always Dark" + "title": "Aparência", + "automatic": "Automático", + "light": "Sempre Claro", + "dark": "Sempre Escuro" }, "look_and_feel": { "title": "Look and Feel", - "use_system": "Use System", - "really_dark": "Really Dark", - "sorta_dark": "Sorta Dark", - "light": "Light" + "use_system": "Usar configuração do sistema", + "really_dark": "Bem escuro", + "sorta_dark": "Meio escuro", + "light": "Claro" }, "notifications": { - "title": "Notifications", + "title": "Notificações", "favorites": "Favorites my post", "follows": "Follows me", "boosts": "Reblogs my post", "mentions": "Mentions me", "trigger": { - "anyone": "anyone", - "follower": "a follower", - "follow": "anyone I follow", - "noone": "no one", - "title": "Notify me when" + "anyone": "qualquer pessoa", + "follower": "um seguidor", + "follow": "qualquer um que eu siga", + "noone": "ninguém", + "title": "Me notificar quando" } }, "preference": { - "title": "Preferences", + "title": "Preferências", "true_black_dark_mode": "True black dark mode", - "disable_avatar_animation": "Disable animated avatars", - "disable_emoji_animation": "Disable animated emojis", - "using_default_browser": "Use default browser to open links", - "open_links_in_mastodon": "Open links in Mastodon" + "disable_avatar_animation": "Desativar fotos animadas", + "disable_emoji_animation": "Desativar emojis animados", + "using_default_browser": "Usar o navegador padrão pra abrir links", + "open_links_in_mastodon": "Abrir links no Mastodon" }, "boring_zone": { - "title": "The Boring Zone", - "account_settings": "Account Settings", - "terms": "Terms of Service", - "privacy": "Privacy Policy" + "title": "A zona chata", + "account_settings": "Configurações da conta", + "terms": "Termos de serviço", + "privacy": "Política de privacidade" }, "spicy_zone": { "title": "The Spicy Zone", From b7b7aea4422d2ae877c75ce614038559d5b0587e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 07:18:14 +0100 Subject: [PATCH 155/300] New translations app.json (Portuguese, Brazilian) --- .../input/pt-BR.lproj/app.json | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index d58006a22..ea21865a4 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -637,61 +637,61 @@ } }, "footer": { - "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + "mastodon_description": "Mastodon é um software de código aberto. Você pode reportar problemas no GitHub em %s (%s)" }, "keyboard": { - "close_settings_window": "Close Settings Window" + "close_settings_window": "Fechar janela de configurações" } }, "report": { - "title_report": "Report", - "title": "Report %s", - "step1": "Step 1 of 2", - "step2": "Step 2 of 2", - "content1": "Are there any other posts you’d like to add to the report?", - "content2": "Is there anything the moderators should know about this report?", - "report_sent_title": "Thanks for reporting, we’ll look into this.", - "send": "Send Report", - "skip_to_send": "Send without comment", - "text_placeholder": "Type or paste additional comments", - "reported": "REPORTED", + "title_report": "Denunciar", + "title": "Denunciar %s", + "step1": "Passo 1 de 2", + "step2": "Passo 2 de 2", + "content1": "Há outras postagens que você gostaria de adicionar na denúncia?", + "content2": "Há algo que os moderadores deveriam saber sobre esta denúncia?", + "report_sent_title": "Obrigado por denunciar, iremos analisar.", + "send": "Enviar denúncia", + "skip_to_send": "Enviar sem comentário", + "text_placeholder": "Digite ou cole comentários adicionais", + "reported": "DENUNCIADO", "step_one": { - "step_1_of_4": "Step 1 of 4", - "whats_wrong_with_this_post": "What's wrong with this post?", - "whats_wrong_with_this_account": "What's wrong with this account?", - "whats_wrong_with_this_username": "What's wrong with %s?", - "select_the_best_match": "Select the best match", - "i_dont_like_it": "I don’t like it", - "it_is_not_something_you_want_to_see": "It is not something you want to see", - "its_spam": "It’s spam", - "malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies", - "it_violates_server_rules": "It violates server rules", - "you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules", - "its_something_else": "It’s something else", - "the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories" + "step_1_of_4": "Passo 1 de 4", + "whats_wrong_with_this_post": "O que há de errado com essa publicação?", + "whats_wrong_with_this_account": "O que há de errado com essa conta?", + "whats_wrong_with_this_username": "O que há de errado com %s?", + "select_the_best_match": "Selecione a melhor alternativa", + "i_dont_like_it": "Eu não gosto disso", + "it_is_not_something_you_want_to_see": "Não é algo que você gostaria de ver", + "its_spam": "É spam", + "malicious_links_fake_engagement_or_repetetive_replies": "Links maliciosos, engajamento falso, ou respostas repetitivas", + "it_violates_server_rules": "Isso viola as regras do servidor", + "you_are_aware_that_it_breaks_specific_rules": "Você está ciente que isso quebra regras específicas", + "its_something_else": "É outra coisa", + "the_issue_does_not_fit_into_other_categories": "O problema não se encaixa em outras categorias" }, "step_two": { - "step_2_of_4": "Step 2 of 4", - "which_rules_are_being_violated": "Which rules are being violated?", - "select_all_that_apply": "Select all that apply", - "i_just_don’t_like_it": "I just don’t like it" + "step_2_of_4": "Passo 2 de 4", + "which_rules_are_being_violated": "Quais regras estão sendo violadas?", + "select_all_that_apply": "Selecione todas que se aplicam", + "i_just_don’t_like_it": "Simplesmente não gosto" }, "step_three": { - "step_3_of_4": "Step 3 of 4", + "step_3_of_4": "Passo 3 de 4", "are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?", - "select_all_that_apply": "Select all that apply" + "select_all_that_apply": "Selecione todos que se aplicam" }, "step_four": { - "step_4_of_4": "Step 4 of 4", - "is_there_anything_else_we_should_know": "Is there anything else we should know?" + "step_4_of_4": "Passo 4 de 4", + "is_there_anything_else_we_should_know": "Há algo a mais que deveríamos saber?" }, "step_final": { - "dont_want_to_see_this": "Don’t want to see this?", - "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.", - "unfollow": "Unfollow", - "unfollowed": "Unfollowed", - "unfollow_user": "Unfollow %s", - "mute_user": "Mute %s", + "dont_want_to_see_this": "Não quer ver isso?", + "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Quando você vê algo que não gosta no Mastodon, você pode remover essa pessoa da sua experiência.", + "unfollow": "Deixar de seguir", + "unfollowed": "Deixou de seguir", + "unfollow_user": "Deixar de seguir %s", + "mute_user": "Silenciar %s", "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.", "block_user": "Block %s", "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.", From 527f6f0dfae1a0469648a7c86dabd64a98e65644 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Tue, 15 Nov 2022 06:58:43 -0500 Subject: [PATCH 156/300] Adjustments for new i18n workflow --- Localization/StringsConvertor/input/en.lproj/app.json | 2 +- .../MastodonLocalization/Resources/en.lproj/Localizable.strings | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json index 7434a34a2..25f06ad83 100644 --- a/Localization/StringsConvertor/input/en.lproj/app.json +++ b/Localization/StringsConvertor/input/en.lproj/app.json @@ -96,7 +96,7 @@ "tabs": { "home": "Home", "search": "Search", - "notifications": "Notifications", + "notification": "Notification", "profile": "Profile" }, "keyboard": { diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index 75b935422..07ccd2c1b 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -131,7 +131,7 @@ Please check your internet connection."; "Common.Controls.Status.Visibility.PrivateFromMe" = "Only my followers can see this post."; "Common.Controls.Status.Visibility.Unlisted" = "Everyone can see this post but not display in the public timeline."; "Common.Controls.Tabs.Home" = "Home"; -"Common.Controls.Tabs.Notifications" = "Notifications"; +"Common.Controls.Tabs.Notification" = "Notification"; "Common.Controls.Tabs.Profile" = "Profile"; "Common.Controls.Tabs.Search" = "Search"; "Common.Controls.Timeline.Filtered" = "Filtered"; From 9d716de4535ef2766fc80b2ae660629da0149f1e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 12:59:14 +0100 Subject: [PATCH 157/300] New translations app.json (Korean) --- Localization/StringsConvertor/input/ko.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/ko.lproj/app.json b/Localization/StringsConvertor/input/ko.lproj/app.json index 2c4316f07..a871d2d00 100644 --- a/Localization/StringsConvertor/input/ko.lproj/app.json +++ b/Localization/StringsConvertor/input/ko.lproj/app.json @@ -422,8 +422,8 @@ "enable_content_warning": "열람 주의 설정", "disable_content_warning": "열람 주의 해제", "post_visibility_menu": "게시물 공개범위 메뉴", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "게시물 옵션", + "posting_as": "%s로 게시" }, "keyboard": { "discard_post": "글 버리기", From 143e598c019ff19a26067438ef0b03f85a0768ae Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 12:59:15 +0100 Subject: [PATCH 158/300] New translations Localizable.stringsdict (Korean) --- .../StringsConvertor/input/ko.lproj/Localizable.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict index 644fd007a..77aac5569 100644 --- a/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict @@ -47,7 +47,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ 글자 남음 character_count NSStringFormatSpecTypeKey @@ -55,7 +55,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 글자 plural.count.followed_by_and_mutual From 726de75d2e82cd76b2af59cfde1fa1f96ac86606 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 15:43:42 +0100 Subject: [PATCH 159/300] New translations app.json (French) --- .../StringsConvertor/input/fr.lproj/app.json | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Localization/StringsConvertor/input/fr.lproj/app.json b/Localization/StringsConvertor/input/fr.lproj/app.json index f35ce4483..7dffb4aba 100644 --- a/Localization/StringsConvertor/input/fr.lproj/app.json +++ b/Localization/StringsConvertor/input/fr.lproj/app.json @@ -383,12 +383,12 @@ "attachment_broken": "Ce %s est brisé et ne peut pas être\ntéléversé sur Mastodon.", "description_photo": "Décrire cette photo pour les personnes malvoyantes...", "description_video": "Décrire cette vidéo pour les personnes malvoyantes...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", - "attachment_too_large": "Attachment too large", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "load_failed": "Échec du chargement", + "upload_failed": "Échec de l’envoi", + "can_not_recognize_this_media_attachment": "Impossible de reconnaître cette pièce jointe", + "attachment_too_large": "La pièce jointe est trop volumineuse", + "compressing_state": "Compression...", + "server_processing_state": "Traitement du serveur..." }, "poll": { "duration_time": "Durée: %s", @@ -399,8 +399,8 @@ "three_days": "3 jour", "seven_days": "7 jour", "option_number": "Option %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "Le sondage est invalide", + "the_poll_has_empty_option": "Le sondage n'a pas d'options" }, "content_warning": { "placeholder": "Écrivez un avertissement précis ici..." @@ -422,8 +422,8 @@ "enable_content_warning": "Basculer l’avertissement de contenu", "disable_content_warning": "Désactiver l'avertissement de contenu", "post_visibility_menu": "Menu de Visibilité de la publication", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Options de publication", + "posting_as": "Publié en tant que %s" }, "keyboard": { "discard_post": "Rejeter la publication", @@ -450,8 +450,8 @@ "content": "Contenu" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Vérifié le %s", + "long": "La propriété de ce lien a été vérifiée le %s" } }, "segmented_control": { From 88948b40245b61b91c61876fb2453fdba7f088db Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 16:48:16 +0100 Subject: [PATCH 160/300] New translations app.json (Arabic) --- Localization/StringsConvertor/input/ar.lproj/app.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Localization/StringsConvertor/input/ar.lproj/app.json b/Localization/StringsConvertor/input/ar.lproj/app.json index c28962a0f..1a52ccfbb 100644 --- a/Localization/StringsConvertor/input/ar.lproj/app.json +++ b/Localization/StringsConvertor/input/ar.lproj/app.json @@ -385,7 +385,7 @@ "description_video": "صِف المقطع المرئي للمَكفوفين...", "load_failed": "فَشَلَ التَّحميل", "upload_failed": "فَشَلَ الرَّفع", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "يتعذَّرُ التعرُّفُ على وسائِطِ هذا المُرفَق", "attachment_too_large": "المُرفَق كَبيرٌ جِدًّا", "compressing_state": "يجري الضغط...", "server_processing_state": "مُعالجة الخادم جارِيَة..." @@ -399,8 +399,8 @@ "three_days": "ثلاثةُ أيام", "seven_days": "سبعةُ أيام", "option_number": "الخيار %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "الاِستِطلاعُ غيرُ صالِح", + "the_poll_has_empty_option": "يوجَدُ خِيارٌ فارِغٌ فِي الاِستِطلاع" }, "content_warning": { "placeholder": "اكتب تَحذيرًا دَقيقًا هُنا..." @@ -450,8 +450,8 @@ "content": "المُحتَوى" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "تمَّ التَّحقق بِتاريخ %s", + "long": "تمَّ التَّحقق مِن مِلكية هذا الرابِطِ بِتاريخ %s" } }, "segmented_control": { From 23183f62715b2b3ee775c81e03e552671afae16d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 16:48:17 +0100 Subject: [PATCH 161/300] New translations app.json (Portuguese, Brazilian) --- .../input/pt-BR.lproj/app.json | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index ea21865a4..b69c14777 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -2,7 +2,7 @@ "common": { "alerts": { "common": { - "please_try_again": "Por favor tente novamente.", + "please_try_again": "Por favor, tente novamente.", "please_try_again_later": "Tente novamente mais tarde." }, "sign_up_failure": { @@ -467,8 +467,8 @@ "message": "Confirme para silenciar %s" }, "confirm_unmute_user": { - "title": "Unmute Account", - "message": "Confirm to unmute %s" + "title": "Tirar conta do silenciado", + "message": "Confirme para tirar %s do silenciado" }, "confirm_block_user": { "title": "Bloquear conta", @@ -500,7 +500,7 @@ }, "following": { "title": "seguindo", - "footer": "Follows from other servers are not displayed." + "footer": "Contas que você segue de outras instâncias não são exibidas." }, "familiarFollowers": { "title": "Seguidores que você conhece", @@ -568,7 +568,7 @@ "favorited_your_post": "favoritou seu toot", "reblogged_your_post": "reblogou seu toot", "mentioned_you": "te mencionou", - "request_to_follow_you": "request to follow you", + "request_to_follow_you": "solicitação para te seguir", "poll_has_ended": "enquete encerrada" }, "keyobard": { @@ -583,7 +583,7 @@ } }, "thread": { - "back_title": "Post", + "back_title": "Toot", "title": "Publicação de %s" }, "settings": { @@ -596,7 +596,7 @@ "dark": "Sempre Escuro" }, "look_and_feel": { - "title": "Look and Feel", + "title": "Aparência e Comportamento", "use_system": "Usar configuração do sistema", "really_dark": "Bem escuro", "sorta_dark": "Meio escuro", @@ -604,10 +604,10 @@ }, "notifications": { "title": "Notificações", - "favorites": "Favorites my post", - "follows": "Follows me", - "boosts": "Reblogs my post", - "mentions": "Mentions me", + "favorites": "Favoritaram minha publicação", + "follows": "Me segue", + "boosts": "Rebloga minha publicação", + "mentions": "Me menciona", "trigger": { "anyone": "qualquer pessoa", "follower": "um seguidor", @@ -618,7 +618,7 @@ }, "preference": { "title": "Preferências", - "true_black_dark_mode": "True black dark mode", + "true_black_dark_mode": "Modo preto", "disable_avatar_animation": "Desativar fotos animadas", "disable_emoji_animation": "Desativar emojis animados", "using_default_browser": "Usar o navegador padrão pra abrir links", @@ -631,9 +631,9 @@ "privacy": "Política de privacidade" }, "spicy_zone": { - "title": "The Spicy Zone", - "clear": "Clear Media Cache", - "signout": "Sign Out" + "title": "A zona apimentada", + "clear": "Limpar cachê de mídia", + "signout": "Sair" } }, "footer": { @@ -678,7 +678,7 @@ }, "step_three": { "step_3_of_4": "Passo 3 de 4", - "are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?", + "are_there_any_posts_that_back_up_this_report": "Existem postagens que apoiam essa denúncia?", "select_all_that_apply": "Selecione todos que se aplicam" }, "step_four": { @@ -692,31 +692,31 @@ "unfollowed": "Deixou de seguir", "unfollow_user": "Deixar de seguir %s", "mute_user": "Silenciar %s", - "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.", - "block_user": "Block %s", - "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.", - "while_we_review_this_you_can_take_action_against_user": "While we review this, you can take action against %s" + "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Você não verá as postagens ou reblogs dessa conta na sua pagina inicial. Essa pessoa não saberá que foi silenciada.", + "block_user": "Bloquear %s", + "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Essa conta não poderá mais te seguir ou ver suas postagens, mas ela poderá ver que foi bloqueada.", + "while_we_review_this_you_can_take_action_against_user": "Enquanto revisamos isso, você pode tomar medidas contra %s" } }, "preview": { "keyboard": { - "close_preview": "Close Preview", - "show_next": "Show Next", - "show_previous": "Show Previous" + "close_preview": "Fechar prévia", + "show_next": "Mostrar a próxima", + "show_previous": "Mostrar a anterior" } }, "account_list": { - "tab_bar_hint": "Current selected profile: %s. Double tap then hold to show account switcher", - "dismiss_account_switcher": "Dismiss Account Switcher", - "add_account": "Add Account" + "tab_bar_hint": "Perfil selecionado nesse momento: %s. Toque duas vezes e segure para mostrar o alternador de conta", + "dismiss_account_switcher": "Descartar alternador de conta", + "add_account": "Adicionar conta" }, "wizard": { - "new_in_mastodon": "New in Mastodon", - "multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.", - "accessibility_hint": "Double tap to dismiss this wizard" + "new_in_mastodon": "Novo no Mastodon", + "multiple_account_switch_intro_description": "Alterne entre múltiplas contas segurando o botão de perfil.", + "accessibility_hint": "Toque duas vezes para descartar este assistente" }, "bookmark": { - "title": "Bookmarks" + "title": "Marcados" } } } \ No newline at end of file From 3c190983dc9c3ea25aac3116832912bac46bbc3a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 16:48:18 +0100 Subject: [PATCH 162/300] New translations Localizable.stringsdict (Portuguese, Brazilian) --- .../input/pt-BR.lproj/Localizable.stringsdict | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict index 9a72fe3bb..02fbf2d20 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/pt-BR.lproj/Localizable.stringsdict @@ -88,9 +88,9 @@ NSStringFormatValueTypeKey ld one - Followed by %1$@, and another mutual + Seguido por %1$@, e outro em comum other - Followed by %1$@, and %ld mutuals + Seguido por %1$@, e %ld em comum plural.count.metric_formatted.post @@ -120,9 +120,9 @@ NSStringFormatValueTypeKey ld one - 1 media + 1 mídia other - %ld media + %ld mídias plural.count.post From d6aeb81011a3b1b3cff36dc4029efb081a12357f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 16:48:20 +0100 Subject: [PATCH 163/300] New translations Intents.strings (Portuguese, Brazilian) --- .../Intents/input/pt-BR.lproj/Intents.strings | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/pt-BR.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/pt-BR.lproj/Intents.strings index 4d4e426c6..3e6806953 100644 --- a/Localization/StringsConvertor/Intents/input/pt-BR.lproj/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/pt-BR.lproj/Intents.strings @@ -4,9 +4,9 @@ "CsR7G2" = "Postar no Mastodon"; -"HZSGTr" = "What content to post?"; +"HZSGTr" = "Qual conteúdo a publicar?"; -"HdGikU" = "Posting failed"; +"HdGikU" = "Falha na publicação"; "KDNTJ4" = "Motivo da falha"; @@ -22,30 +22,30 @@ "ZbSjzC" = "Visibilidade"; -"Zo4jgJ" = "Post Visibility"; +"Zo4jgJ" = "Visibilidade da publicação"; -"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; +"apSxMG-dYQ5NN" = "Existem ${count} opções correspondentes a ‘Público’."; -"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; +"apSxMG-ehFLjY" = "Existem ${count} opções correspondentes a ‘Apenas para seguidores’."; -"ayoYEb-dYQ5NN" = "${content}, Public"; +"ayoYEb-dYQ5NN" = "${content}, Público"; -"ayoYEb-ehFLjY" = "${content}, Followers Only"; +"ayoYEb-ehFLjY" = "${content}, Apenas para seguidores"; -"dUyuGg" = "Post on Mastodon"; +"dUyuGg" = "Postar no Mastodon"; -"dYQ5NN" = "Public"; +"dYQ5NN" = "Público"; -"ehFLjY" = "Followers Only"; +"ehFLjY" = "Apenas para seguidores"; -"gfePDu" = "Posting failed. ${failureReason}"; +"gfePDu" = "Falha na publicação. ${failureReason}"; -"k7dbKQ" = "Post was sent successfully."; +"k7dbKQ" = "Publicação enviada com sucesso."; -"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; +"oGiqmY-dYQ5NN" = "Só para confirmar, você queria ‘Público’?"; -"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; +"oGiqmY-ehFLjY" = "Só para confirmar, você queria ‘Apenas para seguidores’?"; "rM6dvp" = "URL"; -"ryJLwG" = "Post was sent successfully. "; +"ryJLwG" = "Publicação enviada com sucesso. "; From 25b26e4c7dd1ebed18ceca89c48b22bbf04b07fc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 18:25:04 +0100 Subject: [PATCH 164/300] New translations app.json (Kurmanji (Kurdish)) --- .../StringsConvertor/input/kmr.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/kmr.lproj/app.json b/Localization/StringsConvertor/input/kmr.lproj/app.json index 6f5fc8b97..6e299e016 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/app.json +++ b/Localization/StringsConvertor/input/kmr.lproj/app.json @@ -385,10 +385,10 @@ "description_video": "Vîdyoyê ji bo kêmbînên dîtbar bide nasîn...", "load_failed": "Barkirin têk çû", "upload_failed": "Barkirin têk çû", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "Nikare ev pêveka medyayê nas bike", "attachment_too_large": "Pêvek pir mezin e", "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "server_processing_state": "Pêvajoya rajekar pêş de diçe..." }, "poll": { "duration_time": "Dirêjî: %s", @@ -399,7 +399,7 @@ "three_days": "3 Roj", "seven_days": "7 Roj", "option_number": "Vebijêrk %ld", - "the_poll_is_invalid": "The poll is invalid", + "the_poll_is_invalid": "Ev dengdayîn ne derbasdar e", "the_poll_has_empty_option": "The poll has empty option" }, "content_warning": { @@ -422,8 +422,8 @@ "enable_content_warning": "Hişyariya naverokê çalak bike", "disable_content_warning": "Hişyariya naverokê neçalak bike", "post_visibility_menu": "Kulîna xuyabûna şandiyê", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Vebijêrkên şandiyê", + "posting_as": "Biweşîne wekî %s" }, "keyboard": { "discard_post": "Şandî paşguh bike", @@ -450,8 +450,8 @@ "content": "Naverok" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Hate piştrastkirin li ser %s", + "long": "Xwedaniya li vê girêdanê di %s de hatiye kontrolkirin" } }, "segmented_control": { From d4cecff07dafb8a483a2b9e80b897f12e2bc057a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 18:25:05 +0100 Subject: [PATCH 165/300] New translations Localizable.stringsdict (Kurmanji (Kurdish)) --- .../input/kmr.lproj/Localizable.stringsdict | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict index 45d65bc71..c904186d8 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/kmr.lproj/Localizable.stringsdict @@ -53,7 +53,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ maye character_count NSStringFormatSpecTypeKey @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 peyv other - %ld characters + %ld peyv plural.count.followed_by_and_mutual From 60efe4f02320b5005554a8030e09f9d8759a0776 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Tue, 15 Nov 2022 13:13:22 -0500 Subject: [PATCH 166/300] Fix status bar when dismissing --- ...tToMediaPreviewViewControllerAnimatedTransitioning.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Mastodon/Scene/Transition/MediaPreview/MediaHostToMediaPreviewViewControllerAnimatedTransitioning.swift b/Mastodon/Scene/Transition/MediaPreview/MediaHostToMediaPreviewViewControllerAnimatedTransitioning.swift index 5381feb0d..de2cec6bf 100644 --- a/Mastodon/Scene/Transition/MediaPreview/MediaHostToMediaPreviewViewControllerAnimatedTransitioning.swift +++ b/Mastodon/Scene/Transition/MediaPreview/MediaHostToMediaPreviewViewControllerAnimatedTransitioning.swift @@ -131,6 +131,12 @@ extension MediaHostToMediaPreviewViewControllerAnimatedTransitioning { } return animator } + + if let toVC = transitionContext.viewController(forKey: .to) { + animator.addCompletion { _ in + toVC.setNeedsStatusBarAppearanceUpdate() + } + } // update close button UIView.animate(withDuration: 0.33, delay: 0, options: [.curveEaseInOut]) { From 9a08cb194b1e57d9ca840db1f4ff139ff06b7b87 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2022 19:26:02 +0100 Subject: [PATCH 167/300] New translations app.json (Kurmanji (Kurdish)) --- Localization/StringsConvertor/input/kmr.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/kmr.lproj/app.json b/Localization/StringsConvertor/input/kmr.lproj/app.json index 6e299e016..f52e1bdae 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/app.json +++ b/Localization/StringsConvertor/input/kmr.lproj/app.json @@ -387,7 +387,7 @@ "upload_failed": "Barkirin têk çû", "can_not_recognize_this_media_attachment": "Nikare ev pêveka medyayê nas bike", "attachment_too_large": "Pêvek pir mezin e", - "compressing_state": "Compressing...", + "compressing_state": "Tê guvaştin...", "server_processing_state": "Pêvajoya rajekar pêş de diçe..." }, "poll": { @@ -400,7 +400,7 @@ "seven_days": "7 Roj", "option_number": "Vebijêrk %ld", "the_poll_is_invalid": "Ev dengdayîn ne derbasdar e", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_has_empty_option": "Vebijêrkên vê dengdayînê vala ne" }, "content_warning": { "placeholder": "Li vir hişyariyek hûrgilî binivîsine..." From ff5a0876c8cee61b341f8a932330c5184bb22098 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Tue, 15 Nov 2022 13:35:33 -0500 Subject: [PATCH 168/300] Change childForStatusBarStyle --- .../AdaptiveStatusBarStyleNavigationController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mastodon/Scene/Share/NavigationController/AdaptiveStatusBarStyleNavigationController.swift b/Mastodon/Scene/Share/NavigationController/AdaptiveStatusBarStyleNavigationController.swift index 80df8938e..88441f9ad 100644 --- a/Mastodon/Scene/Share/NavigationController/AdaptiveStatusBarStyleNavigationController.swift +++ b/Mastodon/Scene/Share/NavigationController/AdaptiveStatusBarStyleNavigationController.swift @@ -14,7 +14,7 @@ class AdaptiveStatusBarStyleNavigationController: UINavigationController { // Make status bar style adaptive for child view controller // SeeAlso: `modalPresentationCapturesStatusBarAppearance` override var childForStatusBarStyle: UIViewController? { - visibleViewController + topViewController } } From 61b9242df243932d0acef0d932732f32ff6c6e61 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 03:29:17 +0100 Subject: [PATCH 169/300] New translations app.json (Indonesian) --- .../StringsConvertor/input/id.lproj/app.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index 45e072a30..346ac5359 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -129,23 +129,23 @@ "show_post": "Tampilkan Postingan", "show_user_profile": "Tampilkan Profil Pengguna", "content_warning": "Peringatan Konten", - "sensitive_content": "Sensitive Content", + "sensitive_content": "Konten Sensitif", "media_content_warning": "Ketuk di mana saja untuk melihat", - "tap_to_reveal": "Tap to reveal", + "tap_to_reveal": "Ketuk untuk mengungkap", "poll": { - "vote": "Vote", + "vote": "Pilih", "closed": "Ditutup" }, "meta_entity": { - "url": "Link: %s", - "hashtag": "Hashtag: %s", - "mention": "Show Profile: %s", - "email": "Email address: %s" + "url": "Tautan: %s", + "hashtag": "Tagar: %s", + "mention": "Tampilkan Profile: %s", + "email": "Alamat email: %s" }, "actions": { "reply": "Balas", "reblog": "Reblog", - "unreblog": "Undo reblog", + "unreblog": "Batalkan reblog", "favorite": "Favorit", "unfavorite": "Unfavorite", "menu": "Menu", From 97765f11f619c5cdf63c47c1e4a45a792a39df08 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 04:29:21 +0100 Subject: [PATCH 170/300] New translations app.json (Indonesian) --- .../StringsConvertor/input/id.lproj/app.json | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index 346ac5359..864283436 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -147,13 +147,13 @@ "reblog": "Reblog", "unreblog": "Batalkan reblog", "favorite": "Favorit", - "unfavorite": "Unfavorite", + "unfavorite": "Batalkan favorit", "menu": "Menu", - "hide": "Hide", - "show_image": "Show image", - "show_gif": "Show GIF", - "show_video_player": "Show video player", - "tap_then_hold_to_show_menu": "Tap then hold to show menu" + "hide": "Sembunyikan", + "show_image": "Tampilkan gambar", + "show_gif": "Tampilkan GIF", + "show_video_player": "Tampilkan pemutar video", + "tap_then_hold_to_show_menu": "Ketuk lalu tahan untuk menampilkan menu" }, "tag": { "url": "URL", @@ -165,16 +165,16 @@ }, "visibility": { "unlisted": "Everyone can see this post but not display in the public timeline.", - "private": "Only their followers can see this post.", - "private_from_me": "Only my followers can see this post.", - "direct": "Only mentioned user can see this post." + "private": "Hanya pengikut mereka yang dapat melihat postingan ini.", + "private_from_me": "Hanya pengikut saya yang dapat melihat postingan ini.", + "direct": "Hanya pengguna yang disebut yang dapat melihat postingan ini." } }, "friendship": { "follow": "Ikuti", "following": "Mengikuti", - "request": "Request", - "pending": "Pending", + "request": "Minta", + "pending": "Tertunda", "block": "Blokir", "block_user": "Blokir %s", "block_domain": "Blokir %s", @@ -187,8 +187,8 @@ "unmute_user": "Berhenti membisukan %s", "muted": "Dibisukan", "edit_info": "Sunting Info", - "show_reblogs": "Show Reblogs", - "hide_reblogs": "Hide Reblogs" + "show_reblogs": "Tampilkan Reblog", + "hide_reblogs": "Sembunyikan Reblog" }, "timeline": { "filtered": "Tersaring", @@ -196,32 +196,32 @@ "now": "Sekarang" }, "loader": { - "load_missing_posts": "Load missing posts", - "loading_missing_posts": "Loading missing posts...", + "load_missing_posts": "Muat postingan yang hilang", + "loading_missing_posts": "Memuat postingan yang hilang...", "show_more_replies": "Tampilkan lebih banyak balasan" }, "header": { - "no_status_found": "No Post Found", - "blocking_warning": "You can’t view this user's profile\nuntil you unblock them.\nYour profile looks like this to them.", - "user_blocking_warning": "You can’t view %s’s profile\nuntil you unblock them.\nYour profile looks like this to them.", - "blocked_warning": "You can’t view this user’s profile\nuntil they unblock you.", - "user_blocked_warning": "You can’t view %s’s profile\nuntil they unblock you.", - "suspended_warning": "This user has been suspended.", - "user_suspended_warning": "%s’s account has been suspended." + "no_status_found": "Tidak Ditemukan Postingan", + "blocking_warning": "Anda tidak dapat melihat profil pengguna ini sampai Anda membuka blokir mereka.\nProfil Anda terlihat seperti ini bagi mereka.", + "user_blocking_warning": "Anda tidak dapat melihat profil %s sampai Anda membuka blokir mereka.\nProfil Anda terlihat seperti ini bagi mereka.", + "blocked_warning": "Anda tidak dapat melihat profil pengguna ini sampai mereka membuka blokir Anda.", + "user_blocked_warning": "Anda tidak dapat melihat profil %s sampai mereka membuka blokir Anda.", + "suspended_warning": "Pengguna ini telah ditangguhkan.", + "user_suspended_warning": "Akun %s telah ditangguhkan." } } } }, "scene": { "welcome": { - "slogan": "Social networking\nback in your hands.", - "get_started": "Get Started", - "log_in": "Log In" + "slogan": "Jejaring sosial dalam genggaman Anda.", + "get_started": "Mulai", + "log_in": "Login" }, "server_picker": { "title": "Pilih sebuah server,\nserver manapun.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pilih server berdasarkan minat, wilayah, atau tujuan Anda.", + "subtitle_extend": "Pilih server berdasarkan minat, wilayah, atau tujuan Anda. Setiap server dioperasikan oleh organisasi atau individu yang sepenuhnya independen.", "button": { "category": { "all": "Semua", @@ -248,8 +248,8 @@ "category": "KATEGORI" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "placeholder": "Cari server", + "search_servers_or_enter_url": "Cari server atau masukkan URL" }, "empty_state": { "finding_servers": "Mencari server yang tersedia...", @@ -259,7 +259,7 @@ }, "register": { "title": "Beritahu kami tentang diri Anda.", - "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", + "lets_get_you_set_up_on_domain": "Mari kita siapkan Anda di %s", "input": { "avatar": { "delete": "Hapus" @@ -269,18 +269,18 @@ "duplicate_prompt": "Nama pengguna ini sudah diambil." }, "display_name": { - "placeholder": "display name" + "placeholder": "nama yang ditampilkan" }, "email": { "placeholder": "surel" }, "password": { "placeholder": "kata sandi", - "require": "Your password needs at least:", - "character_limit": "8 characters", + "require": "Kata sandi Anda harus memiliki setidaknya:", + "character_limit": "8 karakter", "accessibility": { - "checked": "checked", - "unchecked": "unchecked" + "checked": "dicentang", + "unchecked": "tidak dicentang" }, "hint": "Kata sandi Anda harus memiliki sekurang-kurangnya delapan karakter" }, @@ -294,7 +294,7 @@ "email": "Surel", "password": "Kata sandi", "agreement": "Persetujuan", - "locale": "Locale", + "locale": "Lokal", "reason": "Alasan" }, "reason": { From ac3c32b8cc22535e36e62b0c37d6747bf6178112 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 06:19:28 +0100 Subject: [PATCH 171/300] New translations app.json (Galician) --- Localization/StringsConvertor/input/gl.lproj/app.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index ee2a7cef7..58463bdd0 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -385,10 +385,10 @@ "description_video": "Describe o vídeo para persoas con problemas visuais...", "load_failed": "Fallou a carga", "upload_failed": "Erro na subida", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "Non se recoñece o tipo de multimedia", "attachment_too_large": "Adxunto demasiado grande", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "compressing_state": "Comprimindo...", + "server_processing_state": "Procesando no servidor..." }, "poll": { "duration_time": "Duración: %s", @@ -399,8 +399,8 @@ "three_days": "3 Días", "seven_days": "7 Días", "option_number": "Opción %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "A enquisa non é válida", + "the_poll_has_empty_option": "A enquisa ten unha opción baleira" }, "content_warning": { "placeholder": "Escribe o teu aviso aquí..." From 99a59f4360ff2b8c2483e93ed05a1e63772a5cff Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 07:22:16 +0100 Subject: [PATCH 172/300] New translations app.json (Galician) --- Localization/StringsConvertor/input/gl.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index 58463bdd0..e00791796 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -450,8 +450,8 @@ "content": "Contido" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Verificada en %s", + "long": "A propiedade desta ligazón foi verificada o %s" } }, "segmented_control": { From 70993b31de5f1888eef3bcdfadb7ee6d134c5b2d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:19 +0100 Subject: [PATCH 173/300] New translations app.json (Slovenian) --- .../StringsConvertor/input/sl.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/sl.lproj/app.json b/Localization/StringsConvertor/input/sl.lproj/app.json index 5f79ef02a..252d80def 100644 --- a/Localization/StringsConvertor/input/sl.lproj/app.json +++ b/Localization/StringsConvertor/input/sl.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Posnemi fotografijo", "save_photo": "Shrani fotografijo", "copy_photo": "Kopiraj fotografijo", - "sign_in": "Prijava", - "sign_up": "Registracija", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Pokaži več", "preview": "Predogled", "share": "Deli", @@ -218,10 +218,16 @@ "get_started": "Začnite", "log_in": "Prijava" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon tvorijo uporabniki z različnih strežnikov.", - "subtitle": "Strežnik izberite glede na svoje interese, regijo ali pa izberite splošnega.", - "subtitle_extend": "Strežnik izberite glede na svoje interese, regijo ali pa izberite splošnega. Z vsakim strežnikom upravlja povsem neodvisna organizacija ali posameznik.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Vse", @@ -248,8 +254,7 @@ "category": "KATEGORIJA" }, "input": { - "placeholder": "Išči strežnike", - "search_servers_or_enter_url": "Iščite strežnike ali vnesite URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Iskanje razpoložljivih strežnikov ...", @@ -719,4 +724,4 @@ "title": "Zaznamki" } } -} \ No newline at end of file +} From 83de7e4f9dd8990bed3d2e38cff3df0ea7c0acab Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:20 +0100 Subject: [PATCH 174/300] New translations app.json (Indonesian) --- .../StringsConvertor/input/id.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index 864283436..dba617b0b 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Ambil Foto", "save_photo": "Simpan Foto", "copy_photo": "Salin Foto", - "sign_in": "Masuk", - "sign_up": "Daftar", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Lihat lebih banyak", "preview": "Pratinjau", "share": "Bagikan", @@ -218,10 +218,16 @@ "get_started": "Mulai", "log_in": "Login" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Pilih sebuah server,\nserver manapun.", - "subtitle": "Pilih server berdasarkan minat, wilayah, atau tujuan Anda.", - "subtitle_extend": "Pilih server berdasarkan minat, wilayah, atau tujuan Anda. Setiap server dioperasikan oleh organisasi atau individu yang sepenuhnya independen.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Semua", @@ -248,8 +254,7 @@ "category": "KATEGORI" }, "input": { - "placeholder": "Cari server", - "search_servers_or_enter_url": "Cari server atau masukkan URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Mencari server yang tersedia...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 34bf78e28cc03a0a4ac3e8d35bb31dcb5c2487d6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:21 +0100 Subject: [PATCH 175/300] New translations app.json (Portuguese) --- .../StringsConvertor/input/pt.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/pt.lproj/app.json b/Localization/StringsConvertor/input/pt.lproj/app.json index 30566d8d6..3113ada74 100644 --- a/Localization/StringsConvertor/input/pt.lproj/app.json +++ b/Localization/StringsConvertor/input/pt.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From a24fec4c8da14817ab98f7024a375ba0e1a69816 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:22 +0100 Subject: [PATCH 176/300] New translations app.json (Russian) --- .../StringsConvertor/input/ru.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ru.lproj/app.json b/Localization/StringsConvertor/input/ru.lproj/app.json index 8505e7f42..25314102a 100644 --- a/Localization/StringsConvertor/input/ru.lproj/app.json +++ b/Localization/StringsConvertor/input/ru.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Сделать фото", "save_photo": "Сохранить изображение", "copy_photo": "Скопировать изображение", - "sign_in": "Войти", - "sign_up": "Зарегистрироваться", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Ещё", "preview": "Предпросмотр", "share": "Поделиться", @@ -218,10 +218,16 @@ "get_started": "Присоединиться", "log_in": "Вход" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Выберите сервер,\nлюбой сервер.", - "subtitle": "Выберите сообщество на основе своих интересов, региона или общей тематики.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Все", @@ -248,8 +254,7 @@ "category": "КАТЕГОРИЯ" }, "input": { - "placeholder": "Найдите сервер или присоединитесь к своему...", - "search_servers_or_enter_url": "Поиск по серверам или ссылке" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Ищем доступные сервера...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 93f6cd4812a45defbb549d23d69c20280067c749 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:23 +0100 Subject: [PATCH 177/300] New translations app.json (Chinese Simplified) --- .../input/zh-Hans.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json index c4b127914..242d9aac2 100644 --- a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "拍照", "save_photo": "保存照片", "copy_photo": "拷贝照片", - "sign_in": "登录", - "sign_up": "注册", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "查看更多", "preview": "预览", "share": "分享", @@ -218,10 +218,16 @@ "get_started": "开始使用", "log_in": "登录" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "挑选一个服务器,\n任意服务器。", - "subtitle": "根据你的兴趣、区域或一般目的选择一个社区。", - "subtitle_extend": "根据你的兴趣、区域或一般目的选择一个社区。每个社区都由完全独立的组织或个人管理。", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "全部", @@ -248,8 +254,7 @@ "category": "类别" }, "input": { - "placeholder": "查找或加入你自己的服务器...", - "search_servers_or_enter_url": "搜索服务器或输入 URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "正在查找可用的服务器...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 259f3f1ddea602336330353a66c5b60a076fc502 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:24 +0100 Subject: [PATCH 178/300] New translations app.json (English) --- .../StringsConvertor/input/en.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json index 30566d8d6..3113ada74 100644 --- a/Localization/StringsConvertor/input/en.lproj/app.json +++ b/Localization/StringsConvertor/input/en.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 6f71369c0134112edc481d66a0a6639083004307 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:25 +0100 Subject: [PATCH 179/300] New translations app.json (Galician) --- .../StringsConvertor/input/gl.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index e00791796..f6e01439a 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Facer foto", "save_photo": "Gardar foto", "copy_photo": "Copiar foto", - "sign_in": "Acceder", - "sign_up": "Inscribirse", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Ver máis", "preview": "Vista previa", "share": "Compartir", @@ -218,10 +218,16 @@ "get_started": "Crear conta", "log_in": "Acceder" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon fórmano as persoas das diferentes comunidades.", - "subtitle": "Elixe unha comunidade en función dos teus intereses, rexión ou unha de propósito xeral.", - "subtitle_extend": "Elixe unha comunidade en función dos teus intereses, rexión ou unha de propósito xeral. Cada comunidade está xestionada por unha organización totalmente independente ou unha única persoa.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Todo", @@ -248,8 +254,7 @@ "category": "CATEGORÍA" }, "input": { - "placeholder": "Buscar comunidades", - "search_servers_or_enter_url": "Busca un servidor ou escribe URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Buscando servidores dispoñibles...", @@ -719,4 +724,4 @@ "title": "Marcadores" } } -} \ No newline at end of file +} From e6f8963ae9ec38a9c92aa369765e0cc3dfdac49a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:26 +0100 Subject: [PATCH 180/300] New translations app.json (Portuguese, Brazilian) --- .../input/pt-BR.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index b69c14777..98bb960cc 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Tirar foto", "save_photo": "Salvar foto", "copy_photo": "Copiar foto", - "sign_in": "Entrar", - "sign_up": "Criar conta", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Ver mais", "preview": "Pré-visualização", "share": "Compartilhar", @@ -218,10 +218,16 @@ "get_started": "Comece já", "log_in": "Entrar" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon é feito de usuários em instâncias diferentes.", - "subtitle": "Escolha uma instância baseada nos seus interesses, região, ou em uma proposta geral.", - "subtitle_extend": "Escolha uma instância baseada nos seus interesses, região, ou em uma proposta geral. Cada instância é operada por um indivíduo ou uma organização totalmente independente.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Todos", @@ -248,8 +254,7 @@ "category": "Categoria" }, "input": { - "placeholder": "Procurar instâncias", - "search_servers_or_enter_url": "Procurar instâncias ou inserir URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Procurando instâncias disponíveis...", @@ -719,4 +724,4 @@ "title": "Marcados" } } -} \ No newline at end of file +} From 4ff233aa56e6b7459e2ef3014e87c55bff0004ea Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:28 +0100 Subject: [PATCH 181/300] New translations app.json (Spanish, Argentina) --- .../input/es-AR.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/es-AR.lproj/app.json b/Localization/StringsConvertor/input/es-AR.lproj/app.json index 21934a104..86762f6d4 100644 --- a/Localization/StringsConvertor/input/es-AR.lproj/app.json +++ b/Localization/StringsConvertor/input/es-AR.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Tomar foto", "save_photo": "Guardar foto", "copy_photo": "Copiar foto", - "sign_in": "Iniciar sesión", - "sign_up": "Registrarse", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Ver más", "preview": "Previsualización", "share": "Compartir", @@ -218,10 +218,16 @@ "get_started": "Comenzá", "log_in": "Iniciar sesión" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon está compuesto de cuentas en diferentes servidores.", - "subtitle": "Elegí un servidor basado en tus intereses, región, o de propósitos generales.", - "subtitle_extend": "Elegí un servidor basado en tus intereses, región, o de propósitos generales. Cada servidor es operado por una organización o individuo totalmente independientes.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Todas", @@ -248,8 +254,7 @@ "category": "CATEGORÍA" }, "input": { - "placeholder": "Buscar servidores", - "search_servers_or_enter_url": "Buscar servidores o introducir dirección web" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Buscando servidores disponibles…", @@ -719,4 +724,4 @@ "title": "Marcadores" } } -} \ No newline at end of file +} From cc65912ece8ed936883c105ff4a10bccb11f5e3e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:29 +0100 Subject: [PATCH 182/300] New translations app.json (Japanese) --- .../StringsConvertor/input/ja.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ja.lproj/app.json b/Localization/StringsConvertor/input/ja.lproj/app.json index d145ff494..f73faabd4 100644 --- a/Localization/StringsConvertor/input/ja.lproj/app.json +++ b/Localization/StringsConvertor/input/ja.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "写真を撮る", "save_photo": "写真を撮る", "copy_photo": "写真をコピー", - "sign_in": "サインイン", - "sign_up": "サインアップ", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "もっと見る", "preview": "プレビュー", "share": "共有", @@ -218,10 +218,16 @@ "get_started": "はじめる", "log_in": "ログイン" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "サーバーを選択", - "subtitle": "あなたの興味分野・地域に合ったコミュニティや、汎用のものを選択してください。", - "subtitle_extend": "あなたの興味分野・地域に合ったコミュニティや、汎用のものを選択してください。各コミュニティはそれぞれ完全に独立した組織や個人によって運営されています。", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "すべて", @@ -248,8 +254,7 @@ "category": "カテゴリー" }, "input": { - "placeholder": "サーバーを探す", - "search_servers_or_enter_url": "サーバーを検索またはURLを入力" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "利用可能なサーバーの検索...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From c9c96d5f87245788d5152684d9c0163c57e7cb1e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:30 +0100 Subject: [PATCH 183/300] New translations app.json (Thai) --- .../StringsConvertor/input/th.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/th.lproj/app.json b/Localization/StringsConvertor/input/th.lproj/app.json index dd5ee212c..50f43375e 100644 --- a/Localization/StringsConvertor/input/th.lproj/app.json +++ b/Localization/StringsConvertor/input/th.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "ถ่ายรูป", "save_photo": "บันทึกรูปภาพ", "copy_photo": "คัดลอกรูปภาพ", - "sign_in": "ลงชื่อเข้า", - "sign_up": "ลงทะเบียน", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "ดูเพิ่มเติม", "preview": "แสดงตัวอย่าง", "share": "แบ่งปัน", @@ -218,10 +218,16 @@ "get_started": "เริ่มต้นใช้งาน", "log_in": "เข้าสู่ระบบ" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon ประกอบด้วยผู้ใช้ในเซิร์ฟเวอร์ต่าง ๆ", - "subtitle": "เลือกเซิร์ฟเวอร์ตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ", - "subtitle_extend": "เลือกเซิร์ฟเวอร์ตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ แต่ละเซิร์ฟเวอร์ได้รับการดำเนินงานโดยองค์กรหรือบุคคลที่เป็นอิสระโดยสิ้นเชิง", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "ทั้งหมด", @@ -248,8 +254,7 @@ "category": "หมวดหมู่" }, "input": { - "placeholder": "ค้นหาเซิร์ฟเวอร์", - "search_servers_or_enter_url": "ค้นหาเซิร์ฟเวอร์หรือป้อน URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "กำลังค้นหาเซิร์ฟเวอร์ที่พร้อมใช้งาน...", @@ -719,4 +724,4 @@ "title": "ที่คั่นหน้า" } } -} \ No newline at end of file +} From c86bf006cd73fa036a9f41c9ccb5e098b1721cf4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:31 +0100 Subject: [PATCH 184/300] New translations app.json (Latvian) --- .../StringsConvertor/input/lv.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/lv.lproj/app.json b/Localization/StringsConvertor/input/lv.lproj/app.json index f21cde453..1ca18400b 100644 --- a/Localization/StringsConvertor/input/lv.lproj/app.json +++ b/Localization/StringsConvertor/input/lv.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Uzņemt bildi", "save_photo": "Saglabāt bildi", "copy_photo": "Kopēt bildi", - "sign_in": "Pieteikties", - "sign_up": "Reģistrēties", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Skatīt vairāk", "preview": "Priekšskatījums", "share": "Dalīties", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Pieteikties" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Visi", @@ -248,8 +254,7 @@ "category": "KATEGORIJA" }, "input": { - "placeholder": "Meklēt serverus", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From c32dc91d7caaf680c0ca7ad571f5c6c7f521bb7c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:32 +0100 Subject: [PATCH 185/300] New translations app.json (Hindi) --- .../StringsConvertor/input/hi.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/hi.lproj/app.json b/Localization/StringsConvertor/input/hi.lproj/app.json index ec405da4d..f9414b6c0 100644 --- a/Localization/StringsConvertor/input/hi.lproj/app.json +++ b/Localization/StringsConvertor/input/hi.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From ff2663908572ed878b98f9f5aca3257235d119aa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:33 +0100 Subject: [PATCH 186/300] New translations app.json (English, United States) --- .../input/en-US.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/en-US.lproj/app.json b/Localization/StringsConvertor/input/en-US.lproj/app.json index 30566d8d6..3113ada74 100644 --- a/Localization/StringsConvertor/input/en-US.lproj/app.json +++ b/Localization/StringsConvertor/input/en-US.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From a6f26050a6498de56808b144029e4a806aa32e10 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:34 +0100 Subject: [PATCH 187/300] New translations app.json (Welsh) --- .../StringsConvertor/input/cy.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/cy.lproj/app.json b/Localization/StringsConvertor/input/cy.lproj/app.json index 5a962d852..fec3197be 100644 --- a/Localization/StringsConvertor/input/cy.lproj/app.json +++ b/Localization/StringsConvertor/input/cy.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From d04313854cef587652730830e2984377c6b056b5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:35 +0100 Subject: [PATCH 188/300] New translations app.json (Sinhala) --- .../StringsConvertor/input/si.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/si.lproj/app.json b/Localization/StringsConvertor/input/si.lproj/app.json index 2ac50e06b..a4542b9e9 100644 --- a/Localization/StringsConvertor/input/si.lproj/app.json +++ b/Localization/StringsConvertor/input/si.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "පිවිසෙන්න", - "sign_up": "ලියාපදිංචිය", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "තව බලන්න", "preview": "පෙරදසුන", "share": "බෙදාගන්න", @@ -218,10 +218,16 @@ "get_started": "පටන් ගන්න", "log_in": "පිවිසෙන්න" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "සියල්ල", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From b16cde910b694add79977bf74fd7fa4cb4ffb232 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:36 +0100 Subject: [PATCH 189/300] New translations app.json (Kurmanji (Kurdish)) --- .../StringsConvertor/input/kmr.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/kmr.lproj/app.json b/Localization/StringsConvertor/input/kmr.lproj/app.json index f52e1bdae..4a2bc3283 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/app.json +++ b/Localization/StringsConvertor/input/kmr.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Wêne bikişîne", "save_photo": "Wêneyê tomar bike", "copy_photo": "Wêneyê jê bigire", - "sign_in": "Têkeve", - "sign_up": "Tomar bibe", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Bêtir bibîne", "preview": "Pêşdîtin", "share": "Parve bike", @@ -218,10 +218,16 @@ "get_started": "Dest pê bike", "log_in": "Têkeve" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon ji bikarhênerên di civakên cuda de pêk tê.", - "subtitle": "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre.", - "subtitle_extend": "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre. Her civakek ji hêla rêxistinek an kesek bi tevahî serbixwe ve tê xebitandin.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Hemû", @@ -248,8 +254,7 @@ "category": "BEŞ" }, "input": { - "placeholder": "Li rajekaran bigere", - "search_servers_or_enter_url": "Li rajekaran bigere an jî girêdanê têxe" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Peydakirina rajekarên berdest...", @@ -719,4 +724,4 @@ "title": "Şûnpel" } } -} \ No newline at end of file +} From 997b856ae8c870ad779cb551c65f97c7a6fe0400 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:37 +0100 Subject: [PATCH 190/300] New translations app.json (Dutch) --- .../StringsConvertor/input/nl.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/nl.lproj/app.json b/Localization/StringsConvertor/input/nl.lproj/app.json index 5241d23bf..589c51d2d 100644 --- a/Localization/StringsConvertor/input/nl.lproj/app.json +++ b/Localization/StringsConvertor/input/nl.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Maak foto", "save_photo": "Bewaar foto", "copy_photo": "Kopieer foto", - "sign_in": "Aanmelden", - "sign_up": "Registreren", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Meer", "preview": "Voorvertoning", "share": "Deel", @@ -218,10 +218,16 @@ "get_started": "Aan de slag", "log_in": "Log in" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Kies een server, welke dan ook.", - "subtitle": "Kies een gemeenschap gebaseerd op jouw interesses, regio of een algemeen doel.", - "subtitle_extend": "Kies een gemeenschap gebaseerd op jouw interesses, regio, of een algemeen doel. Elke gemeenschap wordt beheerd door een volledig onafhankelijke organisatie of individu.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Alles", @@ -248,8 +254,7 @@ "category": "CATEGORIE" }, "input": { - "placeholder": "Zoek uw server of sluit u bij een nieuwe server aan...", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Beschikbare servers zoeken...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 3e89962373f04fc73312e671fe7bd798e76ded14 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:38 +0100 Subject: [PATCH 191/300] New translations app.json (Italian) --- .../StringsConvertor/input/it.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/it.lproj/app.json b/Localization/StringsConvertor/input/it.lproj/app.json index c0d33a73b..81131e857 100644 --- a/Localization/StringsConvertor/input/it.lproj/app.json +++ b/Localization/StringsConvertor/input/it.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Scatta foto", "save_photo": "Salva foto", "copy_photo": "Copia foto", - "sign_in": "Accedi", - "sign_up": "Registrati", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Visualizza altro", "preview": "Anteprima", "share": "Condividi", @@ -218,10 +218,16 @@ "get_started": "Inizia", "log_in": "Accedi" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon è fatto di utenti in diverse comunità.", - "subtitle": "Scegli una comunità basata sui tuoi interessi, regione o uno scopo generale.", - "subtitle_extend": "Scegli una comunità basata sui tuoi interessi, regione o uno scopo generale. Ogni comunità è gestita da un'organizzazione completamente indipendente o individuale.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Tutti", @@ -248,8 +254,7 @@ "category": "CATEGORIA" }, "input": { - "placeholder": "Cerca comunità", - "search_servers_or_enter_url": "Cerca i server o inserisci l'URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Ricerca server disponibili...", @@ -719,4 +724,4 @@ "title": "Segnalibri" } } -} \ No newline at end of file +} From 58ae3668e2f7114a407a028352dd3189281f9f53 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:39 +0100 Subject: [PATCH 192/300] New translations app.json (Chinese Traditional) --- .../input/zh-Hant.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json index d7d02240f..c7607ba2a 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "拍攝照片", "save_photo": "儲存照片", "copy_photo": "複製照片", - "sign_in": "登入", - "sign_up": "註冊", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "檢視更多", "preview": "預覽", "share": "分享", @@ -218,10 +218,16 @@ "get_started": "新手上路", "log_in": "登入" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon 由不同伺服器的使用者組成。", - "subtitle": "基於您的興趣、地區、或一般用途選定一個伺服器。", - "subtitle_extend": "基於您的興趣、地區、或一般用途選定一個伺服器。每個伺服器是由完全獨立的組織或個人營運。", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "全部", @@ -248,8 +254,7 @@ "category": "分類" }, "input": { - "placeholder": "搜尋伺服器", - "search_servers_or_enter_url": "搜尋伺服器或輸入網址" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "尋找可用的伺服器...", @@ -719,4 +724,4 @@ "title": "書籤" } } -} \ No newline at end of file +} From 2b933c33270a68c0a7abc05988b921f99a755a9f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:40 +0100 Subject: [PATCH 193/300] New translations app.json (Ukrainian) --- .../StringsConvertor/input/uk.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/uk.lproj/app.json b/Localization/StringsConvertor/input/uk.lproj/app.json index 30566d8d6..3113ada74 100644 --- a/Localization/StringsConvertor/input/uk.lproj/app.json +++ b/Localization/StringsConvertor/input/uk.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From dd8c8409ea05bbcfb4ae78dc937a55c8de1d9216 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:42 +0100 Subject: [PATCH 194/300] New translations app.json (Vietnamese) --- .../StringsConvertor/input/vi.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/vi.lproj/app.json b/Localization/StringsConvertor/input/vi.lproj/app.json index ff751d964..e7e5a1372 100644 --- a/Localization/StringsConvertor/input/vi.lproj/app.json +++ b/Localization/StringsConvertor/input/vi.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Chụp ảnh", "save_photo": "Lưu ảnh", "copy_photo": "Sao chép ảnh", - "sign_in": "Đăng nhập", - "sign_up": "Đăng ký", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Xem thêm", "preview": "Xem trước", "share": "Chia sẻ", @@ -218,10 +218,16 @@ "get_started": "Bắt đầu", "log_in": "Đăng nhập" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon gồm nhiều máy chủ với thành viên riêng.", - "subtitle": "Chọn một máy chủ dựa theo sở thích, tôn giáo, hoặc ý muốn của bạn.", - "subtitle_extend": "Chọn một máy chủ dựa theo sở thích, tôn giáo, hoặc ý muốn của bạn. Mỗi máy chủ có thể được vận hành bởi một cá nhân hoặc một tổ chức.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Toàn bộ", @@ -248,8 +254,7 @@ "category": "PHÂN LOẠI" }, "input": { - "placeholder": "Tìm máy chủ", - "search_servers_or_enter_url": "Tìm máy chủ hoặc nhập URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Đang tìm máy chủ hoạt động...", @@ -719,4 +724,4 @@ "title": "Tút đã lưu" } } -} \ No newline at end of file +} From 1d9f4530a14898d37d2a79735039f124dec15382 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:43 +0100 Subject: [PATCH 195/300] New translations app.json (Kabyle) --- .../StringsConvertor/input/kab.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/kab.lproj/app.json b/Localization/StringsConvertor/input/kab.lproj/app.json index 713cc8959..fb8add87b 100644 --- a/Localization/StringsConvertor/input/kab.lproj/app.json +++ b/Localization/StringsConvertor/input/kab.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Ṭṭef tawlaft", "save_photo": "Sekles tawlaft", "copy_photo": "Nɣel tawlaft", - "sign_in": "Qqen", - "sign_up": "Jerred amiḍan", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Wali ugar", "preview": "Taskant", "share": "Bḍu", @@ -218,10 +218,16 @@ "get_started": "Aha bdu tura", "log_in": "Qqen" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon yettwaxdem i yiseqdacen deg waṭas n temɣiwnin.", - "subtitle": "Fren tamɣiwent almend n wayen tḥemmleḍ, n tmurt-ik neɣ n yiswi-inek amatu.", - "subtitle_extend": "Fren tamɣiwent almend n wayen tḥemmleḍ, n tmurt-ik neɣ n yiswi-inek amatu. Yal tamɣiwent tsedday-itt tkebbanit neɣ amdan ilelliyen.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Akk", @@ -248,8 +254,7 @@ "category": "TAGGAYT" }, "input": { - "placeholder": "Nadi timɣiwnin", - "search_servers_or_enter_url": "Nadi timɣiwnin neɣ sekcem URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Tifin n yiqeddacen yellan...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 4952b434b3faf2de93b27da8f7c3b545f33161d4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:44 +0100 Subject: [PATCH 196/300] New translations app.json (Korean) --- .../StringsConvertor/input/ko.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ko.lproj/app.json b/Localization/StringsConvertor/input/ko.lproj/app.json index a871d2d00..3971b18e9 100644 --- a/Localization/StringsConvertor/input/ko.lproj/app.json +++ b/Localization/StringsConvertor/input/ko.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "사진 촬영", "save_photo": "사진 저장", "copy_photo": "사진 복사", - "sign_in": "로그인", - "sign_up": "회원가입", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "더 보기", "preview": "미리보기", "share": "공유", @@ -218,10 +218,16 @@ "get_started": "시작하기", "log_in": "로그인" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "서버를 고르세요,\n아무 서버나 좋습니다.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "모두", @@ -248,8 +254,7 @@ "category": "분류" }, "input": { - "placeholder": "서버 검색", - "search_servers_or_enter_url": "서버를 검색하거나 URL을 입력하세요" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "사용 가능한 서버를 찾는 중입니다...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From cd9209f84beb8b087105cac38ea93686c8533724 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:45 +0100 Subject: [PATCH 197/300] New translations app.json (Swedish) --- .../StringsConvertor/input/sv.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/sv.lproj/app.json b/Localization/StringsConvertor/input/sv.lproj/app.json index 6375771ff..27f931249 100644 --- a/Localization/StringsConvertor/input/sv.lproj/app.json +++ b/Localization/StringsConvertor/input/sv.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Ta foto", "save_photo": "Spara foto", "copy_photo": "Kopiera foto", - "sign_in": "Logga in", - "sign_up": "Registrera dig", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Visa mer", "preview": "Förhandsvisa", "share": "Dela", @@ -218,10 +218,16 @@ "get_started": "Kom igång", "log_in": "Logga in" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon utgörs av användare på olika servrar.", - "subtitle": "Välj en server baserat på dina intressen, region eller ett allmänt syfte.", - "subtitle_extend": "Välj en server baserat på dina intressen, region eller ett allmänt syfte. Varje server drivs av en helt oberoende organisation eller individ.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Alla", @@ -248,8 +254,7 @@ "category": "KATEGORI" }, "input": { - "placeholder": "Sök gemenskaper", - "search_servers_or_enter_url": "Sök servrar eller ange URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Söker tillgängliga servrar...", @@ -719,4 +724,4 @@ "title": "Bokmärken" } } -} \ No newline at end of file +} From 8fece50f4a5a05a6a54a41f9af02ef66f4f502d0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:46 +0100 Subject: [PATCH 198/300] New translations app.json (French) --- .../StringsConvertor/input/fr.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/fr.lproj/app.json b/Localization/StringsConvertor/input/fr.lproj/app.json index 7dffb4aba..effeafe12 100644 --- a/Localization/StringsConvertor/input/fr.lproj/app.json +++ b/Localization/StringsConvertor/input/fr.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Prendre une photo", "save_photo": "Enregistrer la photo", "copy_photo": "Copier la photo", - "sign_in": "Se connecter", - "sign_up": "Créer un compte", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Voir plus", "preview": "Aperçu", "share": "Partager", @@ -218,10 +218,16 @@ "get_started": "Prise en main", "log_in": "Se connecter" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Choisissez un serveur,\nn'importe quel serveur.", - "subtitle": "Choisissez une communauté en fonction de vos intérêts, de votre région ou de votre objectif général.", - "subtitle_extend": "Choisissez une communauté basée sur vos intérêts, votre région ou un but général. Chaque communauté est gérée par une organisation ou un individu entièrement indépendant.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Tout", @@ -248,8 +254,7 @@ "category": "CATÉGORIE" }, "input": { - "placeholder": "Trouvez un serveur ou rejoignez le vôtre...", - "search_servers_or_enter_url": "Rechercher des serveurs ou entrer une URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Recherche des serveurs disponibles...", @@ -719,4 +724,4 @@ "title": "Favoris" } } -} \ No newline at end of file +} From 687db19201e48f39c73449e5f9496a0c7b3fd443 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:47 +0100 Subject: [PATCH 199/300] New translations app.json (Turkish) --- .../StringsConvertor/input/tr.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/tr.lproj/app.json b/Localization/StringsConvertor/input/tr.lproj/app.json index 27ebf6e0a..37325cf05 100644 --- a/Localization/StringsConvertor/input/tr.lproj/app.json +++ b/Localization/StringsConvertor/input/tr.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Fotoğraf Çek", "save_photo": "Fotoğrafı Kaydet", "copy_photo": "Fotoğrafı Kopyala", - "sign_in": "Giriş Yap", - "sign_up": "Kaydol", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Daha Fazla Gör", "preview": "Önizleme", "share": "Paylaş", @@ -218,10 +218,16 @@ "get_started": "Başlayın", "log_in": "Oturum Aç" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon, farklı topluluklardaki kullanıcılardan oluşur.", - "subtitle": "İlgi alanlarınıza, bölgenize veya genel amaçlı bir topluluk seçin.", - "subtitle_extend": "İlgi alanlarınıza, bölgenize veya genel amaçlı bir topluluk seçin. Her topluluk tamamen bağımsız bir kuruluş veya kişi tarafından işletilmektedir.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Tümü", @@ -248,8 +254,7 @@ "category": "KATEGORİ" }, "input": { - "placeholder": "Toplulukları ara", - "search_servers_or_enter_url": "Sunucuları ara ya da bir bağlantı gir" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Mevcut sunucular aranıyor...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From ff1899b8ff9e7f8b9f0e6356ad5b41b9dd3717ab Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:48 +0100 Subject: [PATCH 200/300] New translations app.json (Czech) --- .../StringsConvertor/input/cs.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/cs.lproj/app.json b/Localization/StringsConvertor/input/cs.lproj/app.json index d6624a26b..751ae6a61 100644 --- a/Localization/StringsConvertor/input/cs.lproj/app.json +++ b/Localization/StringsConvertor/input/cs.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Vyfotit", "save_photo": "Uložit fotku", "copy_photo": "Kopírovat fotografii", - "sign_in": "Přihlásit se", - "sign_up": "Zaregistrovat se", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Zobrazit více", "preview": "Náhled", "share": "Sdílet", @@ -218,10 +218,16 @@ "get_started": "Začínáme", "log_in": "Přihlásit se" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon tvoří uživatelé z různých serverů.", - "subtitle": "Vyberte server založený na vašich zájmech, regionu nebo obecném účelu.", - "subtitle_extend": "Vyberte server založený na vašich zájmech, regionu nebo obecném účelu. Každý server je provozován zcela nezávislou organizací nebo jednotlivcem.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Vše", @@ -248,8 +254,7 @@ "category": "KATEGORIE" }, "input": { - "placeholder": "Hledat servery", - "search_servers_or_enter_url": "Hledat servery nebo zadat URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Hledání dostupných serverů...", @@ -719,4 +724,4 @@ "title": "Záložky" } } -} \ No newline at end of file +} From 4c5f4c3dfc8286f1ce5c25c97314ebec530bbb7d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:49 +0100 Subject: [PATCH 201/300] New translations app.json (Scottish Gaelic) --- .../StringsConvertor/input/gd.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/gd.lproj/app.json b/Localization/StringsConvertor/input/gd.lproj/app.json index 6a575afc2..f29f0fa17 100644 --- a/Localization/StringsConvertor/input/gd.lproj/app.json +++ b/Localization/StringsConvertor/input/gd.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Tog dealbh", "save_photo": "Sàbhail an dealbh", "copy_photo": "Dèan lethbhreac dhen dealbh", - "sign_in": "Clàraich a-steach", - "sign_up": "Clàraich leinn", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Seall a bharrachd", "preview": "Ro-sheall", "share": "Co-roinn", @@ -218,10 +218,16 @@ "get_started": "Dèan toiseach-tòiseachaidh", "log_in": "Clàraich a-steach" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Tha cleachdaichean Mhastodon air iomadh frithealaiche eadar-dhealaichte.", - "subtitle": "Tagh frithealaiche stèidhichte air d’ ùidhean, air far a bheil thu no fear coitcheann.", - "subtitle_extend": "Tagh frithealaiche stèidhichte air d’ ùidhean, air far a bheil thu no fear coitcheann. Tha gach frithealaiche fo stiùireadh buidhinn no neach neo-eisimeilich fa leth.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Na h-uile", @@ -248,8 +254,7 @@ "category": "ROINN-SEÒRSA" }, "input": { - "placeholder": "Lorg frithealaiche", - "search_servers_or_enter_url": "Lorg frithealaiche no cuir a-steach URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "A’ lorg nam frithealaichean ri am faighinn…", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 68f7e6f19571abe6bafbab8358f72fa05f91ee8d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:51 +0100 Subject: [PATCH 202/300] New translations app.json (Finnish) --- .../StringsConvertor/input/fi.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/fi.lproj/app.json b/Localization/StringsConvertor/input/fi.lproj/app.json index febfee2ca..7dafe7fd1 100644 --- a/Localization/StringsConvertor/input/fi.lproj/app.json +++ b/Localization/StringsConvertor/input/fi.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Ota kuva", "save_photo": "Tallenna kuva", "copy_photo": "Kopioi kuva", - "sign_in": "Kirjaudu sisään", - "sign_up": "Rekisteröidy", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Näytä lisää", "preview": "Esikatselu", "share": "Jaa", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Valitse palvelin,\nmikä tahansa palvelin.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Kaikki", @@ -248,8 +254,7 @@ "category": "KATEGORIA" }, "input": { - "placeholder": "Etsi palvelin tai liity omaan...", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Etsistään saatavilla olevia palvelimia...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From fced11f09138217eda093c8722a925f605874c6c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:52 +0100 Subject: [PATCH 203/300] New translations app.json (Romanian) --- .../StringsConvertor/input/ro.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ro.lproj/app.json b/Localization/StringsConvertor/input/ro.lproj/app.json index 18fcb023b..75a77184c 100644 --- a/Localization/StringsConvertor/input/ro.lproj/app.json +++ b/Localization/StringsConvertor/input/ro.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 1de7a45a5369273fa10496d984afc96077a6b388 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:53 +0100 Subject: [PATCH 204/300] New translations app.json (Spanish) --- .../StringsConvertor/input/es.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/es.lproj/app.json b/Localization/StringsConvertor/input/es.lproj/app.json index a7500e27f..1b90bfa10 100644 --- a/Localization/StringsConvertor/input/es.lproj/app.json +++ b/Localization/StringsConvertor/input/es.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Tomar foto", "save_photo": "Guardar foto", "copy_photo": "Copiar foto", - "sign_in": "Iniciar sesión", - "sign_up": "Regístrate", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Ver más", "preview": "Vista previa", "share": "Compartir", @@ -218,10 +218,16 @@ "get_started": "Empezar", "log_in": "Iniciar sesión" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Elige un servidor,\ncualquier servidor.", - "subtitle": "Elige una comunidad relacionada con tus intereses, con tu región o una más genérica.", - "subtitle_extend": "Elige una comunidad relacionada con tus intereses, con tu región o una más genérica. Cada comunidad está operada por una organización o individuo completamente independiente.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Todas", @@ -248,8 +254,7 @@ "category": "CATEGORÍA" }, "input": { - "placeholder": "Encuentra un servidor o únete al tuyo propio...", - "search_servers_or_enter_url": "Buscar servidores o introducir la URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Encontrando servidores disponibles...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From baa8a85fa63c4236000bb0fc04214ee31e2aead3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:54 +0100 Subject: [PATCH 205/300] New translations app.json (Arabic) --- .../StringsConvertor/input/ar.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ar.lproj/app.json b/Localization/StringsConvertor/input/ar.lproj/app.json index 1a52ccfbb..2ed2be724 100644 --- a/Localization/StringsConvertor/input/ar.lproj/app.json +++ b/Localization/StringsConvertor/input/ar.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "اِلتِقاطُ صُورَة", "save_photo": "حفظ الصورة", "copy_photo": "نسخ الصورة", - "sign_in": "تسجيل الدخول", - "sign_up": "إنشاء حِساب", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "عرض المزيد", "preview": "مُعاينة", "share": "المُشارك", @@ -218,10 +218,16 @@ "get_started": "ابدأ الآن", "log_in": "تسجيلُ الدخول" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "اِختر خادِم،\nأيًّا مِنهُم.", - "subtitle": "اختر مجتمعًا بناءً على اهتماماتك، منطقتك أو يمكنك حتى اختيارُ مجتمعٍ ذي غرضٍ عام.", - "subtitle_extend": "اختر مجتمعًا بناءً على اهتماماتك، منطقتك أو يمكنك حتى اختيارُ مجتمعٍ ذي غرضٍ عام. تُشغَّل جميعُ المجتمعِ مِن قِبَلِ مُنظمَةٍ أو فردٍ مُستقلٍ تمامًا.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "الكُل", @@ -248,8 +254,7 @@ "category": "الفئة" }, "input": { - "placeholder": "اِبحَث عن خادِم أو انضم إلى آخر خاص بك...", - "search_servers_or_enter_url": "اِبحَث فِي الخَوادِم أو أدخِل رابِط" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "يجري إيجاد خوادم متوفِّرَة...", @@ -719,4 +724,4 @@ "title": "العَلاماتُ المَرجعيَّة" } } -} \ No newline at end of file +} From 61fdda2e636b0f06f0f1a314a430f9823e94459b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:55 +0100 Subject: [PATCH 206/300] New translations app.json (Catalan) --- .../StringsConvertor/input/ca.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ca.lproj/app.json b/Localization/StringsConvertor/input/ca.lproj/app.json index 35dd58746..a417ffdbb 100644 --- a/Localization/StringsConvertor/input/ca.lproj/app.json +++ b/Localization/StringsConvertor/input/ca.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Fes una foto", "save_photo": "Desa la foto", "copy_photo": "Copia la foto", - "sign_in": "Iniciar sessió", - "sign_up": "Registre", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Veure més", "preview": "Vista prèvia", "share": "Comparteix", @@ -218,10 +218,16 @@ "get_started": "Comença", "log_in": "Inicia sessió" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon està fet d'usuaris en diferents comunitats.", - "subtitle": "Tria una comunitat segons els teus interessos, regió o una de propòsit general.", - "subtitle_extend": "Tria una comunitat segons els teus interessos, regió o una de propòsit general. Cada comunitat és operada per una organització totalment independent o individualment.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Totes", @@ -248,8 +254,7 @@ "category": "CATEGORIA" }, "input": { - "placeholder": "Cerca servidors", - "search_servers_or_enter_url": "Cerca servidors o introdueix l'enllaç" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Cercant els servidors disponibles...", @@ -719,4 +724,4 @@ "title": "Marcadors" } } -} \ No newline at end of file +} From 05863051c9e38ee581222f44433bf90cf82ab226 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:56 +0100 Subject: [PATCH 207/300] New translations app.json (Danish) --- .../StringsConvertor/input/da.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/da.lproj/app.json b/Localization/StringsConvertor/input/da.lproj/app.json index 30566d8d6..3113ada74 100644 --- a/Localization/StringsConvertor/input/da.lproj/app.json +++ b/Localization/StringsConvertor/input/da.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Take Photo", "save_photo": "Save Photo", "copy_photo": "Copy Photo", - "sign_in": "Sign In", - "sign_up": "Sign Up", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "See More", "preview": "Preview", "share": "Share", @@ -218,10 +218,16 @@ "get_started": "Get Started", "log_in": "Log In" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Mastodon is made of users in different servers.", - "subtitle": "Pick a server based on your interests, region, or a general purpose one.", - "subtitle_extend": "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "All", @@ -248,8 +254,7 @@ "category": "CATEGORY" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Finding available servers...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From e1c18ebfbe02962f58c1a9e0718d8be3932e39e7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:57 +0100 Subject: [PATCH 208/300] New translations app.json (German) --- .../StringsConvertor/input/de.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/de.lproj/app.json b/Localization/StringsConvertor/input/de.lproj/app.json index 54bb81973..bda8161a1 100644 --- a/Localization/StringsConvertor/input/de.lproj/app.json +++ b/Localization/StringsConvertor/input/de.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Foto aufnehmen", "save_photo": "Foto speichern", "copy_photo": "Foto kopieren", - "sign_in": "Anmelden", - "sign_up": "Registrieren", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Mehr anzeigen", "preview": "Vorschau", "share": "Teilen", @@ -218,10 +218,16 @@ "get_started": "Registrieren", "log_in": "Anmelden" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Wähle einen Server,\nbeliebigen Server.", - "subtitle": "Wähle eine Gemeinschaft, die auf deinen Interessen, Region oder einem allgemeinen Zweck basiert.", - "subtitle_extend": "Wähle eine Gemeinschaft basierend auf deinen Interessen, deiner Region oder einem allgemeinen Zweck. Jede Gemeinschaft wird von einer völlig unabhängigen Organisation oder Einzelperson betrieben.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Alle", @@ -248,8 +254,7 @@ "category": "KATEGORIE" }, "input": { - "placeholder": "Nach Server suchen oder URL eingeben", - "search_servers_or_enter_url": "Nach Server suchen oder URL eingeben" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Verfügbare Server werden gesucht...", @@ -719,4 +724,4 @@ "title": "Lesezeichen" } } -} \ No newline at end of file +} From 54a70a81b5e876cccfa39b2b698f44407beee5d4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:45:59 +0100 Subject: [PATCH 209/300] New translations app.json (Basque) --- .../StringsConvertor/input/eu.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/eu.lproj/app.json b/Localization/StringsConvertor/input/eu.lproj/app.json index 9f5e925c6..3da0d6a00 100644 --- a/Localization/StringsConvertor/input/eu.lproj/app.json +++ b/Localization/StringsConvertor/input/eu.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Atera argazkia", "save_photo": "Gorde argazkia", "copy_photo": "Kopiatu argazkia", - "sign_in": "Hasi saioa", - "sign_up": "Eman Izena", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "Ikusi gehiago", "preview": "Aurrebista", "share": "Partekatu", @@ -218,10 +218,16 @@ "get_started": "Nola hasi", "log_in": "Hasi saioa" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "Aukeratu zerbitzari bat,\nedozein zerbitzari.", - "subtitle": "Aukeratu komunitate bat zure interes edo lurraldearen arabera, edo erabilera orokorreko bat.", - "subtitle_extend": "Aukeratu komunitate bat zure interes edo lurraldearen arabera, edo erabilera orokorreko bat. Komunitate bakoitza erakunde edo norbanako independente batek kudeatzen du.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Guztiak", @@ -248,8 +254,7 @@ "category": "KATEGORIA" }, "input": { - "placeholder": "Bilatu zerbitzari bat edo sortu zurea...", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "Erabilgarri dauden zerbitzariak bilatzen...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From bbc2f3c1652096e52c0c082ea34b4eaf2bda1a1e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 09:46:00 +0100 Subject: [PATCH 210/300] New translations app.json (Sorani (Kurdish)) --- .../StringsConvertor/input/ckb.lproj/app.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ckb.lproj/app.json b/Localization/StringsConvertor/input/ckb.lproj/app.json index 3720f555e..787bbea36 100644 --- a/Localization/StringsConvertor/input/ckb.lproj/app.json +++ b/Localization/StringsConvertor/input/ckb.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "وێنە بگرە", "save_photo": "هەڵی بگرە", "copy_photo": "لەبەری بگرەوە", - "sign_in": "بچۆ ژوورەوە", - "sign_up": "خۆت تۆمار بکە", + "sign_in": "Log in", + "sign_up": "Create account", "see_more": "زیاتر ببینە", "preview": "پێشبینین", "share": "هاوبەشی بکە", @@ -218,10 +218,16 @@ "get_started": "دەست پێ بکە", "log_in": "بچۆ ژوورەوە" }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, "server_picker": { "title": "ماستۆدۆن لە چەندان بەکارهێنەر پێک دێت کە لە ڕاژەکاری جیاواز دان.", - "subtitle": "ڕاژەکارێکێکی گشتی یان دانەیەک لەسەر بنەمای حەزەکانت و هەرێمەکەت هەڵبژێرە.", - "subtitle_extend": "ڕاژەکارێکێکی گشتی یان دانەیەک لەسەر بنەمای حەزەکانت و هەرێمەکەت هەڵبژێرە. هەر ڕاژەکارێک لەلایەن ڕێکخراوێک یان تاکەکەسێک بەڕێوە دەبرێت.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "هەموو", @@ -248,8 +254,7 @@ "category": "بەش" }, "input": { - "placeholder": "بگەڕێ", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Search communities or enter URL" }, "empty_state": { "finding_servers": "ڕاژەکار دەدۆزرێتەوە...", @@ -719,4 +724,4 @@ "title": "Bookmarks" } } -} \ No newline at end of file +} From 2e7598e4f723e99ef80bce9df4cd7af667be89ea Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 10:42:10 +0100 Subject: [PATCH 211/300] New translations app.json (Slovenian) --- .../StringsConvertor/input/sl.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/sl.lproj/app.json b/Localization/StringsConvertor/input/sl.lproj/app.json index 252d80def..0aed7bc15 100644 --- a/Localization/StringsConvertor/input/sl.lproj/app.json +++ b/Localization/StringsConvertor/input/sl.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Posnemi fotografijo", "save_photo": "Shrani fotografijo", "copy_photo": "Kopiraj fotografijo", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Prijava", + "sign_up": "Ustvari račun", "see_more": "Pokaži več", "preview": "Predogled", "share": "Deli", @@ -219,15 +219,15 @@ "log_in": "Prijava" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Dobrodošli nazaj", + "subtitle": "Prijavite se na strežniku, na katerem ste ustvarili račun.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Vnesite URL ali poiščite svoj strežnik" } }, "server_picker": { "title": "Mastodon tvorijo uporabniki z različnih strežnikov.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Strežnik izberite glede na svojo regijo, zanimanje ali pa kar splošno. Še vedno lahko klepetate s komer koli na Mastodonu, ne glede na strežnik.", "button": { "category": { "all": "Vse", @@ -254,7 +254,7 @@ "category": "KATEGORIJA" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Iščite po skupnostih ali vnesite URL" }, "empty_state": { "finding_servers": "Iskanje razpoložljivih strežnikov ...", From 198411e2f42b9d7f5095e7d626fa360d61fe44c3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 10:42:11 +0100 Subject: [PATCH 212/300] New translations app.json (Vietnamese) --- .../StringsConvertor/input/vi.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/vi.lproj/app.json b/Localization/StringsConvertor/input/vi.lproj/app.json index e7e5a1372..963be39c9 100644 --- a/Localization/StringsConvertor/input/vi.lproj/app.json +++ b/Localization/StringsConvertor/input/vi.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Chụp ảnh", "save_photo": "Lưu ảnh", "copy_photo": "Sao chép ảnh", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Đăng nhập", + "sign_up": "Tạo tài khoản", "see_more": "Xem thêm", "preview": "Xem trước", "share": "Chia sẻ", @@ -219,15 +219,15 @@ "log_in": "Đăng nhập" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Chào mừng trở lại!", + "subtitle": "Đăng nhập vào máy chủ mà bạn đã tạo tài khoản.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Nhập URL hoặc tìm máy chủ" } }, "server_picker": { "title": "Mastodon gồm nhiều máy chủ với thành viên riêng.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Chọn một máy chủ dựa theo sở thích, tôn giáo, hoặc ý muốn của bạn. Bạn vẫn có thể giao tiếp với bất cứ ai mà không phụ thuộc vào máy chủ của họ.", "button": { "category": { "all": "Toàn bộ", @@ -254,7 +254,7 @@ "category": "PHÂN LOẠI" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Tìm một máy chủ hoặc nhập URL" }, "empty_state": { "finding_servers": "Đang tìm máy chủ hoạt động...", From 8d2c1aa4ebae5becc273738b18d260f3354acd0f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 10:42:12 +0100 Subject: [PATCH 213/300] New translations app.json (Swedish) --- .../StringsConvertor/input/sv.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/sv.lproj/app.json b/Localization/StringsConvertor/input/sv.lproj/app.json index 27f931249..7951e1958 100644 --- a/Localization/StringsConvertor/input/sv.lproj/app.json +++ b/Localization/StringsConvertor/input/sv.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Ta foto", "save_photo": "Spara foto", "copy_photo": "Kopiera foto", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Logga in", + "sign_up": "Skapa konto", "see_more": "Visa mer", "preview": "Förhandsvisa", "share": "Dela", @@ -219,15 +219,15 @@ "log_in": "Logga in" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Välkommen tillbaka", + "subtitle": "Logga in på servern där du skapade ditt konto.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Ange URL eller sök efter din server" } }, "server_picker": { "title": "Mastodon utgörs av användare på olika servrar.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Välj en server baserat på dina intressen, region eller en allmän server. Du kan fortfarande nå alla, oavsett server.", "button": { "category": { "all": "Alla", @@ -254,7 +254,7 @@ "category": "KATEGORI" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Sök gemenskaper eller ange URL" }, "empty_state": { "finding_servers": "Söker tillgängliga servrar...", From 5038a49abf67118cdd900ebb5fcb20feb842ea7c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 10:42:14 +0100 Subject: [PATCH 214/300] New translations app.json (Czech) --- .../StringsConvertor/input/cs.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/cs.lproj/app.json b/Localization/StringsConvertor/input/cs.lproj/app.json index 751ae6a61..f94207c89 100644 --- a/Localization/StringsConvertor/input/cs.lproj/app.json +++ b/Localization/StringsConvertor/input/cs.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Vyfotit", "save_photo": "Uložit fotku", "copy_photo": "Kopírovat fotografii", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Přihlásit se", + "sign_up": "Vytvořit účet", "see_more": "Zobrazit více", "preview": "Náhled", "share": "Sdílet", @@ -219,15 +219,15 @@ "log_in": "Přihlásit se" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Vítejte zpět", + "subtitle": "Přihlaste se na serveru, na kterém jste si vytvořili účet.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Zadejte URL nebo vyhledávejte váš server" } }, "server_picker": { "title": "Mastodon tvoří uživatelé z různých serverů.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Vyberte server založený ve vašem regionu, podle zájmů nebo podle obecného účelu. Stále můžete chatovat s kýmkoli na Mastodonu bez ohledu na vaše servery.", "button": { "category": { "all": "Vše", @@ -254,7 +254,7 @@ "category": "KATEGORIE" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Hledejte komunity nebo zadejte URL" }, "empty_state": { "finding_servers": "Hledání dostupných serverů...", From a9f7caea3d3475ca5ad1e6874a84fd5a89b27694 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 10:42:15 +0100 Subject: [PATCH 215/300] New translations app.json (Arabic) --- Localization/StringsConvertor/input/ar.lproj/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/input/ar.lproj/app.json b/Localization/StringsConvertor/input/ar.lproj/app.json index 2ed2be724..bf4bf454e 100644 --- a/Localization/StringsConvertor/input/ar.lproj/app.json +++ b/Localization/StringsConvertor/input/ar.lproj/app.json @@ -74,7 +74,7 @@ "take_photo": "اِلتِقاطُ صُورَة", "save_photo": "حفظ الصورة", "copy_photo": "نسخ الصورة", - "sign_in": "Log in", + "sign_in": "تسجيلُ الدخول", "sign_up": "Create account", "see_more": "عرض المزيد", "preview": "مُعاينة", From e3ab9509ec31e070658ad6f6b7743bf3117806b9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 10:42:16 +0100 Subject: [PATCH 216/300] New translations app.json (Italian) --- .../StringsConvertor/input/it.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/it.lproj/app.json b/Localization/StringsConvertor/input/it.lproj/app.json index 81131e857..f4f21762b 100644 --- a/Localization/StringsConvertor/input/it.lproj/app.json +++ b/Localization/StringsConvertor/input/it.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Scatta foto", "save_photo": "Salva foto", "copy_photo": "Copia foto", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Accedi", + "sign_up": "Crea un account", "see_more": "Visualizza altro", "preview": "Anteprima", "share": "Condividi", @@ -219,15 +219,15 @@ "log_in": "Accedi" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Bentornato/a", + "subtitle": "Accedi al server sul quale hai creato il tuo account.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Inserisci l'URL o cerca il tuo server" } }, "server_picker": { "title": "Mastodon è fatto di utenti in diverse comunità.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Scegli un server in base alla tua regione, ai tuoi interessi o uno generico. Puoi comunque chattare con chiunque su Mastodon, indipendentemente dai tuoi server.", "button": { "category": { "all": "Tutti", @@ -254,7 +254,7 @@ "category": "CATEGORIA" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Cerca le comunità o inserisci l'URL" }, "empty_state": { "finding_servers": "Ricerca server disponibili...", From 663b7fd70899b17ff7fabd2152f8a89f74657246 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 10:42:17 +0100 Subject: [PATCH 217/300] New translations app.json (Spanish, Argentina) --- .../StringsConvertor/input/es-AR.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/es-AR.lproj/app.json b/Localization/StringsConvertor/input/es-AR.lproj/app.json index 86762f6d4..5be543f98 100644 --- a/Localization/StringsConvertor/input/es-AR.lproj/app.json +++ b/Localization/StringsConvertor/input/es-AR.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Tomar foto", "save_photo": "Guardar foto", "copy_photo": "Copiar foto", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Iniciar sesión", + "sign_up": "Crear cuenta", "see_more": "Ver más", "preview": "Previsualización", "share": "Compartir", @@ -219,15 +219,15 @@ "log_in": "Iniciar sesión" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Hola de nuevo", + "subtitle": "Iniciá sesión en el servidor en donde creaste tu cuenta.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Ingresá la dirección web o buscá tu servidor" } }, "server_picker": { "title": "Mastodon está compuesto de cuentas en diferentes servidores.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Elegí un servidor basado en tu región, en tus intereses o uno de propósitos generales. Vas a poder interactuar con cualquier cuenta de Mastodon, independientemente del servidor.", "button": { "category": { "all": "Todas", @@ -254,7 +254,7 @@ "category": "CATEGORÍA" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Buscá comunidades o ingresá la dirección web" }, "empty_state": { "finding_servers": "Buscando servidores disponibles…", From ea7972c78953b287c77043519442339b771f94b0 Mon Sep 17 00:00:00 2001 From: CMK Date: Wed, 16 Nov 2022 19:06:09 +0800 Subject: [PATCH 218/300] chore: update i18n resources --- .../xcschemes/xcschememanagement.plist | 4 +-- .../Resources/ar.lproj/Localizable.strings | 29 ++++++++++++------- .../ar.lproj/Localizable.stringsdict | 24 +++++++++++++++ .../Resources/ca.lproj/Localizable.strings | 23 ++++++++++----- .../ca.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/ckb.lproj/Localizable.strings | 23 ++++++++++----- .../ckb.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/de.lproj/Localizable.strings | 21 ++++++++++---- .../de.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/en.lproj/Localizable.strings | 26 ++++++++++------- .../Resources/es.lproj/Localizable.strings | 23 ++++++++++----- .../es.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/eu.lproj/Localizable.strings | 23 ++++++++++----- .../eu.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/fi.lproj/Localizable.strings | 23 ++++++++++----- .../fi.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/fr.lproj/Localizable.strings | 29 ++++++++++++------- .../fr.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/gd.lproj/Localizable.strings | 23 ++++++++++----- .../gd.lproj/Localizable.stringsdict | 20 +++++++++++++ .../Resources/gl.lproj/Localizable.strings | 21 ++++++++++---- .../gl.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/it.lproj/Localizable.strings | 19 ++++++++---- .../it.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/ja.lproj/Localizable.strings | 23 ++++++++++----- .../ja.lproj/Localizable.stringsdict | 14 +++++++++ .../Resources/kab.lproj/Localizable.strings | 23 ++++++++++----- .../kab.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/ku.lproj/Localizable.strings | 21 ++++++++++---- .../ku.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/nl.lproj/Localizable.strings | 23 ++++++++++----- .../nl.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/ru.lproj/Localizable.strings | 23 ++++++++++----- .../ru.lproj/Localizable.stringsdict | 20 +++++++++++++ .../Resources/sv.lproj/Localizable.strings | 19 ++++++++---- .../sv.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/th.lproj/Localizable.strings | 29 ++++++++++++------- .../th.lproj/Localizable.stringsdict | 14 +++++++++ .../Resources/tr.lproj/Localizable.strings | 23 ++++++++++----- .../tr.lproj/Localizable.stringsdict | 16 ++++++++++ .../Resources/vi.lproj/Localizable.strings | 27 +++++++++++------ .../vi.lproj/Localizable.stringsdict | 14 +++++++++ .../zh-Hans.lproj/Localizable.strings | 23 ++++++++++----- .../zh-Hans.lproj/Localizable.stringsdict | 14 +++++++++ .../zh-Hant.lproj/Localizable.strings | 29 ++++++++++++------- .../zh-Hant.lproj/Localizable.stringsdict | 14 +++++++++ 46 files changed, 734 insertions(+), 174 deletions(-) diff --git a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist index 78a3a9e70..b2b5b312a 100644 --- a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -117,12 +117,12 @@ NotificationService.xcscheme_^#shared#^_ orderHint - 16 + 17 ShareActionExtension.xcscheme_^#shared#^_ orderHint - 17 + 16 SuppressBuildableAutocreation diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings index 943d56a9f..17d0569c7 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "المُشارك"; "Common.Controls.Actions.SharePost" = "مشارك المنشور"; "Common.Controls.Actions.ShareUser" = "مُشارَكَةُ %@"; -"Common.Controls.Actions.SignIn" = "تسجيل الدخول"; -"Common.Controls.Actions.SignUp" = "إنشاء حِساب"; +"Common.Controls.Actions.SignIn" = "تسجيلُ الدخول"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "تخطي"; "Common.Controls.Actions.TakePhoto" = "اِلتِقاطُ صُورَة"; "Common.Controls.Actions.TryAgain" = "المُحاولة مرة أُخرى"; @@ -161,17 +161,21 @@ "Scene.Compose.Accessibility.CustomEmojiPicker" = "منتقي الرموز التعبيرية المُخصَّص"; "Scene.Compose.Accessibility.DisableContentWarning" = "تعطيل تحذير المُحتَوى"; "Scene.Compose.Accessibility.EnableContentWarning" = "تفعيل تحذير المُحتَوى"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "قائمة ظهور المنشور"; +"Scene.Compose.Accessibility.PostingAs" = "نَشر كَـ %@"; "Scene.Compose.Accessibility.RemovePoll" = "إزالة الاستطلاع"; "Scene.Compose.Attachment.AttachmentBroken" = "هذا ال%@ مُعطَّل ويتعذَّرُ رفعُه إلى ماستودون."; -"Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.AttachmentTooLarge" = "المُرفَق كَبيرٌ جِدًّا"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "يتعذَّرُ التعرُّفُ على وسائِطِ هذا المُرفَق"; +"Scene.Compose.Attachment.CompressingState" = "يجري الضغط..."; "Scene.Compose.Attachment.DescriptionPhoto" = "صِف الصورة للمَكفوفين..."; "Scene.Compose.Attachment.DescriptionVideo" = "صِف المقطع المرئي للمَكفوفين..."; -"Scene.Compose.Attachment.LoadFailed" = "Load Failed"; +"Scene.Compose.Attachment.LoadFailed" = "فَشَلَ التَّحميل"; "Scene.Compose.Attachment.Photo" = "صورة"; -"Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; +"Scene.Compose.Attachment.ServerProcessingState" = "مُعالجة الخادم جارِيَة..."; +"Scene.Compose.Attachment.UploadFailed" = "فَشَلَ الرَّفع"; "Scene.Compose.Attachment.Video" = "مقطع مرئي"; "Scene.Compose.AutoComplete.SpaceToAdd" = "انقر على مساحة لإضافتِها"; "Scene.Compose.ComposeAction" = "نَشر"; @@ -192,6 +196,8 @@ "Scene.Compose.Poll.OptionNumber" = "الخيار %ld"; "Scene.Compose.Poll.SevenDays" = "سبعةُ أيام"; "Scene.Compose.Poll.SixHours" = "سِتُّ ساعات"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "يوجَدُ خِيارٌ فارِغٌ فِي الاِستِطلاع"; +"Scene.Compose.Poll.ThePollIsInvalid" = "الاِستِطلاعُ غيرُ صالِح"; "Scene.Compose.Poll.ThirtyMinutes" = "ثلاثون دقيقة"; "Scene.Compose.Poll.ThreeDays" = "ثلاثةُ أيام"; "Scene.Compose.ReplyingToUser" = "رَدًا على %@"; @@ -234,6 +240,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "تمَّ النَّشر!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "يَجري نَشر المُشارَكَة..."; "Scene.HomeTimeline.Title" = "الرَّئِيسَة"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "قَبُول"; "Scene.Notification.FollowRequest.Accepted" = "مَقبُول"; "Scene.Notification.FollowRequest.Reject" = "رَفض"; @@ -261,6 +270,8 @@ "Scene.Profile.Fields.AddRow" = "إضافة صف"; "Scene.Profile.Fields.Placeholder.Content" = "المُحتَوى"; "Scene.Profile.Fields.Placeholder.Label" = "التسمية"; +"Scene.Profile.Fields.Verified.Long" = "تمَّ التَّحقق مِن مِلكية هذا الرابِطِ بِتاريخ %@"; +"Scene.Profile.Fields.Verified.Short" = "تمَّ التَّحقق بِتاريخ %@"; "Scene.Profile.Header.FollowsYou" = "يُتابِعُك"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "تأكيدُ حَظر %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "حَظرُ الحِساب"; @@ -393,13 +404,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "حدث خطأٌ ما أثناء تحميل البيانات. تحقَّق من اتصالك بالإنترنت."; "Scene.ServerPicker.EmptyState.FindingServers" = "يجري إيجاد خوادم متوفِّرَة..."; "Scene.ServerPicker.EmptyState.NoResults" = "لا توجد نتائج"; -"Scene.ServerPicker.Input.Placeholder" = "اِبحَث عن خادِم أو انضم إلى آخر خاص بك..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "اِبحَث فِي الخَوادِم أو أدخِل رابِط"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "الفئة"; "Scene.ServerPicker.Label.Language" = "اللُّغَة"; "Scene.ServerPicker.Label.Users" = "مُستَخدِم"; -"Scene.ServerPicker.Subtitle" = "اختر مجتمعًا بناءً على اهتماماتك، منطقتك أو يمكنك حتى اختيارُ مجتمعٍ ذي غرضٍ عام."; -"Scene.ServerPicker.SubtitleExtend" = "اختر مجتمعًا بناءً على اهتماماتك، منطقتك أو يمكنك حتى اختيارُ مجتمعٍ ذي غرضٍ عام. تُشغَّل جميعُ المجتمعِ مِن قِبَلِ مُنظمَةٍ أو فردٍ مُستقلٍ تمامًا."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "اِختر خادِم، أيًّا مِنهُم."; "Scene.ServerRules.Button.Confirm" = "أنا مُوافِق"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.stringsdict index 862d98184..91368a4fb 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.stringsdict @@ -74,6 +74,30 @@ %ld حَرف + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + لَا حَرف + one + حَرفٌ واحِد + two + حَرفانِ اِثنان + few + %ld characters + many + %ld characters + other + %ld حَرف + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings index fca658aef..d8fa6a739 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings @@ -55,8 +55,8 @@ Comprova la teva connexió a Internet."; "Common.Controls.Actions.Share" = "Comparteix"; "Common.Controls.Actions.SharePost" = "Compartir Publicació"; "Common.Controls.Actions.ShareUser" = "Compartir %@"; -"Common.Controls.Actions.SignIn" = "Iniciar sessió"; -"Common.Controls.Actions.SignUp" = "Registre"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Omet"; "Common.Controls.Actions.TakePhoto" = "Fes una foto"; "Common.Controls.Actions.TryAgain" = "Torna a provar"; @@ -161,16 +161,20 @@ El teu perfil els sembla així."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector d'Emoji Personalitzat"; "Scene.Compose.Accessibility.DisableContentWarning" = "Desactiva l'Avís de Contingut"; "Scene.Compose.Accessibility.EnableContentWarning" = "Activa l'Avís de Contingut"; +"Scene.Compose.Accessibility.PostOptions" = "Opcions del tut"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menú de Visibilitat de Publicació"; +"Scene.Compose.Accessibility.PostingAs" = "Publicant com a %@"; "Scene.Compose.Accessibility.RemovePoll" = "Eliminar Enquesta"; "Scene.Compose.Attachment.AttachmentBroken" = "Aquest %@ està trencat i no pot ser carregat a Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "El fitxer adjunt és massa gran"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "No es pot reconèixer l'adjunt multimèdia"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "No es pot reconèixer aquest adjunt multimèdia"; +"Scene.Compose.Attachment.CompressingState" = "Comprimint..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Descriu la foto per als disminuïts visuals..."; "Scene.Compose.Attachment.DescriptionVideo" = "Descriu el vídeo per als disminuïts visuals..."; "Scene.Compose.Attachment.LoadFailed" = "Ha fallat la càrrega"; "Scene.Compose.Attachment.Photo" = "foto"; +"Scene.Compose.Attachment.ServerProcessingState" = "Servidor processant..."; "Scene.Compose.Attachment.UploadFailed" = "Pujada fallida"; "Scene.Compose.Attachment.Video" = "vídeo"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Espai per afegir"; @@ -192,6 +196,8 @@ carregat a Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Opció %ld"; "Scene.Compose.Poll.SevenDays" = "7 Dies"; "Scene.Compose.Poll.SixHours" = "6 Hores"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "L'enquesta té una opció buida"; +"Scene.Compose.Poll.ThePollIsInvalid" = "L'enquesta no és vàlida"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minuts"; "Scene.Compose.Poll.ThreeDays" = "3 Dies"; "Scene.Compose.ReplyingToUser" = "responent a %@"; @@ -234,6 +240,9 @@ carregat a Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publicat!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "S'està publicant..."; "Scene.HomeTimeline.Title" = "Inici"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Acceptar"; "Scene.Notification.FollowRequest.Accepted" = "Acceptat"; "Scene.Notification.FollowRequest.Reject" = "rebutjar"; @@ -261,6 +270,8 @@ carregat a Mastodon."; "Scene.Profile.Fields.AddRow" = "Afegeix fila"; "Scene.Profile.Fields.Placeholder.Content" = "Contingut"; "Scene.Profile.Fields.Placeholder.Label" = "Etiqueta"; +"Scene.Profile.Fields.Verified.Long" = "La propietat d'aquest enllaç es va verificar el dia %@"; +"Scene.Profile.Fields.Verified.Short" = "Verificat a %@"; "Scene.Profile.Header.FollowsYou" = "Et segueix"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirma per a bloquejar %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloqueja el Compte"; @@ -393,13 +404,11 @@ carregat a Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Alguna cosa no ha anat bé en carregar les dades. Comprova la teva connexió a Internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Cercant els servidors disponibles..."; "Scene.ServerPicker.EmptyState.NoResults" = "No hi ha resultats"; -"Scene.ServerPicker.Input.Placeholder" = "Cerca servidors"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Cerca servidors o introdueix l'enllaç"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "CATEGORIA"; "Scene.ServerPicker.Label.Language" = "LLENGUATGE"; "Scene.ServerPicker.Label.Users" = "USUARIS"; -"Scene.ServerPicker.Subtitle" = "Tria una comunitat segons els teus interessos, regió o una de propòsit general."; -"Scene.ServerPicker.SubtitleExtend" = "Tria una comunitat segons els teus interessos, regió o una de propòsit general. Cada comunitat és operada per una organització totalment independent o individualment."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon està fet d'usuaris en diferents comunitats."; "Scene.ServerRules.Button.Confirm" = "Hi estic d'acord"; "Scene.ServerRules.PrivacyPolicy" = "política de privadesa"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.stringsdict index cc28edbc6..947597417 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caràcters + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + resten %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 caràcter + other + %ld caràcters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings index 05c575520..4e76e20fb 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "هاوبەشی بکە"; "Common.Controls.Actions.SharePost" = "هاوبەشی بکە"; "Common.Controls.Actions.ShareUser" = "%@ هاوبەش بکە"; -"Common.Controls.Actions.SignIn" = "بچۆ ژوورەوە"; -"Common.Controls.Actions.SignUp" = "خۆت تۆمار بکە"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "بیپەڕێنە"; "Common.Controls.Actions.TakePhoto" = "وێنە بگرە"; "Common.Controls.Actions.TryAgain" = "هەوڵ بدەوە"; @@ -161,15 +161,19 @@ "Scene.Compose.Accessibility.CustomEmojiPicker" = "هەڵبژێری ئیمۆجی"; "Scene.Compose.Accessibility.DisableContentWarning" = "ئاگاداریی ناوەڕۆک ناچالاک بکە"; "Scene.Compose.Accessibility.EnableContentWarning" = "ئاگاداریی ناوەڕۆک چالاک بکە"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "پێڕستی شێوازی دەرکەوتنی پۆست"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "دانگدانەکە لابە"; "Scene.Compose.Attachment.AttachmentBroken" = "ئەم %@ـە تێک چووە و ناتوانیت بەرزی بکەیتەوە."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "وێنەکەت بۆ نابیناکان باس بکە..."; "Scene.Compose.Attachment.DescriptionVideo" = "ڤیدیۆکەت بۆ نابیناکان باس بکە..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "وێنە"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "ڤیدیۆ"; "Scene.Compose.AutoComplete.SpaceToAdd" = "بۆشایی دابنێ بۆ زیادکردن"; @@ -191,6 +195,8 @@ "Scene.Compose.Poll.OptionNumber" = "بژاردەی %ld"; "Scene.Compose.Poll.SevenDays" = "7 ڕۆژ"; "Scene.Compose.Poll.SixHours" = "6 کاتژمێر"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 خولەک"; "Scene.Compose.Poll.ThreeDays" = "3 ڕۆژ"; "Scene.Compose.ReplyingToUser" = "لە وەڵامدا بۆ %@"; @@ -233,6 +239,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "بڵاوکرایەوە!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "پۆستەکە بڵاو دەکرێتەوە..."; "Scene.HomeTimeline.Title" = "ماڵەوە"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "reject"; @@ -260,6 +269,8 @@ "Scene.Profile.Fields.AddRow" = "ڕیز زیاد بکە"; "Scene.Profile.Fields.Placeholder.Content" = "ناوەڕۆک"; "Scene.Profile.Fields.Placeholder.Label" = "ناونیشان"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "دڵنیا ببەوە بۆ ئاستەنگکردنی %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "ئاستەنگی بکە"; @@ -392,13 +403,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "هەڵەیەک ڕوویدا لە کاتی بارکردن. لە هەبوونی هێڵی ئینتەرنێت دڵنیا بە."; "Scene.ServerPicker.EmptyState.FindingServers" = "ڕاژەکار دەدۆزرێتەوە..."; "Scene.ServerPicker.EmptyState.NoResults" = "ئەنجام نییە"; -"Scene.ServerPicker.Input.Placeholder" = "بگەڕێ"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "بەش"; "Scene.ServerPicker.Label.Language" = "زمان"; "Scene.ServerPicker.Label.Users" = "بەکارهێنەر"; -"Scene.ServerPicker.Subtitle" = "ڕاژەکارێکێکی گشتی یان دانەیەک لەسەر بنەمای حەزەکانت و هەرێمەکەت هەڵبژێرە."; -"Scene.ServerPicker.SubtitleExtend" = "ڕاژەکارێکێکی گشتی یان دانەیەک لەسەر بنەمای حەزەکانت و هەرێمەکەت هەڵبژێرە. هەر ڕاژەکارێک لەلایەن ڕێکخراوێک یان تاکەکەسێک بەڕێوە دەبرێت."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "ماستۆدۆن لە چەندان بەکارهێنەر پێک دێت کە لە ڕاژەکاری جیاواز دان."; "Scene.ServerRules.Button.Confirm" = "ڕازیم"; "Scene.ServerRules.PrivacyPolicy" = "سیاسەتی تایبەتێتی"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.stringsdict index 001a8a608..8116226ec 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld نووسە + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings index 4f9a15906..89e826349 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings @@ -55,8 +55,8 @@ Bitte überprüfe deine Internetverbindung."; "Common.Controls.Actions.Share" = "Teilen"; "Common.Controls.Actions.SharePost" = "Beitrag teilen"; "Common.Controls.Actions.ShareUser" = "%@ teilen"; -"Common.Controls.Actions.SignIn" = "Anmelden"; -"Common.Controls.Actions.SignUp" = "Registrieren"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Überspringen"; "Common.Controls.Actions.TakePhoto" = "Foto aufnehmen"; "Common.Controls.Actions.TryAgain" = "Nochmals versuchen"; @@ -161,16 +161,20 @@ Dein Profil sieht für diesen Benutzer auch so aus."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Benutzerdefinierter Emojiwähler"; "Scene.Compose.Accessibility.DisableContentWarning" = "Inhaltswarnung ausschalten"; "Scene.Compose.Accessibility.EnableContentWarning" = "Inhaltswarnung einschalten"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Sichtbarkeitsmenü"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Umfrage entfernen"; "Scene.Compose.Attachment.AttachmentBroken" = "Dieses %@ scheint defekt zu sein und kann nicht auf Mastodon hochgeladen werden."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Anhang zu groß"; "Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Medienanhang wurde nicht erkannt"; +"Scene.Compose.Attachment.CompressingState" = "Komprimieren..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Für Menschen mit Sehbehinderung beschreiben..."; "Scene.Compose.Attachment.DescriptionVideo" = "Für Menschen mit Sehbehinderung beschreiben..."; "Scene.Compose.Attachment.LoadFailed" = "Laden fehlgeschlagen"; "Scene.Compose.Attachment.Photo" = "Foto"; +"Scene.Compose.Attachment.ServerProcessingState" = "Serververarbeitung..."; "Scene.Compose.Attachment.UploadFailed" = "Upload fehlgeschlagen"; "Scene.Compose.Attachment.Video" = "Video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Leerzeichen um hinzuzufügen"; @@ -192,6 +196,8 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.Compose.Poll.OptionNumber" = "Auswahlmöglichkeit %ld"; "Scene.Compose.Poll.SevenDays" = "7 Tage"; "Scene.Compose.Poll.SixHours" = "6 Stunden"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Die Umfrage hat eine leere Option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Die Umfrage ist ungültig"; "Scene.Compose.Poll.ThirtyMinutes" = "30 Minuten"; "Scene.Compose.Poll.ThreeDays" = "3 Tage"; "Scene.Compose.ReplyingToUser" = "antwortet auf %@"; @@ -234,6 +240,9 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.HomeTimeline.NavigationBarState.Published" = "Veröffentlicht!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Beitrag wird veröffentlicht..."; "Scene.HomeTimeline.Title" = "Startseite"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Akzeptieren"; "Scene.Notification.FollowRequest.Accepted" = "Akzeptiert"; "Scene.Notification.FollowRequest.Reject" = "Ablehnen"; @@ -261,6 +270,8 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.Profile.Fields.AddRow" = "Zeile hinzufügen"; "Scene.Profile.Fields.Placeholder.Content" = "Inhalt"; "Scene.Profile.Fields.Placeholder.Label" = "Bezeichnung"; +"Scene.Profile.Fields.Verified.Long" = "Besitz des Links wurde überprüft am %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Folgt dir"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Bestätige %@ zu blockieren"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Konto blockieren"; @@ -393,13 +404,11 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Beim Laden der Daten ist etwas schief gelaufen. Überprüfe deine Internetverbindung."; "Scene.ServerPicker.EmptyState.FindingServers" = "Verfügbare Server werden gesucht..."; "Scene.ServerPicker.EmptyState.NoResults" = "Keine Ergebnisse"; -"Scene.ServerPicker.Input.Placeholder" = "Nach Server suchen oder URL eingeben"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Nach Server suchen oder URL eingeben"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "KATEGORIE"; "Scene.ServerPicker.Label.Language" = "SPRACHE"; "Scene.ServerPicker.Label.Users" = "BENUTZER"; -"Scene.ServerPicker.Subtitle" = "Wähle eine Gemeinschaft, die auf deinen Interessen, Region oder einem allgemeinen Zweck basiert."; -"Scene.ServerPicker.SubtitleExtend" = "Wähle eine Gemeinschaft basierend auf deinen Interessen, deiner Region oder einem allgemeinen Zweck. Jede Gemeinschaft wird von einer völlig unabhängigen Organisation oder Einzelperson betrieben."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Wähle einen Server, beliebigen Server."; "Scene.ServerRules.Button.Confirm" = "Ich stimme zu"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict index f60c6b0d7..1965fd02b 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld Zeichen + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index 1a48d8c55..2a3f1efbf 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -55,8 +55,8 @@ Please check your internet connection."; "Common.Controls.Actions.Share" = "Share"; "Common.Controls.Actions.SharePost" = "Share Post"; "Common.Controls.Actions.ShareUser" = "Share %@"; -"Common.Controls.Actions.SignIn" = "Sign In"; -"Common.Controls.Actions.SignUp" = "Sign Up"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Skip"; "Common.Controls.Actions.TakePhoto" = "Take Photo"; "Common.Controls.Actions.TryAgain" = "Try Again"; @@ -168,11 +168,13 @@ Your profile looks like this to them."; "Scene.Compose.Attachment.AttachmentBroken" = "This %@ is broken and can’t be uploaded to Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Describe the photo for the visually-impaired..."; "Scene.Compose.Attachment.DescriptionVideo" = "Describe the video for the visually-impaired..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "photo"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Space to add"; @@ -194,6 +196,8 @@ uploaded to Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Option %ld"; "Scene.Compose.Poll.SevenDays" = "7 Days"; "Scene.Compose.Poll.SixHours" = "6 Hours"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minutes"; "Scene.Compose.Poll.ThreeDays" = "3 Days"; "Scene.Compose.ReplyingToUser" = "replying to %@"; @@ -236,6 +240,9 @@ uploaded to Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Published!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publishing post..."; "Scene.HomeTimeline.Title" = "Home"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "reject"; @@ -263,6 +270,8 @@ uploaded to Mastodon."; "Scene.Profile.Fields.AddRow" = "Add Row"; "Scene.Profile.Fields.Placeholder.Content" = "Content"; "Scene.Profile.Fields.Placeholder.Label" = "Label"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; @@ -315,9 +324,6 @@ uploaded to Mastodon."; "Scene.Register.Input.Username.DuplicatePrompt" = "This username is taken."; "Scene.Register.Input.Username.Placeholder" = "username"; "Scene.Register.LetsGetYouSetUpOnDomain" = "Let’s get you set up on %@"; -"Scene.Login.Title" = "Welcome Back!"; -"Scene.Login.Subtitle" = "Log you in with the server where you created your account"; -"Scene.Login.ServerSearchField.Placeholder" = "Search server or enter URL"; "Scene.Register.Title" = "Let’s get you set up on %@"; "Scene.Report.Content1" = "Are there any other posts you’d like to add to the report?"; "Scene.Report.Content2" = "Is there anything the moderators should know about this report?"; @@ -398,13 +404,11 @@ uploaded to Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Something went wrong while loading the data. Check your internet connection."; "Scene.ServerPicker.EmptyState.FindingServers" = "Finding available servers..."; "Scene.ServerPicker.EmptyState.NoResults" = "No results"; -"Scene.ServerPicker.Input.Placeholder" = "Search servers"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "CATEGORY"; "Scene.ServerPicker.Label.Language" = "LANGUAGE"; "Scene.ServerPicker.Label.Users" = "USERS"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your interests, region, or a general purpose one."; -"Scene.ServerPicker.SubtitleExtend" = "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon is made of users in different servers."; "Scene.ServerRules.Button.Confirm" = "I Agree"; "Scene.ServerRules.PrivacyPolicy" = "privacy policy"; @@ -457,4 +461,4 @@ uploaded to Mastodon."; back in your hands."; "Scene.Wizard.AccessibilityHint" = "Double tap to dismiss this wizard"; "Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Switch between multiple accounts by holding the profile button."; -"Scene.Wizard.NewInMastodon" = "New in Mastodon"; +"Scene.Wizard.NewInMastodon" = "New in Mastodon"; \ No newline at end of file diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.strings index c16bec6cf..b2cb18954 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.strings @@ -55,8 +55,8 @@ Por favor, revise su conexión a internet."; "Common.Controls.Actions.Share" = "Compartir"; "Common.Controls.Actions.SharePost" = "Compartir publicación"; "Common.Controls.Actions.ShareUser" = "Compartir %@"; -"Common.Controls.Actions.SignIn" = "Iniciar sesión"; -"Common.Controls.Actions.SignUp" = "Regístrate"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Omitir"; "Common.Controls.Actions.TakePhoto" = "Tomar foto"; "Common.Controls.Actions.TryAgain" = "Inténtalo de nuevo"; @@ -161,16 +161,20 @@ Tu perfil se ve así para él."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector de Emojis Personalizados"; "Scene.Compose.Accessibility.DisableContentWarning" = "Desactivar Advertencia de Contenido"; "Scene.Compose.Accessibility.EnableContentWarning" = "Activar Advertencia de Contenido"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menú de Visibilidad de la Publicación"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Eliminar Encuesta"; "Scene.Compose.Attachment.AttachmentBroken" = "Este %@ está roto y no puede subirse a Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Describe la foto para los usuarios con dificultad visual..."; "Scene.Compose.Attachment.DescriptionVideo" = "Describe el vídeo para los usuarios con dificultad visual..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "foto"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "vídeo"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Espacio para añadir"; @@ -192,6 +196,8 @@ subirse a Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Opción %ld"; "Scene.Compose.Poll.SevenDays" = "7 Días"; "Scene.Compose.Poll.SixHours" = "6 Horas"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minutos"; "Scene.Compose.Poll.ThreeDays" = "4 Días"; "Scene.Compose.ReplyingToUser" = "en respuesta a %@"; @@ -235,6 +241,9 @@ pulsa en el enlace para confirmar tu cuenta."; "Scene.HomeTimeline.NavigationBarState.Published" = "¡Publicado!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publicación en curso..."; "Scene.HomeTimeline.Title" = "Inicio"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Aceptar"; "Scene.Notification.FollowRequest.Accepted" = "Aceptado"; "Scene.Notification.FollowRequest.Reject" = "rechazar"; @@ -262,6 +271,8 @@ pulsa en el enlace para confirmar tu cuenta."; "Scene.Profile.Fields.AddRow" = "Añadir Fila"; "Scene.Profile.Fields.Placeholder.Content" = "Contenido"; "Scene.Profile.Fields.Placeholder.Label" = "Nombre para el campo"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Te sigue"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirmar para bloquear a %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloquear cuenta"; @@ -394,13 +405,11 @@ pulsa en el enlace para confirmar tu cuenta."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Algo ha ido mal al cargar los datos. Comprueba tu conexión a Internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Encontrando servidores disponibles..."; "Scene.ServerPicker.EmptyState.NoResults" = "Sin resultados"; -"Scene.ServerPicker.Input.Placeholder" = "Encuentra un servidor o únete al tuyo propio..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Buscar servidores o introducir la URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "CATEGORÍA"; "Scene.ServerPicker.Label.Language" = "IDIOMA"; "Scene.ServerPicker.Label.Users" = "USUARIOS"; -"Scene.ServerPicker.Subtitle" = "Elige una comunidad relacionada con tus intereses, con tu región o una más genérica."; -"Scene.ServerPicker.SubtitleExtend" = "Elige una comunidad relacionada con tus intereses, con tu región o una más genérica. Cada comunidad está operada por una organización o individuo completamente independiente."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Elige un servidor, cualquier servidor."; "Scene.ServerRules.Button.Confirm" = "Acepto"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.stringsdict index def3d7bba..ca07b6b28 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caracteres + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings index aef7a7507..e2985112e 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings @@ -55,8 +55,8 @@ Egiaztatu Interneteko konexioa."; "Common.Controls.Actions.Share" = "Partekatu"; "Common.Controls.Actions.SharePost" = "Partekatu bidalketa"; "Common.Controls.Actions.ShareUser" = "Partekatu %@"; -"Common.Controls.Actions.SignIn" = "Hasi saioa"; -"Common.Controls.Actions.SignUp" = "Eman Izena"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Saltatu"; "Common.Controls.Actions.TakePhoto" = "Atera argazkia"; "Common.Controls.Actions.TryAgain" = "Saiatu berriro"; @@ -161,16 +161,20 @@ Zure profilak itxura hau du berarentzat."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Emoji pertsonalizatuen hautatzailea"; "Scene.Compose.Accessibility.DisableContentWarning" = "Desgaitu edukiaren abisua"; "Scene.Compose.Accessibility.EnableContentWarning" = "Gaitu edukiaren abisua"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Bidalketaren ikusgaitasunaren menua"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Kendu inkesta"; "Scene.Compose.Attachment.AttachmentBroken" = "%@ hondatuta dago eta ezin da Mastodonera igo."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Deskribatu argazkia ikusmen arazoak dituztenentzat..."; "Scene.Compose.Attachment.DescriptionVideo" = "Deskribatu bideoa ikusmen arazoak dituztenentzat..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "argazkia"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "bideoa"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Sakatu zuriunea gehitzeko"; @@ -192,6 +196,8 @@ Mastodonera igo."; "Scene.Compose.Poll.OptionNumber" = "%ld aukera"; "Scene.Compose.Poll.SevenDays" = "7 egun"; "Scene.Compose.Poll.SixHours" = "6 ordu"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minutu"; "Scene.Compose.Poll.ThreeDays" = "3 egun"; "Scene.Compose.ReplyingToUser" = "%@(r)i erantzuten"; @@ -234,6 +240,9 @@ Mastodonera igo."; "Scene.HomeTimeline.NavigationBarState.Published" = "Argitaratua!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Bidalketa argitaratzen..."; "Scene.HomeTimeline.Title" = "Hasiera"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "reject"; @@ -261,6 +270,8 @@ Mastodonera igo."; "Scene.Profile.Fields.AddRow" = "Gehitu errenkada"; "Scene.Profile.Fields.Placeholder.Content" = "Edukia"; "Scene.Profile.Fields.Placeholder.Label" = "Etiketa"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Berretsi %@ blokeatzea"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blokeatu kontua"; @@ -393,13 +404,11 @@ Mastodonera igo."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Arazoren bat egon da datuak kargatzean. Egiaztatu zure Interneteko konexioa."; "Scene.ServerPicker.EmptyState.FindingServers" = "Erabilgarri dauden zerbitzariak bilatzen..."; "Scene.ServerPicker.EmptyState.NoResults" = "Emaitzarik ez"; -"Scene.ServerPicker.Input.Placeholder" = "Bilatu zerbitzari bat edo sortu zurea..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "KATEGORIA"; "Scene.ServerPicker.Label.Language" = "HIZKUNTZA"; "Scene.ServerPicker.Label.Users" = "ERABILTZAILEAK"; -"Scene.ServerPicker.Subtitle" = "Aukeratu komunitate bat zure interes edo lurraldearen arabera, edo erabilera orokorreko bat."; -"Scene.ServerPicker.SubtitleExtend" = "Aukeratu komunitate bat zure interes edo lurraldearen arabera, edo erabilera orokorreko bat. Komunitate bakoitza erakunde edo norbanako independente batek kudeatzen du."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Aukeratu zerbitzari bat, edozein zerbitzari."; "Scene.ServerRules.Button.Confirm" = "Ados nago"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.stringsdict index 0159a7da9..057ca4010 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld karaktere + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings index 11259ace5..7902fb6eb 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings @@ -55,8 +55,8 @@ Tarkista internet-yhteytesi."; "Common.Controls.Actions.Share" = "Jaa"; "Common.Controls.Actions.SharePost" = "Jaa julkaisu"; "Common.Controls.Actions.ShareUser" = "Jaa %@"; -"Common.Controls.Actions.SignIn" = "Kirjaudu sisään"; -"Common.Controls.Actions.SignUp" = "Rekisteröidy"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Ohita"; "Common.Controls.Actions.TakePhoto" = "Ota kuva"; "Common.Controls.Actions.TryAgain" = "Yritä uudelleen"; @@ -161,16 +161,20 @@ Profiilisi näyttää tältä hänelle."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Mukautettu emojivalitsin"; "Scene.Compose.Accessibility.DisableContentWarning" = "Poista sisältövaroitus käytöstä"; "Scene.Compose.Accessibility.EnableContentWarning" = "Ota sisältövaroitus käyttöön"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Julkaisun näkyvyysvalikko"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Poista kysely"; "Scene.Compose.Attachment.AttachmentBroken" = "This %@ is broken and can’t be uploaded to Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Kuvaile kuva näkövammaisille..."; "Scene.Compose.Attachment.DescriptionVideo" = "Kuvaile video näkövammaisille..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "kuva"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Space to add"; @@ -192,6 +196,8 @@ uploaded to Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Vaihtoehto %ld"; "Scene.Compose.Poll.SevenDays" = "7 päivää"; "Scene.Compose.Poll.SixHours" = "6 tuntia"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minuuttia"; "Scene.Compose.Poll.ThreeDays" = "3 päivää"; "Scene.Compose.ReplyingToUser" = "vastaamassa tilille %@"; @@ -234,6 +240,9 @@ uploaded to Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Julkaistu!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Julkaistaan julkaisua..."; "Scene.HomeTimeline.Title" = "Koti"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "reject"; @@ -261,6 +270,8 @@ uploaded to Mastodon."; "Scene.Profile.Fields.AddRow" = "Lisää rivi"; "Scene.Profile.Fields.Placeholder.Content" = "Sisältö"; "Scene.Profile.Fields.Placeholder.Label" = "Nimi"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; @@ -393,13 +404,11 @@ uploaded to Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Jokin meni pieleen dataa ladatessa. Tarkista internet-yhteytesi."; "Scene.ServerPicker.EmptyState.FindingServers" = "Etsistään saatavilla olevia palvelimia..."; "Scene.ServerPicker.EmptyState.NoResults" = "Ei hakutuloksia"; -"Scene.ServerPicker.Input.Placeholder" = "Etsi palvelin tai liity omaan..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "KATEGORIA"; "Scene.ServerPicker.Label.Language" = "KIELI"; "Scene.ServerPicker.Label.Users" = "TILIÄ"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your interests, region, or a general purpose one."; -"Scene.ServerPicker.SubtitleExtend" = "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Valitse palvelin, mikä tahansa palvelin."; "Scene.ServerRules.Button.Confirm" = "Hyväksyn"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.stringsdict index 8048edf2d..ccfee35c9 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld merkkiä + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings index 931219c21..59590f612 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings @@ -55,8 +55,8 @@ Veuillez vérifier votre accès à Internet."; "Common.Controls.Actions.Share" = "Partager"; "Common.Controls.Actions.SharePost" = "Partager la publication"; "Common.Controls.Actions.ShareUser" = "Partager %@"; -"Common.Controls.Actions.SignIn" = "Se connecter"; -"Common.Controls.Actions.SignUp" = "Créer un compte"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Passer"; "Common.Controls.Actions.TakePhoto" = "Prendre une photo"; "Common.Controls.Actions.TryAgain" = "Réessayer"; @@ -161,17 +161,21 @@ Votre profil ressemble à ça pour lui."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Sélecteur d’émojis personnalisés"; "Scene.Compose.Accessibility.DisableContentWarning" = "Désactiver l'avertissement de contenu"; "Scene.Compose.Accessibility.EnableContentWarning" = "Basculer l’avertissement de contenu"; +"Scene.Compose.Accessibility.PostOptions" = "Options de publication"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menu de Visibilité de la publication"; +"Scene.Compose.Accessibility.PostingAs" = "Publié en tant que %@"; "Scene.Compose.Accessibility.RemovePoll" = "Retirer le sondage"; "Scene.Compose.Attachment.AttachmentBroken" = "Ce %@ est brisé et ne peut pas être téléversé sur Mastodon."; -"Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.AttachmentTooLarge" = "La pièce jointe est trop volumineuse"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Impossible de reconnaître cette pièce jointe"; +"Scene.Compose.Attachment.CompressingState" = "Compression..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Décrire cette photo pour les personnes malvoyantes..."; "Scene.Compose.Attachment.DescriptionVideo" = "Décrire cette vidéo pour les personnes malvoyantes..."; -"Scene.Compose.Attachment.LoadFailed" = "Load Failed"; +"Scene.Compose.Attachment.LoadFailed" = "Échec du chargement"; "Scene.Compose.Attachment.Photo" = "photo"; -"Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; +"Scene.Compose.Attachment.ServerProcessingState" = "Traitement du serveur..."; +"Scene.Compose.Attachment.UploadFailed" = "Échec de l’envoi"; "Scene.Compose.Attachment.Video" = "vidéo"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Espace à ajouter"; "Scene.Compose.ComposeAction" = "Publier"; @@ -192,6 +196,8 @@ téléversé sur Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Option %ld"; "Scene.Compose.Poll.SevenDays" = "7 jour"; "Scene.Compose.Poll.SixHours" = "6 Heures"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Le sondage n'a pas d'options"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Le sondage est invalide"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minutes"; "Scene.Compose.Poll.ThreeDays" = "3 jour"; "Scene.Compose.ReplyingToUser" = "répondre à %@"; @@ -234,6 +240,9 @@ téléversé sur Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publié!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publication en cours ..."; "Scene.HomeTimeline.Title" = "Accueil"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accepter"; "Scene.Notification.FollowRequest.Accepted" = "Accepté"; "Scene.Notification.FollowRequest.Reject" = "rejeter"; @@ -261,6 +270,8 @@ téléversé sur Mastodon."; "Scene.Profile.Fields.AddRow" = "Ajouter une rangée"; "Scene.Profile.Fields.Placeholder.Content" = "Contenu"; "Scene.Profile.Fields.Placeholder.Label" = "Étiquette"; +"Scene.Profile.Fields.Verified.Long" = "La propriété de ce lien a été vérifiée le %@"; +"Scene.Profile.Fields.Verified.Short" = "Vérifié le %@"; "Scene.Profile.Header.FollowsYou" = "Vous suit"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirmer le blocage de %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloquer le compte"; @@ -393,13 +404,11 @@ téléversé sur Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Une erreur s'est produite lors du chargement des données. Vérifiez votre connexion Internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Recherche des serveurs disponibles..."; "Scene.ServerPicker.EmptyState.NoResults" = "Aucun résultat"; -"Scene.ServerPicker.Input.Placeholder" = "Trouvez un serveur ou rejoignez le vôtre..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Rechercher des serveurs ou entrer une URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "CATÉGORIE"; "Scene.ServerPicker.Label.Language" = "LANGUE"; "Scene.ServerPicker.Label.Users" = "UTILISATEUR·RICE·S"; -"Scene.ServerPicker.Subtitle" = "Choisissez une communauté en fonction de vos intérêts, de votre région ou de votre objectif général."; -"Scene.ServerPicker.SubtitleExtend" = "Choisissez une communauté basée sur vos intérêts, votre région ou un but général. Chaque communauté est gérée par une organisation ou un individu entièrement indépendant."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Choisissez un serveur, n'importe quel serveur."; "Scene.ServerRules.Button.Confirm" = "J’accepte"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.stringsdict index d9d860a47..4eb068697 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caractères + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ restants + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 caractère + other + %ld caractères + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings index ce1764eac..aea2902fc 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings @@ -55,8 +55,8 @@ Thoir sùil air a’ cheangal agad ris an eadar-lìon."; "Common.Controls.Actions.Share" = "Co-roinn"; "Common.Controls.Actions.SharePost" = "Co-roinn am post"; "Common.Controls.Actions.ShareUser" = "Co-roinn %@"; -"Common.Controls.Actions.SignIn" = "Clàraich a-steach"; -"Common.Controls.Actions.SignUp" = "Clàraich leinn"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Leum thairis air"; "Common.Controls.Actions.TakePhoto" = "Tog dealbh"; "Common.Controls.Actions.TryAgain" = "Feuch ris a-rithist"; @@ -161,16 +161,20 @@ Seo an coltas a th’ air a’ phròifil agad dhaibh-san."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Roghnaichear nan Emoji gnàthaichte"; "Scene.Compose.Accessibility.DisableContentWarning" = "Cuir rabhadh susbainte à comas"; "Scene.Compose.Accessibility.EnableContentWarning" = "Cuir rabhadh susbainte an comas"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Clàr-taice faicsinneachd a’ phuist"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Thoir air falbh an cunntas-bheachd"; "Scene.Compose.Attachment.AttachmentBroken" = "Seo %@ a tha briste is cha ghabh a luchdadh suas gu Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Mìnich an dealbh dhan fheadhainn air a bheil cion-lèirsinne…"; "Scene.Compose.Attachment.DescriptionVideo" = "Mìnich a’ video dhan fheadhainn air a bheil cion-lèirsinne…"; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "dealbh"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Brùth air Space gus a chur ris"; @@ -192,6 +196,8 @@ a luchdadh suas gu Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Roghainn %ld"; "Scene.Compose.Poll.SevenDays" = "Seachdain"; "Scene.Compose.Poll.SixHours" = "6 uairean a thìde"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "Leth-uair a thìde"; "Scene.Compose.Poll.ThreeDays" = "3 làithean"; "Scene.Compose.ReplyingToUser" = "a’ freagairt gu %@"; @@ -234,6 +240,9 @@ a luchdadh suas gu Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Chaidh fhoillseachadh!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "A’ foillseachadh a’ phuist…"; "Scene.HomeTimeline.Title" = "Dachaigh"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Gabh ris"; "Scene.Notification.FollowRequest.Accepted" = "Air a ghabhail ris"; "Scene.Notification.FollowRequest.Reject" = "diùlt"; @@ -261,6 +270,8 @@ a luchdadh suas gu Mastodon."; "Scene.Profile.Fields.AddRow" = "Cuir ràgh ris"; "Scene.Profile.Fields.Placeholder.Content" = "Susbaint"; "Scene.Profile.Fields.Placeholder.Label" = "Leubail"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "’Gad leantainn"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Dearbh bacadh %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bac an cunntas"; @@ -393,13 +404,11 @@ a luchdadh suas gu Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Chaidh rudeigin ceàrr le luchdadh an dàta. Thoir sùil air a’ cheangal agad ris an eadar-lìon."; "Scene.ServerPicker.EmptyState.FindingServers" = "A’ lorg nam frithealaichean ri am faighinn…"; "Scene.ServerPicker.EmptyState.NoResults" = "Gun toradh"; -"Scene.ServerPicker.Input.Placeholder" = "Lorg frithealaiche"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Lorg frithealaiche no cuir a-steach URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "ROINN-SEÒRSA"; "Scene.ServerPicker.Label.Language" = "CÀNAN"; "Scene.ServerPicker.Label.Users" = "CLEACHDAICHEAN"; -"Scene.ServerPicker.Subtitle" = "Tagh frithealaiche stèidhichte air d’ ùidhean, air far a bheil thu no fear coitcheann."; -"Scene.ServerPicker.SubtitleExtend" = "Tagh frithealaiche stèidhichte air d’ ùidhean, air far a bheil thu no fear coitcheann. Tha gach frithealaiche fo stiùireadh buidhinn no neach neo-eisimeilich fa leth."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Tha cleachdaichean Mhastodon air iomadh frithealaiche eadar-dhealaichte."; "Scene.ServerRules.Button.Confirm" = "Gabhaidh mi ris"; "Scene.ServerRules.PrivacyPolicy" = "poileasaidh prìobhaideachd"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict index d0ccb5f41..45ba1e156 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict @@ -62,6 +62,26 @@ %ld caractar + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + two + %ld characters + few + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings index 3087f33c5..b388ad5c3 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings @@ -55,8 +55,8 @@ Comproba a conexión a internet."; "Common.Controls.Actions.Share" = "Compartir"; "Common.Controls.Actions.SharePost" = "Compartir publicación"; "Common.Controls.Actions.ShareUser" = "Compartir %@"; -"Common.Controls.Actions.SignIn" = "Acceder"; -"Common.Controls.Actions.SignUp" = "Inscribirse"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Omitir"; "Common.Controls.Actions.TakePhoto" = "Facer foto"; "Common.Controls.Actions.TryAgain" = "Intentar de novo"; @@ -161,16 +161,20 @@ Así se ve o teu perfil."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector emoji personalizado"; "Scene.Compose.Accessibility.DisableContentWarning" = "Retirar Aviso sobre o contido"; "Scene.Compose.Accessibility.EnableContentWarning" = "Marcar con Aviso sobre o contido"; +"Scene.Compose.Accessibility.PostOptions" = "Opcións da publicación"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Visibilidade da publicación"; +"Scene.Compose.Accessibility.PostingAs" = "Publicando como %@"; "Scene.Compose.Accessibility.RemovePoll" = "Eliminar enquisa"; "Scene.Compose.Attachment.AttachmentBroken" = "Este %@ está estragado e non pode ser subido a Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Adxunto demasiado grande"; "Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Non se recoñece o tipo de multimedia"; +"Scene.Compose.Attachment.CompressingState" = "Comprimindo..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Describe a foto para persoas con problemas visuais..."; "Scene.Compose.Attachment.DescriptionVideo" = "Describe o vídeo para persoas con problemas visuais..."; "Scene.Compose.Attachment.LoadFailed" = "Fallou a carga"; "Scene.Compose.Attachment.Photo" = "foto"; +"Scene.Compose.Attachment.ServerProcessingState" = "Procesando no servidor..."; "Scene.Compose.Attachment.UploadFailed" = "Erro na subida"; "Scene.Compose.Attachment.Video" = "vídeo"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Barra de espazo engade"; @@ -192,6 +196,8 @@ ser subido a Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Opción %ld"; "Scene.Compose.Poll.SevenDays" = "7 Días"; "Scene.Compose.Poll.SixHours" = "6 Horas"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "A enquisa ten unha opción baleira"; +"Scene.Compose.Poll.ThePollIsInvalid" = "A enquisa non é válida"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minutos"; "Scene.Compose.Poll.ThreeDays" = "3 Días"; "Scene.Compose.ReplyingToUser" = "en resposta a %@"; @@ -234,6 +240,9 @@ ser subido a Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publicado!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publicando..."; "Scene.HomeTimeline.Title" = "Inicio"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Aceptar"; "Scene.Notification.FollowRequest.Accepted" = "Aceptada"; "Scene.Notification.FollowRequest.Reject" = "rexeitar"; @@ -261,6 +270,8 @@ ser subido a Mastodon."; "Scene.Profile.Fields.AddRow" = "Engadir fila"; "Scene.Profile.Fields.Placeholder.Content" = "Contido"; "Scene.Profile.Fields.Placeholder.Label" = "Etiqueta"; +"Scene.Profile.Fields.Verified.Long" = "A propiedade desta ligazón foi verificada o %@"; +"Scene.Profile.Fields.Verified.Short" = "Verificada en %@"; "Scene.Profile.Header.FollowsYou" = "Séguete"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirma o bloqueo de %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloquear Conta"; @@ -393,13 +404,11 @@ ser subido a Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Algo fallou ao cargar os datos. Comproba a conexión a internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Buscando servidores dispoñibles..."; "Scene.ServerPicker.EmptyState.NoResults" = "Sen resultados"; -"Scene.ServerPicker.Input.Placeholder" = "Buscar comunidades"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Busca un servidor ou escribe URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "CATEGORÍA"; "Scene.ServerPicker.Label.Language" = "IDIOMA"; "Scene.ServerPicker.Label.Users" = "USUARIAS"; -"Scene.ServerPicker.Subtitle" = "Elixe unha comunidade en función dos teus intereses, rexión ou unha de propósito xeral."; -"Scene.ServerPicker.SubtitleExtend" = "Elixe unha comunidade en función dos teus intereses, rexión ou unha de propósito xeral. Cada comunidade está xestionada por unha organización totalmente independente ou unha única persoa."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon fórmano as persoas das diferentes comunidades."; "Scene.ServerRules.Button.Confirm" = "Acepto"; "Scene.ServerRules.PrivacyPolicy" = "polícica de privacidade"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.stringsdict index ff9d87c18..51b146ed4 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caracteres + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ restantes + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 caracter + other + %ld caracteres + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings index 8f99028ed..fab67c38d 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings @@ -56,7 +56,7 @@ Per favore verifica la tua connessione internet."; "Common.Controls.Actions.SharePost" = "Condividi il post"; "Common.Controls.Actions.ShareUser" = "Condividi %@"; "Common.Controls.Actions.SignIn" = "Accedi"; -"Common.Controls.Actions.SignUp" = "Registrati"; +"Common.Controls.Actions.SignUp" = "Crea un account"; "Common.Controls.Actions.Skip" = "Salta"; "Common.Controls.Actions.TakePhoto" = "Scatta foto"; "Common.Controls.Actions.TryAgain" = "Riprova"; @@ -161,16 +161,20 @@ Il tuo profilo sembra questo per loro."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selettore Emoji personalizzato"; "Scene.Compose.Accessibility.DisableContentWarning" = "Disabilita avviso di contenuti"; "Scene.Compose.Accessibility.EnableContentWarning" = "Abilita avvertimento contenuti"; +"Scene.Compose.Accessibility.PostOptions" = "Opzioni del messaggio"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menu di visibilità del post"; +"Scene.Compose.Accessibility.PostingAs" = "Pubblicazione come %@"; "Scene.Compose.Accessibility.RemovePoll" = "Elimina sondaggio"; "Scene.Compose.Attachment.AttachmentBroken" = "Questo %@ è rotto e non può essere caricato su Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Allegato troppo grande"; "Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Impossibile riconoscere questo allegato multimediale"; +"Scene.Compose.Attachment.CompressingState" = "Compressione in corso..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Descrivi la foto per gli utenti ipovedenti..."; "Scene.Compose.Attachment.DescriptionVideo" = "Descrivi il filmato per gli utenti ipovedenti..."; "Scene.Compose.Attachment.LoadFailed" = "Caricamento fallito"; "Scene.Compose.Attachment.Photo" = "foto"; +"Scene.Compose.Attachment.ServerProcessingState" = "Elaborazione del server in corso..."; "Scene.Compose.Attachment.UploadFailed" = "Caricamento fallito"; "Scene.Compose.Attachment.Video" = "filmato"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Spazio da aggiungere"; @@ -192,6 +196,8 @@ caricato su Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Opzione %ld"; "Scene.Compose.Poll.SevenDays" = "7 giorni"; "Scene.Compose.Poll.SixHours" = "6 ore"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Il sondaggio ha un'opzione vuota"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Il sondaggio non è valido"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minuti"; "Scene.Compose.Poll.ThreeDays" = "3 giorni"; "Scene.Compose.ReplyingToUser" = "rispondendo a %@"; @@ -234,6 +240,9 @@ caricato su Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Pubblicato!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Pubblicazione post..."; "Scene.HomeTimeline.Title" = "Inizio"; +"Scene.Login.ServerSearchField.Placeholder" = "Inserisci l'URL o cerca il tuo server"; +"Scene.Login.Subtitle" = "Accedi al server sul quale hai creato il tuo account."; +"Scene.Login.Title" = "Bentornato/a"; "Scene.Notification.FollowRequest.Accept" = "Accetta"; "Scene.Notification.FollowRequest.Accepted" = "Richiesta accettata"; "Scene.Notification.FollowRequest.Reject" = "rifiuta"; @@ -261,6 +270,8 @@ caricato su Mastodon."; "Scene.Profile.Fields.AddRow" = "Aggiungi riga"; "Scene.Profile.Fields.Placeholder.Content" = "Contenuto"; "Scene.Profile.Fields.Placeholder.Label" = "Etichetta"; +"Scene.Profile.Fields.Verified.Long" = "La proprietà di questo collegamento è stata verificata il %@"; +"Scene.Profile.Fields.Verified.Short" = "Verificato il %@"; "Scene.Profile.Header.FollowsYou" = "Ti segue"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confermi di bloccare %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blocca account"; @@ -393,13 +404,11 @@ caricato su Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Qualcosa è andato storto durante il caricamento dei dati. Controlla la tua connessione internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Ricerca server disponibili..."; "Scene.ServerPicker.EmptyState.NoResults" = "Nessun risultato"; -"Scene.ServerPicker.Input.Placeholder" = "Cerca comunità"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Cerca i server o inserisci l'URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Cerca le comunità o inserisci l'URL"; "Scene.ServerPicker.Label.Category" = "CATEGORIA"; "Scene.ServerPicker.Label.Language" = "LINGUA"; "Scene.ServerPicker.Label.Users" = "UTENTI"; -"Scene.ServerPicker.Subtitle" = "Scegli una comunità basata sui tuoi interessi, regione o uno scopo generale."; -"Scene.ServerPicker.SubtitleExtend" = "Scegli una comunità basata sui tuoi interessi, regione o uno scopo generale. Ogni comunità è gestita da un'organizzazione completamente indipendente o individuale."; +"Scene.ServerPicker.Subtitle" = "Scegli un server in base alla tua regione, ai tuoi interessi o uno generico. Puoi comunque chattare con chiunque su Mastodon, indipendentemente dai tuoi server."; "Scene.ServerPicker.Title" = "Mastodon è fatto di utenti in diverse comunità."; "Scene.ServerRules.Button.Confirm" = "Accetto"; "Scene.ServerRules.PrivacyPolicy" = "privacy policy"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.stringsdict index 38f986521..3a8549914 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld caratteri + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ rimanenti + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 carattere + other + %ld caratteri + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings index cad44f531..01701dfc2 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "共有"; "Common.Controls.Actions.SharePost" = "投稿を共有"; "Common.Controls.Actions.ShareUser" = "%@を共有"; -"Common.Controls.Actions.SignIn" = "サインイン"; -"Common.Controls.Actions.SignUp" = "サインアップ"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "スキップ"; "Common.Controls.Actions.TakePhoto" = "写真を撮る"; "Common.Controls.Actions.TryAgain" = "再実行"; @@ -157,15 +157,19 @@ "Scene.Compose.Accessibility.CustomEmojiPicker" = "カスタム絵文字ピッカー"; "Scene.Compose.Accessibility.DisableContentWarning" = "閲覧注意を無効にする"; "Scene.Compose.Accessibility.EnableContentWarning" = "閲覧注意を有効にする"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "投稿の表示メニュー"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "投票を消去"; "Scene.Compose.Attachment.AttachmentBroken" = "%@は壊れていてMastodonにアップロードできません。"; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "閲覧が難しいユーザーへの画像説明"; "Scene.Compose.Attachment.DescriptionVideo" = "閲覧が難しいユーザーへの映像説明"; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "写真"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "動画"; "Scene.Compose.AutoComplete.SpaceToAdd" = "スペースを追加"; @@ -187,6 +191,8 @@ "Scene.Compose.Poll.OptionNumber" = "オプション %ld"; "Scene.Compose.Poll.SevenDays" = "7日"; "Scene.Compose.Poll.SixHours" = "6時間"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30分"; "Scene.Compose.Poll.ThreeDays" = "3日"; "Scene.Compose.ReplyingToUser" = "%@に返信"; @@ -229,6 +235,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "投稿しました!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "投稿中..."; "Scene.HomeTimeline.Title" = "ホーム"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "承認"; "Scene.Notification.FollowRequest.Accepted" = "承諾済み"; "Scene.Notification.FollowRequest.Reject" = "拒否"; @@ -256,6 +265,8 @@ "Scene.Profile.Fields.AddRow" = "行追加"; "Scene.Profile.Fields.Placeholder.Content" = "コンテンツ"; "Scene.Profile.Fields.Placeholder.Label" = "ラベル"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "フォローされています"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "%@をブロックしますか?"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "アカウントをブロック"; @@ -388,13 +399,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "データの読み込み中に何か問題が発生しました。インターネットの接続状況を確認してください。"; "Scene.ServerPicker.EmptyState.FindingServers" = "利用可能なサーバーの検索..."; "Scene.ServerPicker.EmptyState.NoResults" = "なし"; -"Scene.ServerPicker.Input.Placeholder" = "サーバーを探す"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "サーバーを検索またはURLを入力"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "カテゴリー"; "Scene.ServerPicker.Label.Language" = "言語"; "Scene.ServerPicker.Label.Users" = "ユーザー"; -"Scene.ServerPicker.Subtitle" = "あなたの興味分野・地域に合ったコミュニティや、汎用のものを選択してください。"; -"Scene.ServerPicker.SubtitleExtend" = "あなたの興味分野・地域に合ったコミュニティや、汎用のものを選択してください。各コミュニティはそれぞれ完全に独立した組織や個人によって運営されています。"; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "サーバーを選択"; "Scene.ServerRules.Button.Confirm" = "同意する"; "Scene.ServerRules.PrivacyPolicy" = "プライバシーポリシー"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.stringsdict index cbc999738..795a971b7 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld 文字 + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings index 03108a25a..c80c8ef77 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings @@ -55,8 +55,8 @@ Ma ulac aɣilif, senqed tuqqna-inek internet."; "Common.Controls.Actions.Share" = "Bḍu"; "Common.Controls.Actions.SharePost" = "Bḍu tasuffeɣt"; "Common.Controls.Actions.ShareUser" = "Bḍu %@"; -"Common.Controls.Actions.SignIn" = "Qqen"; -"Common.Controls.Actions.SignUp" = "Jerred amiḍan"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Zgel"; "Common.Controls.Actions.TakePhoto" = "Ṭṭef tawlaft"; "Common.Controls.Actions.TryAgain" = "Ɛreḍ tikkelt-nniḍen"; @@ -161,16 +161,20 @@ Akka i as-d-yettban umaɣnu-inek."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Amefran n yimujiten udmawanen"; "Scene.Compose.Accessibility.DisableContentWarning" = "Sens alɣu n ugbur"; "Scene.Compose.Accessibility.EnableContentWarning" = "Rmed alɣu n ugbur"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Umuɣ n ubani n tsuffeɣt"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Kkes asenqed"; "Scene.Compose.Attachment.AttachmentBroken" = "%@-a yerreẓ, ur yezmir ara Ad d-yettwasali ɣef Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Glem-d tawlaft i wid yesɛan ugur deg yiẓri..."; "Scene.Compose.Attachment.DescriptionVideo" = "Glem-d tavidyut i wid yesɛan ugur deg yiẓri..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "tawlaft"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "tavidyutt"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Tallunt ara yettwarnun"; @@ -192,6 +196,8 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Taxtiṛt %ld"; "Scene.Compose.Poll.SevenDays" = "7 n wussan"; "Scene.Compose.Poll.SixHours" = "6 n yisragen"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 n tesdatin"; "Scene.Compose.Poll.ThreeDays" = "3 n wussan"; "Scene.Compose.ReplyingToUser" = "tiririt ɣef %@"; @@ -234,6 +240,9 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Yettwasuffeɣ!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Asuffeɣ tasuffeɣt..."; "Scene.HomeTimeline.Title" = "Agejdan"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "agi"; @@ -261,6 +270,8 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.Profile.Fields.AddRow" = "Rnu izirig"; "Scene.Profile.Fields.Placeholder.Content" = "Agbur"; "Scene.Profile.Fields.Placeholder.Label" = "Tabzimt"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Yeṭṭafaṛ-ik•im"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Sentem asewḥel n %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Sewḥel amiḍan"; @@ -393,13 +404,11 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Tella-d tuccḍa lawan n usali n yisefka. Senqed tuqqna-ink internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Tifin n yiqeddacen yellan..."; "Scene.ServerPicker.EmptyState.NoResults" = "Ulac igemmaḍ"; -"Scene.ServerPicker.Input.Placeholder" = "Nadi timɣiwnin"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Nadi timɣiwnin neɣ sekcem URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "TAGGAYT"; "Scene.ServerPicker.Label.Language" = "TUTLAYT"; "Scene.ServerPicker.Label.Users" = "ISEQDACEN"; -"Scene.ServerPicker.Subtitle" = "Fren tamɣiwent almend n wayen tḥemmleḍ, n tmurt-ik neɣ n yiswi-inek amatu."; -"Scene.ServerPicker.SubtitleExtend" = "Fren tamɣiwent almend n wayen tḥemmleḍ, n tmurt-ik neɣ n yiswi-inek amatu. Yal tamɣiwent tsedday-itt tkebbanit neɣ amdan ilelliyen."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon yettwaxdem i yiseqdacen deg waṭas n temɣiwnin."; "Scene.ServerRules.Button.Confirm" = "Qebleɣ"; "Scene.ServerRules.PrivacyPolicy" = "tasertit tabaḍnit"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict index 7fc6a50bb..fd7cac605 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld yisekkilen + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings index 10d88488a..758a9190b 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings @@ -55,8 +55,8 @@ Jkx girêdana înternetê xwe kontrol bike."; "Common.Controls.Actions.Share" = "Parve bike"; "Common.Controls.Actions.SharePost" = "Şandiyê parve bike"; "Common.Controls.Actions.ShareUser" = "%@ parve bike"; -"Common.Controls.Actions.SignIn" = "Têkeve"; -"Common.Controls.Actions.SignUp" = "Tomar bibe"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Derbas bike"; "Common.Controls.Actions.TakePhoto" = "Wêne bikişîne"; "Common.Controls.Actions.TryAgain" = "Dîsa biceribîne"; @@ -161,16 +161,20 @@ Profîla te ji wan ra wiha xuya dike."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Hilbijêrê emojî yên kesanekirî"; "Scene.Compose.Accessibility.DisableContentWarning" = "Hişyariya naverokê neçalak bike"; "Scene.Compose.Accessibility.EnableContentWarning" = "Hişyariya naverokê çalak bike"; +"Scene.Compose.Accessibility.PostOptions" = "Vebijêrkên şandiyê"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Kulîna xuyabûna şandiyê"; +"Scene.Compose.Accessibility.PostingAs" = "Biweşîne wekî %@"; "Scene.Compose.Accessibility.RemovePoll" = "Rapirsî rake"; "Scene.Compose.Attachment.AttachmentBroken" = "Ev %@ naxebite û nayê barkirin li ser Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Pêvek pir mezin e"; "Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Nikare ev pêveka medyayê nas bike"; +"Scene.Compose.Attachment.CompressingState" = "Tê guvaştin..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Wêneyê ji bo kêmbînên dîtbar bide nasîn..."; "Scene.Compose.Attachment.DescriptionVideo" = "Vîdyoyê ji bo kêmbînên dîtbar bide nasîn..."; "Scene.Compose.Attachment.LoadFailed" = "Barkirin têk çû"; "Scene.Compose.Attachment.Photo" = "wêne"; +"Scene.Compose.Attachment.ServerProcessingState" = "Pêvajoya rajekar pêş de diçe..."; "Scene.Compose.Attachment.UploadFailed" = "Barkirin têk çû"; "Scene.Compose.Attachment.Video" = "vîdyo"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Bicîhkirinê tevlî bike"; @@ -192,6 +196,8 @@ Profîla te ji wan ra wiha xuya dike."; "Scene.Compose.Poll.OptionNumber" = "Vebijêrk %ld"; "Scene.Compose.Poll.SevenDays" = "7 Roj"; "Scene.Compose.Poll.SixHours" = "6 Demjimêr"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Vebijêrkên vê dengdayînê vala ne"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Ev dengdayîn ne derbasdar e"; "Scene.Compose.Poll.ThirtyMinutes" = "30 xulek"; "Scene.Compose.Poll.ThreeDays" = "3 Roj"; "Scene.Compose.ReplyingToUser" = "bersiv bide %@"; @@ -235,6 +241,9 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin."; "Scene.HomeTimeline.NavigationBarState.Published" = "Hate weşandin!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Şandî tê weşandin..."; "Scene.HomeTimeline.Title" = "Serrûpel"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Bipejirîne"; "Scene.Notification.FollowRequest.Accepted" = "Pejirandî"; "Scene.Notification.FollowRequest.Reject" = "nepejirîne"; @@ -262,6 +271,8 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin."; "Scene.Profile.Fields.AddRow" = "Rêzê tevlî bike"; "Scene.Profile.Fields.Placeholder.Content" = "Naverok"; "Scene.Profile.Fields.Placeholder.Label" = "Nîşan"; +"Scene.Profile.Fields.Verified.Long" = "Xwedaniya li vê girêdanê di %@ de hatiye kontrolkirin"; +"Scene.Profile.Fields.Verified.Short" = "Hate piştrastkirin li ser %@"; "Scene.Profile.Header.FollowsYou" = "Te dişopîne"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Ji bo rakirina astengkirinê %@ bipejirîne"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Ajimêr asteng bike"; @@ -394,13 +405,11 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Di dema barkirina daneyan da çewtî derket. Girêdana xwe ya înternetê kontrol bike."; "Scene.ServerPicker.EmptyState.FindingServers" = "Peydakirina rajekarên berdest..."; "Scene.ServerPicker.EmptyState.NoResults" = "Encam tune"; -"Scene.ServerPicker.Input.Placeholder" = "Li rajekaran bigere"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Li rajekaran bigere an jî girêdanê têxe"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "BEŞ"; "Scene.ServerPicker.Label.Language" = "ZIMAN"; "Scene.ServerPicker.Label.Users" = "BIKARHÊNER"; -"Scene.ServerPicker.Subtitle" = "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre."; -"Scene.ServerPicker.SubtitleExtend" = "Li gorî berjewendî, herêm, an jî armancek gelemperî civakekê hilbijêre. Her civakek ji hêla rêxistinek an kesek bi tevahî serbixwe ve tê xebitandin."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon ji bikarhênerên di civakên cuda de pêk tê."; "Scene.ServerRules.Button.Confirm" = "Ez dipejirînim"; "Scene.ServerRules.PrivacyPolicy" = "polîtikaya nihêniyê"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.stringsdict index 77571439f..c904186d8 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld tîp + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ maye + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 peyv + other + %ld peyv + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings index e719583aa..0d8f1dd0f 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings @@ -54,8 +54,8 @@ "Common.Controls.Actions.Share" = "Deel"; "Common.Controls.Actions.SharePost" = "Deel bericht"; "Common.Controls.Actions.ShareUser" = "Delen %@"; -"Common.Controls.Actions.SignIn" = "Aanmelden"; -"Common.Controls.Actions.SignUp" = "Registreren"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Overslaan"; "Common.Controls.Actions.TakePhoto" = "Maak foto"; "Common.Controls.Actions.TryAgain" = "Probeer Opnieuw"; @@ -156,15 +156,19 @@ Uw profiel ziet er zo uit voor hen."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Eigen Emojikiezer"; "Scene.Compose.Accessibility.DisableContentWarning" = "Inhoudswaarschuwing Uitschakelen"; "Scene.Compose.Accessibility.EnableContentWarning" = "Inhoudswaarschuwing inschakelen"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Berichtzichtbaarheidsmenu"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Peiling verwijderen"; "Scene.Compose.Attachment.AttachmentBroken" = "Deze %@ is corrupt en kan niet geüpload worden naar Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Omschrijf de foto voor mensen met een visuele beperking..."; "Scene.Compose.Attachment.DescriptionVideo" = "Omschrijf de video voor mensen met een visuele beperking..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "foto"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Spaties toe te voegen"; @@ -186,6 +190,8 @@ Uw profiel ziet er zo uit voor hen."; "Scene.Compose.Poll.OptionNumber" = "Optie %ld"; "Scene.Compose.Poll.SevenDays" = "7 Dagen"; "Scene.Compose.Poll.SixHours" = "6 Uur"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minuten"; "Scene.Compose.Poll.ThreeDays" = "3 Dagen"; "Scene.Compose.ReplyingToUser" = "reageren op %@"; @@ -229,6 +235,9 @@ klik op de link om uw account te bevestigen."; "Scene.HomeTimeline.NavigationBarState.Published" = "Gepubliceerd!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Bericht publiceren..."; "Scene.HomeTimeline.Title" = "Start"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "reject"; @@ -256,6 +265,8 @@ klik op de link om uw account te bevestigen."; "Scene.Profile.Fields.AddRow" = "Rij Toevoegen"; "Scene.Profile.Fields.Placeholder.Content" = "Inhoud"; "Scene.Profile.Fields.Placeholder.Label" = "Etiket"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Bevestig om %@ te blokkeren"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blokkeer account"; @@ -388,13 +399,11 @@ klik op de link om uw account te bevestigen."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Er is een fout opgetreden bij het laden van de gegevens. Controleer uw internetverbinding."; "Scene.ServerPicker.EmptyState.FindingServers" = "Beschikbare servers zoeken..."; "Scene.ServerPicker.EmptyState.NoResults" = "Geen resultaten"; -"Scene.ServerPicker.Input.Placeholder" = "Zoek uw server of sluit u bij een nieuwe server aan..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "CATEGORIE"; "Scene.ServerPicker.Label.Language" = "TAAL"; "Scene.ServerPicker.Label.Users" = "GEBRUIKERS"; -"Scene.ServerPicker.Subtitle" = "Kies een gemeenschap gebaseerd op jouw interesses, regio of een algemeen doel."; -"Scene.ServerPicker.SubtitleExtend" = "Kies een gemeenschap gebaseerd op jouw interesses, regio, of een algemeen doel. Elke gemeenschap wordt beheerd door een volledig onafhankelijke organisatie of individu."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Kies een server, welke dan ook."; "Scene.ServerRules.Button.Confirm" = "Ik Ga Akkoord"; "Scene.ServerRules.PrivacyPolicy" = "privacybeleid"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.stringsdict index 314600ff7..84769b0c1 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld tekens + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings index 65d4fa65e..2ad16cb77 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "Поделиться"; "Common.Controls.Actions.SharePost" = "Поделиться постом"; "Common.Controls.Actions.ShareUser" = "Поделиться %@"; -"Common.Controls.Actions.SignIn" = "Войти"; -"Common.Controls.Actions.SignUp" = "Зарегистрироваться"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Пропустить"; "Common.Controls.Actions.TakePhoto" = "Сделать фото"; "Common.Controls.Actions.TryAgain" = "Попробовать снова"; @@ -169,16 +169,20 @@ "Scene.Compose.Accessibility.CustomEmojiPicker" = "Меню пользовательских эмодзи"; "Scene.Compose.Accessibility.DisableContentWarning" = "Убрать предупреждение о содержании"; "Scene.Compose.Accessibility.EnableContentWarning" = "Добавить предупреждение о содержании"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Меню видимости поста"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Убрать опрос"; "Scene.Compose.Attachment.AttachmentBroken" = "Это %@ повреждено и не может быть отправлено в Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Опишите фото для людей с нарушениями зрения..."; "Scene.Compose.Attachment.DescriptionVideo" = "Опишите видео для людей с нарушениями зрения..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "изображение"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "видео"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Пробел, чтобы добавить"; @@ -200,6 +204,8 @@ "Scene.Compose.Poll.OptionNumber" = "Вариант %ld"; "Scene.Compose.Poll.SevenDays" = "7 дней"; "Scene.Compose.Poll.SixHours" = "6 часов"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 минут"; "Scene.Compose.Poll.ThreeDays" = "3 дня"; "Scene.Compose.ReplyingToUser" = "ответ %@"; @@ -245,6 +251,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "Опубликовано!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Публикуем пост..."; "Scene.HomeTimeline.Title" = "Главная"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "reject"; @@ -272,6 +281,8 @@ "Scene.Profile.Fields.AddRow" = "Добавить строку"; "Scene.Profile.Fields.Placeholder.Content" = "Содержимое"; "Scene.Profile.Fields.Placeholder.Label" = "Ярлык"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Подписан(а) на вас"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; @@ -404,13 +415,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "Что-то пошло не так при загрузке данных. Проверьте подключение к интернету."; "Scene.ServerPicker.EmptyState.FindingServers" = "Ищем доступные сервера..."; "Scene.ServerPicker.EmptyState.NoResults" = "Нет результатов"; -"Scene.ServerPicker.Input.Placeholder" = "Найдите сервер или присоединитесь к своему..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Поиск по серверам или ссылке"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "КАТЕГОРИЯ"; "Scene.ServerPicker.Label.Language" = "ЯЗЫК"; "Scene.ServerPicker.Label.Users" = "ПОЛЬЗОВАТЕЛИ"; -"Scene.ServerPicker.Subtitle" = "Выберите сообщество на основе своих интересов, региона или общей тематики."; -"Scene.ServerPicker.SubtitleExtend" = "Pick a server based on your interests, region, or a general purpose one. Each server is operated by an entirely independent organization or individual."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Выберите сервер, любой сервер."; "Scene.ServerRules.Button.Confirm" = "Принимаю"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.stringsdict index afb29a6aa..c9552a9e4 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.stringsdict @@ -62,6 +62,26 @@ %ld символа осталось + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + few + %ld characters + many + %ld characters + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings index dbba5ddda..79781cae7 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings @@ -56,7 +56,7 @@ Kontrollera din internetanslutning."; "Common.Controls.Actions.SharePost" = "Dela inlägg"; "Common.Controls.Actions.ShareUser" = "Dela %@"; "Common.Controls.Actions.SignIn" = "Logga in"; -"Common.Controls.Actions.SignUp" = "Registrera dig"; +"Common.Controls.Actions.SignUp" = "Skapa konto"; "Common.Controls.Actions.Skip" = "Hoppa över"; "Common.Controls.Actions.TakePhoto" = "Ta foto"; "Common.Controls.Actions.TryAgain" = "Försök igen"; @@ -161,16 +161,20 @@ Din profil ser ut så här för dem."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Anpassad emoji-väljare"; "Scene.Compose.Accessibility.DisableContentWarning" = "Inaktivera innehållsvarning"; "Scene.Compose.Accessibility.EnableContentWarning" = "Aktivera innehållsvarning"; +"Scene.Compose.Accessibility.PostOptions" = "Inläggsalternativ"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Inläggssynlighetsmeny"; +"Scene.Compose.Accessibility.PostingAs" = "Postar som %@"; "Scene.Compose.Accessibility.RemovePoll" = "Ta bort omröstning"; "Scene.Compose.Attachment.AttachmentBroken" = "Denna %@ är trasig och kan inte laddas upp till Mastodon."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Bilagan är för stor"; "Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Känner inte igen mediebilagan"; +"Scene.Compose.Attachment.CompressingState" = "Komprimerar..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Beskriv fotot för synskadade..."; "Scene.Compose.Attachment.DescriptionVideo" = "Beskriv videon för de synskadade..."; "Scene.Compose.Attachment.LoadFailed" = "Det gick inte att läsa in"; "Scene.Compose.Attachment.Photo" = "foto"; +"Scene.Compose.Attachment.ServerProcessingState" = "Behandlas av servern..."; "Scene.Compose.Attachment.UploadFailed" = "Uppladdning misslyckades"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Mellanslag för att lägga till"; @@ -192,6 +196,8 @@ laddas upp till Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Alternativ %ld"; "Scene.Compose.Poll.SevenDays" = "7 dagar"; "Scene.Compose.Poll.SixHours" = "6 timmar"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Undersökningen har ett tomt alternativ"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Undersökningen är ogiltig"; "Scene.Compose.Poll.ThirtyMinutes" = "30 minuter"; "Scene.Compose.Poll.ThreeDays" = "3 dagar"; "Scene.Compose.ReplyingToUser" = "svarar %@"; @@ -234,6 +240,9 @@ laddas upp till Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publicerat!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publicerar inlägget..."; "Scene.HomeTimeline.Title" = "Hem"; +"Scene.Login.ServerSearchField.Placeholder" = "Ange URL eller sök efter din server"; +"Scene.Login.Subtitle" = "Logga in på servern där du skapade ditt konto."; +"Scene.Login.Title" = "Välkommen tillbaka"; "Scene.Notification.FollowRequest.Accept" = "Godkänn"; "Scene.Notification.FollowRequest.Accepted" = "Godkänd"; "Scene.Notification.FollowRequest.Reject" = "avvisa"; @@ -261,6 +270,8 @@ laddas upp till Mastodon."; "Scene.Profile.Fields.AddRow" = "Lägg till rad"; "Scene.Profile.Fields.Placeholder.Content" = "Innehåll"; "Scene.Profile.Fields.Placeholder.Label" = "Etikett"; +"Scene.Profile.Fields.Verified.Long" = "Ägarskap för denna länk kontrollerades den %@"; +"Scene.Profile.Fields.Verified.Short" = "Verifierad på %@"; "Scene.Profile.Header.FollowsYou" = "Följer dig"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Bekräfta för att blockera %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blockera konto"; @@ -393,13 +404,11 @@ laddas upp till Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Något gick fel när data laddades. Försök igen eller kontrollera din internetanslutning."; "Scene.ServerPicker.EmptyState.FindingServers" = "Söker tillgängliga servrar..."; "Scene.ServerPicker.EmptyState.NoResults" = "Inga resultat"; -"Scene.ServerPicker.Input.Placeholder" = "Sök gemenskaper"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Sök servrar eller ange URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Sök gemenskaper eller ange URL"; "Scene.ServerPicker.Label.Category" = "KATEGORI"; "Scene.ServerPicker.Label.Language" = "SPRÅK"; "Scene.ServerPicker.Label.Users" = "ANVÄNDARE"; -"Scene.ServerPicker.Subtitle" = "Välj en server baserat på dina intressen, region eller ett allmänt syfte."; -"Scene.ServerPicker.SubtitleExtend" = "Välj en server baserat på dina intressen, region eller ett allmänt syfte. Varje server drivs av en helt oberoende organisation eller individ."; +"Scene.ServerPicker.Subtitle" = "Välj en server baserat på dina intressen, region eller en allmän server. Du kan fortfarande nå alla, oavsett server."; "Scene.ServerPicker.Title" = "Mastodon utgörs av användare på olika servrar."; "Scene.ServerRules.Button.Confirm" = "Jag godkänner"; "Scene.ServerRules.PrivacyPolicy" = "integritetspolicy"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict index c7317903d..3cbfeae6d 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld tecken + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ kvar + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld tecken + other + %ld tecken + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings index de982308d..8e63e0269 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "แบ่งปัน"; "Common.Controls.Actions.SharePost" = "แบ่งปันโพสต์"; "Common.Controls.Actions.ShareUser" = "แบ่งปัน %@"; -"Common.Controls.Actions.SignIn" = "ลงชื่อเข้า"; -"Common.Controls.Actions.SignUp" = "ลงทะเบียน"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "ข้าม"; "Common.Controls.Actions.TakePhoto" = "ถ่ายรูป"; "Common.Controls.Actions.TryAgain" = "ลองอีกครั้ง"; @@ -161,16 +161,20 @@ "Scene.Compose.Accessibility.CustomEmojiPicker" = "ตัวเลือกอีโมจิที่กำหนดเอง"; "Scene.Compose.Accessibility.DisableContentWarning" = "ปิดใช้งานคำเตือนเนื้อหา"; "Scene.Compose.Accessibility.EnableContentWarning" = "เปิดใช้งานคำเตือนเนื้อหา"; +"Scene.Compose.Accessibility.PostOptions" = "ตัวเลือกโพสต์"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "เมนูการมองเห็นโพสต์"; +"Scene.Compose.Accessibility.PostingAs" = "กำลังโพสต์เป็น %@"; "Scene.Compose.Accessibility.RemovePoll" = "เอาการสำรวจความคิดเห็นออก"; "Scene.Compose.Attachment.AttachmentBroken" = "%@ นี้เสียหายและไม่สามารถ อัปโหลดไปยัง Mastodon"; "Scene.Compose.Attachment.AttachmentTooLarge" = "ไฟล์แนบใหญ่เกินไป"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "ไม่สามารถระบุไฟล์แนบสื่อนี้"; +"Scene.Compose.Attachment.CompressingState" = "กำลังบีบอัด..."; "Scene.Compose.Attachment.DescriptionPhoto" = "อธิบายรูปภาพสำหรับผู้บกพร่องทางการมองเห็น..."; "Scene.Compose.Attachment.DescriptionVideo" = "อธิบายวิดีโอสำหรับผู้บกพร่องทางการมองเห็น..."; "Scene.Compose.Attachment.LoadFailed" = "การโหลดล้มเหลว"; "Scene.Compose.Attachment.Photo" = "รูปภาพ"; +"Scene.Compose.Attachment.ServerProcessingState" = "เซิร์ฟเวอร์กำลังประมวลผล..."; "Scene.Compose.Attachment.UploadFailed" = "การอัปโหลดล้มเหลว"; "Scene.Compose.Attachment.Video" = "วิดีโอ"; "Scene.Compose.AutoComplete.SpaceToAdd" = "เว้นวรรคเพื่อเพิ่ม"; @@ -192,6 +196,8 @@ "Scene.Compose.Poll.OptionNumber" = "ตัวเลือก %ld"; "Scene.Compose.Poll.SevenDays" = "7 วัน"; "Scene.Compose.Poll.SixHours" = "6 ชั่วโมง"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "การสำรวจความคิดเห็นมีตัวเลือกที่ว่างเปล่า"; +"Scene.Compose.Poll.ThePollIsInvalid" = "การสำรวจความคิดเห็นไม่ถูกต้อง"; "Scene.Compose.Poll.ThirtyMinutes" = "30 นาที"; "Scene.Compose.Poll.ThreeDays" = "3 วัน"; "Scene.Compose.ReplyingToUser" = "กำลังตอบกลับ %@"; @@ -203,10 +209,10 @@ "Scene.Compose.Visibility.Unlisted" = "ไม่อยู่ในรายการ"; "Scene.ConfirmEmail.Button.OpenEmailApp" = "เปิดแอปอีเมล"; "Scene.ConfirmEmail.Button.Resend" = "ส่งใหม่"; -"Scene.ConfirmEmail.DontReceiveEmail.Description" = "หากคุณยังไม่ได้รับอีเมล ตรวจสอบว่าที่อยู่อีเมลของคุณถูกต้อง รวมถึงโฟลเดอร์อีเมลขยะของคุณ"; +"Scene.ConfirmEmail.DontReceiveEmail.Description" = "ตรวจสอบว่าที่อยู่อีเมลของคุณถูกต้องเช่นเดียวกับโฟลเดอร์อีเมลขยะหากคุณยังไม่ได้ทำ"; "Scene.ConfirmEmail.DontReceiveEmail.ResendEmail" = "ส่งอีเมลใหม่"; "Scene.ConfirmEmail.DontReceiveEmail.Title" = "ตรวจสอบอีเมลของคุณ"; -"Scene.ConfirmEmail.OpenEmailApp.Description" = "เราเพิ่งส่งอีเมลหาคุณ หากคุณยังไม่ได้รับอีเมล โปรดตรวจสอบโฟลเดอร์อีเมลขยะ"; +"Scene.ConfirmEmail.OpenEmailApp.Description" = "เราเพิ่งส่งอีเมลถึงคุณ ตรวจสอบโฟลเดอร์อีเมลขยะของคุณหากคุณยังไม่ได้ทำ"; "Scene.ConfirmEmail.OpenEmailApp.Mail" = "จดหมาย"; "Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "เปิดไคลเอ็นต์อีเมล"; "Scene.ConfirmEmail.OpenEmailApp.Title" = "ตรวจสอบกล่องขาเข้าของคุณ"; @@ -234,6 +240,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "เผยแพร่แล้ว!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "กำลังเผยแพร่โพสต์..."; "Scene.HomeTimeline.Title" = "หน้าแรก"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "ยอมรับ"; "Scene.Notification.FollowRequest.Accepted" = "ยอมรับแล้ว"; "Scene.Notification.FollowRequest.Reject" = "ปฏิเสธ"; @@ -261,6 +270,8 @@ "Scene.Profile.Fields.AddRow" = "เพิ่มแถว"; "Scene.Profile.Fields.Placeholder.Content" = "เนื้อหา"; "Scene.Profile.Fields.Placeholder.Label" = "ป้ายชื่อ"; +"Scene.Profile.Fields.Verified.Long" = "ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ %@"; +"Scene.Profile.Fields.Verified.Short" = "ตรวจสอบเมื่อ %@"; "Scene.Profile.Header.FollowsYou" = "ติดตามคุณ"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "ยืนยันเพื่อปิดกั้น %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "ปิดกั้นบัญชี"; @@ -295,7 +306,7 @@ "Scene.Register.Error.Reason.Taken" = "%@ ถูกใช้งานแล้ว"; "Scene.Register.Error.Reason.TooLong" = "%@ ยาวเกินไป"; "Scene.Register.Error.Reason.TooShort" = "%@ สั้นเกินไป"; -"Scene.Register.Error.Reason.Unreachable" = "ดูเหมือนว่า %@ จะไม่มีอยู่"; +"Scene.Register.Error.Reason.Unreachable" = "ดูเหมือนว่าจะไม่มี %@ อยู่"; "Scene.Register.Error.Special.EmailInvalid" = "นี่ไม่ใช่ที่อยู่อีเมลที่ถูกต้อง"; "Scene.Register.Error.Special.PasswordTooShort" = "รหัสผ่านสั้นเกินไป (ต้องมีอย่างน้อย 8 ตัวอักษร)"; "Scene.Register.Error.Special.UsernameInvalid" = "ชื่อผู้ใช้ต้องมีเฉพาะตัวอักษรและตัวเลขและขีดล่างเท่านั้น"; @@ -393,13 +404,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "มีบางอย่างผิดพลาดขณะโหลดข้อมูล ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ"; "Scene.ServerPicker.EmptyState.FindingServers" = "กำลังค้นหาเซิร์ฟเวอร์ที่พร้อมใช้งาน..."; "Scene.ServerPicker.EmptyState.NoResults" = "ไม่มีผลลัพธ์"; -"Scene.ServerPicker.Input.Placeholder" = "ค้นหาเซิร์ฟเวอร์"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "ค้นหาเซิร์ฟเวอร์หรือป้อน URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "หมวดหมู่"; "Scene.ServerPicker.Label.Language" = "ภาษา"; "Scene.ServerPicker.Label.Users" = "ผู้ใช้"; -"Scene.ServerPicker.Subtitle" = "เลือกเซิร์ฟเวอร์ตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ"; -"Scene.ServerPicker.SubtitleExtend" = "เลือกเซิร์ฟเวอร์ตามความสนใจ, ภูมิภาค หรือวัตถุประสงค์ทั่วไปของคุณ แต่ละเซิร์ฟเวอร์ได้รับการดำเนินงานโดยองค์กรหรือบุคคลที่เป็นอิสระโดยสิ้นเชิง"; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon ประกอบด้วยผู้ใช้ในเซิร์ฟเวอร์ต่าง ๆ"; "Scene.ServerRules.Button.Confirm" = "ฉันเห็นด้วย"; "Scene.ServerRules.PrivacyPolicy" = "นโยบายความเป็นส่วนตัว"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.stringsdict index 897d07eca..f25561ad6 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld ตัวอักษร + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + เหลืออีก %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld ตัวอักษร + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings index 614ea6dc5..fcee4e12e 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings @@ -54,8 +54,8 @@ "Common.Controls.Actions.Share" = "Paylaş"; "Common.Controls.Actions.SharePost" = "Gönderiyi Paylaş"; "Common.Controls.Actions.ShareUser" = "%@ ile paylaş"; -"Common.Controls.Actions.SignIn" = "Giriş Yap"; -"Common.Controls.Actions.SignUp" = "Kaydol"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "Atla"; "Common.Controls.Actions.TakePhoto" = "Fotoğraf Çek"; "Common.Controls.Actions.TryAgain" = "Tekrar Deneyin"; @@ -160,16 +160,20 @@ Bu kişiye göre profiliniz böyle gözüküyor."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Özel Emoji Seçici"; "Scene.Compose.Accessibility.DisableContentWarning" = "İçerik Uyarısını Kapat"; "Scene.Compose.Accessibility.EnableContentWarning" = "İçerik Uyarısını Etkinleştir"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Gönderi Görünürlüğü Menüsü"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "Anketi Kaldır"; "Scene.Compose.Attachment.AttachmentBroken" = "Bu %@ bozuk ve Mastodon'a yüklenemiyor."; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Görme engelliler için fotoğrafı tarif edin..."; "Scene.Compose.Attachment.DescriptionVideo" = "Görme engelliler için videoyu tarif edin..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "fotoğraf"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Eklemek için boşluk tuşuna basın"; @@ -191,6 +195,8 @@ yüklenemiyor."; "Scene.Compose.Poll.OptionNumber" = "Seçenek %ld"; "Scene.Compose.Poll.SevenDays" = "7 Gün"; "Scene.Compose.Poll.SixHours" = "6 Saat"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 dakika"; "Scene.Compose.Poll.ThreeDays" = "3 Gün"; "Scene.Compose.ReplyingToUser" = "yanıtlanıyor: %@"; @@ -233,6 +239,9 @@ yüklenemiyor."; "Scene.HomeTimeline.NavigationBarState.Published" = "Yayınlandı!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Gönderi yayınlanıyor..."; "Scene.HomeTimeline.Title" = "Ana Sayfa"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "reject"; @@ -260,6 +269,8 @@ yüklenemiyor."; "Scene.Profile.Fields.AddRow" = "Satır Ekle"; "Scene.Profile.Fields.Placeholder.Content" = "İçerik"; "Scene.Profile.Fields.Placeholder.Label" = "Etiket"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "Seni takip ediyor"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "%@ engellemeyi onayla"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Hesabı Engelle"; @@ -392,13 +403,11 @@ yüklenemiyor."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Veriyi yüklerken bir hata oluştu. Lütfen internet bağlantınızı kontrol edin."; "Scene.ServerPicker.EmptyState.FindingServers" = "Mevcut sunucular aranıyor..."; "Scene.ServerPicker.EmptyState.NoResults" = "Sonuç yok"; -"Scene.ServerPicker.Input.Placeholder" = "Toplulukları ara"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Sunucuları ara ya da bir bağlantı gir"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "KATEGORİ"; "Scene.ServerPicker.Label.Language" = "DİL"; "Scene.ServerPicker.Label.Users" = "KULLANICILAR"; -"Scene.ServerPicker.Subtitle" = "İlgi alanlarınıza, bölgenize veya genel amaçlı bir topluluk seçin."; -"Scene.ServerPicker.SubtitleExtend" = "İlgi alanlarınıza, bölgenize veya genel amaçlı bir topluluk seçin. Her topluluk tamamen bağımsız bir kuruluş veya kişi tarafından işletilmektedir."; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon, farklı topluluklardaki kullanıcılardan oluşur."; "Scene.ServerRules.Button.Confirm" = "Kabul Ediyorum"; "Scene.ServerRules.PrivacyPolicy" = "gizlilik politikası"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict index 29df92c2b..6ef7f4c75 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict @@ -50,6 +50,22 @@ %ld karakter + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings index 41ac9aa20..5a14fb2cf 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings @@ -56,7 +56,7 @@ Vui lòng kiểm tra kết nối mạng."; "Common.Controls.Actions.SharePost" = "Chia sẻ tút"; "Common.Controls.Actions.ShareUser" = "Chia sẻ %@"; "Common.Controls.Actions.SignIn" = "Đăng nhập"; -"Common.Controls.Actions.SignUp" = "Đăng ký"; +"Common.Controls.Actions.SignUp" = "Tạo tài khoản"; "Common.Controls.Actions.Skip" = "Bỏ qua"; "Common.Controls.Actions.TakePhoto" = "Chụp ảnh"; "Common.Controls.Actions.TryAgain" = "Thử lại"; @@ -161,17 +161,21 @@ Họ sẽ thấy trang của bạn như thế này."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Chọn emoji"; "Scene.Compose.Accessibility.DisableContentWarning" = "Tắt nội dung ẩn"; "Scene.Compose.Accessibility.EnableContentWarning" = "Bật nội dung ẩn"; +"Scene.Compose.Accessibility.PostOptions" = "Tùy chọn đăng"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menu hiển thị tút"; +"Scene.Compose.Accessibility.PostingAs" = "Đăng dưới dạng %@"; "Scene.Compose.Accessibility.RemovePoll" = "Xóa bình chọn"; "Scene.Compose.Attachment.AttachmentBroken" = "%@ này bị lỗi và không thể tải lên Mastodon."; -"Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.AttachmentTooLarge" = "Tập tin đính kèm quá lớn"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Không xem được tập tin đính kèm"; +"Scene.Compose.Attachment.CompressingState" = "Đang nén..."; "Scene.Compose.Attachment.DescriptionPhoto" = "Mô tả hình ảnh cho người khiếm thị..."; "Scene.Compose.Attachment.DescriptionVideo" = "Mô tả video cho người khiếm thị..."; -"Scene.Compose.Attachment.LoadFailed" = "Load Failed"; +"Scene.Compose.Attachment.LoadFailed" = "Tải thất bại"; "Scene.Compose.Attachment.Photo" = "ảnh"; -"Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; +"Scene.Compose.Attachment.ServerProcessingState" = "Máy chủ đang xử lý..."; +"Scene.Compose.Attachment.UploadFailed" = "Tải lên thất bại"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Khoảng cách để thêm"; "Scene.Compose.ComposeAction" = "Đăng"; @@ -192,6 +196,8 @@ tải lên Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Lựa chọn %ld"; "Scene.Compose.Poll.SevenDays" = "7 ngày"; "Scene.Compose.Poll.SixHours" = "6 giờ"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Thiếu lựa chọn"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Bình chọn không hợp lệ"; "Scene.Compose.Poll.ThirtyMinutes" = "30 phút"; "Scene.Compose.Poll.ThreeDays" = "3 ngày"; "Scene.Compose.ReplyingToUser" = "trả lời %@"; @@ -234,6 +240,9 @@ tải lên Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Đã đăng!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Đang đăng tút..."; "Scene.HomeTimeline.Title" = "Bảng tin"; +"Scene.Login.ServerSearchField.Placeholder" = "Nhập URL hoặc tìm máy chủ"; +"Scene.Login.Subtitle" = "Đăng nhập vào máy chủ mà bạn đã tạo tài khoản."; +"Scene.Login.Title" = "Chào mừng trở lại!"; "Scene.Notification.FollowRequest.Accept" = "Chấp nhận"; "Scene.Notification.FollowRequest.Accepted" = "Đã chấp nhận"; "Scene.Notification.FollowRequest.Reject" = "từ chối"; @@ -261,6 +270,8 @@ tải lên Mastodon."; "Scene.Profile.Fields.AddRow" = "Thêm hàng"; "Scene.Profile.Fields.Placeholder.Content" = "Nội dung"; "Scene.Profile.Fields.Placeholder.Label" = "Nhãn"; +"Scene.Profile.Fields.Verified.Long" = "Liên kết này đã được xác minh trên %@"; +"Scene.Profile.Fields.Verified.Short" = "Đã xác minh %@"; "Scene.Profile.Header.FollowsYou" = "Đang theo dõi bạn"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Xác nhận chặn %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Chặn người này"; @@ -393,13 +404,11 @@ tải lên Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Đã xảy ra lỗi. Hãy thử lại hoặc kiểm tra kết nối internet của bạn."; "Scene.ServerPicker.EmptyState.FindingServers" = "Đang tìm máy chủ hoạt động..."; "Scene.ServerPicker.EmptyState.NoResults" = "Không có kết quả"; -"Scene.ServerPicker.Input.Placeholder" = "Tìm máy chủ"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Tìm máy chủ hoặc nhập URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Tìm một máy chủ hoặc nhập URL"; "Scene.ServerPicker.Label.Category" = "PHÂN LOẠI"; "Scene.ServerPicker.Label.Language" = "NGÔN NGỮ"; "Scene.ServerPicker.Label.Users" = "NGƯỜI"; -"Scene.ServerPicker.Subtitle" = "Chọn một máy chủ dựa theo sở thích, tôn giáo, hoặc ý muốn của bạn."; -"Scene.ServerPicker.SubtitleExtend" = "Chọn một máy chủ dựa theo sở thích, tôn giáo, hoặc ý muốn của bạn. Mỗi máy chủ có thể được vận hành bởi một cá nhân hoặc một tổ chức."; +"Scene.ServerPicker.Subtitle" = "Chọn một máy chủ dựa theo sở thích, tôn giáo, hoặc ý muốn của bạn. Bạn vẫn có thể giao tiếp với bất cứ ai mà không phụ thuộc vào máy chủ của họ."; "Scene.ServerPicker.Title" = "Mastodon gồm nhiều máy chủ với thành viên riêng."; "Scene.ServerRules.Button.Confirm" = "Tôi đồng ý"; "Scene.ServerRules.PrivacyPolicy" = "chính sách bảo mật"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.stringsdict index 6905b240e..4c772f014 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld ký tự + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ còn lại + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld ký tự + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings index 3883e30df..cb362ea9d 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "分享"; "Common.Controls.Actions.SharePost" = "分享帖子"; "Common.Controls.Actions.ShareUser" = "分享 %@"; -"Common.Controls.Actions.SignIn" = "登录"; -"Common.Controls.Actions.SignUp" = "注册"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "跳过"; "Common.Controls.Actions.TakePhoto" = "拍照"; "Common.Controls.Actions.TryAgain" = "再试一次"; @@ -161,16 +161,20 @@ "Scene.Compose.Accessibility.CustomEmojiPicker" = "自定义表情选择器"; "Scene.Compose.Accessibility.DisableContentWarning" = "关闭内容警告"; "Scene.Compose.Accessibility.EnableContentWarning" = "启用内容警告"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "帖子可见性"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; "Scene.Compose.Accessibility.RemovePoll" = "移除投票"; "Scene.Compose.Attachment.AttachmentBroken" = "%@已损坏 无法上传到 Mastodon"; "Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "为视觉障碍人士添加照片的文字说明..."; "Scene.Compose.Attachment.DescriptionVideo" = "为视觉障碍人士添加视频的文字说明..."; "Scene.Compose.Attachment.LoadFailed" = "Load Failed"; "Scene.Compose.Attachment.Photo" = "照片"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; "Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; "Scene.Compose.Attachment.Video" = "视频"; "Scene.Compose.AutoComplete.SpaceToAdd" = "输入空格键入"; @@ -192,6 +196,8 @@ "Scene.Compose.Poll.OptionNumber" = "选项 %ld"; "Scene.Compose.Poll.SevenDays" = "7 天"; "Scene.Compose.Poll.SixHours" = "6 小时"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 分钟"; "Scene.Compose.Poll.ThreeDays" = "3 天"; "Scene.Compose.ReplyingToUser" = "回复给 %@"; @@ -234,6 +240,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "已发送"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "正在发送..."; "Scene.HomeTimeline.Title" = "主页"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "接受"; "Scene.Notification.FollowRequest.Accepted" = "已接受"; "Scene.Notification.FollowRequest.Reject" = "拒绝"; @@ -261,6 +270,8 @@ "Scene.Profile.Fields.AddRow" = "添加"; "Scene.Profile.Fields.Placeholder.Content" = "内容"; "Scene.Profile.Fields.Placeholder.Label" = "标签"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "关注了你"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "确认屏蔽 %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "屏蔽帐户"; @@ -393,13 +404,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "出了些问题。请检查你的互联网连接"; "Scene.ServerPicker.EmptyState.FindingServers" = "正在查找可用的服务器..."; "Scene.ServerPicker.EmptyState.NoResults" = "无结果"; -"Scene.ServerPicker.Input.Placeholder" = "查找或加入你自己的服务器..."; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "搜索服务器或输入 URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "类别"; "Scene.ServerPicker.Label.Language" = "语言"; "Scene.ServerPicker.Label.Users" = "用户"; -"Scene.ServerPicker.Subtitle" = "根据你的兴趣、区域或一般目的选择一个社区。"; -"Scene.ServerPicker.SubtitleExtend" = "根据你的兴趣、区域或一般目的选择一个社区。每个社区都由完全独立的组织或个人管理。"; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "挑选一个服务器, 任意服务器。"; "Scene.ServerRules.Button.Confirm" = "我同意"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict index 5a7af3752..915a524b5 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld 个字符 + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld characters + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings index 34e59a582..60dcd2077 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "分享"; "Common.Controls.Actions.SharePost" = "分享嘟文"; "Common.Controls.Actions.ShareUser" = "分享 %@"; -"Common.Controls.Actions.SignIn" = "登入"; -"Common.Controls.Actions.SignUp" = "註冊"; +"Common.Controls.Actions.SignIn" = "Log in"; +"Common.Controls.Actions.SignUp" = "Create account"; "Common.Controls.Actions.Skip" = "跳過"; "Common.Controls.Actions.TakePhoto" = "拍攝照片"; "Common.Controls.Actions.TryAgain" = "再試一次"; @@ -157,16 +157,20 @@ "Scene.Compose.Accessibility.CustomEmojiPicker" = "自訂 emoji 選擇器"; "Scene.Compose.Accessibility.DisableContentWarning" = "停用內容警告"; "Scene.Compose.Accessibility.EnableContentWarning" = "啟用內容警告"; +"Scene.Compose.Accessibility.PostOptions" = "嘟文選項"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "嘟文可見性選單"; +"Scene.Compose.Accessibility.PostingAs" = "以 %@ 發嘟"; "Scene.Compose.Accessibility.RemovePoll" = "移除投票"; "Scene.Compose.Attachment.AttachmentBroken" = "此 %@ 已損毀,並無法被上傳至 Mastodon。"; -"Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not regonize this media attachment"; +"Scene.Compose.Attachment.AttachmentTooLarge" = "附加檔案大小過大"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; +"Scene.Compose.Attachment.CompressingState" = "Compressing..."; "Scene.Compose.Attachment.DescriptionPhoto" = "為視障人士提供圖片說明..."; "Scene.Compose.Attachment.DescriptionVideo" = "為視障人士提供影片說明..."; -"Scene.Compose.Attachment.LoadFailed" = "Load Failed"; +"Scene.Compose.Attachment.LoadFailed" = "讀取失敗"; "Scene.Compose.Attachment.Photo" = "照片"; -"Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; +"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; +"Scene.Compose.Attachment.UploadFailed" = "上傳失敗"; "Scene.Compose.Attachment.Video" = "影片"; "Scene.Compose.AutoComplete.SpaceToAdd" = "添加的空白"; "Scene.Compose.ComposeAction" = "嘟出去"; @@ -187,6 +191,8 @@ "Scene.Compose.Poll.OptionNumber" = "選項 %ld"; "Scene.Compose.Poll.SevenDays" = "七天"; "Scene.Compose.Poll.SixHours" = "六小時"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; +"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; "Scene.Compose.Poll.ThirtyMinutes" = "30 分鐘"; "Scene.Compose.Poll.ThreeDays" = "三天"; "Scene.Compose.ReplyingToUser" = "正在回覆 %@"; @@ -229,6 +235,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "嘟出去!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "發表嘟文..."; "Scene.HomeTimeline.Title" = "首頁"; +"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; +"Scene.Login.Title" = "Welcome back"; "Scene.Notification.FollowRequest.Accept" = "接受"; "Scene.Notification.FollowRequest.Accepted" = "已接受"; "Scene.Notification.FollowRequest.Reject" = "拒絕"; @@ -256,6 +265,8 @@ "Scene.Profile.Fields.AddRow" = "新增列"; "Scene.Profile.Fields.Placeholder.Content" = "內容"; "Scene.Profile.Fields.Placeholder.Label" = "標籤"; +"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; +"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; "Scene.Profile.Header.FollowsYou" = "跟隨了您"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "確認將 %@ 封鎖"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "封鎖"; @@ -388,13 +399,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "讀取資料時發生錯誤。請檢查您的網路連線。"; "Scene.ServerPicker.EmptyState.FindingServers" = "尋找可用的伺服器..."; "Scene.ServerPicker.EmptyState.NoResults" = "沒有結果"; -"Scene.ServerPicker.Input.Placeholder" = "搜尋伺服器"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "搜尋伺服器或輸入網址"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; "Scene.ServerPicker.Label.Category" = "分類"; "Scene.ServerPicker.Label.Language" = "語言"; "Scene.ServerPicker.Label.Users" = "使用者"; -"Scene.ServerPicker.Subtitle" = "基於您的興趣、地區、或一般用途選定一個伺服器。"; -"Scene.ServerPicker.SubtitleExtend" = "基於您的興趣、地區、或一般用途選定一個伺服器。每個伺服器是由完全獨立的組織或個人營運。"; +"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; "Scene.ServerPicker.Title" = "Mastodon 由不同伺服器的使用者組成。"; "Scene.ServerRules.Button.Confirm" = "我已閱讀並同意"; "Scene.ServerRules.PrivacyPolicy" = "隱私權政策"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.stringsdict index c0ce0f9a2..d545fd6a4 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.stringsdict @@ -44,6 +44,20 @@ %ld 個字 + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + 剩餘 %#@character_count@ 字 + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + %ld 個字 + + plural.count.followed_by_and_mutual NSStringLocalizedFormatKey From 26576d888e90fe33ef82fdfbfa884b0f72072198 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Wed, 16 Nov 2022 12:54:51 +0100 Subject: [PATCH 219/300] feat: Implement double-tap on profile Tab to quickly cycle through logged in Accounts --- .../Root/MainTab/MainTabBarController.swift | 64 +++++++++++++++++-- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 48d974358..158cd769b 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -8,6 +8,7 @@ import os.log import UIKit import Combine +import CoreDataStack import SafariServices import MastodonAsset import MastodonCore @@ -324,7 +325,12 @@ extension MainTabBarController { let tabBarLongPressGestureRecognizer = UILongPressGestureRecognizer() tabBarLongPressGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarLongPressGestureRecognizerHandler(_:))) tabBar.addGestureRecognizer(tabBarLongPressGestureRecognizer) - + + let tabBarDoubleTapGestureRecognizer = UITapGestureRecognizer() + tabBarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 + tabBarDoubleTapGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarDoubleTapGestureRecognizerHandler(_:))) + tabBar.addGestureRecognizer(tabBarDoubleTapGestureRecognizer) + self.isReadyForWizardAvatarButton = authContext != nil $currentTab @@ -375,9 +381,7 @@ extension MainTabBarController { _ = coordinator.present(scene: .compose(viewModel: composeViewModel), from: nil, transition: .modal(animated: true, completion: nil)) } - @objc private func tabBarLongPressGestureRecognizerHandler(_ sender: UILongPressGestureRecognizer) { - guard sender.state == .began else { return } - + private func touchedTab(by sender: UIGestureRecognizer) -> Tab? { var _tab: Tab? let location = sender.location(in: tabBar) for item in tabBar.items ?? [] { @@ -389,7 +393,57 @@ extension MainTabBarController { break } - guard let tab = _tab else { return } + return _tab + } + + @objc private func tabBarDoubleTapGestureRecognizerHandler(_ sender: UITapGestureRecognizer) { + guard sender.state == .ended else { return } + guard let tab = touchedTab(by: sender) else { return } + logger.debug("\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public): double tap \(tab.title) tab") + + switch tab { + case .me: + guard let authContext = authContext else { return } + assert(Thread.isMainThread) + + let request = MastodonAuthentication.sortedFetchRequest + guard let accounts = try? context.managedObjectContext.fetch(request) else { return } + + let nextSelectedAccountIndex: Int? = { + for (index, account) in accounts.enumerated() { + guard account == authContext.mastodonAuthenticationBox + .authenticationRecord + .object(in: context.managedObjectContext) + else { continue } + + let nextAccountIndex = index + 1 + + if accounts.count > nextAccountIndex { + return nextAccountIndex + } else { + return 0 + } + } + + return nil + }() + + guard let nextSelectedAccountIndex = nextSelectedAccountIndex, accounts.count > nextSelectedAccountIndex else { return } + let nextAccount = accounts[nextSelectedAccountIndex] + + Task { @MainActor in + let isActive = try await context.authenticationService.activeMastodonUser(domain: nextAccount.domain, userID: nextAccount.userID) + guard isActive else { return } + self.coordinator.setup() + } + default: + break + } + } + + @objc private func tabBarLongPressGestureRecognizerHandler(_ sender: UILongPressGestureRecognizer) { + guard sender.state == .began else { return } + guard let tab = touchedTab(by: sender) else { return } logger.debug("\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public): long press \(tab.title) tab") switch tab { From 972b82268a76225e3a06fca606c984cce147cd8b Mon Sep 17 00:00:00 2001 From: CMK Date: Wed, 16 Nov 2022 19:56:16 +0800 Subject: [PATCH 220/300] feat: new i18n languages. Czech (cs) and Slovenian (sl) --- .../Sources/StringsConvertor/main.swift | 2 + Mastodon.xcodeproj/project.pbxproj | 14 + Mastodon/Resources/cs.lproj/InfoPlist.strings | 4 + Mastodon/Resources/sl.lproj/InfoPlist.strings | 4 + MastodonIntent/cs.lproj/Intents.strings | 51 ++ MastodonIntent/cs.lproj/Intents.stringsdict | 54 ++ MastodonIntent/sl.lproj/Intents.strings | 51 ++ MastodonIntent/sl.lproj/Intents.stringsdict | 54 ++ .../Resources/cs.lproj/Localizable.strings | 459 ++++++++++++++ .../cs.lproj/Localizable.stringsdict | 581 ++++++++++++++++++ .../Resources/sl.lproj/Localizable.strings | 464 ++++++++++++++ .../sl.lproj/Localizable.stringsdict | 581 ++++++++++++++++++ 12 files changed, 2319 insertions(+) create mode 100644 Mastodon/Resources/cs.lproj/InfoPlist.strings create mode 100644 Mastodon/Resources/sl.lproj/InfoPlist.strings create mode 100644 MastodonIntent/cs.lproj/Intents.strings create mode 100644 MastodonIntent/cs.lproj/Intents.stringsdict create mode 100644 MastodonIntent/sl.lproj/Intents.strings create mode 100644 MastodonIntent/sl.lproj/Intents.stringsdict create mode 100644 MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings create mode 100644 MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.stringsdict create mode 100644 MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.strings create mode 100644 MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.stringsdict diff --git a/Localization/StringsConvertor/Sources/StringsConvertor/main.swift b/Localization/StringsConvertor/Sources/StringsConvertor/main.swift index beba6cb3f..665161e2c 100644 --- a/Localization/StringsConvertor/Sources/StringsConvertor/main.swift +++ b/Localization/StringsConvertor/Sources/StringsConvertor/main.swift @@ -53,6 +53,7 @@ private func map(language: String) -> String? { case "ca.lproj": return "ca" // Catalan case "zh-Hans.lproj": return "zh-Hans" // Chinese Simplified case "zh-Hant.lproj": return "zh-Hant" // Chinese Traditional + case "cs.lproj": return "cs" // Czech case "nl.lproj": return "nl" // Dutch case "en.lproj": return "en" case "fi.lproj": return "fi" // Finnish @@ -65,6 +66,7 @@ private func map(language: String) -> String? { case "kmr.lproj": return "ku" // Kurmanji (Kurdish) [intent mapping] case "ru.lproj": return "ru" // Russian case "gd.lproj": return "gd" // Scottish Gaelic + case "sl.lproj": return "sl" // Slovenian case "ckb.lproj": return "ckb" // Sorani (Kurdish) case "es.lproj": return "es" // Spanish case "es_AR.lproj": return "es-AR" // Spanish, Argentina diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index ae8410c35..5724244b6 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -895,6 +895,12 @@ DB938F0826240F3C00E5B6C1 /* RemoteThreadViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteThreadViewModel.swift; sourceTree = ""; }; DB938F0E2624119800E5B6C1 /* ThreadViewModel+LoadThreadState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ThreadViewModel+LoadThreadState.swift"; sourceTree = ""; }; DB938F1E2624382F00E5B6C1 /* ThreadViewModel+Diffable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ThreadViewModel+Diffable.swift"; sourceTree = ""; }; + DB96C25D292505FE00F3B85D /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Intents.strings; sourceTree = ""; }; + DB96C25E292505FF00F3B85D /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist.strings; sourceTree = ""; }; + DB96C25F292505FF00F3B85D /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = cs; path = cs.lproj/Intents.stringsdict; sourceTree = ""; }; + DB96C260292506D600F3B85D /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/Intents.strings; sourceTree = ""; }; + DB96C261292506D700F3B85D /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/InfoPlist.strings; sourceTree = ""; }; + DB96C262292506D700F3B85D /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = sl; path = sl.lproj/Intents.stringsdict; sourceTree = ""; }; DB98EB4627B0DFAA0082E365 /* ReportStatusViewModel+State.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ReportStatusViewModel+State.swift"; sourceTree = ""; }; DB98EB4827B0F0CD0082E365 /* ReportStatusTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportStatusTableViewCell.swift; sourceTree = ""; }; DB98EB4B27B0F2BC0082E365 /* ReportStatusTableViewCell+ViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ReportStatusTableViewCell+ViewModel.swift"; sourceTree = ""; }; @@ -2872,6 +2878,8 @@ gd, "es-AR", fi, + cs, + sl, ); mainGroup = DB427DC925BAA00100D1B89D; packageReferences = ( @@ -3607,6 +3615,8 @@ DBC9E3A6282E15190063A4D9 /* gd */, DBC9E3A9282E17DF0063A4D9 /* es-AR */, DB8F40042835EE5E006E7513 /* fi */, + DB96C25D292505FE00F3B85D /* cs */, + DB96C260292506D600F3B85D /* sl */, ); name = Intents.intentdefinition; sourceTree = ""; @@ -3638,6 +3648,8 @@ DBC9E3A7282E15190063A4D9 /* gd */, DBC9E3AA282E17DF0063A4D9 /* es-AR */, DB8F40052835EE5E006E7513 /* fi */, + DB96C25E292505FF00F3B85D /* cs */, + DB96C261292506D700F3B85D /* sl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -3685,6 +3697,8 @@ DBC9E3A8282E15190063A4D9 /* gd */, DBC9E3AB282E17DF0063A4D9 /* es-AR */, DB8F40062835EE5E006E7513 /* fi */, + DB96C25F292505FF00F3B85D /* cs */, + DB96C262292506D700F3B85D /* sl */, ); name = Intents.stringsdict; sourceTree = ""; diff --git a/Mastodon/Resources/cs.lproj/InfoPlist.strings b/Mastodon/Resources/cs.lproj/InfoPlist.strings new file mode 100644 index 000000000..710865573 --- /dev/null +++ b/Mastodon/Resources/cs.lproj/InfoPlist.strings @@ -0,0 +1,4 @@ +"NSCameraUsageDescription" = "Used to take photo for post status"; +"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; +"NewPostShortcutItemTitle" = "New Post"; +"SearchShortcutItemTitle" = "Search"; \ No newline at end of file diff --git a/Mastodon/Resources/sl.lproj/InfoPlist.strings b/Mastodon/Resources/sl.lproj/InfoPlist.strings new file mode 100644 index 000000000..710865573 --- /dev/null +++ b/Mastodon/Resources/sl.lproj/InfoPlist.strings @@ -0,0 +1,4 @@ +"NSCameraUsageDescription" = "Used to take photo for post status"; +"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; +"NewPostShortcutItemTitle" = "New Post"; +"SearchShortcutItemTitle" = "Search"; \ No newline at end of file diff --git a/MastodonIntent/cs.lproj/Intents.strings b/MastodonIntent/cs.lproj/Intents.strings new file mode 100644 index 000000000..6f29830a1 --- /dev/null +++ b/MastodonIntent/cs.lproj/Intents.strings @@ -0,0 +1,51 @@ +"16wxgf" = "Příspěvek na Mastodon"; + +"751xkl" = "Textový obsah"; + +"CsR7G2" = "Příspěvek na Mastodon"; + +"HZSGTr" = "Jaký obsah se má přidat?"; + +"HdGikU" = "Odeslání se nezdařilo"; + +"KDNTJ4" = "Důvod selhání"; + +"RHxKOw" = "Odeslat příspěvek s textovým obsahem"; + +"RxSqsb" = "Příspěvek"; + +"WCIR3D" = "Zveřejnit ${content} na Mastodon"; + +"ZKJSNu" = "Příspěvek"; + +"ZS1XaK" = "${content}"; + +"ZbSjzC" = "Viditelnost"; + +"Zo4jgJ" = "Viditelnost příspěvku"; + +"apSxMG-dYQ5NN" = "Existuje ${count} možností odpovídajících 'Veřejný'."; + +"apSxMG-ehFLjY" = "Existuje ${count} možností, které odpovídají „jen sledujícím“."; + +"ayoYEb-dYQ5NN" = "${content}, veřejné"; + +"ayoYEb-ehFLjY" = "${content}, pouze sledující"; + +"dUyuGg" = "Příspěvek na Mastodon"; + +"dYQ5NN" = "Veřejný"; + +"ehFLjY" = "Pouze sledující"; + +"gfePDu" = "Odeslání se nezdařilo. ${failureReason}"; + +"k7dbKQ" = "Příspěvek byl úspěšně odeslán."; + +"oGiqmY-dYQ5NN" = "Jen pro kontrolu, chtěli jste „Veřejný“?"; + +"oGiqmY-ehFLjY" = "Jen pro kontrolu, chtěli jste „Pouze sledující“?"; + +"rM6dvp" = "URL"; + +"ryJLwG" = "Příspěvek byl úspěšně odeslán. "; diff --git a/MastodonIntent/cs.lproj/Intents.stringsdict b/MastodonIntent/cs.lproj/Intents.stringsdict new file mode 100644 index 000000000..5a39d5e64 --- /dev/null +++ b/MastodonIntent/cs.lproj/Intents.stringsdict @@ -0,0 +1,54 @@ + + + + + There are ${count} options matching ‘${content}’. - 2 + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${content}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + zero + 0 options + one + 1 option + two + 2 options + few + %ld options + many + %ld options + other + %ld options + + + There are ${count} options matching ‘${visibility}’. + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${visibility}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + zero + 0 options + one + 1 option + two + 2 options + few + %ld options + many + %ld options + other + %ld options + + + + diff --git a/MastodonIntent/sl.lproj/Intents.strings b/MastodonIntent/sl.lproj/Intents.strings new file mode 100644 index 000000000..72de87df2 --- /dev/null +++ b/MastodonIntent/sl.lproj/Intents.strings @@ -0,0 +1,51 @@ +"16wxgf" = "Objavi na Mastodonu"; + +"751xkl" = "besedilo"; + +"CsR7G2" = "Objavi na Mastodonu"; + +"HZSGTr" = "Kakšno vsebino želite objaviti?"; + +"HdGikU" = "Objava ni uspela"; + +"KDNTJ4" = "Vzrok za neuspeh"; + +"RHxKOw" = "Pošlji objavo z besedilom"; + +"RxSqsb" = "Objavi"; + +"WCIR3D" = "Objavite ${content} na Mastodonu"; + +"ZKJSNu" = "Objavi"; + +"ZS1XaK" = "${content}"; + +"ZbSjzC" = "Vidnost"; + +"Zo4jgJ" = "Vidnost objave"; + +"apSxMG-dYQ5NN" = "Z \"Javno\" se ujema ${count} možnosti."; + +"apSxMG-ehFLjY" = "S \"Samo sledilci\" se ujema ${count} možnosti."; + +"ayoYEb-dYQ5NN" = "${content}, javno"; + +"ayoYEb-ehFLjY" = "${content}, samo sledilci"; + +"dUyuGg" = "Objavi na Mastodonu"; + +"dYQ5NN" = "Javno"; + +"ehFLjY" = "Samo sledilci"; + +"gfePDu" = "Objava je spodletela. ${failureReason}"; + +"k7dbKQ" = "Uspešno poslana objava."; + +"oGiqmY-dYQ5NN" = "Da ne bo nesporazuma - želeli ste \"Javno\"?"; + +"oGiqmY-ehFLjY" = "Da ne bo nesporazuma - želeli ste \"Samo sledilci\"?"; + +"rM6dvp" = "URL"; + +"ryJLwG" = "Uspešno poslana objava. "; diff --git a/MastodonIntent/sl.lproj/Intents.stringsdict b/MastodonIntent/sl.lproj/Intents.stringsdict new file mode 100644 index 000000000..5a39d5e64 --- /dev/null +++ b/MastodonIntent/sl.lproj/Intents.stringsdict @@ -0,0 +1,54 @@ + + + + + There are ${count} options matching ‘${content}’. - 2 + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${content}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + zero + 0 options + one + 1 option + two + 2 options + few + %ld options + many + %ld options + other + %ld options + + + There are ${count} options matching ‘${visibility}’. + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${visibility}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + zero + 0 options + one + 1 option + two + 2 options + few + %ld options + many + %ld options + other + %ld options + + + + diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings new file mode 100644 index 000000000..fbf2ff2f4 --- /dev/null +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings @@ -0,0 +1,459 @@ +"Common.Alerts.BlockDomain.BlockEntireDomain" = "Blokovat doménu"; +"Common.Alerts.BlockDomain.Title" = "Opravdu chcete blokovat celou doménu %@? Ve většině případů stačí zablokovat nebo skrýt pár konkrétních uživatelů, což také doporučujeme. Z této domény neuvidíte obsah v žádné veřejné časové ose ani v oznámeních. Vaši sledující z této domény budou odstraněni."; +"Common.Alerts.CleanCache.Message" = "Úspěšně vyčištěno %@ mezipaměti."; +"Common.Alerts.CleanCache.Title" = "Vyčistit mezipaměť"; +"Common.Alerts.Common.PleaseTryAgain" = "Zkuste to prosím znovu."; +"Common.Alerts.Common.PleaseTryAgainLater" = "Zkuste to prosím znovu později."; +"Common.Alerts.DeletePost.Message" = "Opravdu chcete smazat tento příspěvek?"; +"Common.Alerts.DeletePost.Title" = "Odstranit příspěvek"; +"Common.Alerts.DiscardPostContent.Message" = "Potvrďte odstranění obsahu složeného příspěvku."; +"Common.Alerts.DiscardPostContent.Title" = "Zahodit koncept"; +"Common.Alerts.EditProfileFailure.Message" = "Nelze upravit profil. Zkuste to prosím znovu."; +"Common.Alerts.EditProfileFailure.Title" = "Chyba při úpravě profilu"; +"Common.Alerts.PublishPostFailure.AttachmentsMessage.MoreThanOneVideo" = "Nelze připojit více než jedno video."; +"Common.Alerts.PublishPostFailure.AttachmentsMessage.VideoAttachWithPhoto" = "K příspěvku, který již obsahuje obrázky, nelze připojit video."; +"Common.Alerts.PublishPostFailure.Message" = "Nepodařilo se publikovat příspěvek. +Zkontrolujte prosím připojení k internetu."; +"Common.Alerts.PublishPostFailure.Title" = "Publikování selhalo"; +"Common.Alerts.SavePhotoFailure.Message" = "Pro uložení fotografie povolte přístup k knihovně fotografií."; +"Common.Alerts.SavePhotoFailure.Title" = "Uložení fotografie se nezdařilo"; +"Common.Alerts.ServerError.Title" = "Chyba serveru"; +"Common.Alerts.SignOut.Confirm" = "Odhlásit se"; +"Common.Alerts.SignOut.Message" = "Opravdu se chcete odhlásit?"; +"Common.Alerts.SignOut.Title" = "Odhlásit se"; +"Common.Alerts.SignUpFailure.Title" = "Registrace selhala"; +"Common.Alerts.VoteFailure.PollEnded" = "Anketa skončila"; +"Common.Alerts.VoteFailure.Title" = "Selhání hlasování"; +"Common.Controls.Actions.Add" = "Přidat"; +"Common.Controls.Actions.Back" = "Zpět"; +"Common.Controls.Actions.BlockDomain" = "Blokovat %@"; +"Common.Controls.Actions.Cancel" = "Zrušit"; +"Common.Controls.Actions.Compose" = "Napsat"; +"Common.Controls.Actions.Confirm" = "Potvrdit"; +"Common.Controls.Actions.Continue" = "Pokračovat"; +"Common.Controls.Actions.CopyPhoto" = "Kopírovat fotografii"; +"Common.Controls.Actions.Delete" = "Smazat"; +"Common.Controls.Actions.Discard" = "Zahodit"; +"Common.Controls.Actions.Done" = "Hotovo"; +"Common.Controls.Actions.Edit" = "Upravit"; +"Common.Controls.Actions.FindPeople" = "Najít lidi ke sledování"; +"Common.Controls.Actions.ManuallySearch" = "Místo toho ručně vyhledat"; +"Common.Controls.Actions.Next" = "Další"; +"Common.Controls.Actions.Ok" = "OK"; +"Common.Controls.Actions.Open" = "Otevřít"; +"Common.Controls.Actions.OpenInBrowser" = "Otevřít v prohlížeči"; +"Common.Controls.Actions.OpenInSafari" = "Otevřít v Safari"; +"Common.Controls.Actions.Preview" = "Náhled"; +"Common.Controls.Actions.Previous" = "Předchozí"; +"Common.Controls.Actions.Remove" = "Odstranit"; +"Common.Controls.Actions.Reply" = "Odpovědět"; +"Common.Controls.Actions.ReportUser" = "Nahlásit %@"; +"Common.Controls.Actions.Save" = "Uložit"; +"Common.Controls.Actions.SavePhoto" = "Uložit fotku"; +"Common.Controls.Actions.SeeMore" = "Zobrazit více"; +"Common.Controls.Actions.Settings" = "Nastavení"; +"Common.Controls.Actions.Share" = "Sdílet"; +"Common.Controls.Actions.SharePost" = "Sdílet příspěvek"; +"Common.Controls.Actions.ShareUser" = "Sdílet %@"; +"Common.Controls.Actions.SignIn" = "Přihlásit se"; +"Common.Controls.Actions.SignUp" = "Vytvořit účet"; +"Common.Controls.Actions.Skip" = "Přeskočit"; +"Common.Controls.Actions.TakePhoto" = "Vyfotit"; +"Common.Controls.Actions.TryAgain" = "Zkusit znovu"; +"Common.Controls.Actions.UnblockDomain" = "Odblokovat %@"; +"Common.Controls.Friendship.Block" = "Blokovat"; +"Common.Controls.Friendship.BlockDomain" = "Blokovat %@"; +"Common.Controls.Friendship.BlockUser" = "Blokovat %@"; +"Common.Controls.Friendship.Blocked" = "Blokovaný"; +"Common.Controls.Friendship.EditInfo" = "Upravit informace"; +"Common.Controls.Friendship.Follow" = "Sledovat"; +"Common.Controls.Friendship.Following" = "Sleduji"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; +"Common.Controls.Friendship.Mute" = "Skrýt"; +"Common.Controls.Friendship.MuteUser" = "Skrýt %@"; +"Common.Controls.Friendship.Muted" = "Skrytý"; +"Common.Controls.Friendship.Pending" = "Čekající"; +"Common.Controls.Friendship.Request" = "Požadavek"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; +"Common.Controls.Friendship.Unblock" = "Odblokovat"; +"Common.Controls.Friendship.UnblockUser" = "Odblokovat %@"; +"Common.Controls.Friendship.Unmute" = "Odkrýt"; +"Common.Controls.Friendship.UnmuteUser" = "Odkrýt %@"; +"Common.Controls.Keyboard.Common.ComposeNewPost" = "Vytvořit nový příspěvek"; +"Common.Controls.Keyboard.Common.OpenSettings" = "Otevřít Nastavení"; +"Common.Controls.Keyboard.Common.ShowFavorites" = "Zobrazit Oblíbené"; +"Common.Controls.Keyboard.Common.SwitchToTab" = "Přepnout na %@"; +"Common.Controls.Keyboard.SegmentedControl.NextSection" = "Další sekce"; +"Common.Controls.Keyboard.SegmentedControl.PreviousSection" = "Předchozí sekce"; +"Common.Controls.Keyboard.Timeline.NextStatus" = "Další příspěvek"; +"Common.Controls.Keyboard.Timeline.OpenAuthorProfile" = "Otevřít profil autora"; +"Common.Controls.Keyboard.Timeline.OpenRebloggerProfile" = "Otevřít rebloggerův profil"; +"Common.Controls.Keyboard.Timeline.OpenStatus" = "Otevřít příspěvek"; +"Common.Controls.Keyboard.Timeline.PreviewImage" = "Náhled obrázku"; +"Common.Controls.Keyboard.Timeline.PreviousStatus" = "Předchozí příspěvek"; +"Common.Controls.Keyboard.Timeline.ReplyStatus" = "Odpovědět na příspěvek"; +"Common.Controls.Keyboard.Timeline.ToggleContentWarning" = "Přepnout varování obsahu"; +"Common.Controls.Keyboard.Timeline.ToggleFavorite" = "Toggle Favorite on Post"; +"Common.Controls.Keyboard.Timeline.ToggleReblog" = "Toggle Reblog on Post"; +"Common.Controls.Status.Actions.Favorite" = "Oblíbit"; +"Common.Controls.Status.Actions.Hide" = "Skrýt"; +"Common.Controls.Status.Actions.Menu" = "Nabídka"; +"Common.Controls.Status.Actions.Reblog" = "Boostnout"; +"Common.Controls.Status.Actions.Reply" = "Odpovědět"; +"Common.Controls.Status.Actions.ShowGif" = "Zobrazit GIF"; +"Common.Controls.Status.Actions.ShowImage" = "Zobrazit obrázek"; +"Common.Controls.Status.Actions.ShowVideoPlayer" = "Zobrazit video přehrávač"; +"Common.Controls.Status.Actions.TapThenHoldToShowMenu" = "Klepnutím podržte pro zobrazení nabídky"; +"Common.Controls.Status.Actions.Unfavorite" = "Odebrat z oblízených"; +"Common.Controls.Status.Actions.Unreblog" = "Undo reblog"; +"Common.Controls.Status.ContentWarning" = "Varování o obsahu"; +"Common.Controls.Status.MediaContentWarning" = "Klepnutím kdekoli zobrazíte"; +"Common.Controls.Status.MetaEntity.Email" = "E-mailová adresa: %@"; +"Common.Controls.Status.MetaEntity.Hashtag" = "Hashtag: %@"; +"Common.Controls.Status.MetaEntity.Mention" = "Zobrazit profil: %@"; +"Common.Controls.Status.MetaEntity.Url" = "Odkaz: %@"; +"Common.Controls.Status.Poll.Closed" = "Uzavřeno"; +"Common.Controls.Status.Poll.Vote" = "Hlasovat"; +"Common.Controls.Status.SensitiveContent" = "Citlivý obsah"; +"Common.Controls.Status.ShowPost" = "Zobrazit příspěvek"; +"Common.Controls.Status.ShowUserProfile" = "Zobrazit profil uživatele"; +"Common.Controls.Status.Tag.Email" = "E-mail"; +"Common.Controls.Status.Tag.Emoji" = "Emoji"; +"Common.Controls.Status.Tag.Hashtag" = "Hashtag"; +"Common.Controls.Status.Tag.Link" = "Odkaz"; +"Common.Controls.Status.Tag.Mention" = "Zmínka"; +"Common.Controls.Status.Tag.Url" = "URL"; +"Common.Controls.Status.TapToReveal" = "Klepnutím zobrazit"; +"Common.Controls.Status.UserReblogged" = "%@ reblogged"; +"Common.Controls.Status.UserRepliedTo" = "Odpověděl %@"; +"Common.Controls.Status.Visibility.Direct" = "Pouze zmíněný uživatel může vidět tento příspěvek."; +"Common.Controls.Status.Visibility.Private" = "Pouze jejich sledující mohou vidět tento příspěvek."; +"Common.Controls.Status.Visibility.PrivateFromMe" = "Pouze moji sledující mohou vidět tento příspěvek."; +"Common.Controls.Status.Visibility.Unlisted" = "Každý může vidět tento příspěvek, ale nezobrazovat ve veřejné časové ose."; +"Common.Controls.Tabs.Home" = "Domů"; +"Common.Controls.Tabs.Notification" = "Oznamování"; +"Common.Controls.Tabs.Profile" = "Profil"; +"Common.Controls.Tabs.Search" = "Hledat"; +"Common.Controls.Timeline.Filtered" = "Filtrováno"; +"Common.Controls.Timeline.Header.BlockedWarning" = "Nemůžeš zobrazit profil tohoto uživatele, dokud tě neodblokují."; +"Common.Controls.Timeline.Header.BlockingWarning" = "Nemůžete zobrazit profil tohoto uživatele, dokud ho neodblokujete. +Váš profil pro něj vypadá takto."; +"Common.Controls.Timeline.Header.NoStatusFound" = "Nebyl nalezen žádný příspěvek"; +"Common.Controls.Timeline.Header.SuspendedWarning" = "Tento uživatel byl pozastaven."; +"Common.Controls.Timeline.Header.UserBlockedWarning" = "Nemůžete zobrazit profil %@, dokud vás neodblokuje."; +"Common.Controls.Timeline.Header.UserBlockingWarning" = "Nemůžete zobrazit profil %@, dokud ho neodblokujete. +Váš profil pro něj vypadá takto."; +"Common.Controls.Timeline.Header.UserSuspendedWarning" = "Účet %@ byl pozastaven."; +"Common.Controls.Timeline.Loader.LoadMissingPosts" = "Načíst chybějící příspěvky"; +"Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Načíst chybějící příspěvky..."; +"Common.Controls.Timeline.Loader.ShowMoreReplies" = "Zobrazit více odovědí"; +"Common.Controls.Timeline.Timestamp.Now" = "Nyní"; +"Scene.AccountList.AddAccount" = "Přidat účet"; +"Scene.AccountList.DismissAccountSwitcher" = "Zrušit přepínač účtů"; +"Scene.AccountList.TabBarHint" = "Aktuální vybraný profil: %@. Dvojitým poklepáním zobrazíte přepínač účtů"; +"Scene.Bookmark.Title" = "Záložky"; +"Scene.Compose.Accessibility.AppendAttachment" = "Přidat přílohu"; +"Scene.Compose.Accessibility.AppendPoll" = "Přidat anketu"; +"Scene.Compose.Accessibility.CustomEmojiPicker" = "Vlastní výběr Emoji"; +"Scene.Compose.Accessibility.DisableContentWarning" = "Vypnout upozornění na obsah"; +"Scene.Compose.Accessibility.EnableContentWarning" = "Povolit upozornění na obsah"; +"Scene.Compose.Accessibility.PostOptions" = "Post Options"; +"Scene.Compose.Accessibility.PostVisibilityMenu" = "Menu viditelnosti příspěvku"; +"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; +"Scene.Compose.Accessibility.RemovePoll" = "Odstranit anketu"; +"Scene.Compose.Attachment.AttachmentBroken" = "Tento %@ je poškozený a nemůže být +nahrán do Mastodonu."; +"Scene.Compose.Attachment.AttachmentTooLarge" = "Příloha je příliš velká"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Nelze rozpoznat toto medium přílohy"; +"Scene.Compose.Attachment.CompressingState" = "Probíhá komprese..."; +"Scene.Compose.Attachment.DescriptionPhoto" = "Popište fotografii pro zrakově postižené osoby..."; +"Scene.Compose.Attachment.DescriptionVideo" = "Popište video pro zrakově postižené..."; +"Scene.Compose.Attachment.LoadFailed" = "Načtení se nezdařilo"; +"Scene.Compose.Attachment.Photo" = "fotka"; +"Scene.Compose.Attachment.ServerProcessingState" = "Zpracování serveru..."; +"Scene.Compose.Attachment.UploadFailed" = "Nahrání selhalo"; +"Scene.Compose.Attachment.Video" = "video"; +"Scene.Compose.AutoComplete.SpaceToAdd" = "Mezera k přidání"; +"Scene.Compose.ComposeAction" = "Zveřejnit"; +"Scene.Compose.ContentInputPlaceholder" = "Napište nebo vložte, co je na mysli"; +"Scene.Compose.ContentWarning.Placeholder" = "Zde napište přesné varování..."; +"Scene.Compose.Keyboard.AppendAttachmentEntry" = "Přidat přílohu - %@"; +"Scene.Compose.Keyboard.DiscardPost" = "Zahodit příspěvek"; +"Scene.Compose.Keyboard.PublishPost" = "Publikovat příspěvek"; +"Scene.Compose.Keyboard.SelectVisibilityEntry" = "Vyberte viditelnost - %@"; +"Scene.Compose.Keyboard.ToggleContentWarning" = "Přepnout varování obsahu"; +"Scene.Compose.Keyboard.TogglePoll" = "Přepnout anketu"; +"Scene.Compose.MediaSelection.Browse" = "Procházet"; +"Scene.Compose.MediaSelection.Camera" = "Vyfotit"; +"Scene.Compose.MediaSelection.PhotoLibrary" = "Knihovna fotografií"; +"Scene.Compose.Poll.DurationTime" = "Doba trvání: %@"; +"Scene.Compose.Poll.OneDay" = "1 den"; +"Scene.Compose.Poll.OneHour" = "1 hodina"; +"Scene.Compose.Poll.OptionNumber" = "Možnost %ld"; +"Scene.Compose.Poll.SevenDays" = "7 dní"; +"Scene.Compose.Poll.SixHours" = "6 hodin"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Anketa má prázdnou možnost"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Anketa je neplatná"; +"Scene.Compose.Poll.ThirtyMinutes" = "30 minut"; +"Scene.Compose.Poll.ThreeDays" = "3 dny"; +"Scene.Compose.ReplyingToUser" = "odpovídá na %@"; +"Scene.Compose.Title.NewPost" = "Nový příspěvek"; +"Scene.Compose.Title.NewReply" = "Nová odpověď"; +"Scene.Compose.Visibility.Direct" = "Pouze lidé, které zmíním"; +"Scene.Compose.Visibility.Private" = "Pouze sledující"; +"Scene.Compose.Visibility.Public" = "Veřejný"; +"Scene.Compose.Visibility.Unlisted" = "Neuvedeno"; +"Scene.ConfirmEmail.Button.OpenEmailApp" = "Otevřít e-mailovou aplikaci"; +"Scene.ConfirmEmail.Button.Resend" = "Poslat znovu"; +"Scene.ConfirmEmail.DontReceiveEmail.Description" = "Zkontrolujte, zda je vaše e-mailová adresa správná, stejně jako složka nevyžádané pošty, pokud ji máte."; +"Scene.ConfirmEmail.DontReceiveEmail.ResendEmail" = "Znovu odeslat e-mail"; +"Scene.ConfirmEmail.DontReceiveEmail.Title" = "Zkontrolujte svůj e-mail"; +"Scene.ConfirmEmail.OpenEmailApp.Description" = "Právě jsme vám poslali e-mail. Zkontrolujte složku nevyžádané zprávy, pokud ji máte."; +"Scene.ConfirmEmail.OpenEmailApp.Mail" = "Pošta"; +"Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "Otevřít e-mailového klienta"; +"Scene.ConfirmEmail.OpenEmailApp.Title" = "Zkontrolujte doručenou poštu."; +"Scene.ConfirmEmail.Subtitle" = "Klepněte na odkaz, který jsme vám poslali e-mailem, abyste ověřili Váš účet."; +"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Klepněte na odkaz, který jsme vám poslali e-mailem, abyste ověřili Váš účet"; +"Scene.ConfirmEmail.Title" = "Ještě jedna věc."; +"Scene.Discovery.Intro" = "Toto jsou příspěvky, které získávají pozornost ve vašem koutu Mastodonu."; +"Scene.Discovery.Tabs.Community" = "Komunita"; +"Scene.Discovery.Tabs.ForYou" = "Pro vás"; +"Scene.Discovery.Tabs.Hashtags" = "Hashtagy"; +"Scene.Discovery.Tabs.News" = "Zprávy"; +"Scene.Discovery.Tabs.Posts" = "Příspěvky"; +"Scene.Familiarfollowers.FollowedByNames" = "Sledován od %@"; +"Scene.Familiarfollowers.Title" = "Sledující, které znáte"; +"Scene.Favorite.Title" = "Vaše oblíbené"; +"Scene.FavoritedBy.Title" = "Oblíben"; +"Scene.Follower.Footer" = "Sledující z jiných serverů nejsou zobrazeni."; +"Scene.Follower.Title" = "sledující"; +"Scene.Following.Footer" = "Sledování z jiných serverů není zobrazeno."; +"Scene.Following.Title" = "sledování"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Klepnutím přejdete nahoru a znovu klepněte na předchozí místo"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Tlačítko s logem"; +"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Nové příspěvky"; +"Scene.HomeTimeline.NavigationBarState.Offline" = "Offline"; +"Scene.HomeTimeline.NavigationBarState.Published" = "Publikováno!"; +"Scene.HomeTimeline.NavigationBarState.Publishing" = "Publikování příspěvku..."; +"Scene.HomeTimeline.Title" = "Domů"; +"Scene.Login.ServerSearchField.Placeholder" = "Zadejte URL nebo vyhledávejte váš server"; +"Scene.Login.Subtitle" = "Přihlaste se na serveru, na kterém jste si vytvořili účet."; +"Scene.Login.Title" = "Vítejte zpět"; +"Scene.Notification.FollowRequest.Accept" = "Přijmout"; +"Scene.Notification.FollowRequest.Accepted" = "Přijato"; +"Scene.Notification.FollowRequest.Reject" = "odmítnout"; +"Scene.Notification.FollowRequest.Rejected" = "Zamítnuto"; +"Scene.Notification.Keyobard.ShowEverything" = "Zobrazit vše"; +"Scene.Notification.Keyobard.ShowMentions" = "Zobrazit zmínky"; +"Scene.Notification.NotificationDescription.FavoritedYourPost" = "si oblíbil váš příspěvek"; +"Scene.Notification.NotificationDescription.FollowedYou" = "vás sleduje"; +"Scene.Notification.NotificationDescription.MentionedYou" = "vás zmínil/a"; +"Scene.Notification.NotificationDescription.PollHasEnded" = "anketa skončila"; +"Scene.Notification.NotificationDescription.RebloggedYourPost" = "boostnul váš příspěvek"; +"Scene.Notification.NotificationDescription.RequestToFollowYou" = "požádat vás o sledování"; +"Scene.Notification.Title.Everything" = "Všechno"; +"Scene.Notification.Title.Mentions" = "Zmínky"; +"Scene.Preview.Keyboard.ClosePreview" = "Zavřít náhled"; +"Scene.Preview.Keyboard.ShowNext" = "Zobrazit další"; +"Scene.Preview.Keyboard.ShowPrevious" = "Zobrazit předchozí"; +"Scene.Profile.Accessibility.DoubleTapToOpenTheList" = "Dvojitým poklepáním otevřete seznam"; +"Scene.Profile.Accessibility.EditAvatarImage" = "Upravit obrázek avataru"; +"Scene.Profile.Accessibility.ShowAvatarImage" = "Zobrazit obrázek avataru"; +"Scene.Profile.Accessibility.ShowBannerImage" = "Zobrazit obrázek banneru"; +"Scene.Profile.Dashboard.Followers" = "sledující"; +"Scene.Profile.Dashboard.Following" = "sledování"; +"Scene.Profile.Dashboard.Posts" = "příspěvky"; +"Scene.Profile.Fields.AddRow" = "Přidat řádek"; +"Scene.Profile.Fields.Placeholder.Content" = "Obsah"; +"Scene.Profile.Fields.Placeholder.Label" = "Označení"; +"Scene.Profile.Fields.Verified.Long" = "Vlastnictví tohoto odkazu bylo zkontrolováno na %@"; +"Scene.Profile.Fields.Verified.Short" = "Ověřeno na %@"; +"Scene.Profile.Header.FollowsYou" = "Sleduje vás"; +"Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Potvrdit blokování %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blokovat účet"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Potvrdit skrytí %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Skrýt účet"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Potvrďte odblokování %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Odblokovat účet"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Potvrďte zrušení ztlumení %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Zrušit skrytí účtu"; +"Scene.Profile.SegmentedControl.About" = "O uživateli"; +"Scene.Profile.SegmentedControl.Media" = "Média"; +"Scene.Profile.SegmentedControl.Posts" = "Příspěvky"; +"Scene.Profile.SegmentedControl.PostsAndReplies" = "Příspěvky a odpovědi"; +"Scene.Profile.SegmentedControl.Replies" = "Odpovědí"; +"Scene.RebloggedBy.Title" = "Reblogged By"; +"Scene.Register.Error.Item.Agreement" = "Souhlas"; +"Scene.Register.Error.Item.Email" = "E-mail"; +"Scene.Register.Error.Item.Locale" = "Jazyk"; +"Scene.Register.Error.Item.Password" = "Heslo"; +"Scene.Register.Error.Item.Reason" = "Důvod"; +"Scene.Register.Error.Item.Username" = "Uživatelské jméno"; +"Scene.Register.Error.Reason.Accepted" = "%@ musí být přijato"; +"Scene.Register.Error.Reason.Blank" = "%@ je vyžadováno"; +"Scene.Register.Error.Reason.Blocked" = "%@ používá zakázanou e-mailovou službu"; +"Scene.Register.Error.Reason.Inclusion" = "%@ není podporovaná hodnota"; +"Scene.Register.Error.Reason.Invalid" = "%@ je neplatné"; +"Scene.Register.Error.Reason.Reserved" = "%@ je rezervované klíčové slovo"; +"Scene.Register.Error.Reason.Taken" = "%@ se již používá"; +"Scene.Register.Error.Reason.TooLong" = "%@ je příliš dlouhé"; +"Scene.Register.Error.Reason.TooShort" = "%@ je příliš krátké"; +"Scene.Register.Error.Reason.Unreachable" = "%@ pravděpodobně neexistuje"; +"Scene.Register.Error.Special.EmailInvalid" = "Toto není platná e-mailová adresa"; +"Scene.Register.Error.Special.PasswordTooShort" = "Heslo je příliš krátké (musí mít alespoň 8 znaků)"; +"Scene.Register.Error.Special.UsernameInvalid" = "Uživatelské jméno musí obsahovat pouze alfanumerické znaky a podtržítka"; +"Scene.Register.Error.Special.UsernameTooLong" = "Uživatelské jméno je příliš dlouhé (nemůže být delší než 30 znaků)"; +"Scene.Register.Input.Avatar.Delete" = "Smazat"; +"Scene.Register.Input.DisplayName.Placeholder" = "zobrazované jméno"; +"Scene.Register.Input.Email.Placeholder" = "e-mail"; +"Scene.Register.Input.Invite.RegistrationUserInviteRequest" = "Proč se chcete připojit?"; +"Scene.Register.Input.Password.Accessibility.Checked" = "zaškrtnuto"; +"Scene.Register.Input.Password.Accessibility.Unchecked" = "nezaškrtnuto"; +"Scene.Register.Input.Password.CharacterLimit" = "8 znaků"; +"Scene.Register.Input.Password.Hint" = "Vaše heslo musí obsahovat alespoň 8 znaků"; +"Scene.Register.Input.Password.Placeholder" = "heslo"; +"Scene.Register.Input.Password.Require" = "Heslo musí být alespoň:"; +"Scene.Register.Input.Username.DuplicatePrompt" = "Toto uživatelské jméno je použito."; +"Scene.Register.Input.Username.Placeholder" = "uživatelské jméno"; +"Scene.Register.LetsGetYouSetUpOnDomain" = "Pojďme si nastavit %@"; +"Scene.Register.Title" = "Pojďme si nastavit %@"; +"Scene.Report.Content1" = "Existují nějaké další příspěvky, které byste chtěli přidat do zprávy?"; +"Scene.Report.Content2" = "Je o tomto hlášení něco, co by měli vědět moderátoři?"; +"Scene.Report.ReportSentTitle" = "Děkujeme za nahlášení, podíváme se na to."; +"Scene.Report.Reported" = "NAHLÁŠEN"; +"Scene.Report.Send" = "Odeslat hlášení"; +"Scene.Report.SkipToSend" = "Odeslat bez komentáře"; +"Scene.Report.Step1" = "Krok 1 ze 2"; +"Scene.Report.Step2" = "Krok 2 ze 2"; +"Scene.Report.StepFinal.BlockUser" = "Blokovat %@"; +"Scene.Report.StepFinal.DontWantToSeeThis" = "Nechcete to vidět?"; +"Scene.Report.StepFinal.MuteUser" = "Skrýt %@"; +"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "Už nebudou moci sledovat nebo vidět vaše příspěvky, ale mohou vidět, zda byly zablokovány."; +"Scene.Report.StepFinal.Unfollow" = "Přestat sledovat"; +"Scene.Report.StepFinal.UnfollowUser" = "Přestat sledovat %@"; +"Scene.Report.StepFinal.Unfollowed" = "Už nesledujete"; +"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "Když uvidíte něco, co se vám nelíbí na Mastodonu, můžete odstranit tuto osobu ze svého zážitku."; +"Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "Zatímco to posuzujeme, můžete podniknout kroky proti %@"; +"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "Neuvidíte jejich příspěvky nebo boostnutí v domovském kanálu. Nebudou vědět, že jsou skrytí."; +"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Je ještě něco jiného, co bychom měli vědět?"; +"Scene.Report.StepFour.Step4Of4" = "Krok 4 ze 4"; +"Scene.Report.StepOne.IDontLikeIt" = "Nelíbí se mi"; +"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "Není to něco, co chcete vidět"; +"Scene.Report.StepOne.ItViolatesServerRules" = "Porušuje pravidla serveru"; +"Scene.Report.StepOne.ItsSomethingElse" = "Jde o něco jiného"; +"Scene.Report.StepOne.ItsSpam" = "Je to spam"; +"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Škodlivé odkazy, falešné zapojení nebo opakující se odpovědi"; +"Scene.Report.StepOne.SelectTheBestMatch" = "Vyberte nejbližší možnost"; +"Scene.Report.StepOne.Step1Of4" = "Krok 1 ze 4"; +"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "Problém neodpovídá ostatním kategoriím"; +"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "Co je špatně s tímto účtem?"; +"Scene.Report.StepOne.WhatsWrongWithThisPost" = "Co je na tomto příspěvku špatně?"; +"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "Co je špatně na %@?"; +"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Máte za to, že porušuje konkrétní pravidla"; +"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Existují příspěvky dokládající toto hlášení?"; +"Scene.Report.StepThree.SelectAllThatApply" = "Vyberte všechna relevantní"; +"Scene.Report.StepThree.Step3Of4" = "Krok 3 ze 4"; +"Scene.Report.StepTwo.IJustDon’tLikeIt" = "Jen se mi to nelíbí"; +"Scene.Report.StepTwo.SelectAllThatApply" = "Vyberte všechna relevantní"; +"Scene.Report.StepTwo.Step2Of4" = "Krok 2 ze 4"; +"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Jaká pravidla jsou porušována?"; +"Scene.Report.TextPlaceholder" = "Napište nebo vložte další komentáře"; +"Scene.Report.Title" = "Nahlásit %@"; +"Scene.Report.TitleReport" = "Nahlásit"; +"Scene.Search.Recommend.Accounts.Description" = "Možná budete chtít sledovat tyto účty"; +"Scene.Search.Recommend.Accounts.Follow" = "Sledovat"; +"Scene.Search.Recommend.Accounts.Title" = "Účty, které by se vám mohly líbit"; +"Scene.Search.Recommend.ButtonText" = "Zobrazit vše"; +"Scene.Search.Recommend.HashTag.Description" = "Hashtagy, kterým se dostává dosti pozornosti"; +"Scene.Search.Recommend.HashTag.PeopleTalking" = "%@ lidí mluví"; +"Scene.Search.Recommend.HashTag.Title" = "Populární na Mastodonu"; +"Scene.Search.SearchBar.Cancel" = "Zrušit"; +"Scene.Search.SearchBar.Placeholder" = "Hledat hashtagy a uživatele"; +"Scene.Search.Searching.Clear" = "Vymazat"; +"Scene.Search.Searching.EmptyState.NoResults" = "Žádné výsledky"; +"Scene.Search.Searching.RecentSearch" = "Nedávná hledání"; +"Scene.Search.Searching.Segment.All" = "Vše"; +"Scene.Search.Searching.Segment.Hashtags" = "Hashtagy"; +"Scene.Search.Searching.Segment.People" = "Lidé"; +"Scene.Search.Searching.Segment.Posts" = "Příspěvky"; +"Scene.Search.Title" = "Hledat"; +"Scene.ServerPicker.Button.Category.Academia" = "akademická sféra"; +"Scene.ServerPicker.Button.Category.Activism" = "aktivismus"; +"Scene.ServerPicker.Button.Category.All" = "Vše"; +"Scene.ServerPicker.Button.Category.AllAccessiblityDescription" = "Kategorie: Vše"; +"Scene.ServerPicker.Button.Category.Art" = "umění"; +"Scene.ServerPicker.Button.Category.Food" = "jídlo"; +"Scene.ServerPicker.Button.Category.Furry" = "furry"; +"Scene.ServerPicker.Button.Category.Games" = "hry"; +"Scene.ServerPicker.Button.Category.General" = "obecné"; +"Scene.ServerPicker.Button.Category.Journalism" = "žurnalistika"; +"Scene.ServerPicker.Button.Category.Lgbt" = "lgbt"; +"Scene.ServerPicker.Button.Category.Music" = "hudba"; +"Scene.ServerPicker.Button.Category.Regional" = "regionální"; +"Scene.ServerPicker.Button.Category.Tech" = "technologie"; +"Scene.ServerPicker.Button.SeeLess" = "Zobrazit méně"; +"Scene.ServerPicker.Button.SeeMore" = "Zobrazit více"; +"Scene.ServerPicker.EmptyState.BadNetwork" = "Při načítání dat nastala chyba. Zkontrolujte připojení k internetu."; +"Scene.ServerPicker.EmptyState.FindingServers" = "Hledání dostupných serverů..."; +"Scene.ServerPicker.EmptyState.NoResults" = "Žádné výsledky"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Hledejte komunity nebo zadejte URL"; +"Scene.ServerPicker.Label.Category" = "KATEGORIE"; +"Scene.ServerPicker.Label.Language" = "JAZYK"; +"Scene.ServerPicker.Label.Users" = "UŽIVATELÉ"; +"Scene.ServerPicker.Subtitle" = "Vyberte server založený ve vašem regionu, podle zájmů nebo podle obecného účelu. Stále můžete chatovat s kýmkoli na Mastodonu bez ohledu na vaše servery."; +"Scene.ServerPicker.Title" = "Mastodon tvoří uživatelé z různých serverů."; +"Scene.ServerRules.Button.Confirm" = "Souhlasím"; +"Scene.ServerRules.PrivacyPolicy" = "zásady ochrany osobních údajů"; +"Scene.ServerRules.Prompt" = "Pokračováním budete podléhat podmínkám služby a zásad ochrany osobních údajů pro uživatele %@."; +"Scene.ServerRules.Subtitle" = "Ty nastavují a prosazují moderátoři %@."; +"Scene.ServerRules.TermsOfService" = "podmínky služby"; +"Scene.ServerRules.Title" = "Některá základní pravidla."; +"Scene.Settings.Footer.MastodonDescription" = "Mastodon je open source software. Na GitHub můžete nahlásit problémy na %@ (%@)"; +"Scene.Settings.Keyboard.CloseSettingsWindow" = "Zavřít okno nastavení"; +"Scene.Settings.Section.Appearance.Automatic" = "Automaticky"; +"Scene.Settings.Section.Appearance.Dark" = "Vždy tmavý"; +"Scene.Settings.Section.Appearance.Light" = "Vždy světlý"; +"Scene.Settings.Section.Appearance.Title" = "Vzhled"; +"Scene.Settings.Section.BoringZone.AccountSettings" = "Nastavení účtu"; +"Scene.Settings.Section.BoringZone.Privacy" = "Zásady ochrany osobních údajů"; +"Scene.Settings.Section.BoringZone.Terms" = "Podmínky služby"; +"Scene.Settings.Section.BoringZone.Title" = "Nudná část"; +"Scene.Settings.Section.LookAndFeel.Light" = "Světlý"; +"Scene.Settings.Section.LookAndFeel.ReallyDark" = "Skutečně tmavý"; +"Scene.Settings.Section.LookAndFeel.SortaDark" = "Sorta Dark"; +"Scene.Settings.Section.LookAndFeel.Title" = "Vzhled a chování"; +"Scene.Settings.Section.LookAndFeel.UseSystem" = "Použít systém"; +"Scene.Settings.Section.Notifications.Boosts" = "Boostnul můj příspěvek"; +"Scene.Settings.Section.Notifications.Favorites" = "Oblíbil si můj příspěvek"; +"Scene.Settings.Section.Notifications.Follows" = "Sleduje mě"; +"Scene.Settings.Section.Notifications.Mentions" = "Zmiňuje mě"; +"Scene.Settings.Section.Notifications.Title" = "Upozornění"; +"Scene.Settings.Section.Notifications.Trigger.Anyone" = "kdokoliv"; +"Scene.Settings.Section.Notifications.Trigger.Follow" = "kdokoli, koho sleduji"; +"Scene.Settings.Section.Notifications.Trigger.Follower" = "sledující"; +"Scene.Settings.Section.Notifications.Trigger.Noone" = "nikdo"; +"Scene.Settings.Section.Notifications.Trigger.Title" = "Upozornit, když"; +"Scene.Settings.Section.Preference.DisableAvatarAnimation" = "Zakázat animované avatary"; +"Scene.Settings.Section.Preference.DisableEmojiAnimation" = "Zakázat animované emoji"; +"Scene.Settings.Section.Preference.OpenLinksInMastodon" = "Otevřít odkazy v Mastodonu"; +"Scene.Settings.Section.Preference.Title" = "Předvolby"; +"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "Skutečný černý tmavý režim"; +"Scene.Settings.Section.Preference.UsingDefaultBrowser" = "Použít výchozí prohlížeč pro otevírání odkazů"; +"Scene.Settings.Section.SpicyZone.Clear" = "Vymazat mezipaměť médií"; +"Scene.Settings.Section.SpicyZone.Signout" = "Odhlásit se"; +"Scene.Settings.Section.SpicyZone.Title" = "Ostrá část"; +"Scene.Settings.Title" = "Nastavení"; +"Scene.SuggestionAccount.FollowExplain" = "Když někoho sledujete, uvidíte jejich příspěvky ve vašem domovském kanálu."; +"Scene.SuggestionAccount.Title" = "Najít lidi pro sledování"; +"Scene.Thread.BackTitle" = "Příspěvek"; +"Scene.Thread.Title" = "Příspěvek od %@"; +"Scene.Welcome.GetStarted" = "Začínáme"; +"Scene.Welcome.LogIn" = "Přihlásit se"; +"Scene.Welcome.Slogan" = "Sociální sítě opět ve vašich rukou."; +"Scene.Wizard.AccessibilityHint" = "Dvojitým poklepáním tohoto průvodce odmítnete"; +"Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Přepínání mezi více účty podržením tlačítka profilu."; +"Scene.Wizard.NewInMastodon" = "Nový v Mastodonu"; \ No newline at end of file diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.stringsdict new file mode 100644 index 000000000..6e44e9f0a --- /dev/null +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.stringsdict @@ -0,0 +1,581 @@ + + + + + a11y.plural.count.unread.notification + + NSStringLocalizedFormatKey + %#@notification_count_unread_notification@ + notification_count_unread_notification + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 nepřečtené oznámení + few + %ld nepřečtené oznámení + many + %ld nepřečtených oznámení + other + %ld nepřečtených oznámení + + + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Vstupní limit přesahuje %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 znak + few + %ld znaky + many + %ld znaků + other + %ld znaků + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Vstupní limit zůstává %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 znak + few + %ld znaky + many + %ld znaků + other + %ld znaků + + + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 znak + few + %ld znaky + many + %ld znaků + other + %ld znaků + + + plural.count.followed_by_and_mutual + + NSStringLocalizedFormatKey + %#@names@%#@count_mutual@ + names + + one + + few + + many + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + + + count_mutual + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Followed by %1$@, and another mutual + few + Followed by %1$@, and %ld mutuals + many + Followed by %1$@, and %ld mutuals + other + Followed by %1$@, and %ld mutuals + + + plural.count.metric_formatted.post + + NSStringLocalizedFormatKey + %@ %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + příspěvek + few + příspěvky + many + příspěvků + other + příspěvků + + + plural.count.media + + NSStringLocalizedFormatKey + %#@media_count@ + media_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 médium + few + %ld média + many + %ld médií + other + %ld médií + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 příspěvek + few + %ld příspěvky + many + %ld příspěvků + other + %ld příspěvků + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 oblíbený + few + %ld favorites + many + %ld favorites + other + %ld favorites + + + plural.count.reblog + + NSStringLocalizedFormatKey + %#@reblog_count@ + reblog_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 reblog + few + %ld reblogs + many + %ld reblogs + other + %ld reblogs + + + plural.count.reply + + NSStringLocalizedFormatKey + %#@reply_count@ + reply_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 odpověď + few + %ld odpovědi + many + %ld odpovědí + other + %ld odpovědí + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hlas + few + %ld hlasy + many + %ld hlasů + other + %ld hlasů + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hlasující + few + %ld hlasující + many + %ld hlasujících + other + %ld hlasujících + + + plural.people_talking + + NSStringLocalizedFormatKey + %#@count_people_talking@ + count_people_talking + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 people talking + few + %ld people talking + many + %ld people talking + other + %ld people talking + + + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 sledující + few + %ld sledující + many + %ld sledujících + other + %ld sledujících + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + few + %ld followers + many + %ld followers + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Zbývá 1 rok + few + Zbývají %ld roky + many + Zbývá %ld roků + other + Zbývá %ld roků + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Zbývá 1 měsíc + few + %ld months left + many + %ld months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + few + %ld days left + many + %ld days left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + few + %ld hours left + many + %ld hours left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + few + %ld minutes left + many + %ld minutes left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + few + %ld seconds left + many + %ld seconds left + other + %ld seconds left + + + date.year.ago.abbr + + NSStringLocalizedFormatKey + %#@count_year_ago_abbr@ + count_year_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1y ago + few + %ldy ago + many + %ldy ago + other + %ldy ago + + + date.month.ago.abbr + + NSStringLocalizedFormatKey + %#@count_month_ago_abbr@ + count_month_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1M ago + few + %ldM ago + many + %ldM ago + other + %ldM ago + + + date.day.ago.abbr + + NSStringLocalizedFormatKey + %#@count_day_ago_abbr@ + count_day_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1d ago + few + %ldd ago + many + %ldd ago + other + %ldd ago + + + date.hour.ago.abbr + + NSStringLocalizedFormatKey + %#@count_hour_ago_abbr@ + count_hour_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1h ago + few + %ldh ago + many + %ldh ago + other + %ldh ago + + + date.minute.ago.abbr + + NSStringLocalizedFormatKey + %#@count_minute_ago_abbr@ + count_minute_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1m ago + few + %ldm ago + many + %ldm ago + other + %ldm ago + + + date.second.ago.abbr + + NSStringLocalizedFormatKey + %#@count_second_ago_abbr@ + count_second_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1s ago + few + %lds ago + many + %lds ago + other + %lds ago + + + + diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.strings new file mode 100644 index 000000000..44f868442 --- /dev/null +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.strings @@ -0,0 +1,464 @@ +"Common.Alerts.BlockDomain.BlockEntireDomain" = "Blokiraj domeno"; +"Common.Alerts.BlockDomain.Title" = "Ali ste res, res prepričani, da želite blokirati celotno %@? V večini primerov je nekaj ciljnih blokiranj ali utišanj dovolj in boljše. Vsebine iz te domene ne boste videli na javnih časovnicah ali obvestilih. Vaši sledilci iz te domene bodo odstranjeni."; +"Common.Alerts.CleanCache.Message" = "Uspešno počiščem predpomnilnik %@."; +"Common.Alerts.CleanCache.Title" = "Počisti predpomnilnik"; +"Common.Alerts.Common.PleaseTryAgain" = "Poskusite znova."; +"Common.Alerts.Common.PleaseTryAgainLater" = "Poskusite znova pozneje."; +"Common.Alerts.DeletePost.Message" = "Ali ste prepričani, da želite izbrisati to objavo?"; +"Common.Alerts.DeletePost.Title" = "Izbriši objavo"; +"Common.Alerts.DiscardPostContent.Message" = "Potrdite za opustitev sestavljene vsebine objave."; +"Common.Alerts.DiscardPostContent.Title" = "Zavrzi osnutek"; +"Common.Alerts.EditProfileFailure.Message" = "Profila ni mogoče urejati. Poskusite znova."; +"Common.Alerts.EditProfileFailure.Title" = "Napaka urejanja profila"; +"Common.Alerts.PublishPostFailure.AttachmentsMessage.MoreThanOneVideo" = "Ni možno priložiti več kot enega videoposnetka."; +"Common.Alerts.PublishPostFailure.AttachmentsMessage.VideoAttachWithPhoto" = "Videoposnetka ni mogoče priložiti objavi, ki že vsebuje slike."; +"Common.Alerts.PublishPostFailure.Message" = "Objava je spodletela. +Preverite svojo internetno povezavo."; +"Common.Alerts.PublishPostFailure.Title" = "Spodletela objava"; +"Common.Alerts.SavePhotoFailure.Message" = "Za shranjevanje fotografije omogočite pravice za dostop do knjižnice fotografij."; +"Common.Alerts.SavePhotoFailure.Title" = "Neuspelo shranjevanje fotografije"; +"Common.Alerts.ServerError.Title" = "Napaka strežnika"; +"Common.Alerts.SignOut.Confirm" = "Odjava"; +"Common.Alerts.SignOut.Message" = "Ali ste prepričani, da se želite odjaviti?"; +"Common.Alerts.SignOut.Title" = "Odjava"; +"Common.Alerts.SignUpFailure.Title" = "Neuspela registracija"; +"Common.Alerts.VoteFailure.PollEnded" = "Anketa je zaključena"; +"Common.Alerts.VoteFailure.Title" = "Napaka glasovanja"; +"Common.Controls.Actions.Add" = "Dodaj"; +"Common.Controls.Actions.Back" = "Nazaj"; +"Common.Controls.Actions.BlockDomain" = "Blokiraj %@"; +"Common.Controls.Actions.Cancel" = "Prekliči"; +"Common.Controls.Actions.Compose" = "Sestavi"; +"Common.Controls.Actions.Confirm" = "Potrdi"; +"Common.Controls.Actions.Continue" = "Nadaljuj"; +"Common.Controls.Actions.CopyPhoto" = "Kopiraj fotografijo"; +"Common.Controls.Actions.Delete" = "Izbriši"; +"Common.Controls.Actions.Discard" = "Opusti"; +"Common.Controls.Actions.Done" = "Opravljeno"; +"Common.Controls.Actions.Edit" = "Uredi"; +"Common.Controls.Actions.FindPeople" = "Poiščite osebe, ki jim želite slediti"; +"Common.Controls.Actions.ManuallySearch" = "Raje išči ročno"; +"Common.Controls.Actions.Next" = "Naslednji"; +"Common.Controls.Actions.Ok" = "V redu"; +"Common.Controls.Actions.Open" = "Odpri"; +"Common.Controls.Actions.OpenInBrowser" = "Odpri v brskalniku"; +"Common.Controls.Actions.OpenInSafari" = "Odpri v Safariju"; +"Common.Controls.Actions.Preview" = "Predogled"; +"Common.Controls.Actions.Previous" = "Prejšnji"; +"Common.Controls.Actions.Remove" = "Odstrani"; +"Common.Controls.Actions.Reply" = "Odgovori"; +"Common.Controls.Actions.ReportUser" = "Prijavi %@"; +"Common.Controls.Actions.Save" = "Shrani"; +"Common.Controls.Actions.SavePhoto" = "Shrani fotografijo"; +"Common.Controls.Actions.SeeMore" = "Pokaži več"; +"Common.Controls.Actions.Settings" = "Nastavitve"; +"Common.Controls.Actions.Share" = "Deli"; +"Common.Controls.Actions.SharePost" = "Deli objavo"; +"Common.Controls.Actions.ShareUser" = "Deli %@"; +"Common.Controls.Actions.SignIn" = "Prijava"; +"Common.Controls.Actions.SignUp" = "Ustvari račun"; +"Common.Controls.Actions.Skip" = "Preskoči"; +"Common.Controls.Actions.TakePhoto" = "Posnemi fotografijo"; +"Common.Controls.Actions.TryAgain" = "Poskusi ponovno"; +"Common.Controls.Actions.UnblockDomain" = "Odblokiraj %@"; +"Common.Controls.Friendship.Block" = "Blokiraj"; +"Common.Controls.Friendship.BlockDomain" = "Blokiraj %@"; +"Common.Controls.Friendship.BlockUser" = "Blokiraj %@"; +"Common.Controls.Friendship.Blocked" = "Blokirano"; +"Common.Controls.Friendship.EditInfo" = "Uredi podatke"; +"Common.Controls.Friendship.Follow" = "Sledi"; +"Common.Controls.Friendship.Following" = "Sledi"; +"Common.Controls.Friendship.HideReblogs" = "Skrij poobjave"; +"Common.Controls.Friendship.Mute" = "Utišaj"; +"Common.Controls.Friendship.MuteUser" = "Utišaj %@"; +"Common.Controls.Friendship.Muted" = "Utišan"; +"Common.Controls.Friendship.Pending" = "Na čakanju"; +"Common.Controls.Friendship.Request" = "Zahteva"; +"Common.Controls.Friendship.ShowReblogs" = "Pokaži poobjave"; +"Common.Controls.Friendship.Unblock" = "Odblokiraj"; +"Common.Controls.Friendship.UnblockUser" = "Odblokiraj %@"; +"Common.Controls.Friendship.Unmute" = "Odtišaj"; +"Common.Controls.Friendship.UnmuteUser" = "Odtišaj %@"; +"Common.Controls.Keyboard.Common.ComposeNewPost" = "Sestavi novo objavo"; +"Common.Controls.Keyboard.Common.OpenSettings" = "Odpri nastavitve"; +"Common.Controls.Keyboard.Common.ShowFavorites" = "Pokaži priljubljene"; +"Common.Controls.Keyboard.Common.SwitchToTab" = "Preklopi na %@"; +"Common.Controls.Keyboard.SegmentedControl.NextSection" = "Naslednji odsek"; +"Common.Controls.Keyboard.SegmentedControl.PreviousSection" = "Prejšnji odsek"; +"Common.Controls.Keyboard.Timeline.NextStatus" = "Naslednja objava"; +"Common.Controls.Keyboard.Timeline.OpenAuthorProfile" = "Pokaži profil avtorja"; +"Common.Controls.Keyboard.Timeline.OpenRebloggerProfile" = "Odpri profil poobjavitelja"; +"Common.Controls.Keyboard.Timeline.OpenStatus" = "Odpri objavo"; +"Common.Controls.Keyboard.Timeline.PreviewImage" = "Predogled slike"; +"Common.Controls.Keyboard.Timeline.PreviousStatus" = "Prejšnja objava"; +"Common.Controls.Keyboard.Timeline.ReplyStatus" = "Odgovori"; +"Common.Controls.Keyboard.Timeline.ToggleContentWarning" = "Preklopi opozorilo o vsebini"; +"Common.Controls.Keyboard.Timeline.ToggleFavorite" = "Preklopi priljubljenost objave"; +"Common.Controls.Keyboard.Timeline.ToggleReblog" = "Preklopi poobjavo za objavo"; +"Common.Controls.Status.Actions.Favorite" = "Priljubljen"; +"Common.Controls.Status.Actions.Hide" = "Skrij"; +"Common.Controls.Status.Actions.Menu" = "Meni"; +"Common.Controls.Status.Actions.Reblog" = "Poobjavi"; +"Common.Controls.Status.Actions.Reply" = "Odgovori"; +"Common.Controls.Status.Actions.ShowGif" = "Pokaži GIF"; +"Common.Controls.Status.Actions.ShowImage" = "Pokaži sliko"; +"Common.Controls.Status.Actions.ShowVideoPlayer" = "Pokaži predvajalnik"; +"Common.Controls.Status.Actions.TapThenHoldToShowMenu" = "Tapnite, nato držite, da se pojavi meni"; +"Common.Controls.Status.Actions.Unfavorite" = "Odstrani iz priljubljenih"; +"Common.Controls.Status.Actions.Unreblog" = "Razveljavi poobjavo"; +"Common.Controls.Status.ContentWarning" = "Opozorilo o vsebini"; +"Common.Controls.Status.MediaContentWarning" = "Tapnite kamorkoli, da razkrijete"; +"Common.Controls.Status.MetaEntity.Email" = "E-naslov: %@"; +"Common.Controls.Status.MetaEntity.Hashtag" = "Ključnik: %@"; +"Common.Controls.Status.MetaEntity.Mention" = "Pokaži profil: %@"; +"Common.Controls.Status.MetaEntity.Url" = "Povezava: %@"; +"Common.Controls.Status.Poll.Closed" = "Zaprto"; +"Common.Controls.Status.Poll.Vote" = "Glasuj"; +"Common.Controls.Status.SensitiveContent" = "Občutljiva vsebina"; +"Common.Controls.Status.ShowPost" = "Pokaži objavo"; +"Common.Controls.Status.ShowUserProfile" = "Prikaži uporabnikov profil"; +"Common.Controls.Status.Tag.Email" = "E-naslov"; +"Common.Controls.Status.Tag.Emoji" = "Emotikon"; +"Common.Controls.Status.Tag.Hashtag" = "Ključnik"; +"Common.Controls.Status.Tag.Link" = "Povezava"; +"Common.Controls.Status.Tag.Mention" = "Omeni"; +"Common.Controls.Status.Tag.Url" = "URL"; +"Common.Controls.Status.TapToReveal" = "Tapnite za razkritje"; +"Common.Controls.Status.UserReblogged" = "%@ je poobjavil_a"; +"Common.Controls.Status.UserRepliedTo" = "Odgovarja %@"; +"Common.Controls.Status.Visibility.Direct" = "Samo omenjeni uporabnik lahko vidi to objavo."; +"Common.Controls.Status.Visibility.Private" = "Samo sledilci osebe lahko vidijo to objavo."; +"Common.Controls.Status.Visibility.PrivateFromMe" = "Samo moji sledilci lahko vidijo to objavo."; +"Common.Controls.Status.Visibility.Unlisted" = "Vsak lahko vidi to objavo, ni pa prikazana na javni časovnici."; +"Common.Controls.Tabs.Home" = "Domov"; +"Common.Controls.Tabs.Notification" = "Obvestilo"; +"Common.Controls.Tabs.Profile" = "Profil"; +"Common.Controls.Tabs.Search" = "Iskanje"; +"Common.Controls.Timeline.Filtered" = "Filtrirano"; +"Common.Controls.Timeline.Header.BlockedWarning" = "Profila tega uporabnika ne morete +videti, dokler vas ne odblokirajo."; +"Common.Controls.Timeline.Header.BlockingWarning" = "Profila tega uporabnika ne morete +videti, dokler jih ne odblokirate. +Vaš profil je zanje videti tako."; +"Common.Controls.Timeline.Header.NoStatusFound" = "Ne najdem nobenih objav"; +"Common.Controls.Timeline.Header.SuspendedWarning" = "Ta oseba je bila suspendirana."; +"Common.Controls.Timeline.Header.UserBlockedWarning" = "Profila uporabnika %@ ne morete +videti, dokler vas ne odblokirajo."; +"Common.Controls.Timeline.Header.UserBlockingWarning" = "Profila uporabnika %@ ne morete +videti, dokler jih ne odblokirate. +Vaš profil je zanje videti tako."; +"Common.Controls.Timeline.Header.UserSuspendedWarning" = "Račun osebe %@ je suspendiran."; +"Common.Controls.Timeline.Loader.LoadMissingPosts" = "Naloži manjkajoče objave"; +"Common.Controls.Timeline.Loader.LoadingMissingPosts" = "Nalaganje manjkajočih objav ..."; +"Common.Controls.Timeline.Loader.ShowMoreReplies" = "Pokaži več odgovorov"; +"Common.Controls.Timeline.Timestamp.Now" = "Zdaj"; +"Scene.AccountList.AddAccount" = "Dodaj račun"; +"Scene.AccountList.DismissAccountSwitcher" = "Umakni preklopnik med računi"; +"Scene.AccountList.TabBarHint" = "Trenutno izbran profil: %@. Dvakrat tapnite, nato držite, da se pojavi preklopnik med računi."; +"Scene.Bookmark.Title" = "Zaznamki"; +"Scene.Compose.Accessibility.AppendAttachment" = "Dodaj priponko"; +"Scene.Compose.Accessibility.AppendPoll" = "Dodaj anketo"; +"Scene.Compose.Accessibility.CustomEmojiPicker" = "Izbirnik čustvenčkov po meri"; +"Scene.Compose.Accessibility.DisableContentWarning" = "Onemogoči opozorilo o vsebini"; +"Scene.Compose.Accessibility.EnableContentWarning" = "Omogoči opozorilo o vsebini"; +"Scene.Compose.Accessibility.PostOptions" = "Možnosti objave"; +"Scene.Compose.Accessibility.PostVisibilityMenu" = "Meni vidnosti objave"; +"Scene.Compose.Accessibility.PostingAs" = "Objavljate kot %@"; +"Scene.Compose.Accessibility.RemovePoll" = "Odstrani anketo"; +"Scene.Compose.Attachment.AttachmentBroken" = "To %@ je okvarjeno in ga ni +možno naložiti v Mastodon."; +"Scene.Compose.Attachment.AttachmentTooLarge" = "Priponka je prevelika"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Te medijske priponke ni mogoče prepoznati"; +"Scene.Compose.Attachment.CompressingState" = "Stiskanje ..."; +"Scene.Compose.Attachment.DescriptionPhoto" = "Opiši fotografijo za slabovidne in osebe z okvaro vida ..."; +"Scene.Compose.Attachment.DescriptionVideo" = "Opiši video za slabovidne in osebe z okvaro vida ..."; +"Scene.Compose.Attachment.LoadFailed" = "Nalaganje ni uspelo"; +"Scene.Compose.Attachment.Photo" = "fotografija"; +"Scene.Compose.Attachment.ServerProcessingState" = "Obdelovanje na strežniku ..."; +"Scene.Compose.Attachment.UploadFailed" = "Nalaganje na strežnik ni uspelo"; +"Scene.Compose.Attachment.Video" = "video"; +"Scene.Compose.AutoComplete.SpaceToAdd" = "Preslednica za dodajanje"; +"Scene.Compose.ComposeAction" = "Objavi"; +"Scene.Compose.ContentInputPlaceholder" = "Vnesite ali prilepite, kar vam leži na duši"; +"Scene.Compose.ContentWarning.Placeholder" = "Tukaj zapišite opozorilo ..."; +"Scene.Compose.Keyboard.AppendAttachmentEntry" = "Dodaj priponko - %@"; +"Scene.Compose.Keyboard.DiscardPost" = "Opusti objavo"; +"Scene.Compose.Keyboard.PublishPost" = "Objavi objavo"; +"Scene.Compose.Keyboard.SelectVisibilityEntry" = "Izberite vidnost - %@"; +"Scene.Compose.Keyboard.ToggleContentWarning" = "Preklopi opozorilo o vsebini"; +"Scene.Compose.Keyboard.TogglePoll" = "Preklopi anketo"; +"Scene.Compose.MediaSelection.Browse" = "Prebrskaj"; +"Scene.Compose.MediaSelection.Camera" = "Posnemi fotografijo"; +"Scene.Compose.MediaSelection.PhotoLibrary" = "Knjižnica fotografij"; +"Scene.Compose.Poll.DurationTime" = "Trajanje: %@"; +"Scene.Compose.Poll.OneDay" = "1 dan"; +"Scene.Compose.Poll.OneHour" = "1 ura"; +"Scene.Compose.Poll.OptionNumber" = "Možnost %ld"; +"Scene.Compose.Poll.SevenDays" = "7 dni"; +"Scene.Compose.Poll.SixHours" = "6 ur"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Anketa ima prazno izbiro"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Anketa je neveljavna"; +"Scene.Compose.Poll.ThirtyMinutes" = "30 minut"; +"Scene.Compose.Poll.ThreeDays" = "3 dni"; +"Scene.Compose.ReplyingToUser" = "odgovarja %@"; +"Scene.Compose.Title.NewPost" = "Nova objava"; +"Scene.Compose.Title.NewReply" = "Nov odgovor"; +"Scene.Compose.Visibility.Direct" = "Samo osebe, ki jih omenjam"; +"Scene.Compose.Visibility.Private" = "Samo sledilci"; +"Scene.Compose.Visibility.Public" = "Javno"; +"Scene.Compose.Visibility.Unlisted" = "Ni prikazano"; +"Scene.ConfirmEmail.Button.OpenEmailApp" = "Odpri aplikacijo za e-pošto"; +"Scene.ConfirmEmail.Button.Resend" = "Ponovno pošlji"; +"Scene.ConfirmEmail.DontReceiveEmail.Description" = "Preverite, ali je vaš e-naslov pravilen, pa tudi vsebino mape neželene pošte, če tega še niste storili."; +"Scene.ConfirmEmail.DontReceiveEmail.ResendEmail" = "Ponovno pošlji e-pošto"; +"Scene.ConfirmEmail.DontReceiveEmail.Title" = "Preverite svojo e-pošto"; +"Scene.ConfirmEmail.OpenEmailApp.Description" = "Ravnokar smo vam poslali e-sporočilo. Preverite neželeno pošto, če sporočila ne najdete med dohodno pošto."; +"Scene.ConfirmEmail.OpenEmailApp.Mail" = "E-pošta"; +"Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "Odpri odjemalca e-pošte"; +"Scene.ConfirmEmail.OpenEmailApp.Title" = "Preverite svojo dohodno e-pošto."; +"Scene.ConfirmEmail.Subtitle" = "Tapnite povezavo, ki smo vam jo poslali po e-pošti, da overite svoj račun."; +"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Tapnite povezavo, ki smo vam jo poslali po e-pošti, da overite svoj račun"; +"Scene.ConfirmEmail.Title" = "Še zadnja stvar."; +"Scene.Discovery.Intro" = "To so objave, ki plenijo pozornost na vašem koncu Mastodona."; +"Scene.Discovery.Tabs.Community" = "Skupnost"; +"Scene.Discovery.Tabs.ForYou" = "Za vas"; +"Scene.Discovery.Tabs.Hashtags" = "Ključniki"; +"Scene.Discovery.Tabs.News" = "Novice"; +"Scene.Discovery.Tabs.Posts" = "Objave"; +"Scene.Familiarfollowers.FollowedByNames" = "Sledijo %@"; +"Scene.Familiarfollowers.Title" = "Znani sledilci"; +"Scene.Favorite.Title" = "Vaši priljubljeni"; +"Scene.FavoritedBy.Title" = "Med priljubljene dal_a"; +"Scene.Follower.Footer" = "Sledilci z drugih strežnikov niso prikazani."; +"Scene.Follower.Title" = "sledilec"; +"Scene.Following.Footer" = "Sledenje z drugih strežnikov ni prikazano."; +"Scene.Following.Title" = "sledi"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tapnite, da podrsate na vrh; tapnite znova, da se pomaknete na prejšnji položaj"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Gumb logotipa"; +"Scene.HomeTimeline.NavigationBarState.NewPosts" = "Pokaži nove objave"; +"Scene.HomeTimeline.NavigationBarState.Offline" = "Nepovezan"; +"Scene.HomeTimeline.NavigationBarState.Published" = "Objavljeno!"; +"Scene.HomeTimeline.NavigationBarState.Publishing" = "Objavljanje objave ..."; +"Scene.HomeTimeline.Title" = "Domov"; +"Scene.Login.ServerSearchField.Placeholder" = "Vnesite URL ali poiščite svoj strežnik"; +"Scene.Login.Subtitle" = "Prijavite se na strežniku, na katerem ste ustvarili račun."; +"Scene.Login.Title" = "Dobrodošli nazaj"; +"Scene.Notification.FollowRequest.Accept" = "Sprejmi"; +"Scene.Notification.FollowRequest.Accepted" = "Sprejeto"; +"Scene.Notification.FollowRequest.Reject" = "Zavrni"; +"Scene.Notification.FollowRequest.Rejected" = "Zavrnjeno"; +"Scene.Notification.Keyobard.ShowEverything" = "Pokaži vse"; +"Scene.Notification.Keyobard.ShowMentions" = "Pokaži omembe"; +"Scene.Notification.NotificationDescription.FavoritedYourPost" = "je vzljubil/a vašo objavo"; +"Scene.Notification.NotificationDescription.FollowedYou" = "vam sledi"; +"Scene.Notification.NotificationDescription.MentionedYou" = "vas je omenil/a"; +"Scene.Notification.NotificationDescription.PollHasEnded" = "anketa je zaključena"; +"Scene.Notification.NotificationDescription.RebloggedYourPost" = "je poobjavil_a vašo objavo"; +"Scene.Notification.NotificationDescription.RequestToFollowYou" = "vas je zaprosil za sledenje"; +"Scene.Notification.Title.Everything" = "Vse"; +"Scene.Notification.Title.Mentions" = "Omembe"; +"Scene.Preview.Keyboard.ClosePreview" = "Zapri predogled"; +"Scene.Preview.Keyboard.ShowNext" = "Pokaži naslednje"; +"Scene.Preview.Keyboard.ShowPrevious" = "Pokaži prejšnje"; +"Scene.Profile.Accessibility.DoubleTapToOpenTheList" = "Dvakrat tapnite, da se odpre seznam"; +"Scene.Profile.Accessibility.EditAvatarImage" = "Uredi sliko avatarja"; +"Scene.Profile.Accessibility.ShowAvatarImage" = "Pokaži sliko avatarja"; +"Scene.Profile.Accessibility.ShowBannerImage" = "Pokaži sliko pasice"; +"Scene.Profile.Dashboard.Followers" = "sledilcev"; +"Scene.Profile.Dashboard.Following" = "sledi"; +"Scene.Profile.Dashboard.Posts" = "Objave"; +"Scene.Profile.Fields.AddRow" = "Dodaj vrstico"; +"Scene.Profile.Fields.Placeholder.Content" = "Vsebina"; +"Scene.Profile.Fields.Placeholder.Label" = "Oznaka"; +"Scene.Profile.Fields.Verified.Long" = "Lastništvo te povezave je bilo preverjeno %@"; +"Scene.Profile.Fields.Verified.Short" = "Preverjeno %@"; +"Scene.Profile.Header.FollowsYou" = "Vam sledi"; +"Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Potrdite za blokado %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blokiraj račun"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Potrdite, da poobjave ne bodo prikazane"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Skrij poobjave"; +"Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Potrdite utišanje %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Utišaj račun"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Potrdite, da bodo poobjave prikazane"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Pokaži poobjave"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Potrdite za umik blokade %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Odblokiraj račun"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Potrdite umik utišanja %@"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Odtišaj račun"; +"Scene.Profile.SegmentedControl.About" = "O programu"; +"Scene.Profile.SegmentedControl.Media" = "Mediji"; +"Scene.Profile.SegmentedControl.Posts" = "Objave"; +"Scene.Profile.SegmentedControl.PostsAndReplies" = "Objave in odgovori"; +"Scene.Profile.SegmentedControl.Replies" = "Odgovori"; +"Scene.RebloggedBy.Title" = "Poobjavil_a"; +"Scene.Register.Error.Item.Agreement" = "Sporazum"; +"Scene.Register.Error.Item.Email" = "E-pošta"; +"Scene.Register.Error.Item.Locale" = "Krajevne nastavitve"; +"Scene.Register.Error.Item.Password" = "Geslo"; +"Scene.Register.Error.Item.Reason" = "Razlog"; +"Scene.Register.Error.Item.Username" = "Uporabniško ime"; +"Scene.Register.Error.Reason.Accepted" = "%@ mora biti sprejet"; +"Scene.Register.Error.Reason.Blank" = "%@ je zahtevan"; +"Scene.Register.Error.Reason.Blocked" = "%@ vsebuje nedovoljenega ponudnika e-poštnih storitev"; +"Scene.Register.Error.Reason.Inclusion" = "%@ ni podprta vrednost"; +"Scene.Register.Error.Reason.Invalid" = "%@ ni veljavno"; +"Scene.Register.Error.Reason.Reserved" = "%@ je rezervirana ključna beseda"; +"Scene.Register.Error.Reason.Taken" = "%@ je že v uporabi"; +"Scene.Register.Error.Reason.TooLong" = "%@ je predolgo"; +"Scene.Register.Error.Reason.TooShort" = "%@ je prekratko"; +"Scene.Register.Error.Reason.Unreachable" = "%@ kot kaže ne obstaja"; +"Scene.Register.Error.Special.EmailInvalid" = "E-naslov ni veljaven"; +"Scene.Register.Error.Special.PasswordTooShort" = "Geslo je prekratko (dolgo mora biti vsaj 8 znakov)"; +"Scene.Register.Error.Special.UsernameInvalid" = "Uporabniško ime lahko vsebuje samo alfanumerične znake ter podčrtaje."; +"Scene.Register.Error.Special.UsernameTooLong" = "Uporabniško ime je predolgo (ne more biti daljše od 30 znakov)"; +"Scene.Register.Input.Avatar.Delete" = "Izbriši"; +"Scene.Register.Input.DisplayName.Placeholder" = "pojavno ime"; +"Scene.Register.Input.Email.Placeholder" = "e-pošta"; +"Scene.Register.Input.Invite.RegistrationUserInviteRequest" = "Zakaj se želite pridružiti?"; +"Scene.Register.Input.Password.Accessibility.Checked" = "potrjeno"; +"Scene.Register.Input.Password.Accessibility.Unchecked" = "nepotrjeno"; +"Scene.Register.Input.Password.CharacterLimit" = "8 znakov"; +"Scene.Register.Input.Password.Hint" = "Geslo mora biti dolgo najmanj 8 znakov."; +"Scene.Register.Input.Password.Placeholder" = "geslo"; +"Scene.Register.Input.Password.Require" = "Vaše geslo potrebuje vsaj:"; +"Scene.Register.Input.Username.DuplicatePrompt" = "To ime je že zasedeno."; +"Scene.Register.Input.Username.Placeholder" = "uporabniško ime"; +"Scene.Register.LetsGetYouSetUpOnDomain" = "Naj vas namestimo na %@"; +"Scene.Register.Title" = "Naj vas namestimo na %@"; +"Scene.Report.Content1" = "Ali so še kakšne druge objave, ki bi jih želeli dodati k prijavi?"; +"Scene.Report.Content2" = "Je kaj, kar bi moderatorji morali vedeti o tem poročilu?"; +"Scene.Report.ReportSentTitle" = "Hvala za poročilo, bomo preverili."; +"Scene.Report.Reported" = "PRIJAVLJEN"; +"Scene.Report.Send" = "Pošlji poročilo"; +"Scene.Report.SkipToSend" = "Pošlji brez komentarja"; +"Scene.Report.Step1" = "Korak 1 od 2"; +"Scene.Report.Step2" = "Korak 2 od 2"; +"Scene.Report.StepFinal.BlockUser" = "Blokiraj %@"; +"Scene.Report.StepFinal.DontWantToSeeThis" = "Ne želite videti tega?"; +"Scene.Report.StepFinal.MuteUser" = "Utišaj %@"; +"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "Nič več ne bodo mogli slediti ali videti vaše objave, lahko pa vidijo, če so blokirani."; +"Scene.Report.StepFinal.Unfollow" = "Prenehaj slediti"; +"Scene.Report.StepFinal.UnfollowUser" = "Prenehaj slediti %@"; +"Scene.Report.StepFinal.Unfollowed" = "Ne sledi več"; +"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "Če vidite nekaj, česar na Masodonu ne želite, lahko odstranite osebo iz svoje izkušnje."; +"Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "Medtem, ko to pregledujemo, lahko proti %@ ukrepate"; +"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "Njihovih objav ali poobjav ne boste videli v svojem domačem viru. Ne bodo vedeli, da so utišani."; +"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Je še kaj, za kar menite, da bi morali vedeti?"; +"Scene.Report.StepFour.Step4Of4" = "Korak 4 od 4"; +"Scene.Report.StepOne.IDontLikeIt" = "Ni mi všeč"; +"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "To ni tisto, kar želite videti"; +"Scene.Report.StepOne.ItViolatesServerRules" = "Krši strežniška pravila"; +"Scene.Report.StepOne.ItsSomethingElse" = "Gre za nekaj drugega"; +"Scene.Report.StepOne.ItsSpam" = "To je neželena vsebina"; +"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Škodljive povezave, lažno prizadevanje ali ponavljajoči se odgovori"; +"Scene.Report.StepOne.SelectTheBestMatch" = "Izberite najboljši zadetek"; +"Scene.Report.StepOne.Step1Of4" = "Korak 1 od 4"; +"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "Težava ne sodi v druge kategorije"; +"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "Kaj je narobe s tem računom?"; +"Scene.Report.StepOne.WhatsWrongWithThisPost" = "Kaj je narobe s to objavo?"; +"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "Kaj je narobe s/z %@?"; +"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Zavedate se, da krši določena pravila"; +"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Ali so kakšne objave, ki dokazujejo trditve iz tega poročila?"; +"Scene.Report.StepThree.SelectAllThatApply" = "Izberite vse, kar ustreza"; +"Scene.Report.StepThree.Step3Of4" = "Korak 3 od 4"; +"Scene.Report.StepTwo.IJustDon’tLikeIt" = "Ni mi všeč"; +"Scene.Report.StepTwo.SelectAllThatApply" = "Izberite vse, kar ustreza"; +"Scene.Report.StepTwo.Step2Of4" = "Korak 2 od 4"; +"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Katera pravila so kršena?"; +"Scene.Report.TextPlaceholder" = "Vnesite ali prilepite dodatne komentarje"; +"Scene.Report.Title" = "Prijavi %@"; +"Scene.Report.TitleReport" = "Poročaj"; +"Scene.Search.Recommend.Accounts.Description" = "Morda želite slediti tem računom"; +"Scene.Search.Recommend.Accounts.Follow" = "Sledi"; +"Scene.Search.Recommend.Accounts.Title" = "Računi, ki vam bi bili morda všeč"; +"Scene.Search.Recommend.ButtonText" = "Prikaži vse"; +"Scene.Search.Recommend.HashTag.Description" = "Ključniki, ki imajo veliko pozornosti"; +"Scene.Search.Recommend.HashTag.PeopleTalking" = "%@ oseb se pogovarja"; +"Scene.Search.Recommend.HashTag.Title" = "V trendu na Mastodonu"; +"Scene.Search.SearchBar.Cancel" = "Prekliči"; +"Scene.Search.SearchBar.Placeholder" = "Išči ključnike in uporabnike"; +"Scene.Search.Searching.Clear" = "Počisti"; +"Scene.Search.Searching.EmptyState.NoResults" = "Ni rezultatov"; +"Scene.Search.Searching.RecentSearch" = "Nedavna iskanja"; +"Scene.Search.Searching.Segment.All" = "Vse"; +"Scene.Search.Searching.Segment.Hashtags" = "Ključniki"; +"Scene.Search.Searching.Segment.People" = "Ljudje"; +"Scene.Search.Searching.Segment.Posts" = "Objave"; +"Scene.Search.Title" = "Iskanje"; +"Scene.ServerPicker.Button.Category.Academia" = "akademsko"; +"Scene.ServerPicker.Button.Category.Activism" = "aktivizem"; +"Scene.ServerPicker.Button.Category.All" = "Vse"; +"Scene.ServerPicker.Button.Category.AllAccessiblityDescription" = "Kategorija: vse"; +"Scene.ServerPicker.Button.Category.Art" = "umetnost"; +"Scene.ServerPicker.Button.Category.Food" = "hrana"; +"Scene.ServerPicker.Button.Category.Furry" = "Kosmato"; +"Scene.ServerPicker.Button.Category.Games" = "igre"; +"Scene.ServerPicker.Button.Category.General" = "splošno"; +"Scene.ServerPicker.Button.Category.Journalism" = "novinarstvo"; +"Scene.ServerPicker.Button.Category.Lgbt" = "lgbq+"; +"Scene.ServerPicker.Button.Category.Music" = "glasba"; +"Scene.ServerPicker.Button.Category.Regional" = "regionalno"; +"Scene.ServerPicker.Button.Category.Tech" = "tehnologija"; +"Scene.ServerPicker.Button.SeeLess" = "Pokaži manj"; +"Scene.ServerPicker.Button.SeeMore" = "Pokaži več"; +"Scene.ServerPicker.EmptyState.BadNetwork" = "Med nalaganjem podatkov je prišlo do napake. Preverite svojo internetno povezavo."; +"Scene.ServerPicker.EmptyState.FindingServers" = "Iskanje razpoložljivih strežnikov ..."; +"Scene.ServerPicker.EmptyState.NoResults" = "Ni rezultatov"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Iščite po skupnostih ali vnesite URL"; +"Scene.ServerPicker.Label.Category" = "KATEGORIJA"; +"Scene.ServerPicker.Label.Language" = "JEZIK"; +"Scene.ServerPicker.Label.Users" = "UPORABNIKI"; +"Scene.ServerPicker.Subtitle" = "Strežnik izberite glede na svojo regijo, zanimanje ali pa kar splošno. Še vedno lahko klepetate s komer koli na Mastodonu, ne glede na strežnik."; +"Scene.ServerPicker.Title" = "Mastodon tvorijo uporabniki z različnih strežnikov."; +"Scene.ServerRules.Button.Confirm" = "Strinjam se"; +"Scene.ServerRules.PrivacyPolicy" = "pravilnik o zasebnosti"; +"Scene.ServerRules.Prompt" = "Če boste nadaljevali, za vas veljajo pogoji storitve in pravilnik o zasebnosti za %@."; +"Scene.ServerRules.Subtitle" = "Slednje določajo in njihovo spoštovanje zagotavljajo moderatorji %@."; +"Scene.ServerRules.TermsOfService" = "pogoji uporabe"; +"Scene.ServerRules.Title" = "Nekaj osnovnih pravil."; +"Scene.Settings.Footer.MastodonDescription" = "Mastodon je odprtokodna programska oprema. Na GitHubu na %@ (%@) lahko poročate o napakah"; +"Scene.Settings.Keyboard.CloseSettingsWindow" = "Zapri okno nastavitev"; +"Scene.Settings.Section.Appearance.Automatic" = "Samodejno"; +"Scene.Settings.Section.Appearance.Dark" = "Vedno temno"; +"Scene.Settings.Section.Appearance.Light" = "Vedno svetlo"; +"Scene.Settings.Section.Appearance.Title" = "Videz"; +"Scene.Settings.Section.BoringZone.AccountSettings" = "Nastavitve računa"; +"Scene.Settings.Section.BoringZone.Privacy" = "Pravilnik o zasebnosti"; +"Scene.Settings.Section.BoringZone.Terms" = "Pogoji uporabe"; +"Scene.Settings.Section.BoringZone.Title" = "Cona dolgočasja"; +"Scene.Settings.Section.LookAndFeel.Light" = "Svetlo"; +"Scene.Settings.Section.LookAndFeel.ReallyDark" = "Zares temno"; +"Scene.Settings.Section.LookAndFeel.SortaDark" = "Nekako temno"; +"Scene.Settings.Section.LookAndFeel.Title" = "Videz in občutek"; +"Scene.Settings.Section.LookAndFeel.UseSystem" = "Uporabi sistemsko"; +"Scene.Settings.Section.Notifications.Boosts" = "prepošlje mojo objavo"; +"Scene.Settings.Section.Notifications.Favorites" = "mojo objavo da med priljubljene"; +"Scene.Settings.Section.Notifications.Follows" = "me sledi"; +"Scene.Settings.Section.Notifications.Mentions" = "me omeni"; +"Scene.Settings.Section.Notifications.Title" = "Obvestila"; +"Scene.Settings.Section.Notifications.Trigger.Anyone" = "kdor koli"; +"Scene.Settings.Section.Notifications.Trigger.Follow" = "nekdo, ki mu sledim,"; +"Scene.Settings.Section.Notifications.Trigger.Follower" = "sledilec/ka"; +"Scene.Settings.Section.Notifications.Trigger.Noone" = "nihče"; +"Scene.Settings.Section.Notifications.Trigger.Title" = "Obvesti me, ko"; +"Scene.Settings.Section.Preference.DisableAvatarAnimation" = "Onemogoči animirane avatarje"; +"Scene.Settings.Section.Preference.DisableEmojiAnimation" = "Onemogoči animirane emotikone"; +"Scene.Settings.Section.Preference.OpenLinksInMastodon" = "Odpri povezave v Mastodonu"; +"Scene.Settings.Section.Preference.Title" = "Nastavitve"; +"Scene.Settings.Section.Preference.TrueBlackDarkMode" = "Resnično črni temni način"; +"Scene.Settings.Section.Preference.UsingDefaultBrowser" = "Uporabi privzeti brskalnik za odpiranje povezav"; +"Scene.Settings.Section.SpicyZone.Clear" = "Počisti medijski predpomnilnik"; +"Scene.Settings.Section.SpicyZone.Signout" = "Odjava"; +"Scene.Settings.Section.SpicyZone.Title" = "Pikantna cona"; +"Scene.Settings.Title" = "Nastavitve"; +"Scene.SuggestionAccount.FollowExplain" = "Ko nekomu sledite, vidite njihove objave v svojem domačem viru."; +"Scene.SuggestionAccount.Title" = "Poiščite osebe, ki jim želite slediti"; +"Scene.Thread.BackTitle" = "Objavi"; +"Scene.Thread.Title" = "Objavil/a"; +"Scene.Welcome.GetStarted" = "Začnite"; +"Scene.Welcome.LogIn" = "Prijava"; +"Scene.Welcome.Slogan" = "Družbeno mreženje +spet v vaših rokah."; +"Scene.Wizard.AccessibilityHint" = "Dvakrat tapnite, da zapustite tega čarovnika"; +"Scene.Wizard.MultipleAccountSwitchIntroDescription" = "Preklopite med več računi s pritiskom gumba profila."; +"Scene.Wizard.NewInMastodon" = "Novo v Mastodonu"; \ No newline at end of file diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.stringsdict new file mode 100644 index 000000000..87cc42142 --- /dev/null +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/sl.lproj/Localizable.stringsdict @@ -0,0 +1,581 @@ + + + + + a11y.plural.count.unread.notification + + NSStringLocalizedFormatKey + %#@notification_count_unread_notification@ + notification_count_unread_notification + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld neprebrano obvestilo + two + %ld neprebrani obvestili + few + %ld neprebrana obvestila + other + %ld neprebranih obvestil + + + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Omejitev vnosa presega %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld znak + two + %ld znaka + few + %ld znaki + other + %ld znakov + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Omejitev vnosa ostaja %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld znak + two + %ld znaka + few + %ld znaki + other + %ld znakov + + + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + preostaja %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld znak + two + %ld znaka + few + %ld znaki + other + %ld znakov + + + plural.count.followed_by_and_mutual + + NSStringLocalizedFormatKey + %#@names@%#@count_mutual@ + names + + one + + two + + few + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + + + count_mutual + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Sledijo %1$@ in %ld skupni + two + Sledijo %1$@ in %ld skupna + few + Sledijo %1$@ in %ld skupni + other + Sledijo %1$@ in %ld skupnih + + + plural.count.metric_formatted.post + + NSStringLocalizedFormatKey + %@ %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + objava + two + objavi + few + objave + other + objav + + + plural.count.media + + NSStringLocalizedFormatKey + %#@media_count@ + media_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld medij + two + %ld medija + few + %ld mediji + other + %ld medijev + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld objava + two + %ld objavi + few + %ld objave + other + %ld objav + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld priljubljeni + two + %ld priljubljena + few + %ld priljubljeni + other + %ld priljubljenih + + + plural.count.reblog + + NSStringLocalizedFormatKey + %#@reblog_count@ + reblog_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld poobjava + two + %ld poobjavi + few + %ld poobjave + other + %ld poobjav + + + plural.count.reply + + NSStringLocalizedFormatKey + %#@reply_count@ + reply_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld odgovor + two + %ld odgovora + few + %ld odgovori + other + %ld odgovorov + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld glas + two + %ld glasova + few + %ld glasovi + other + %ld glasov + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld glasovalec + two + %ld glasovalca + few + %ld glasovalci + other + %ld glasovalcev + + + plural.people_talking + + NSStringLocalizedFormatKey + %#@count_people_talking@ + count_people_talking + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld oseba se pogovarja + two + %ld osebi se pogovarjata + few + %ld osebe se pogovarjajo + other + %ld oseb se pogovarja + + + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld sledi + two + %ld sledita + few + %ld sledijo + other + %ld sledijo + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + %ld sledilec + two + %ld sledilca + few + %ld sledilci + other + %ld sledilcev + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + na voljo še %ld leto + two + na voljo še %ld leti + few + na voljo še %ld leta + other + na voljo še %ld let + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + na voljo še %ld mesec + two + na voljo še %ld meseca + few + na voljo še %ld mesece + other + na voljo še %ld mesecev + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + še %ld dan + two + še %ld dneva + few + še %ld dnevi + other + še %ld dni + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + na voljo še %ld uro + two + na voljo še %ld uri + few + na voljo še %ld ure + other + na voljo še %ld ur + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Še %ld min. + two + Še %ld min. + few + Še %ld min. + other + Še %ld min. + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Preostane še %ld s + two + Preostaneta še %ld s + few + Preostanejo še %ld s + other + Preostane še %ld s + + + date.year.ago.abbr + + NSStringLocalizedFormatKey + %#@count_year_ago_abbr@ + count_year_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + pred %ld letom + two + pred %ld letoma + few + pred %ld leti + other + pred %ld leti + + + date.month.ago.abbr + + NSStringLocalizedFormatKey + %#@count_month_ago_abbr@ + count_month_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + pred %ld mesecem + two + pred %ld mesecema + few + pred %ld meseci + other + pred %ld meseci + + + date.day.ago.abbr + + NSStringLocalizedFormatKey + %#@count_day_ago_abbr@ + count_day_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + pred %ld dnem + two + pred %ld dnevoma + few + pred %ld dnemi + other + pred %ld dnemi + + + date.hour.ago.abbr + + NSStringLocalizedFormatKey + %#@count_hour_ago_abbr@ + count_hour_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + pred %ld uro + two + pred %ld urama + few + pred %ld urami + other + pred %ld urami + + + date.minute.ago.abbr + + NSStringLocalizedFormatKey + %#@count_minute_ago_abbr@ + count_minute_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + pred %ld min + two + pred %ld min + few + pred %ld min + other + pred %ld min + + + date.second.ago.abbr + + NSStringLocalizedFormatKey + %#@count_second_ago_abbr@ + count_second_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + pred %ld s + two + pred %ld s + few + pred %ld s + other + pred %ld s + + + + From 3ee9035758aedfab64c7f5b646e23fc8122b62c9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:58:57 +0100 Subject: [PATCH 221/300] New translations app.json (Korean) --- .../StringsConvertor/input/ko.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ko.lproj/app.json b/Localization/StringsConvertor/input/ko.lproj/app.json index 3971b18e9..070386bf9 100644 --- a/Localization/StringsConvertor/input/ko.lproj/app.json +++ b/Localization/StringsConvertor/input/ko.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "사진 촬영", "save_photo": "사진 저장", "copy_photo": "사진 복사", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "로그인", + "sign_up": "계정 생성", "see_more": "더 보기", "preview": "미리보기", "share": "공유", @@ -219,15 +219,15 @@ "log_in": "로그인" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "돌아오신 것을 환영합니다", + "subtitle": "계정을 만든 서버에 로그인.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "URL을 입력하거나 서버를 검색" } }, "server_picker": { "title": "서버를 고르세요,\n아무 서버나 좋습니다.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "당신의 지역이나, 관심사에 따라, 혹은 그냥 일반적인 목적의 서버를 고르세요. 어떤 서버를 고르더라도 마스토돈의 다른 모두와 소통할 수 있습니다.", "button": { "category": { "all": "모두", @@ -254,7 +254,7 @@ "category": "분류" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "커뮤니티를 검색하거나 URL을 입력" }, "empty_state": { "finding_servers": "사용 가능한 서버를 찾는 중입니다...", From fe308e20d56b725e6eb8c8c73bbe6ecacb35888b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:58:58 +0100 Subject: [PATCH 222/300] New translations app.json (Scottish Gaelic) --- .../StringsConvertor/input/gd.lproj/app.json | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/Localization/StringsConvertor/input/gd.lproj/app.json b/Localization/StringsConvertor/input/gd.lproj/app.json index f29f0fa17..74666cb0c 100644 --- a/Localization/StringsConvertor/input/gd.lproj/app.json +++ b/Localization/StringsConvertor/input/gd.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Tog dealbh", "save_photo": "Sàbhail an dealbh", "copy_photo": "Dèan lethbhreac dhen dealbh", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Clàraich a-steach", + "sign_up": "Cruthaich cunntas", "see_more": "Seall a bharrachd", "preview": "Ro-sheall", "share": "Co-roinn", @@ -137,10 +137,10 @@ "closed": "Dùinte" }, "meta_entity": { - "url": "Link: %s", - "hashtag": "Hashtag: %s", - "mention": "Show Profile: %s", - "email": "Email address: %s" + "url": "Ceangal: %s", + "hashtag": "Taga hais: %s", + "mention": "Seall a’ phròifil: %s", + "email": "Seòladh puist-d: %s" }, "actions": { "reply": "Freagair", @@ -187,8 +187,8 @@ "unmute_user": "Dì-mhùch %s", "muted": "’Ga mhùchadh", "edit_info": "Deasaich", - "show_reblogs": "Show Reblogs", - "hide_reblogs": "Hide Reblogs" + "show_reblogs": "Seall na brosnachaidhean", + "hide_reblogs": "Falaich na brosnachaidhean" }, "timeline": { "filtered": "Criathraichte", @@ -219,15 +219,15 @@ "log_in": "Clàraich a-steach" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Fàilte air ais", + "subtitle": "Clàraich a-steach air an fhrithealaiche far an do chruthaich thu an cunntas agad.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Cuir a-steach URL an fhrithealaiche agad" } }, "server_picker": { "title": "Tha cleachdaichean Mhastodon air iomadh frithealaiche eadar-dhealaichte.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Tagh frithealaiche stèidhichte air na sgìre agad, d’ ùidhean, air far a bheil thu no fear coitcheann. ’S urrainn dhut fhathast conaltradh le duine sam bith air Mastodon ge b’ e na frithealaichean agaibh-se.", "button": { "category": { "all": "Na h-uile", @@ -254,7 +254,7 @@ "category": "ROINN-SEÒRSA" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Lorg coimhearsnachd no cuir a-steach URL" }, "empty_state": { "finding_servers": "A’ lorg nam frithealaichean ri am faighinn…", @@ -388,12 +388,12 @@ "attachment_broken": "Seo %s a tha briste is cha ghabh\na luchdadh suas gu Mastodon.", "description_photo": "Mìnich an dealbh dhan fheadhainn air a bheil cion-lèirsinne…", "description_video": "Mìnich a’ video dhan fheadhainn air a bheil cion-lèirsinne…", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", - "attachment_too_large": "Attachment too large", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "load_failed": "Dh’fhàillig leis an luchdadh", + "upload_failed": "Dh’fhàillig leis an luchdadh suas", + "can_not_recognize_this_media_attachment": "Cha do dh’aithnich sinn an ceanglachan meadhain seo", + "attachment_too_large": "Tha an ceanglachan ro mhòr", + "compressing_state": "’Ga dhùmhlachadh…", + "server_processing_state": "Tha am frithealaiche ’ga phròiseasadh…" }, "poll": { "duration_time": "Faide: %s", @@ -404,8 +404,8 @@ "three_days": "3 làithean", "seven_days": "Seachdain", "option_number": "Roghainn %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "Tha an cunntas-bheachd mì-dhligheach", + "the_poll_has_empty_option": "Tha roghainn fhalamh aig a’ chunntas-bheachd" }, "content_warning": { "placeholder": "Sgrìobh rabhadh pongail an-seo…" @@ -427,8 +427,8 @@ "enable_content_warning": "Cuir rabhadh susbainte an comas", "disable_content_warning": "Cuir rabhadh susbainte à comas", "post_visibility_menu": "Clàr-taice faicsinneachd a’ phuist", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Roghainnean postaidh", + "posting_as": "A’ postadh mar %s" }, "keyboard": { "discard_post": "Tilg air falbh am post", @@ -455,8 +455,8 @@ "content": "Susbaint" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Air a dhearbhadh %s", + "long": "Chaidh dearbhadh cò leis a tha an ceangal seo %s" } }, "segmented_control": { @@ -484,12 +484,12 @@ "message": "Dearbh dì-bhacadh %s" }, "confirm_show_reblogs": { - "title": "Show Reblogs", - "message": "Confirm to show reblogs" + "title": "Seall na brosnachaidhean", + "message": "Dearbh sealladh nam brosnachaidhean" }, "confirm_hide_reblogs": { - "title": "Hide Reblogs", - "message": "Confirm to hide reblogs" + "title": "Falaich na brosnachaidhean", + "message": "Dearbh falach nam brosnachaidhean" } }, "accessibility": { @@ -721,7 +721,7 @@ "accessibility_hint": "Thoir gnogag dhùbailte a’ leigeil seachad an draoidh seo" }, "bookmark": { - "title": "Bookmarks" + "title": "Comharran-lìn" } } } From 64f397b43a84fd742378494253c6134a101fb8fc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:58:59 +0100 Subject: [PATCH 223/300] New translations Localizable.stringsdict (Scottish Gaelic) --- .../input/gd.lproj/Localizable.stringsdict | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict index 45ba1e156..9b3e69ea7 100644 --- a/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict @@ -65,7 +65,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ air fhàgail character_count NSStringFormatSpecTypeKey @@ -73,13 +73,13 @@ NSStringFormatValueTypeKey ld one - 1 character + %ld charactar two - %ld characters + %ld charactar few - %ld characters + %ld caractaran other - %ld characters + %ld caractar plural.count.followed_by_and_mutual From a1596cb7eae15372ac643637d46fb11702c77660 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:59:01 +0100 Subject: [PATCH 224/300] New translations app.json (Chinese Simplified) --- .../input/zh-Hans.lproj/app.json | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json index 242d9aac2..c503c5186 100644 --- a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "拍照", "save_photo": "保存照片", "copy_photo": "拷贝照片", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "登录", + "sign_up": "创建账户", "see_more": "查看更多", "preview": "预览", "share": "分享", @@ -137,10 +137,10 @@ "closed": "已关闭" }, "meta_entity": { - "url": "Link: %s", - "hashtag": "Hashtag: %s", - "mention": "Show Profile: %s", - "email": "Email address: %s" + "url": "链接:%s", + "hashtag": "话题:%s", + "mention": "显示用户资料:%s", + "email": "邮箱地址:%s" }, "actions": { "reply": "回复", @@ -187,8 +187,8 @@ "unmute_user": "取消静音 %s", "muted": "已静音", "edit_info": "编辑", - "show_reblogs": "Show Reblogs", - "hide_reblogs": "Hide Reblogs" + "show_reblogs": "显示转发", + "hide_reblogs": "隐藏转发" }, "timeline": { "filtered": "已过滤", @@ -219,15 +219,15 @@ "log_in": "登录" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "欢迎回来", + "subtitle": "登入您账户所在的服务器。", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "输入网址或搜索您的服务器" } }, "server_picker": { "title": "挑选一个服务器,\n任意服务器。", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "根据你的地区、兴趣挑选一个服务器。无论你选择哪个服务器,你都可以跟其他服务器的任何人一起聊天。", "button": { "category": { "all": "全部", @@ -254,7 +254,7 @@ "category": "类别" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "搜索社区或输入 URL" }, "empty_state": { "finding_servers": "正在查找可用的服务器...", @@ -388,12 +388,12 @@ "attachment_broken": "%s已损坏\n无法上传到 Mastodon", "description_photo": "为视觉障碍人士添加照片的文字说明...", "description_video": "为视觉障碍人士添加视频的文字说明...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", - "attachment_too_large": "Attachment too large", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "load_failed": "加载失败", + "upload_failed": "上传失败", + "can_not_recognize_this_media_attachment": "无法识别此媒体", + "attachment_too_large": "附件太大", + "compressing_state": "压缩中...", + "server_processing_state": "服务器正在处理..." }, "poll": { "duration_time": "时长:%s", @@ -404,8 +404,8 @@ "three_days": "3 天", "seven_days": "7 天", "option_number": "选项 %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "投票无效", + "the_poll_has_empty_option": "投票含有空选项" }, "content_warning": { "placeholder": "在这里写下内容的警告消息..." @@ -427,8 +427,8 @@ "enable_content_warning": "启用内容警告", "disable_content_warning": "关闭内容警告", "post_visibility_menu": "帖子可见性", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "帖子选项", + "posting_as": "以 %s 身份发布" }, "keyboard": { "discard_post": "丢弃帖子", @@ -455,8 +455,8 @@ "content": "内容" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "验证于 %s", + "long": "此链接的所有权已在 %s 上检查通过" } }, "segmented_control": { @@ -484,12 +484,12 @@ "message": "确认取消屏蔽 %s" }, "confirm_show_reblogs": { - "title": "Show Reblogs", - "message": "Confirm to show reblogs" + "title": "显示转发", + "message": "确认显示转发" }, "confirm_hide_reblogs": { - "title": "Hide Reblogs", - "message": "Confirm to hide reblogs" + "title": "隐藏转发", + "message": "确认隐藏转发" } }, "accessibility": { @@ -721,7 +721,7 @@ "accessibility_hint": "双击关闭此向导" }, "bookmark": { - "title": "Bookmarks" + "title": "书签" } } } From c198d2050e10fbdef9caa6d30f36e1a8968dedb0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:59:02 +0100 Subject: [PATCH 225/300] New translations Localizable.stringsdict (Chinese Simplified) --- .../input/zh-Hans.lproj/Localizable.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict index 915a524b5..362d55c4f 100644 --- a/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/zh-Hans.lproj/Localizable.stringsdict @@ -47,7 +47,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ 剩余 character_count NSStringFormatSpecTypeKey @@ -55,7 +55,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 个字符 plural.count.followed_by_and_mutual From 6cd6c8c9db587d7b031a6e9b187e7682be5b580d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:59:02 +0100 Subject: [PATCH 226/300] New translations app.json (Icelandic) --- .../StringsConvertor/input/is.lproj/app.json | 727 ++++++++++++++++++ 1 file changed, 727 insertions(+) create mode 100644 Localization/StringsConvertor/input/is.lproj/app.json diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json new file mode 100644 index 000000000..3113ada74 --- /dev/null +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -0,0 +1,727 @@ +{ + "common": { + "alerts": { + "common": { + "please_try_again": "Please try again.", + "please_try_again_later": "Please try again later." + }, + "sign_up_failure": { + "title": "Sign Up Failure" + }, + "server_error": { + "title": "Server Error" + }, + "vote_failure": { + "title": "Vote Failure", + "poll_ended": "The poll has ended" + }, + "discard_post_content": { + "title": "Discard Draft", + "message": "Confirm to discard composed post content." + }, + "publish_post_failure": { + "title": "Publish Failure", + "message": "Failed to publish the post.\nPlease check your internet connection.", + "attachments_message": { + "video_attach_with_photo": "Cannot attach a video to a post that already contains images.", + "more_than_one_video": "Cannot attach more than one video." + } + }, + "edit_profile_failure": { + "title": "Edit Profile Error", + "message": "Cannot edit profile. Please try again." + }, + "sign_out": { + "title": "Sign Out", + "message": "Are you sure you want to sign out?", + "confirm": "Sign Out" + }, + "block_domain": { + "title": "Are you really, really sure you want to block the entire %s? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain and any of your followers from that domain will be removed.", + "block_entire_domain": "Block Domain" + }, + "save_photo_failure": { + "title": "Save Photo Failure", + "message": "Please enable the photo library access permission to save the photo." + }, + "delete_post": { + "title": "Delete Post", + "message": "Are you sure you want to delete this post?" + }, + "clean_cache": { + "title": "Clean Cache", + "message": "Successfully cleaned %s cache." + } + }, + "controls": { + "actions": { + "back": "Back", + "next": "Next", + "previous": "Previous", + "open": "Open", + "add": "Add", + "remove": "Remove", + "edit": "Edit", + "save": "Save", + "ok": "OK", + "done": "Done", + "confirm": "Confirm", + "continue": "Continue", + "compose": "Compose", + "cancel": "Cancel", + "discard": "Discard", + "try_again": "Try Again", + "take_photo": "Take Photo", + "save_photo": "Save Photo", + "copy_photo": "Copy Photo", + "sign_in": "Log in", + "sign_up": "Create account", + "see_more": "See More", + "preview": "Preview", + "share": "Share", + "share_user": "Share %s", + "share_post": "Share Post", + "open_in_safari": "Open in Safari", + "open_in_browser": "Open in Browser", + "find_people": "Find people to follow", + "manually_search": "Manually search instead", + "skip": "Skip", + "reply": "Reply", + "report_user": "Report %s", + "block_domain": "Block %s", + "unblock_domain": "Unblock %s", + "settings": "Settings", + "delete": "Delete" + }, + "tabs": { + "home": "Home", + "search": "Search", + "notification": "Notification", + "profile": "Profile" + }, + "keyboard": { + "common": { + "switch_to_tab": "Switch to %s", + "compose_new_post": "Compose New Post", + "show_favorites": "Show Favorites", + "open_settings": "Open Settings" + }, + "timeline": { + "previous_status": "Previous Post", + "next_status": "Next Post", + "open_status": "Open Post", + "open_author_profile": "Open Author's Profile", + "open_reblogger_profile": "Open Reblogger's Profile", + "reply_status": "Reply to Post", + "toggle_reblog": "Toggle Reblog on Post", + "toggle_favorite": "Toggle Favorite on Post", + "toggle_content_warning": "Toggle Content Warning", + "preview_image": "Preview Image" + }, + "segmented_control": { + "previous_section": "Previous Section", + "next_section": "Next Section" + } + }, + "status": { + "user_reblogged": "%s reblogged", + "user_replied_to": "Replied to %s", + "show_post": "Show Post", + "show_user_profile": "Show user profile", + "content_warning": "Content Warning", + "sensitive_content": "Sensitive Content", + "media_content_warning": "Tap anywhere to reveal", + "tap_to_reveal": "Tap to reveal", + "poll": { + "vote": "Vote", + "closed": "Closed" + }, + "meta_entity": { + "url": "Link: %s", + "hashtag": "Hashtag: %s", + "mention": "Show Profile: %s", + "email": "Email address: %s" + }, + "actions": { + "reply": "Reply", + "reblog": "Reblog", + "unreblog": "Undo reblog", + "favorite": "Favorite", + "unfavorite": "Unfavorite", + "menu": "Menu", + "hide": "Hide", + "show_image": "Show image", + "show_gif": "Show GIF", + "show_video_player": "Show video player", + "tap_then_hold_to_show_menu": "Tap then hold to show menu" + }, + "tag": { + "url": "URL", + "mention": "Mention", + "link": "Link", + "hashtag": "Hashtag", + "email": "Email", + "emoji": "Emoji" + }, + "visibility": { + "unlisted": "Everyone can see this post but not display in the public timeline.", + "private": "Only their followers can see this post.", + "private_from_me": "Only my followers can see this post.", + "direct": "Only mentioned user can see this post." + } + }, + "friendship": { + "follow": "Follow", + "following": "Following", + "request": "Request", + "pending": "Pending", + "block": "Block", + "block_user": "Block %s", + "block_domain": "Block %s", + "unblock": "Unblock", + "unblock_user": "Unblock %s", + "blocked": "Blocked", + "mute": "Mute", + "mute_user": "Mute %s", + "unmute": "Unmute", + "unmute_user": "Unmute %s", + "muted": "Muted", + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" + }, + "timeline": { + "filtered": "Filtered", + "timestamp": { + "now": "Now" + }, + "loader": { + "load_missing_posts": "Load missing posts", + "loading_missing_posts": "Loading missing posts...", + "show_more_replies": "Show more replies" + }, + "header": { + "no_status_found": "No Post Found", + "blocking_warning": "You can’t view this user's profile\nuntil you unblock them.\nYour profile looks like this to them.", + "user_blocking_warning": "You can’t view %s’s profile\nuntil you unblock them.\nYour profile looks like this to them.", + "blocked_warning": "You can’t view this user’s profile\nuntil they unblock you.", + "user_blocked_warning": "You can’t view %s’s profile\nuntil they unblock you.", + "suspended_warning": "This user has been suspended.", + "user_suspended_warning": "%s’s account has been suspended." + } + } + } + }, + "scene": { + "welcome": { + "slogan": "Social networking\nback in your hands.", + "get_started": "Get Started", + "log_in": "Log In" + }, + "login": { + "title": "Welcome back", + "subtitle": "Log you in on the server you created your account on.", + "server_search_field": { + "placeholder": "Enter URL or search for your server" + } + }, + "server_picker": { + "title": "Mastodon is made of users in different servers.", + "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "button": { + "category": { + "all": "All", + "all_accessiblity_description": "Category: All", + "academia": "academia", + "activism": "activism", + "food": "food", + "furry": "furry", + "games": "games", + "general": "general", + "journalism": "journalism", + "lgbt": "lgbt", + "regional": "regional", + "art": "art", + "music": "music", + "tech": "tech" + }, + "see_less": "See Less", + "see_more": "See More" + }, + "label": { + "language": "LANGUAGE", + "users": "USERS", + "category": "CATEGORY" + }, + "input": { + "search_servers_or_enter_url": "Search communities or enter URL" + }, + "empty_state": { + "finding_servers": "Finding available servers...", + "bad_network": "Something went wrong while loading the data. Check your internet connection.", + "no_results": "No results" + } + }, + "register": { + "title": "Let’s get you set up on %s", + "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", + "input": { + "avatar": { + "delete": "Delete" + }, + "username": { + "placeholder": "username", + "duplicate_prompt": "This username is taken." + }, + "display_name": { + "placeholder": "display name" + }, + "email": { + "placeholder": "email" + }, + "password": { + "placeholder": "password", + "require": "Your password needs at least:", + "character_limit": "8 characters", + "accessibility": { + "checked": "checked", + "unchecked": "unchecked" + }, + "hint": "Your password needs at least eight characters" + }, + "invite": { + "registration_user_invite_request": "Why do you want to join?" + } + }, + "error": { + "item": { + "username": "Username", + "email": "Email", + "password": "Password", + "agreement": "Agreement", + "locale": "Locale", + "reason": "Reason" + }, + "reason": { + "blocked": "%s contains a disallowed email provider", + "unreachable": "%s does not seem to exist", + "taken": "%s is already in use", + "reserved": "%s is a reserved keyword", + "accepted": "%s must be accepted", + "blank": "%s is required", + "invalid": "%s is invalid", + "too_long": "%s is too long", + "too_short": "%s is too short", + "inclusion": "%s is not a supported value" + }, + "special": { + "username_invalid": "Username must only contain alphanumeric characters and underscores", + "username_too_long": "Username is too long (can’t be longer than 30 characters)", + "email_invalid": "This is not a valid email address", + "password_too_short": "Password is too short (must be at least 8 characters)" + } + } + }, + "server_rules": { + "title": "Some ground rules.", + "subtitle": "These are set and enforced by the %s moderators.", + "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", + "terms_of_service": "terms of service", + "privacy_policy": "privacy policy", + "button": { + "confirm": "I Agree" + } + }, + "confirm_email": { + "title": "One last thing.", + "subtitle": "Tap the link we emailed to you to verify your account.", + "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", + "button": { + "open_email_app": "Open Email App", + "resend": "Resend" + }, + "dont_receive_email": { + "title": "Check your email", + "description": "Check if your email address is correct as well as your junk folder if you haven’t.", + "resend_email": "Resend Email" + }, + "open_email_app": { + "title": "Check your inbox.", + "description": "We just sent you an email. Check your junk folder if you haven’t.", + "mail": "Mail", + "open_email_client": "Open Email Client" + } + }, + "home_timeline": { + "title": "Home", + "navigation_bar_state": { + "offline": "Offline", + "new_posts": "See new posts", + "published": "Published!", + "Publishing": "Publishing post...", + "accessibility": { + "logo_label": "Logo Button", + "logo_hint": "Tap to scroll to top and tap again to previous location" + } + } + }, + "suggestion_account": { + "title": "Find People to Follow", + "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + }, + "compose": { + "title": { + "new_post": "New Post", + "new_reply": "New Reply" + }, + "media_selection": { + "camera": "Take Photo", + "photo_library": "Photo Library", + "browse": "Browse" + }, + "content_input_placeholder": "Type or paste what’s on your mind", + "compose_action": "Publish", + "replying_to_user": "replying to %s", + "attachment": { + "photo": "photo", + "video": "video", + "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", + "description_photo": "Describe the photo for the visually-impaired...", + "description_video": "Describe the video for the visually-impaired...", + "load_failed": "Load Failed", + "upload_failed": "Upload Failed", + "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "attachment_too_large": "Attachment too large", + "compressing_state": "Compressing...", + "server_processing_state": "Server Processing..." + }, + "poll": { + "duration_time": "Duration: %s", + "thirty_minutes": "30 minutes", + "one_hour": "1 Hour", + "six_hours": "6 Hours", + "one_day": "1 Day", + "three_days": "3 Days", + "seven_days": "7 Days", + "option_number": "Option %ld", + "the_poll_is_invalid": "The poll is invalid", + "the_poll_has_empty_option": "The poll has empty option" + }, + "content_warning": { + "placeholder": "Write an accurate warning here..." + }, + "visibility": { + "public": "Public", + "unlisted": "Unlisted", + "private": "Followers only", + "direct": "Only people I mention" + }, + "auto_complete": { + "space_to_add": "Space to add" + }, + "accessibility": { + "append_attachment": "Add Attachment", + "append_poll": "Add Poll", + "remove_poll": "Remove Poll", + "custom_emoji_picker": "Custom Emoji Picker", + "enable_content_warning": "Enable Content Warning", + "disable_content_warning": "Disable Content Warning", + "post_visibility_menu": "Post Visibility Menu", + "post_options": "Post Options", + "posting_as": "Posting as %s" + }, + "keyboard": { + "discard_post": "Discard Post", + "publish_post": "Publish Post", + "toggle_poll": "Toggle Poll", + "toggle_content_warning": "Toggle Content Warning", + "append_attachment_entry": "Add Attachment - %s", + "select_visibility_entry": "Select Visibility - %s" + } + }, + "profile": { + "header": { + "follows_you": "Follows You" + }, + "dashboard": { + "posts": "posts", + "following": "following", + "followers": "followers" + }, + "fields": { + "add_row": "Add Row", + "placeholder": { + "label": "Label", + "content": "Content" + }, + "verified": { + "short": "Verified on %s", + "long": "Ownership of this link was checked on %s" + } + }, + "segmented_control": { + "posts": "Posts", + "replies": "Replies", + "posts_and_replies": "Posts and Replies", + "media": "Media", + "about": "About" + }, + "relationship_action_alert": { + "confirm_mute_user": { + "title": "Mute Account", + "message": "Confirm to mute %s" + }, + "confirm_unmute_user": { + "title": "Unmute Account", + "message": "Confirm to unmute %s" + }, + "confirm_block_user": { + "title": "Block Account", + "message": "Confirm to block %s" + }, + "confirm_unblock_user": { + "title": "Unblock Account", + "message": "Confirm to unblock %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" + } + }, + "accessibility": { + "show_avatar_image": "Show avatar image", + "edit_avatar_image": "Edit avatar image", + "show_banner_image": "Show banner image", + "double_tap_to_open_the_list": "Double tap to open the list" + } + }, + "follower": { + "title": "follower", + "footer": "Followers from other servers are not displayed." + }, + "following": { + "title": "following", + "footer": "Follows from other servers are not displayed." + }, + "familiarFollowers": { + "title": "Followers you familiar", + "followed_by_names": "Followed by %s" + }, + "favorited_by": { + "title": "Favorited By" + }, + "reblogged_by": { + "title": "Reblogged By" + }, + "search": { + "title": "Search", + "search_bar": { + "placeholder": "Search hashtags and users", + "cancel": "Cancel" + }, + "recommend": { + "button_text": "See All", + "hash_tag": { + "title": "Trending on Mastodon", + "description": "Hashtags that are getting quite a bit of attention", + "people_talking": "%s people are talking" + }, + "accounts": { + "title": "Accounts you might like", + "description": "You may like to follow these accounts", + "follow": "Follow" + } + }, + "searching": { + "segment": { + "all": "All", + "people": "People", + "hashtags": "Hashtags", + "posts": "Posts" + }, + "empty_state": { + "no_results": "No results" + }, + "recent_search": "Recent searches", + "clear": "Clear" + } + }, + "discovery": { + "tabs": { + "posts": "Posts", + "hashtags": "Hashtags", + "news": "News", + "community": "Community", + "for_you": "For You" + }, + "intro": "These are the posts gaining traction in your corner of Mastodon." + }, + "favorite": { + "title": "Your Favorites" + }, + "notification": { + "title": { + "Everything": "Everything", + "Mentions": "Mentions" + }, + "notification_description": { + "followed_you": "followed you", + "favorited_your_post": "favorited your post", + "reblogged_your_post": "reblogged your post", + "mentioned_you": "mentioned you", + "request_to_follow_you": "request to follow you", + "poll_has_ended": "poll has ended" + }, + "keyobard": { + "show_everything": "Show Everything", + "show_mentions": "Show Mentions" + }, + "follow_request": { + "accept": "Accept", + "accepted": "Accepted", + "reject": "reject", + "rejected": "Rejected" + } + }, + "thread": { + "back_title": "Post", + "title": "Post from %s" + }, + "settings": { + "title": "Settings", + "section": { + "appearance": { + "title": "Appearance", + "automatic": "Automatic", + "light": "Always Light", + "dark": "Always Dark" + }, + "look_and_feel": { + "title": "Look and Feel", + "use_system": "Use System", + "really_dark": "Really Dark", + "sorta_dark": "Sorta Dark", + "light": "Light" + }, + "notifications": { + "title": "Notifications", + "favorites": "Favorites my post", + "follows": "Follows me", + "boosts": "Reblogs my post", + "mentions": "Mentions me", + "trigger": { + "anyone": "anyone", + "follower": "a follower", + "follow": "anyone I follow", + "noone": "no one", + "title": "Notify me when" + } + }, + "preference": { + "title": "Preferences", + "true_black_dark_mode": "True black dark mode", + "disable_avatar_animation": "Disable animated avatars", + "disable_emoji_animation": "Disable animated emojis", + "using_default_browser": "Use default browser to open links", + "open_links_in_mastodon": "Open links in Mastodon" + }, + "boring_zone": { + "title": "The Boring Zone", + "account_settings": "Account Settings", + "terms": "Terms of Service", + "privacy": "Privacy Policy" + }, + "spicy_zone": { + "title": "The Spicy Zone", + "clear": "Clear Media Cache", + "signout": "Sign Out" + } + }, + "footer": { + "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + }, + "keyboard": { + "close_settings_window": "Close Settings Window" + } + }, + "report": { + "title_report": "Report", + "title": "Report %s", + "step1": "Step 1 of 2", + "step2": "Step 2 of 2", + "content1": "Are there any other posts you’d like to add to the report?", + "content2": "Is there anything the moderators should know about this report?", + "report_sent_title": "Thanks for reporting, we’ll look into this.", + "send": "Send Report", + "skip_to_send": "Send without comment", + "text_placeholder": "Type or paste additional comments", + "reported": "REPORTED", + "step_one": { + "step_1_of_4": "Step 1 of 4", + "whats_wrong_with_this_post": "What's wrong with this post?", + "whats_wrong_with_this_account": "What's wrong with this account?", + "whats_wrong_with_this_username": "What's wrong with %s?", + "select_the_best_match": "Select the best match", + "i_dont_like_it": "I don’t like it", + "it_is_not_something_you_want_to_see": "It is not something you want to see", + "its_spam": "It’s spam", + "malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies", + "it_violates_server_rules": "It violates server rules", + "you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules", + "its_something_else": "It’s something else", + "the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories" + }, + "step_two": { + "step_2_of_4": "Step 2 of 4", + "which_rules_are_being_violated": "Which rules are being violated?", + "select_all_that_apply": "Select all that apply", + "i_just_don’t_like_it": "I just don’t like it" + }, + "step_three": { + "step_3_of_4": "Step 3 of 4", + "are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?", + "select_all_that_apply": "Select all that apply" + }, + "step_four": { + "step_4_of_4": "Step 4 of 4", + "is_there_anything_else_we_should_know": "Is there anything else we should know?" + }, + "step_final": { + "dont_want_to_see_this": "Don’t want to see this?", + "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.", + "unfollow": "Unfollow", + "unfollowed": "Unfollowed", + "unfollow_user": "Unfollow %s", + "mute_user": "Mute %s", + "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.", + "block_user": "Block %s", + "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.", + "while_we_review_this_you_can_take_action_against_user": "While we review this, you can take action against %s" + } + }, + "preview": { + "keyboard": { + "close_preview": "Close Preview", + "show_next": "Show Next", + "show_previous": "Show Previous" + } + }, + "account_list": { + "tab_bar_hint": "Current selected profile: %s. Double tap then hold to show account switcher", + "dismiss_account_switcher": "Dismiss Account Switcher", + "add_account": "Add Account" + }, + "wizard": { + "new_in_mastodon": "New in Mastodon", + "multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.", + "accessibility_hint": "Double tap to dismiss this wizard" + }, + "bookmark": { + "title": "Bookmarks" + } + } +} From 22f10bbc348808b2366c2d133504cca4ae3e3c6e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:59:03 +0100 Subject: [PATCH 227/300] New translations ios-infoPlist.json (Icelandic) --- .../StringsConvertor/input/is.lproj/ios-infoPlist.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json diff --git a/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json new file mode 100644 index 000000000..c6db73de0 --- /dev/null +++ b/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json @@ -0,0 +1,6 @@ +{ + "NSCameraUsageDescription": "Used to take photo for post status", + "NSPhotoLibraryAddUsageDescription": "Used to save photo into the Photo Library", + "NewPostShortcutItemTitle": "New Post", + "SearchShortcutItemTitle": "Search" +} From beabb10bc653442057a7e133f6c23fe7d6cbd125 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:59:04 +0100 Subject: [PATCH 228/300] New translations Localizable.stringsdict (Icelandic) --- .../input/is.lproj/Localizable.stringsdict | 465 ++++++++++++++++++ 1 file changed, 465 insertions(+) create mode 100644 Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict diff --git a/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict new file mode 100644 index 000000000..eabdc3c32 --- /dev/null +++ b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict @@ -0,0 +1,465 @@ + + + + + a11y.plural.count.unread.notification + + NSStringLocalizedFormatKey + %#@notification_count_unread_notification@ + notification_count_unread_notification + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 unread notification + other + %ld unread notification + + + a11y.plural.count.input_limit_exceeds + + NSStringLocalizedFormatKey + Input limit exceeds %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + a11y.plural.count.characters_left + + NSStringLocalizedFormatKey + %#@character_count@ left + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 character + other + %ld characters + + + plural.count.followed_by_and_mutual + + NSStringLocalizedFormatKey + %#@names@%#@count_mutual@ + names + + one + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + + + count_mutual + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + Followed by %1$@, and another mutual + other + Followed by %1$@, and %ld mutuals + + + plural.count.metric_formatted.post + + NSStringLocalizedFormatKey + %@ %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + post + other + posts + + + plural.count.media + + NSStringLocalizedFormatKey + %#@media_count@ + media_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 media + other + %ld media + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + other + %ld posts + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 favorite + other + %ld favorites + + + plural.count.reblog + + NSStringLocalizedFormatKey + %#@reblog_count@ + reblog_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 reblog + other + %ld reblogs + + + plural.count.reply + + NSStringLocalizedFormatKey + %#@reply_count@ + reply_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 reply + other + %ld replies + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 vote + other + %ld votes + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 voter + other + %ld voters + + + plural.people_talking + + NSStringLocalizedFormatKey + %#@count_people_talking@ + count_people_talking + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 people talking + other + %ld people talking + + + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 second left + other + %ld seconds left + + + date.year.ago.abbr + + NSStringLocalizedFormatKey + %#@count_year_ago_abbr@ + count_year_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1y ago + other + %ldy ago + + + date.month.ago.abbr + + NSStringLocalizedFormatKey + %#@count_month_ago_abbr@ + count_month_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1M ago + other + %ldM ago + + + date.day.ago.abbr + + NSStringLocalizedFormatKey + %#@count_day_ago_abbr@ + count_day_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1d ago + other + %ldd ago + + + date.hour.ago.abbr + + NSStringLocalizedFormatKey + %#@count_hour_ago_abbr@ + count_hour_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1h ago + other + %ldh ago + + + date.minute.ago.abbr + + NSStringLocalizedFormatKey + %#@count_minute_ago_abbr@ + count_minute_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1m ago + other + %ldm ago + + + date.second.ago.abbr + + NSStringLocalizedFormatKey + %#@count_second_ago_abbr@ + count_second_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1s ago + other + %lds ago + + + + From 4e1b2672878dbe5aa1ae4daf7b171d822c975eb9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:59:05 +0100 Subject: [PATCH 229/300] New translations Intents.strings (Icelandic) --- .../Intents/input/is.lproj/Intents.strings | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings new file mode 100644 index 000000000..6877490ba --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings @@ -0,0 +1,51 @@ +"16wxgf" = "Post on Mastodon"; + +"751xkl" = "Text Content"; + +"CsR7G2" = "Post on Mastodon"; + +"HZSGTr" = "What content to post?"; + +"HdGikU" = "Posting failed"; + +"KDNTJ4" = "Failure Reason"; + +"RHxKOw" = "Send Post with text content"; + +"RxSqsb" = "Post"; + +"WCIR3D" = "Post ${content} on Mastodon"; + +"ZKJSNu" = "Post"; + +"ZS1XaK" = "${content}"; + +"ZbSjzC" = "Visibility"; + +"Zo4jgJ" = "Post Visibility"; + +"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; + +"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; + +"ayoYEb-dYQ5NN" = "${content}, Public"; + +"ayoYEb-ehFLjY" = "${content}, Followers Only"; + +"dUyuGg" = "Post on Mastodon"; + +"dYQ5NN" = "Public"; + +"ehFLjY" = "Followers Only"; + +"gfePDu" = "Posting failed. ${failureReason}"; + +"k7dbKQ" = "Post was sent successfully."; + +"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; + +"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; + +"rM6dvp" = "URL"; + +"ryJLwG" = "Post was sent successfully. "; From 67cdd1928477dfe4e39e85ca4af4d64846f90642 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 12:59:06 +0100 Subject: [PATCH 230/300] New translations Intents.stringsdict (Icelandic) --- .../input/is.lproj/Intents.stringsdict | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict new file mode 100644 index 000000000..18422c772 --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict @@ -0,0 +1,38 @@ + + + + + There are ${count} options matching ‘${content}’. - 2 + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${content}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + one + 1 option + other + %ld options + + + There are ${count} options matching ‘${visibility}’. + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${visibility}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + one + 1 option + other + %ld options + + + + From 1f63f68014cba20b58c6dae1ec3ccf4bb4849f29 Mon Sep 17 00:00:00 2001 From: CMK Date: Wed, 16 Nov 2022 20:02:09 +0800 Subject: [PATCH 231/300] fix: not copy translation resource for info.plist issue --- Mastodon/Resources/Base.lproj/infoPlist.strings | 4 ++++ Mastodon/Resources/ar.lproj/InfoPlist.strings | 2 +- Mastodon/Resources/ckb.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/cs.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/de.lproj/infoPlist.strings | 6 +++--- Mastodon/Resources/eu.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/fi.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/gd.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/gl.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/it.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/kab.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/ku.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/nl.lproj/InfoPlist.strings | 2 +- Mastodon/Resources/sl.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/sv.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/tr.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/vi.lproj/InfoPlist.strings | 8 ++++---- Mastodon/Resources/zh-Hant.lproj/InfoPlist.strings | 8 ++++---- update_localization.sh | 1 + 19 files changed, 66 insertions(+), 61 deletions(-) create mode 100644 Mastodon/Resources/Base.lproj/infoPlist.strings diff --git a/Mastodon/Resources/Base.lproj/infoPlist.strings b/Mastodon/Resources/Base.lproj/infoPlist.strings new file mode 100644 index 000000000..710865573 --- /dev/null +++ b/Mastodon/Resources/Base.lproj/infoPlist.strings @@ -0,0 +1,4 @@ +"NSCameraUsageDescription" = "Used to take photo for post status"; +"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; +"NewPostShortcutItemTitle" = "New Post"; +"SearchShortcutItemTitle" = "Search"; \ No newline at end of file diff --git a/Mastodon/Resources/ar.lproj/InfoPlist.strings b/Mastodon/Resources/ar.lproj/InfoPlist.strings index c3b26f14a..ecb81ddd4 100644 --- a/Mastodon/Resources/ar.lproj/InfoPlist.strings +++ b/Mastodon/Resources/ar.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ "NSCameraUsageDescription" = "يُستخدم لالتقاط الصورة عِندَ نشر الحالات"; "NSPhotoLibraryAddUsageDescription" = "يُستخدم لحِفظ الصورة في مكتبة الصور"; -"NewPostShortcutItemTitle" = "منشور جديد"; +"NewPostShortcutItemTitle" = "مَنشُورٌ جَديد"; "SearchShortcutItemTitle" = "البحث"; \ No newline at end of file diff --git a/Mastodon/Resources/ckb.lproj/InfoPlist.strings b/Mastodon/Resources/ckb.lproj/InfoPlist.strings index 710865573..8c4946d2d 100644 --- a/Mastodon/Resources/ckb.lproj/InfoPlist.strings +++ b/Mastodon/Resources/ckb.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "بەکار دێت بۆ گرتنی وێنەیەک بۆ پۆستەکە"; +"NSPhotoLibraryAddUsageDescription" = "بەکار دێت بۆ هەڵگرتنی وێنە"; +"NewPostShortcutItemTitle" = "پۆستی نوێ"; +"SearchShortcutItemTitle" = "بگەڕێ"; \ No newline at end of file diff --git a/Mastodon/Resources/cs.lproj/InfoPlist.strings b/Mastodon/Resources/cs.lproj/InfoPlist.strings index 710865573..6989cfcb1 100644 --- a/Mastodon/Resources/cs.lproj/InfoPlist.strings +++ b/Mastodon/Resources/cs.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Slouží k pořízení fotografie pro příspěvek"; +"NSPhotoLibraryAddUsageDescription" = "Slouží k uložení fotografie do knihovny fotografií"; +"NewPostShortcutItemTitle" = "Nový příspěvek"; +"SearchShortcutItemTitle" = "Hledat"; \ No newline at end of file diff --git a/Mastodon/Resources/de.lproj/infoPlist.strings b/Mastodon/Resources/de.lproj/infoPlist.strings index 9c5feae53..9c8438653 100644 --- a/Mastodon/Resources/de.lproj/infoPlist.strings +++ b/Mastodon/Resources/de.lproj/infoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Verwendet um Fotos für neue Beiträge aufzunehmen"; -"NSPhotoLibraryAddUsageDescription" = "Verwendet um Fotos zu speichern"; +"NSCameraUsageDescription" = "Wird verwendet, um Fotos für neue Beiträge aufzunehmen"; +"NSPhotoLibraryAddUsageDescription" = "Wird verwendet, um Foto in der Foto-Mediathek zu speichern"; "NewPostShortcutItemTitle" = "Neuer Beitrag"; -"SearchShortcutItemTitle" = "Suche"; \ No newline at end of file +"SearchShortcutItemTitle" = "Suchen"; \ No newline at end of file diff --git a/Mastodon/Resources/eu.lproj/InfoPlist.strings b/Mastodon/Resources/eu.lproj/InfoPlist.strings index 710865573..e9d36a901 100644 --- a/Mastodon/Resources/eu.lproj/InfoPlist.strings +++ b/Mastodon/Resources/eu.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Bidalketetarako argazkiak ateratzeko erabiltzen da"; +"NSPhotoLibraryAddUsageDescription" = "Argazkiak Argazki-liburutegian gordetzeko erabiltzen da"; +"NewPostShortcutItemTitle" = "Bidalketa berria"; +"SearchShortcutItemTitle" = "Bilatu"; \ No newline at end of file diff --git a/Mastodon/Resources/fi.lproj/InfoPlist.strings b/Mastodon/Resources/fi.lproj/InfoPlist.strings index 710865573..040b25d69 100644 --- a/Mastodon/Resources/fi.lproj/InfoPlist.strings +++ b/Mastodon/Resources/fi.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Käytetään kuvan ottamiseen julkaisua varten"; +"NSPhotoLibraryAddUsageDescription" = "Käytetään kuvan tallentamiseen kuvakirjastoon"; +"NewPostShortcutItemTitle" = "Uusi julkaisu"; +"SearchShortcutItemTitle" = "Haku"; \ No newline at end of file diff --git a/Mastodon/Resources/gd.lproj/InfoPlist.strings b/Mastodon/Resources/gd.lproj/InfoPlist.strings index 710865573..ccb39b44e 100644 --- a/Mastodon/Resources/gd.lproj/InfoPlist.strings +++ b/Mastodon/Resources/gd.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "’Ga chleachdadh airson dealbh a thogail do staid puist"; +"NSPhotoLibraryAddUsageDescription" = "’Ga chleachdadh airson dealbh a shàbhaladh ann an tasg-lann nan dealbhan"; +"NewPostShortcutItemTitle" = "Post ùr"; +"SearchShortcutItemTitle" = "Lorg"; \ No newline at end of file diff --git a/Mastodon/Resources/gl.lproj/InfoPlist.strings b/Mastodon/Resources/gl.lproj/InfoPlist.strings index 710865573..3d6df3f0f 100644 --- a/Mastodon/Resources/gl.lproj/InfoPlist.strings +++ b/Mastodon/Resources/gl.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Utilizado para facer foto e publicar estado"; +"NSPhotoLibraryAddUsageDescription" = "Utilizado para gardar a foto na Biblioteca"; +"NewPostShortcutItemTitle" = "Nova publicación"; +"SearchShortcutItemTitle" = "Buscar"; \ No newline at end of file diff --git a/Mastodon/Resources/it.lproj/InfoPlist.strings b/Mastodon/Resources/it.lproj/InfoPlist.strings index 710865573..0da468639 100644 --- a/Mastodon/Resources/it.lproj/InfoPlist.strings +++ b/Mastodon/Resources/it.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Usato per scattare foto per lo stato del post"; +"NSPhotoLibraryAddUsageDescription" = "Utilizzato per salvare la foto nella galleria immagini"; +"NewPostShortcutItemTitle" = "Nuovo post"; +"SearchShortcutItemTitle" = "Cerca"; \ No newline at end of file diff --git a/Mastodon/Resources/kab.lproj/InfoPlist.strings b/Mastodon/Resources/kab.lproj/InfoPlist.strings index 710865573..42adc4cfc 100644 --- a/Mastodon/Resources/kab.lproj/InfoPlist.strings +++ b/Mastodon/Resources/kab.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Yettwaseqdac i tuṭṭfa n tewlafin deg usuffeɣ n waddaden"; +"NSPhotoLibraryAddUsageDescription" = "Yettwaseqdac i usekles n tewlafin deg temkarḍit n tewlafin"; +"NewPostShortcutItemTitle" = "Tasuffeɣt tamaynut"; +"SearchShortcutItemTitle" = "Nadi"; \ No newline at end of file diff --git a/Mastodon/Resources/ku.lproj/InfoPlist.strings b/Mastodon/Resources/ku.lproj/InfoPlist.strings index 710865573..669ecfacf 100644 --- a/Mastodon/Resources/ku.lproj/InfoPlist.strings +++ b/Mastodon/Resources/ku.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Bo kişandina wêneyê ji bo rewşa şandiyan tê bikaranîn"; +"NSPhotoLibraryAddUsageDescription" = "Ji bo tomarkirina wêneyê di pirtûkxaneya wêneyan de tê bikaranîn"; +"NewPostShortcutItemTitle" = "Şandiya nû"; +"SearchShortcutItemTitle" = "Bigere"; \ No newline at end of file diff --git a/Mastodon/Resources/nl.lproj/InfoPlist.strings b/Mastodon/Resources/nl.lproj/InfoPlist.strings index a45991068..36b6e9802 100644 --- a/Mastodon/Resources/nl.lproj/InfoPlist.strings +++ b/Mastodon/Resources/nl.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ "NSCameraUsageDescription" = "Gebruikt om foto's te nemen voor je berichten"; "NSPhotoLibraryAddUsageDescription" = "Gebruikt om foto's op te slaan in de fotobibliotheek"; "NewPostShortcutItemTitle" = "Nieuw Bericht"; -"SearchShortcutItemTitle" = "Zoeken"; \ No newline at end of file +"SearchShortcutItemTitle" = "Zoek"; \ No newline at end of file diff --git a/Mastodon/Resources/sl.lproj/InfoPlist.strings b/Mastodon/Resources/sl.lproj/InfoPlist.strings index 710865573..57c8319f5 100644 --- a/Mastodon/Resources/sl.lproj/InfoPlist.strings +++ b/Mastodon/Resources/sl.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Uporabljeno za zajem fotografij za stanje objave"; +"NSPhotoLibraryAddUsageDescription" = "Uporabljeno za shranjevanje fotografije v knjižnico fotografij"; +"NewPostShortcutItemTitle" = "Nova objava"; +"SearchShortcutItemTitle" = "Iskanje"; \ No newline at end of file diff --git a/Mastodon/Resources/sv.lproj/InfoPlist.strings b/Mastodon/Resources/sv.lproj/InfoPlist.strings index 710865573..e0facc1d2 100644 --- a/Mastodon/Resources/sv.lproj/InfoPlist.strings +++ b/Mastodon/Resources/sv.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Används för att ta foto till inlägg"; +"NSPhotoLibraryAddUsageDescription" = "Används för att spara foto till bildbiblioteket"; +"NewPostShortcutItemTitle" = "Nytt inlägg"; +"SearchShortcutItemTitle" = "Sök"; \ No newline at end of file diff --git a/Mastodon/Resources/tr.lproj/InfoPlist.strings b/Mastodon/Resources/tr.lproj/InfoPlist.strings index 710865573..1c4e05659 100644 --- a/Mastodon/Resources/tr.lproj/InfoPlist.strings +++ b/Mastodon/Resources/tr.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Fotoğraf çekerek durum paylaşmak için kullanılır"; +"NSPhotoLibraryAddUsageDescription" = "Fotoğraf Albümü'ne fotoğraf kaydetmek için kullanılır"; +"NewPostShortcutItemTitle" = "Yeni Gönderi"; +"SearchShortcutItemTitle" = "Arama"; \ No newline at end of file diff --git a/Mastodon/Resources/vi.lproj/InfoPlist.strings b/Mastodon/Resources/vi.lproj/InfoPlist.strings index 710865573..5dd27b7bc 100644 --- a/Mastodon/Resources/vi.lproj/InfoPlist.strings +++ b/Mastodon/Resources/vi.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "Được sử dụng để chụp ảnh cho tút"; +"NSPhotoLibraryAddUsageDescription" = "Được sử dụng để lưu ảnh vào Thư viện ảnh"; +"NewPostShortcutItemTitle" = "Viết tút"; +"SearchShortcutItemTitle" = "Tìm kiếm"; \ No newline at end of file diff --git a/Mastodon/Resources/zh-Hant.lproj/InfoPlist.strings b/Mastodon/Resources/zh-Hant.lproj/InfoPlist.strings index 710865573..737d2f857 100644 --- a/Mastodon/Resources/zh-Hant.lproj/InfoPlist.strings +++ b/Mastodon/Resources/zh-Hant.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ -"NSCameraUsageDescription" = "Used to take photo for post status"; -"NSPhotoLibraryAddUsageDescription" = "Used to save photo into the Photo Library"; -"NewPostShortcutItemTitle" = "New Post"; -"SearchShortcutItemTitle" = "Search"; \ No newline at end of file +"NSCameraUsageDescription" = "用來拍照發嘟文"; +"NSPhotoLibraryAddUsageDescription" = "用來儲存照片到圖片庫"; +"NewPostShortcutItemTitle" = "新增嘟文"; +"SearchShortcutItemTitle" = "搜尋"; \ No newline at end of file diff --git a/update_localization.sh b/update_localization.sh index 87477bdaa..1a240c893 100755 --- a/update_localization.sh +++ b/update_localization.sh @@ -25,6 +25,7 @@ cd ${SRCROOT}/Localization/StringsConvertor sh ./scripts/build.sh # Task 3 copy strings file +cp -R ${SRCROOT}/Localization/StringsConvertor/output/main/ ${SRCROOT}/Mastodon/Resources cp -R ${SRCROOT}/Localization/StringsConvertor/output/module/ ${SRCROOT}/MastodonSDK/Sources/MastodonLocalization/Resources cp -R ${SRCROOT}/Localization/StringsConvertor/Intents/output/ ${SRCROOT}/MastodonIntent From 9e1140dc7865d0421fe8faefa927cfd0c4bad2e2 Mon Sep 17 00:00:00 2001 From: CMK Date: Wed, 16 Nov 2022 20:20:42 +0800 Subject: [PATCH 232/300] chore: disable Xcode Cloud and using GitHub action to make the TestFlight build --- .github/workflows/develop-build.yml | 1 + .github/workflows/main.yml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/develop-build.yml b/.github/workflows/develop-build.yml index c37f00731..4b3a4a04c 100644 --- a/.github/workflows/develop-build.yml +++ b/.github/workflows/develop-build.yml @@ -4,6 +4,7 @@ on: push: branches: - develop + - release* - ci-test jobs: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 827276208..1c40b6556 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,6 +6,9 @@ on: - master - develop - feature/* + - feature-* + - issue/* + - issue-* pull_request: branches: - develop From 634796e9dc7ba721426a245e3f3003d37b8b4710 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Wed, 16 Nov 2022 13:43:54 +0100 Subject: [PATCH 233/300] fix: Only allow double-tap account toggle if more than 1 account exists --- Mastodon/Scene/Root/MainTab/MainTabBarController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 158cd769b..5f77d9584 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -407,7 +407,7 @@ extension MainTabBarController { assert(Thread.isMainThread) let request = MastodonAuthentication.sortedFetchRequest - guard let accounts = try? context.managedObjectContext.fetch(request) else { return } + guard let accounts = try? context.managedObjectContext.fetch(request), accounts.count > 1 else { return } let nextSelectedAccountIndex: Int? = { for (index, account) in accounts.enumerated() { From 0d3c9de0026675ab7d8b4a649e69388b0862d650 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 13:57:28 +0100 Subject: [PATCH 234/300] New translations app.json (Icelandic) --- .../StringsConvertor/input/is.lproj/app.json | 502 +++++++++--------- 1 file changed, 251 insertions(+), 251 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json index 3113ada74..c5e73dacd 100644 --- a/Localization/StringsConvertor/input/is.lproj/app.json +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -2,21 +2,21 @@ "common": { "alerts": { "common": { - "please_try_again": "Please try again.", - "please_try_again_later": "Please try again later." + "please_try_again": "Endilega reyndu aftur.", + "please_try_again_later": "Reyndu aftur síðar." }, "sign_up_failure": { "title": "Sign Up Failure" }, "server_error": { - "title": "Server Error" + "title": "Villa á þjóni" }, "vote_failure": { "title": "Vote Failure", "poll_ended": "The poll has ended" }, "discard_post_content": { - "title": "Discard Draft", + "title": "Henda drögum", "message": "Confirm to discard composed post content." }, "publish_post_failure": { @@ -32,9 +32,9 @@ "message": "Cannot edit profile. Please try again." }, "sign_out": { - "title": "Sign Out", - "message": "Are you sure you want to sign out?", - "confirm": "Sign Out" + "title": "Skrá út", + "message": "Ertu viss um að þú viljir skrá þig út?", + "confirm": "Skrá út" }, "block_domain": { "title": "Are you really, really sure you want to block the entire %s? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain and any of your followers from that domain will be removed.", @@ -45,66 +45,66 @@ "message": "Please enable the photo library access permission to save the photo." }, "delete_post": { - "title": "Delete Post", - "message": "Are you sure you want to delete this post?" + "title": "Eyða færslu", + "message": "Ertu viss um að þú viljir eyða þessari færslu?" }, "clean_cache": { - "title": "Clean Cache", + "title": "Hreinsa skyndiminni", "message": "Successfully cleaned %s cache." } }, "controls": { "actions": { - "back": "Back", - "next": "Next", - "previous": "Previous", - "open": "Open", - "add": "Add", - "remove": "Remove", - "edit": "Edit", - "save": "Save", - "ok": "OK", - "done": "Done", - "confirm": "Confirm", - "continue": "Continue", - "compose": "Compose", - "cancel": "Cancel", - "discard": "Discard", - "try_again": "Try Again", - "take_photo": "Take Photo", - "save_photo": "Save Photo", - "copy_photo": "Copy Photo", - "sign_in": "Log in", - "sign_up": "Create account", - "see_more": "See More", - "preview": "Preview", - "share": "Share", - "share_user": "Share %s", - "share_post": "Share Post", - "open_in_safari": "Open in Safari", - "open_in_browser": "Open in Browser", - "find_people": "Find people to follow", - "manually_search": "Manually search instead", - "skip": "Skip", - "reply": "Reply", - "report_user": "Report %s", - "block_domain": "Block %s", - "unblock_domain": "Unblock %s", - "settings": "Settings", - "delete": "Delete" + "back": "Til baka", + "next": "Næsta", + "previous": "Fyrri", + "open": "Opna", + "add": "Bæta við", + "remove": "Fjarlægja", + "edit": "Breyta", + "save": "Vista", + "ok": "Í lagi", + "done": "Lokið", + "confirm": "Staðfesta", + "continue": "Halda áfram", + "compose": "Skrifa", + "cancel": "Hætta við", + "discard": "Henda", + "try_again": "Reyna aftur", + "take_photo": "Taka ljósmynd", + "save_photo": "Vista mynd", + "copy_photo": "Afrita mynd", + "sign_in": "Skrá inn", + "sign_up": "Stofna notandaaðgang", + "see_more": "Sjá fleira", + "preview": "Forskoða", + "share": "Deila", + "share_user": "Deila %s", + "share_post": "Deila færslu", + "open_in_safari": "Opna í Safari", + "open_in_browser": "Opna í vafra", + "find_people": "Finna fólk til að fylgjast með", + "manually_search": "Leita handvirkt í staðinn", + "skip": "Sleppa", + "reply": "Svara", + "report_user": "Kæra %s", + "block_domain": "Útiloka %s", + "unblock_domain": "Opna á %s", + "settings": "Stillingar", + "delete": "Eyða" }, "tabs": { - "home": "Home", - "search": "Search", - "notification": "Notification", + "home": "Heim", + "search": "Leita", + "notification": "Tilkynning", "profile": "Profile" }, "keyboard": { "common": { "switch_to_tab": "Switch to %s", "compose_new_post": "Compose New Post", - "show_favorites": "Show Favorites", - "open_settings": "Open Settings" + "show_favorites": "Birta eftirlæti", + "open_settings": "Opna stillingar" }, "timeline": { "previous_status": "Previous Post", @@ -127,41 +127,41 @@ "user_reblogged": "%s reblogged", "user_replied_to": "Replied to %s", "show_post": "Show Post", - "show_user_profile": "Show user profile", - "content_warning": "Content Warning", - "sensitive_content": "Sensitive Content", - "media_content_warning": "Tap anywhere to reveal", - "tap_to_reveal": "Tap to reveal", + "show_user_profile": "Birta notandasnið", + "content_warning": "Viðvörun vegna efnis", + "sensitive_content": "Viðkvæmt efni", + "media_content_warning": "Ýttu hvar sem er til að birta", + "tap_to_reveal": "Ýttu til að birta", "poll": { - "vote": "Vote", - "closed": "Closed" + "vote": "Greiða atkvæði", + "closed": "Lokið" }, "meta_entity": { - "url": "Link: %s", - "hashtag": "Hashtag: %s", - "mention": "Show Profile: %s", - "email": "Email address: %s" + "url": "Tengill: %s", + "hashtag": "Myllumerki: %s", + "mention": "Sýna notandasnið: %s", + "email": "Tölvupóstfang: %s" }, "actions": { - "reply": "Reply", - "reblog": "Reblog", - "unreblog": "Undo reblog", - "favorite": "Favorite", - "unfavorite": "Unfavorite", - "menu": "Menu", - "hide": "Hide", - "show_image": "Show image", - "show_gif": "Show GIF", + "reply": "Svara", + "reblog": "Endurbirta", + "unreblog": "Afturkalla endurbirtingu", + "favorite": "Eftirlæti", + "unfavorite": "Taka úr eftirlætum", + "menu": "Valmynd", + "hide": "Fela", + "show_image": "Sýna mynd", + "show_gif": "Birta GIF", "show_video_player": "Show video player", "tap_then_hold_to_show_menu": "Tap then hold to show menu" }, "tag": { - "url": "URL", - "mention": "Mention", - "link": "Link", - "hashtag": "Hashtag", - "email": "Email", - "emoji": "Emoji" + "url": "URL-slóð", + "mention": "Minnst á", + "link": "Tengill", + "hashtag": "Myllumerki", + "email": "Tölvupóstur", + "emoji": "Tjáningartákn" }, "visibility": { "unlisted": "Everyone can see this post but not display in the public timeline.", @@ -171,29 +171,29 @@ } }, "friendship": { - "follow": "Follow", - "following": "Following", - "request": "Request", - "pending": "Pending", - "block": "Block", - "block_user": "Block %s", - "block_domain": "Block %s", - "unblock": "Unblock", - "unblock_user": "Unblock %s", - "blocked": "Blocked", - "mute": "Mute", - "mute_user": "Mute %s", - "unmute": "Unmute", - "unmute_user": "Unmute %s", - "muted": "Muted", + "follow": "Fylgja", + "following": "Fylgist með", + "request": "Beiðni", + "pending": "Í bið", + "block": "Útilokun", + "block_user": "Útiloka %s", + "block_domain": "Útiloka %s", + "unblock": "Aflétta útilokun", + "unblock_user": "Opna á %s", + "blocked": "Útilokað", + "mute": "Þagga niður", + "mute_user": "Þagga niður í %s", + "unmute": "Afþagga", + "unmute_user": "Afþagga %s", + "muted": "Þaggað", "edit_info": "Edit Info", "show_reblogs": "Show Reblogs", - "hide_reblogs": "Hide Reblogs" + "hide_reblogs": "Fela endurbirtingar" }, "timeline": { - "filtered": "Filtered", + "filtered": "Síað", "timestamp": { - "now": "Now" + "now": "Núna" }, "loader": { "load_missing_posts": "Load missing posts", @@ -214,12 +214,12 @@ }, "scene": { "welcome": { - "slogan": "Social networking\nback in your hands.", - "get_started": "Get Started", + "slogan": "Samfélagsmiðlar\naftur í þínar hendur.", + "get_started": "Komast í gang", "log_in": "Log In" }, "login": { - "title": "Welcome back", + "title": "Velkomin aftur", "subtitle": "Log you in on the server you created your account on.", "server_search_field": { "placeholder": "Enter URL or search for your server" @@ -230,28 +230,28 @@ "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { - "all": "All", - "all_accessiblity_description": "Category: All", - "academia": "academia", + "all": "Allt", + "all_accessiblity_description": "Flokkur: Allt", + "academia": "akademískt", "activism": "activism", - "food": "food", - "furry": "furry", - "games": "games", - "general": "general", - "journalism": "journalism", + "food": "matur", + "furry": "loðið", + "games": "leikir", + "general": "almennt", + "journalism": "blaðamennska", "lgbt": "lgbt", - "regional": "regional", - "art": "art", - "music": "music", - "tech": "tech" + "regional": "svæðisbundið", + "art": "listir", + "music": "tónlist", + "tech": "tækni" }, - "see_less": "See Less", - "see_more": "See More" + "see_less": "Sjá minna", + "see_more": "Sjá meira" }, "label": { - "language": "LANGUAGE", - "users": "USERS", - "category": "CATEGORY" + "language": "TUNGUMÁL", + "users": "NOTENDUR", + "category": "FLOKKUR" }, "input": { "search_servers_or_enter_url": "Search communities or enter URL" @@ -259,7 +259,7 @@ "empty_state": { "finding_servers": "Finding available servers...", "bad_network": "Something went wrong while loading the data. Check your internet connection.", - "no_results": "No results" + "no_results": "Engar niðurstöður" } }, "register": { @@ -267,40 +267,40 @@ "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", "input": { "avatar": { - "delete": "Delete" + "delete": "Eyða" }, "username": { - "placeholder": "username", + "placeholder": "notandanafn", "duplicate_prompt": "This username is taken." }, "display_name": { - "placeholder": "display name" + "placeholder": "birtingarnafn" }, "email": { - "placeholder": "email" + "placeholder": "tölvupóstur" }, "password": { - "placeholder": "password", - "require": "Your password needs at least:", - "character_limit": "8 characters", + "placeholder": "lykilorð", + "require": "Lykilorðið þitt þarf að minnsta kosti:", + "character_limit": "8 stafi", "accessibility": { - "checked": "checked", - "unchecked": "unchecked" + "checked": "merkt", + "unchecked": "ekki merkt" }, - "hint": "Your password needs at least eight characters" + "hint": "Lykilorðið þitt verður að vera að minnsta kosti 8 stafa langt" }, "invite": { - "registration_user_invite_request": "Why do you want to join?" + "registration_user_invite_request": "Hvers vegna vilt þú taka þátt?" } }, "error": { "item": { - "username": "Username", - "email": "Email", - "password": "Password", - "agreement": "Agreement", - "locale": "Locale", - "reason": "Reason" + "username": "Notandanafn", + "email": "Tölvupóstur", + "password": "Lykilorð", + "agreement": "Notkunarskilmálar", + "locale": "Staðfærsla", + "reason": "Ástæða" }, "reason": { "blocked": "%s contains a disallowed email provider", @@ -326,10 +326,10 @@ "title": "Some ground rules.", "subtitle": "These are set and enforced by the %s moderators.", "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", - "terms_of_service": "terms of service", - "privacy_policy": "privacy policy", + "terms_of_service": "þjónustuskilmálar", + "privacy_policy": "persónuverndarstefna", "button": { - "confirm": "I Agree" + "confirm": "Ég samþykki" } }, "confirm_email": { @@ -338,27 +338,27 @@ "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", "button": { "open_email_app": "Open Email App", - "resend": "Resend" + "resend": "Endursenda" }, "dont_receive_email": { - "title": "Check your email", + "title": "Athugaðu tölvupóstinn þinn", "description": "Check if your email address is correct as well as your junk folder if you haven’t.", - "resend_email": "Resend Email" + "resend_email": "Endursenda tölvupóst" }, "open_email_app": { - "title": "Check your inbox.", + "title": "Athugaðu pósthólfið þitt.", "description": "We just sent you an email. Check your junk folder if you haven’t.", - "mail": "Mail", - "open_email_client": "Open Email Client" + "mail": "Tölvupóstur", + "open_email_client": "Opna tölvupóstforrit" } }, "home_timeline": { - "title": "Home", + "title": "Heim", "navigation_bar_state": { - "offline": "Offline", - "new_posts": "See new posts", - "published": "Published!", - "Publishing": "Publishing post...", + "offline": "Ónettengt", + "new_posts": "Skoða nýjar færslur", + "published": "Birt!", + "Publishing": "Birti færslu...", "accessibility": { "logo_label": "Logo Button", "logo_hint": "Tap to scroll to top and tap again to previous location" @@ -371,38 +371,38 @@ }, "compose": { "title": { - "new_post": "New Post", - "new_reply": "New Reply" + "new_post": "Ný færsla", + "new_reply": "Nýtt svar" }, "media_selection": { - "camera": "Take Photo", - "photo_library": "Photo Library", - "browse": "Browse" + "camera": "Taktu mynd", + "photo_library": "Myndasafn", + "browse": "Flakka" }, "content_input_placeholder": "Type or paste what’s on your mind", - "compose_action": "Publish", + "compose_action": "Birta", "replying_to_user": "replying to %s", "attachment": { - "photo": "photo", - "video": "video", + "photo": "ljósmynd", + "video": "myndskeið", "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", "description_photo": "Describe the photo for the visually-impaired...", "description_video": "Describe the video for the visually-impaired...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", + "load_failed": "Hleðsla mistókst", + "upload_failed": "Innsending mistókst", "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", "attachment_too_large": "Attachment too large", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "compressing_state": "Þjappa...", + "server_processing_state": "Netþjónn er að vinna..." }, "poll": { - "duration_time": "Duration: %s", - "thirty_minutes": "30 minutes", - "one_hour": "1 Hour", - "six_hours": "6 Hours", - "one_day": "1 Day", - "three_days": "3 Days", - "seven_days": "7 Days", + "duration_time": "Tímalengd: %s", + "thirty_minutes": "30 mínútur", + "one_hour": "1 klukkustund", + "six_hours": "6 klukkustundir", + "one_day": "1 dagur", + "three_days": "3 dagar", + "seven_days": "7 dagar", "option_number": "Option %ld", "the_poll_is_invalid": "The poll is invalid", "the_poll_has_empty_option": "The poll has empty option" @@ -411,8 +411,8 @@ "placeholder": "Write an accurate warning here..." }, "visibility": { - "public": "Public", - "unlisted": "Unlisted", + "public": "Opinbert", + "unlisted": "Óskráð", "private": "Followers only", "direct": "Only people I mention" }, @@ -420,10 +420,10 @@ "space_to_add": "Space to add" }, "accessibility": { - "append_attachment": "Add Attachment", - "append_poll": "Add Poll", - "remove_poll": "Remove Poll", - "custom_emoji_picker": "Custom Emoji Picker", + "append_attachment": "Bæta við viðhengi", + "append_poll": "Bæta við könnun", + "remove_poll": "Fjarlægja könnun", + "custom_emoji_picker": "Sérsniðið emoji-tánmyndaval", "enable_content_warning": "Enable Content Warning", "disable_content_warning": "Disable Content Warning", "post_visibility_menu": "Post Visibility Menu", @@ -441,18 +441,18 @@ }, "profile": { "header": { - "follows_you": "Follows You" + "follows_you": "Fylgist með þér" }, "dashboard": { - "posts": "posts", - "following": "following", - "followers": "followers" + "posts": "færslur", + "following": "fylgist með", + "followers": "fylgjendur" }, "fields": { - "add_row": "Add Row", + "add_row": "Bæta við röð", "placeholder": { - "label": "Label", - "content": "Content" + "label": "Skýring", + "content": "Efni" }, "verified": { "short": "Verified on %s", @@ -460,11 +460,11 @@ } }, "segmented_control": { - "posts": "Posts", - "replies": "Replies", - "posts_and_replies": "Posts and Replies", - "media": "Media", - "about": "About" + "posts": "Færslur", + "replies": "Svör", + "posts_and_replies": "Færslur og svör", + "media": "Gagnamiðlar", + "about": "Um hugbúnaðinn" }, "relationship_action_alert": { "confirm_mute_user": { @@ -500,11 +500,11 @@ } }, "follower": { - "title": "follower", + "title": "fylgjandi", "footer": "Followers from other servers are not displayed." }, "following": { - "title": "following", + "title": "fylgist með", "footer": "Follows from other servers are not displayed." }, "familiarFollowers": { @@ -518,13 +518,13 @@ "title": "Reblogged By" }, "search": { - "title": "Search", + "title": "Leita", "search_bar": { "placeholder": "Search hashtags and users", - "cancel": "Cancel" + "cancel": "Hætta við" }, "recommend": { - "button_text": "See All", + "button_text": "Sjá allt", "hash_tag": { "title": "Trending on Mastodon", "description": "Hashtags that are getting quite a bit of attention", @@ -533,29 +533,29 @@ "accounts": { "title": "Accounts you might like", "description": "You may like to follow these accounts", - "follow": "Follow" + "follow": "Fylgjast með" } }, "searching": { "segment": { - "all": "All", - "people": "People", - "hashtags": "Hashtags", - "posts": "Posts" + "all": "Allt", + "people": "Fólk", + "hashtags": "Myllumerki", + "posts": "Færslur" }, "empty_state": { - "no_results": "No results" + "no_results": "Engar niðurstöður" }, - "recent_search": "Recent searches", - "clear": "Clear" + "recent_search": "Nýlegar leitir", + "clear": "Hreinsa" } }, "discovery": { "tabs": { - "posts": "Posts", - "hashtags": "Hashtags", - "news": "News", - "community": "Community", + "posts": "Færslur", + "hashtags": "Myllumerki", + "news": "Fréttir", + "community": "Samfélag", "for_you": "For You" }, "intro": "These are the posts gaining traction in your corner of Mastodon." @@ -565,7 +565,7 @@ }, "notification": { "title": { - "Everything": "Everything", + "Everything": "Allt", "Mentions": "Mentions" }, "notification_description": { @@ -581,87 +581,87 @@ "show_mentions": "Show Mentions" }, "follow_request": { - "accept": "Accept", - "accepted": "Accepted", - "reject": "reject", - "rejected": "Rejected" + "accept": "Samþykkja", + "accepted": "Samþykkt", + "reject": "hafna", + "rejected": "Hafnað" } }, "thread": { - "back_title": "Post", - "title": "Post from %s" + "back_title": "Færsla", + "title": "Færsla frá %s" }, "settings": { - "title": "Settings", + "title": "Stillingar", "section": { "appearance": { - "title": "Appearance", - "automatic": "Automatic", - "light": "Always Light", - "dark": "Always Dark" + "title": "Útlit", + "automatic": "Sjálfvirkt", + "light": "Alltaf ljóst", + "dark": "Alltaf dökkt" }, "look_and_feel": { - "title": "Look and Feel", - "use_system": "Use System", - "really_dark": "Really Dark", - "sorta_dark": "Sorta Dark", - "light": "Light" + "title": "Útlit og viðmót", + "use_system": "Nota stillingar kerfis", + "really_dark": "Mjög dökkt", + "sorta_dark": "Nokkuð dökkt", + "light": "Ljóst" }, "notifications": { - "title": "Notifications", + "title": "Tilkynningar", "favorites": "Favorites my post", "follows": "Follows me", "boosts": "Reblogs my post", "mentions": "Mentions me", "trigger": { - "anyone": "anyone", - "follower": "a follower", - "follow": "anyone I follow", - "noone": "no one", + "anyone": "hver sem er", + "follower": "fylgjandi", + "follow": "hverjum sá sem ég fylgi", + "noone": "enginn", "title": "Notify me when" } }, "preference": { - "title": "Preferences", + "title": "Kjörstillingar", "true_black_dark_mode": "True black dark mode", "disable_avatar_animation": "Disable animated avatars", "disable_emoji_animation": "Disable animated emojis", "using_default_browser": "Use default browser to open links", - "open_links_in_mastodon": "Open links in Mastodon" + "open_links_in_mastodon": "Opna tengla í Mastodon" }, "boring_zone": { "title": "The Boring Zone", - "account_settings": "Account Settings", - "terms": "Terms of Service", - "privacy": "Privacy Policy" + "account_settings": "Stillingar aðgangs", + "terms": "Þjónustuskilmálar", + "privacy": "Meðferð persónuupplýsinga" }, "spicy_zone": { "title": "The Spicy Zone", - "clear": "Clear Media Cache", - "signout": "Sign Out" + "clear": "Hreinsa skyndiminni margmiðlunarefnis", + "signout": "Skrá út" } }, "footer": { "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" }, "keyboard": { - "close_settings_window": "Close Settings Window" + "close_settings_window": "Loka stillingaglugga" } }, "report": { - "title_report": "Report", - "title": "Report %s", - "step1": "Step 1 of 2", - "step2": "Step 2 of 2", + "title_report": "Kæra", + "title": "Kæra %s", + "step1": "Skref 1 af 2", + "step2": "Skref 2 af 2", "content1": "Are there any other posts you’d like to add to the report?", "content2": "Is there anything the moderators should know about this report?", "report_sent_title": "Thanks for reporting, we’ll look into this.", - "send": "Send Report", - "skip_to_send": "Send without comment", + "send": "Senda kæru", + "skip_to_send": "Senda án athugasemdar", "text_placeholder": "Type or paste additional comments", - "reported": "REPORTED", + "reported": "TILKYNNT", "step_one": { - "step_1_of_4": "Step 1 of 4", + "step_1_of_4": "Skref 1 af 4", "whats_wrong_with_this_post": "What's wrong with this post?", "whats_wrong_with_this_account": "What's wrong with this account?", "whats_wrong_with_this_username": "What's wrong with %s?", @@ -676,44 +676,44 @@ "the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories" }, "step_two": { - "step_2_of_4": "Step 2 of 4", + "step_2_of_4": "Skref 2 af 4", "which_rules_are_being_violated": "Which rules are being violated?", "select_all_that_apply": "Select all that apply", "i_just_don’t_like_it": "I just don’t like it" }, "step_three": { - "step_3_of_4": "Step 3 of 4", + "step_3_of_4": "Skref 3 af 4", "are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?", "select_all_that_apply": "Select all that apply" }, "step_four": { - "step_4_of_4": "Step 4 of 4", + "step_4_of_4": "Skref 4 af 4", "is_there_anything_else_we_should_know": "Is there anything else we should know?" }, "step_final": { "dont_want_to_see_this": "Don’t want to see this?", "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.", - "unfollow": "Unfollow", + "unfollow": "Hætta að fylgjast með", "unfollowed": "Unfollowed", "unfollow_user": "Unfollow %s", - "mute_user": "Mute %s", + "mute_user": "Þagga niður í %s", "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.", - "block_user": "Block %s", + "block_user": "Útiloka %s", "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.", "while_we_review_this_you_can_take_action_against_user": "While we review this, you can take action against %s" } }, "preview": { "keyboard": { - "close_preview": "Close Preview", - "show_next": "Show Next", - "show_previous": "Show Previous" + "close_preview": "Loka forskoðun", + "show_next": "Sýna næsta", + "show_previous": "Sýna fyrri" } }, "account_list": { "tab_bar_hint": "Current selected profile: %s. Double tap then hold to show account switcher", "dismiss_account_switcher": "Dismiss Account Switcher", - "add_account": "Add Account" + "add_account": "Bæta við notandaaðgangi" }, "wizard": { "new_in_mastodon": "New in Mastodon", @@ -721,7 +721,7 @@ "accessibility_hint": "Double tap to dismiss this wizard" }, "bookmark": { - "title": "Bookmarks" + "title": "Bókamerki" } } } From 0a2678aca41dd96d1dd745e2dce0ab770069cd6c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 13:57:29 +0100 Subject: [PATCH 235/300] New translations ios-infoPlist.json (Icelandic) --- .../StringsConvertor/input/is.lproj/ios-infoPlist.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json index c6db73de0..4d46176af 100644 --- a/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json +++ b/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json @@ -1,6 +1,6 @@ { "NSCameraUsageDescription": "Used to take photo for post status", "NSPhotoLibraryAddUsageDescription": "Used to save photo into the Photo Library", - "NewPostShortcutItemTitle": "New Post", - "SearchShortcutItemTitle": "Search" + "NewPostShortcutItemTitle": "Ný færsla", + "SearchShortcutItemTitle": "Leita" } From 5864ef1505f478b14b40973fc16b8711fae41868 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 13:57:31 +0100 Subject: [PATCH 236/300] New translations Localizable.stringsdict (Icelandic) --- .../input/is.lproj/Localizable.stringsdict | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict index eabdc3c32..aae13ffb9 100644 --- a/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict @@ -29,7 +29,7 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 stafur other %ld characters @@ -45,7 +45,7 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 stafur other %ld characters @@ -61,7 +61,7 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 stafur other %ld characters @@ -104,7 +104,7 @@ NSStringFormatValueTypeKey ld one - post + færsla other posts @@ -120,7 +120,7 @@ NSStringFormatValueTypeKey ld one - 1 media + 1 gagnamiðill other %ld media @@ -136,7 +136,7 @@ NSStringFormatValueTypeKey ld one - 1 post + 1 færsla other %ld posts @@ -152,7 +152,7 @@ NSStringFormatValueTypeKey ld one - 1 favorite + 1 eftirlæti other %ld favorites @@ -168,7 +168,7 @@ NSStringFormatValueTypeKey ld one - 1 reblog + 1 endurbirting other %ld reblogs @@ -184,7 +184,7 @@ NSStringFormatValueTypeKey ld one - 1 reply + 1 svar other %ld replies @@ -200,7 +200,7 @@ NSStringFormatValueTypeKey ld one - 1 vote + 1 atkvæði other %ld votes @@ -216,7 +216,7 @@ NSStringFormatValueTypeKey ld one - 1 voter + 1 kjósandi other %ld voters @@ -248,7 +248,7 @@ NSStringFormatValueTypeKey ld one - 1 following + Eftirfarandi villur komu upp: other %ld following @@ -424,7 +424,7 @@ NSStringFormatValueTypeKey ld one - 1h ago + 1klst síðan other %ldh ago @@ -440,7 +440,7 @@ NSStringFormatValueTypeKey ld one - 1m ago + 1m síðan other %ldm ago @@ -456,7 +456,7 @@ NSStringFormatValueTypeKey ld one - 1s ago + 1s síðan other %lds ago From ae642b72b27bb18874e66efc9137832388d1163f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 13:57:32 +0100 Subject: [PATCH 237/300] New translations Intents.strings (Icelandic) --- .../Intents/input/is.lproj/Intents.strings | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings index 6877490ba..dbe022814 100644 --- a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings @@ -1,42 +1,42 @@ -"16wxgf" = "Post on Mastodon"; +"16wxgf" = "Birta á Mastodon"; -"751xkl" = "Text Content"; +"751xkl" = "Efni texta"; "CsR7G2" = "Post on Mastodon"; "HZSGTr" = "What content to post?"; -"HdGikU" = "Posting failed"; +"HdGikU" = "Birting færslu mistókst"; -"KDNTJ4" = "Failure Reason"; +"KDNTJ4" = "Ástæða bilunar"; "RHxKOw" = "Send Post with text content"; -"RxSqsb" = "Post"; +"RxSqsb" = "Færsla"; -"WCIR3D" = "Post ${content} on Mastodon"; +"WCIR3D" = "Birta ${content} á Mastodon"; -"ZKJSNu" = "Post"; +"ZKJSNu" = "Færsla"; "ZS1XaK" = "${content}"; -"ZbSjzC" = "Visibility"; +"ZbSjzC" = "Sýnileiki"; -"Zo4jgJ" = "Post Visibility"; +"Zo4jgJ" = "Sýnileiki færslu"; "apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; "apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; -"ayoYEb-dYQ5NN" = "${content}, Public"; +"ayoYEb-dYQ5NN" = "${content}, opinbert"; -"ayoYEb-ehFLjY" = "${content}, Followers Only"; +"ayoYEb-ehFLjY" = "${content}, einungis fylgjendur"; -"dUyuGg" = "Post on Mastodon"; +"dUyuGg" = "Birta á Mastodon"; -"dYQ5NN" = "Public"; +"dYQ5NN" = "Opinbert"; -"ehFLjY" = "Followers Only"; +"ehFLjY" = "Einungis fylgjendur"; "gfePDu" = "Posting failed. ${failureReason}"; @@ -46,6 +46,6 @@ "oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; -"rM6dvp" = "URL"; +"rM6dvp" = "URL-slóð"; "ryJLwG" = "Post was sent successfully. "; From e89677bff425e535479f7cff55be125e16edd6cf Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 13:57:33 +0100 Subject: [PATCH 238/300] New translations Intents.stringsdict (Icelandic) --- .../Intents/input/is.lproj/Intents.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict index 18422c772..9212186f0 100644 --- a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict @@ -13,7 +13,7 @@ NSStringFormatValueTypeKey %ld one - 1 option + 1 valkostur other %ld options @@ -29,7 +29,7 @@ NSStringFormatValueTypeKey %ld one - 1 option + 1 valkostur other %ld options From ac281be9a132a18d88a9c2f994ee40ccdd95b4a2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 14:52:42 +0100 Subject: [PATCH 239/300] New translations app.json (Catalan) --- .../StringsConvertor/input/ca.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/ca.lproj/app.json b/Localization/StringsConvertor/input/ca.lproj/app.json index a417ffdbb..52bb67c77 100644 --- a/Localization/StringsConvertor/input/ca.lproj/app.json +++ b/Localization/StringsConvertor/input/ca.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Fes una foto", "save_photo": "Desa la foto", "copy_photo": "Copia la foto", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Iniciar sessió", + "sign_up": "Crea un compte", "see_more": "Veure més", "preview": "Vista prèvia", "share": "Comparteix", @@ -219,15 +219,15 @@ "log_in": "Inicia sessió" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Ben tornat", + "subtitle": "T'inicia sessió en el servidor on has creat el teu compte.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Insereix la URL o cerca el teu servidor" } }, "server_picker": { "title": "Mastodon està fet d'usuaris en diferents comunitats.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Tria un servidor en funció de la teva regió, interessos o un de propòsit general. Seguiràs podent connectar amb tothom a Mastodon, independentment del servidor.", "button": { "category": { "all": "Totes", @@ -254,7 +254,7 @@ "category": "CATEGORIA" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Cerca comunitats o introdueix l'URL" }, "empty_state": { "finding_servers": "Cercant els servidors disponibles...", From bd71e24a18742e13f383384aa2cc5ec49932265e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 14:52:43 +0100 Subject: [PATCH 240/300] New translations app.json (Icelandic) --- .../StringsConvertor/input/is.lproj/app.json | 144 +++++++++--------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json index c5e73dacd..5635ae4f7 100644 --- a/Localization/StringsConvertor/input/is.lproj/app.json +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -6,30 +6,30 @@ "please_try_again_later": "Reyndu aftur síðar." }, "sign_up_failure": { - "title": "Sign Up Failure" + "title": "Innskráning mistókst" }, "server_error": { "title": "Villa á þjóni" }, "vote_failure": { - "title": "Vote Failure", - "poll_ended": "The poll has ended" + "title": "Greiðsla atkvæðis mistókst", + "poll_ended": "Könnuninni er lokið" }, "discard_post_content": { "title": "Henda drögum", "message": "Confirm to discard composed post content." }, "publish_post_failure": { - "title": "Publish Failure", - "message": "Failed to publish the post.\nPlease check your internet connection.", + "title": "Mistókst að birta", + "message": "Mistókst að birta færsluna.\nAthugaðu nettenginguna þína.", "attachments_message": { - "video_attach_with_photo": "Cannot attach a video to a post that already contains images.", - "more_than_one_video": "Cannot attach more than one video." + "video_attach_with_photo": "Ekki er hægt að hengja myndskeið við færslu sem þegar inniheldur myndir.", + "more_than_one_video": "Ekki er hægt að hengja við fleiri en eitt myndskeið." } }, "edit_profile_failure": { - "title": "Edit Profile Error", - "message": "Cannot edit profile. Please try again." + "title": "Villa við breytingu á notandasniði", + "message": "Mistókst að breyta notandasniði. Endilega reyndu aftur." }, "sign_out": { "title": "Skrá út", @@ -37,11 +37,11 @@ "confirm": "Skrá út" }, "block_domain": { - "title": "Are you really, really sure you want to block the entire %s? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain and any of your followers from that domain will be removed.", - "block_entire_domain": "Block Domain" + "title": "Ertu alveg algjörlega viss um að þú viljir loka á allt %s? Í flestum tilfellum er vænlegra að nota færri en markvissari útilokanir eða að þagga niður tiltekna aðila. Þú munt ekki sjá neitt efni frá þessu léni og fylgjendur þínir frá þessu léni verða fjarlægðir.", + "block_entire_domain": "Útiloka lén" }, "save_photo_failure": { - "title": "Save Photo Failure", + "title": "Mistókst að vista mynd", "message": "Please enable the photo library access permission to save the photo." }, "delete_post": { @@ -50,7 +50,7 @@ }, "clean_cache": { "title": "Hreinsa skyndiminni", - "message": "Successfully cleaned %s cache." + "message": "Tókst að hreinsa %s skyndiminni." } }, "controls": { @@ -97,36 +97,36 @@ "home": "Heim", "search": "Leita", "notification": "Tilkynning", - "profile": "Profile" + "profile": "Notandasnið" }, "keyboard": { "common": { - "switch_to_tab": "Switch to %s", - "compose_new_post": "Compose New Post", + "switch_to_tab": "Skipta yfir í %s", + "compose_new_post": "Semja nýja færslu", "show_favorites": "Birta eftirlæti", "open_settings": "Opna stillingar" }, "timeline": { - "previous_status": "Previous Post", - "next_status": "Next Post", - "open_status": "Open Post", - "open_author_profile": "Open Author's Profile", - "open_reblogger_profile": "Open Reblogger's Profile", - "reply_status": "Reply to Post", - "toggle_reblog": "Toggle Reblog on Post", - "toggle_favorite": "Toggle Favorite on Post", - "toggle_content_warning": "Toggle Content Warning", - "preview_image": "Preview Image" + "previous_status": "Fyrri færsla", + "next_status": "Næsta færsla", + "open_status": "Opna færslu", + "open_author_profile": "Opna notandasnið höfundar", + "open_reblogger_profile": "Opna notandasnið þess sem endurbirtir", + "reply_status": "Svara færslu", + "toggle_reblog": "Víxla endurbirtingu færslu af/á", + "toggle_favorite": "Víxla eftirlæti færslu af/á", + "toggle_content_warning": "Víxla af/á viðvörun vegna efnis", + "preview_image": "Forskoða mynd" }, "segmented_control": { - "previous_section": "Previous Section", - "next_section": "Next Section" + "previous_section": "Fyrri hluti", + "next_section": "Næsti hluti" } }, "status": { - "user_reblogged": "%s reblogged", - "user_replied_to": "Replied to %s", - "show_post": "Show Post", + "user_reblogged": "%s endurbirti", + "user_replied_to": "Svaraði %s", + "show_post": "Sýna færslu", "show_user_profile": "Birta notandasnið", "content_warning": "Viðvörun vegna efnis", "sensitive_content": "Viðkvæmt efni", @@ -152,8 +152,8 @@ "hide": "Fela", "show_image": "Sýna mynd", "show_gif": "Birta GIF", - "show_video_player": "Show video player", - "tap_then_hold_to_show_menu": "Tap then hold to show menu" + "show_video_player": "Sýna myndspilara", + "tap_then_hold_to_show_menu": "Ýttu og haltu til að sýna valmynd" }, "tag": { "url": "URL-slóð", @@ -164,10 +164,10 @@ "emoji": "Tjáningartákn" }, "visibility": { - "unlisted": "Everyone can see this post but not display in the public timeline.", - "private": "Only their followers can see this post.", - "private_from_me": "Only my followers can see this post.", - "direct": "Only mentioned user can see this post." + "unlisted": "Allir geta skoðað þessa færslu, en er ekki birt á opinberum tímalínum.", + "private": "Einungis fylgjendur þeirra geta séð þessa færslu.", + "private_from_me": "Einungis fylgjendur mínir geta séð þessa færslu.", + "direct": "Einungis notendur sem minnst er á geta séð þessa færslu." } }, "friendship": { @@ -186,8 +186,8 @@ "unmute": "Afþagga", "unmute_user": "Afþagga %s", "muted": "Þaggað", - "edit_info": "Edit Info", - "show_reblogs": "Show Reblogs", + "edit_info": "Breyta upplýsingum", + "show_reblogs": "Sýna endurbirtingar", "hide_reblogs": "Fela endurbirtingar" }, "timeline": { @@ -196,18 +196,18 @@ "now": "Núna" }, "loader": { - "load_missing_posts": "Load missing posts", - "loading_missing_posts": "Loading missing posts...", - "show_more_replies": "Show more replies" + "load_missing_posts": "Hlaða inn færslum sem vantar", + "loading_missing_posts": "Hleð inn færslum sem vantar...", + "show_more_replies": "Birta fleiri svör" }, "header": { - "no_status_found": "No Post Found", + "no_status_found": "Engar færslur fundust", "blocking_warning": "You can’t view this user's profile\nuntil you unblock them.\nYour profile looks like this to them.", "user_blocking_warning": "You can’t view %s’s profile\nuntil you unblock them.\nYour profile looks like this to them.", "blocked_warning": "You can’t view this user’s profile\nuntil they unblock you.", "user_blocked_warning": "You can’t view %s’s profile\nuntil they unblock you.", - "suspended_warning": "This user has been suspended.", - "user_suspended_warning": "%s’s account has been suspended." + "suspended_warning": "Þessi notandi hefur verið settur í bið.", + "user_suspended_warning": "Notandaaðgangurinn %s hefur verið settur í bið." } } } @@ -216,24 +216,24 @@ "welcome": { "slogan": "Samfélagsmiðlar\naftur í þínar hendur.", "get_started": "Komast í gang", - "log_in": "Log In" + "log_in": "Skrá inn" }, "login": { "title": "Velkomin aftur", - "subtitle": "Log you in on the server you created your account on.", + "subtitle": "Skráðu þig inn á netþjóninum þar sem þú útbjóst aðganginn þinn.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Settu inn slóð eða leitaðu að þjóninum þínum" } }, "server_picker": { - "title": "Mastodon is made of users in different servers.", + "title": "Mastodon isamanstendur af notendum á mismunandi netþjónum.", "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { "all": "Allt", "all_accessiblity_description": "Flokkur: Allt", "academia": "akademískt", - "activism": "activism", + "activism": "aðgerðasinnar", "food": "matur", "furry": "loðið", "games": "leikir", @@ -254,24 +254,24 @@ "category": "FLOKKUR" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Leitaðu að samfélögum eða settu inn slóð" }, "empty_state": { - "finding_servers": "Finding available servers...", - "bad_network": "Something went wrong while loading the data. Check your internet connection.", + "finding_servers": "Finn tiltæka netþjóna...", + "bad_network": "Eitthvað fór úrskeiðis við að hlaða inn gögnunum. Athugaðu nettenginguna þína.", "no_results": "Engar niðurstöður" } }, "register": { - "title": "Let’s get you set up on %s", - "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", + "title": "Við skulum koma þér í gang á %s", + "lets_get_you_set_up_on_domain": "Við skulum koma þér í gang á %s", "input": { "avatar": { "delete": "Eyða" }, "username": { "placeholder": "notandanafn", - "duplicate_prompt": "This username is taken." + "duplicate_prompt": "Þetta notandanafn er þegar í notkun." }, "display_name": { "placeholder": "birtingarnafn" @@ -303,27 +303,27 @@ "reason": "Ástæða" }, "reason": { - "blocked": "%s contains a disallowed email provider", - "unreachable": "%s does not seem to exist", - "taken": "%s is already in use", - "reserved": "%s is a reserved keyword", - "accepted": "%s must be accepted", - "blank": "%s is required", - "invalid": "%s is invalid", - "too_long": "%s is too long", - "too_short": "%s is too short", - "inclusion": "%s is not a supported value" + "blocked": "%s notar óleyfilega tölvupóstþjónustu", + "unreachable": "%s virðist ekki vera til", + "taken": "%s er þegar í notkun", + "reserved": "%s er frátekið stikkorð", + "accepted": "%s verður að samþykkja", + "blank": "%s ier nauðsynlegt", + "invalid": "%s er ógilt", + "too_long": "%s er of langt", + "too_short": "%s er of stutt", + "inclusion": "%s er ekki stutt gildi" }, "special": { - "username_invalid": "Username must only contain alphanumeric characters and underscores", - "username_too_long": "Username is too long (can’t be longer than 30 characters)", - "email_invalid": "This is not a valid email address", - "password_too_short": "Password is too short (must be at least 8 characters)" + "username_invalid": "Notendanöfn geta einungis innihaldið bókstafi og undirstrikun", + "username_too_long": "Notandanafnið er of langt (má ekki vera lengra en 30 stafir)", + "email_invalid": "Þetta lítur ekki út eins og löglegt tölvupóstfang", + "password_too_short": "Lykilorð er of stutt (verður að hafa minnst 8 stafi)" } } }, "server_rules": { - "title": "Some ground rules.", + "title": "Nokkrar grunnreglur.", "subtitle": "These are set and enforced by the %s moderators.", "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", "terms_of_service": "þjónustuskilmálar", @@ -515,7 +515,7 @@ "title": "Favorited By" }, "reblogged_by": { - "title": "Reblogged By" + "title": "Endurbirt af" }, "search": { "title": "Leita", From ffd1734a95d7a9e8cb3c2e158ba6274e7e194272 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 14:52:44 +0100 Subject: [PATCH 241/300] New translations ios-infoPlist.json (Icelandic) --- .../StringsConvertor/input/is.lproj/ios-infoPlist.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json index 4d46176af..24af18431 100644 --- a/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json +++ b/Localization/StringsConvertor/input/is.lproj/ios-infoPlist.json @@ -1,6 +1,6 @@ { - "NSCameraUsageDescription": "Used to take photo for post status", - "NSPhotoLibraryAddUsageDescription": "Used to save photo into the Photo Library", + "NSCameraUsageDescription": "Notað til að taka mynd fyrir stöðufærslu", + "NSPhotoLibraryAddUsageDescription": "Notað til að vista mynd inn í ljósmyndasafnið", "NewPostShortcutItemTitle": "Ný færsla", "SearchShortcutItemTitle": "Leita" } From ccaffe031e8a84b34f42da6776c8178f43c96915 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Wed, 16 Nov 2022 15:01:49 +0100 Subject: [PATCH 242/300] fix: Local user's domain is shown for remote users when sharing a post --- Mastodon/Protocol/Provider/DataSourceFacade+Status.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift index 332ed75e4..3d6c49ddd 100644 --- a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift +++ b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift @@ -84,7 +84,7 @@ extension DataSourceFacade { self.url = url self.metadata = LPLinkMetadata() metadata.url = url - metadata.title = "\(status.author.displayName) (@\(status.author.username)@\(status.author.domain))" + metadata.title = "\(status.author.displayName) (@\(status.author.acctWithDomain))" metadata.iconProvider = NSItemProvider(object: IconProvider(url: status.author.avatarImageURLWithFallback(domain: status.author.domain))) } From 8b7b6c4067acd23d21b894c76572a9632de8072c Mon Sep 17 00:00:00 2001 From: CMK Date: Wed, 16 Nov 2022 22:31:21 +0800 Subject: [PATCH 243/300] fix: configure header code not dispatch on UI thread issue --- .../MastodonUI/View/Content/StatusView+Configuration.swift | 1 + .../Sources/MastodonUI/View/Content/StatusView+ViewModel.swift | 1 + 2 files changed, 2 insertions(+) diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift index 353dfc097..47e4f18ff 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift @@ -130,6 +130,7 @@ extension StatusView { authorization: authenticationBox.userAuthorization ).singleOutput() } + .receive(on: DispatchQueue.main) .sink { completion in // do nothing } receiveValue: { [weak self] response in diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift index 416226cbb..1c09cd3f3 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift @@ -203,6 +203,7 @@ extension StatusView.ViewModel { statusView.headerInfoLabel.configure(content: info.header) statusView.setHeaderDisplay() case .reply(let info): + assert(Thread.isMainThread) statusView.headerIconImageView.image = UIImage(systemName: "arrowshape.turn.up.left.fill") statusView.headerInfoLabel.configure(content: info.header) statusView.setHeaderDisplay() From 101eaeecc1648ee57301a72802f039097df96195 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 16:08:11 +0100 Subject: [PATCH 244/300] New translations app.json (Kurmanji (Kurdish)) --- .../StringsConvertor/input/kmr.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/kmr.lproj/app.json b/Localization/StringsConvertor/input/kmr.lproj/app.json index 4a2bc3283..eb553885c 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/app.json +++ b/Localization/StringsConvertor/input/kmr.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Wêne bikişîne", "save_photo": "Wêneyê tomar bike", "copy_photo": "Wêneyê jê bigire", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Têkeve", + "sign_up": "Ajimêr biafirîne", "see_more": "Bêtir bibîne", "preview": "Pêşdîtin", "share": "Parve bike", @@ -219,15 +219,15 @@ "log_in": "Têkeve" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Dîsa bi xêr hatî", + "subtitle": "Têketinê bike ser rajekarê ku te ajimêrê xwe tê de çê kiriye.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Girêdanê têxe an jî li rajekarê xwe bigere" } }, "server_picker": { "title": "Mastodon ji bikarhênerên di civakên cuda de pêk tê.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Li gorî herêm, berjewendî, an jî armanceke giştî rajekarekê hilbijêre. Tu hîn jî dikarî li ser Mastodon bi her kesî re biaxivî, her rajekarê te çi be.", "button": { "category": { "all": "Hemû", @@ -254,7 +254,7 @@ "category": "BEŞ" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Li civakan bigere an jî girêdanê têxe" }, "empty_state": { "finding_servers": "Peydakirina rajekarên berdest...", From 995761aac2d52b7cd71f6871297f1db9606ec1d9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 17:26:35 +0100 Subject: [PATCH 245/300] New translations app.json (French) --- .../StringsConvertor/input/fr.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/fr.lproj/app.json b/Localization/StringsConvertor/input/fr.lproj/app.json index effeafe12..fc8fd0e7a 100644 --- a/Localization/StringsConvertor/input/fr.lproj/app.json +++ b/Localization/StringsConvertor/input/fr.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Prendre une photo", "save_photo": "Enregistrer la photo", "copy_photo": "Copier la photo", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Se connecter", + "sign_up": "Créer un compte", "see_more": "Voir plus", "preview": "Aperçu", "share": "Partager", @@ -219,15 +219,15 @@ "log_in": "Se connecter" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Content de vous revoir", + "subtitle": "Connectez-vous sur le serveur sur lequel vous avez créé votre compte.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Entrez l'URL ou recherchez votre serveur" } }, "server_picker": { "title": "Choisissez un serveur,\nn'importe quel serveur.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Choisissez un serveur basé sur votre région, vos intérêts ou un généraliste. Vous pouvez toujours discuter avec n'importe qui sur Mastodon, indépendamment de vos serveurs.", "button": { "category": { "all": "Tout", @@ -254,7 +254,7 @@ "category": "CATÉGORIE" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Rechercher parmi les communautés ou renseigner une URL" }, "empty_state": { "finding_servers": "Recherche des serveurs disponibles...", From 26e9ed808f381e50553d56d24dd77bf364e6bcfe Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 17:26:36 +0100 Subject: [PATCH 246/300] New translations app.json (Icelandic) --- Localization/StringsConvertor/input/is.lproj/app.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json index 5635ae4f7..089332935 100644 --- a/Localization/StringsConvertor/input/is.lproj/app.json +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -324,8 +324,8 @@ }, "server_rules": { "title": "Nokkrar grunnreglur.", - "subtitle": "These are set and enforced by the %s moderators.", - "prompt": "By continuing, you’re subject to the terms of service and privacy policy for %s.", + "subtitle": "Þær eru settar og séð um að þeim sé fylgt af umsjónarmönnum %s.", + "prompt": "Með því að halda áfram samþykkir þú þjónustuskilmála og persónuverndarstefnu %s.", "terms_of_service": "þjónustuskilmálar", "privacy_policy": "persónuverndarstefna", "button": { @@ -333,7 +333,7 @@ } }, "confirm_email": { - "title": "One last thing.", + "title": "Eitt að lokum.", "subtitle": "Tap the link we emailed to you to verify your account.", "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", "button": { From 2d62cf1ffda3531a2436077b7ec9ca08373a8a71 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 18:23:58 +0100 Subject: [PATCH 247/300] New translations app.json (Portuguese, Brazilian) --- .../StringsConvertor/input/pt-BR.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index 98bb960cc..60d858235 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Tirar foto", "save_photo": "Salvar foto", "copy_photo": "Copiar foto", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Entrar", + "sign_up": "Criar conta", "see_more": "Ver mais", "preview": "Pré-visualização", "share": "Compartilhar", @@ -219,15 +219,15 @@ "log_in": "Entrar" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Bem-vindo de volta", + "subtitle": "Logado na instância em que você criou a sua conta.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Insira a URL ou procure pela sua instância" } }, "server_picker": { "title": "Mastodon é feito de usuários em instâncias diferentes.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Escolha uma instância baseada na sua região, interesses, ou uma de uso geral. Você ainda poderá conversar com qualquer um no Mastodon, independente da instância.", "button": { "category": { "all": "Todos", @@ -254,7 +254,7 @@ "category": "Categoria" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Procurar comunidades ou inserir URL" }, "empty_state": { "finding_servers": "Procurando instâncias disponíveis...", From 180dc4cb8080a7c06fd496ce0f35652572e4b39c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 18:23:59 +0100 Subject: [PATCH 248/300] New translations app.json (Icelandic) --- .../StringsConvertor/input/is.lproj/app.json | 184 +++++++++--------- 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json index 089332935..58d4e3307 100644 --- a/Localization/StringsConvertor/input/is.lproj/app.json +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -334,20 +334,20 @@ }, "confirm_email": { "title": "Eitt að lokum.", - "subtitle": "Tap the link we emailed to you to verify your account.", - "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", + "subtitle": "Ýttu á tengilinn sem við sendum þér til að staðfesta tölvupóstfangið þitt.", + "tap_the_link_we_emailed_to_you_to_verify_your_account": "Ýttu á tengilinn sem við sendum þér til að staðfesta tölvupóstfangið þitt", "button": { - "open_email_app": "Open Email App", + "open_email_app": "Opna tölvupóstforrit", "resend": "Endursenda" }, "dont_receive_email": { "title": "Athugaðu tölvupóstinn þinn", - "description": "Check if your email address is correct as well as your junk folder if you haven’t.", + "description": "Athugaðu hvort tölvupóstfangið þitt sé rétt auk þess að skoða í ruslpóstmöppuna þína ef þú hefur ekki gert það.", "resend_email": "Endursenda tölvupóst" }, "open_email_app": { "title": "Athugaðu pósthólfið þitt.", - "description": "We just sent you an email. Check your junk folder if you haven’t.", + "description": "Við vorum að senda þér tölvupóst. Skoðaðu í ruslpóstmöppuna þína ef þú hefur ekki gert það.", "mail": "Tölvupóstur", "open_email_client": "Opna tölvupóstforrit" } @@ -360,14 +360,14 @@ "published": "Birt!", "Publishing": "Birti færslu...", "accessibility": { - "logo_label": "Logo Button", + "logo_label": "Hnappur með táknmerki", "logo_hint": "Tap to scroll to top and tap again to previous location" } } }, "suggestion_account": { - "title": "Find People to Follow", - "follow_explain": "When you follow someone, you’ll see their posts in your home feed." + "title": "Finndu fólk til að fylgjast með", + "follow_explain": "Þegar þú fylgist með einhverjum, muntu sjá færslur frá viðkomandi á streyminu þínu." }, "compose": { "title": { @@ -379,19 +379,19 @@ "photo_library": "Myndasafn", "browse": "Flakka" }, - "content_input_placeholder": "Type or paste what’s on your mind", + "content_input_placeholder": "Skrifaðu eða límdu það sem þér liggur á hjarta", "compose_action": "Birta", - "replying_to_user": "replying to %s", + "replying_to_user": "svarar til @%s", "attachment": { "photo": "ljósmynd", "video": "myndskeið", "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", - "description_photo": "Describe the photo for the visually-impaired...", - "description_video": "Describe the video for the visually-impaired...", + "description_photo": "Lýstu myndinni fyrir sjónskerta...", + "description_video": "Lýstu myndskeiðinu fyrir sjónskerta...", "load_failed": "Hleðsla mistókst", "upload_failed": "Innsending mistókst", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", - "attachment_too_large": "Attachment too large", + "can_not_recognize_this_media_attachment": "Þekki ekki þetta myndviðhengi", + "attachment_too_large": "Viðhengi of stórt", "compressing_state": "Þjappa...", "server_processing_state": "Netþjónn er að vinna..." }, @@ -403,40 +403,40 @@ "one_day": "1 dagur", "three_days": "3 dagar", "seven_days": "7 dagar", - "option_number": "Option %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "option_number": "Valkostur %ld", + "the_poll_is_invalid": "Könnunin er ógild", + "the_poll_has_empty_option": "Könnunin er með auðan valkost" }, "content_warning": { - "placeholder": "Write an accurate warning here..." + "placeholder": "Skrifaðu nákvæma aðvörun hér..." }, "visibility": { "public": "Opinbert", "unlisted": "Óskráð", - "private": "Followers only", - "direct": "Only people I mention" + "private": "Einungis fylgjendur", + "direct": "Einungis fólk sem ég minnist á" }, "auto_complete": { - "space_to_add": "Space to add" + "space_to_add": "Bil sem á að bæta við" }, "accessibility": { "append_attachment": "Bæta við viðhengi", "append_poll": "Bæta við könnun", "remove_poll": "Fjarlægja könnun", "custom_emoji_picker": "Sérsniðið emoji-tánmyndaval", - "enable_content_warning": "Enable Content Warning", - "disable_content_warning": "Disable Content Warning", - "post_visibility_menu": "Post Visibility Menu", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "enable_content_warning": "Virkja viðvörun vegna efnis", + "disable_content_warning": "Gera viðvörun vegna efnis óvirka", + "post_visibility_menu": "Sýnileikavalmynd færslu", + "post_options": "Valkostir færslu", + "posting_as": "Birti sem %s" }, "keyboard": { - "discard_post": "Discard Post", - "publish_post": "Publish Post", - "toggle_poll": "Toggle Poll", - "toggle_content_warning": "Toggle Content Warning", - "append_attachment_entry": "Add Attachment - %s", - "select_visibility_entry": "Select Visibility - %s" + "discard_post": "Henda færslu", + "publish_post": "Birta færslu", + "toggle_poll": "Víxla könnun af/á", + "toggle_content_warning": "Víxla af/á viðvörun vegna efnis", + "append_attachment_entry": "Bæta við viðhengi - %s", + "select_visibility_entry": "Veldu sýnileika - %s" } }, "profile": { @@ -455,8 +455,8 @@ "content": "Efni" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "Sannreynt þann %s", + "long": "Eignarhald á þessum tengli var athugað þann %s" } }, "segmented_control": { @@ -468,51 +468,51 @@ }, "relationship_action_alert": { "confirm_mute_user": { - "title": "Mute Account", - "message": "Confirm to mute %s" + "title": "Þagga niður í aðgangi", + "message": "Staðfestu til að þagga niður í %s" }, "confirm_unmute_user": { - "title": "Unmute Account", - "message": "Confirm to unmute %s" + "title": "Hætta að þagga niður í aðgangi", + "message": "Staðfestu til hætta að að þagga niður í %s" }, "confirm_block_user": { - "title": "Block Account", - "message": "Confirm to block %s" + "title": "Útiloka notandaaðgang", + "message": "Staðfestu til að útiloka %s" }, "confirm_unblock_user": { - "title": "Unblock Account", - "message": "Confirm to unblock %s" + "title": "Aflétta útilokun aðgangs", + "message": "Staðfestu til að hætta að útiloka %s" }, "confirm_show_reblogs": { - "title": "Show Reblogs", - "message": "Confirm to show reblogs" + "title": "Sýna endurbirtingar", + "message": "Staðfestu til að sýna endurbirtingar" }, "confirm_hide_reblogs": { - "title": "Hide Reblogs", - "message": "Confirm to hide reblogs" + "title": "Fela endurbirtingar", + "message": "Staðfestu til að fela endurbirtingar" } }, "accessibility": { - "show_avatar_image": "Show avatar image", - "edit_avatar_image": "Edit avatar image", - "show_banner_image": "Show banner image", - "double_tap_to_open_the_list": "Double tap to open the list" + "show_avatar_image": "Sýna auðkennismynd", + "edit_avatar_image": "Breyta auðkennismynd", + "show_banner_image": "Sýna myndborða", + "double_tap_to_open_the_list": "Tvípikkaðu til að opna listann" } }, "follower": { "title": "fylgjandi", - "footer": "Followers from other servers are not displayed." + "footer": "Fylgjendur af öðrum netþjónum birtast ekki." }, "following": { "title": "fylgist með", - "footer": "Follows from other servers are not displayed." + "footer": "Fylgjendur af öðrum netþjónum birtast ekki." }, "familiarFollowers": { - "title": "Followers you familiar", - "followed_by_names": "Followed by %s" + "title": "Fylgjendur sem þú kannast við", + "followed_by_names": "Fylgt af %s" }, "favorited_by": { - "title": "Favorited By" + "title": "Sett í eftirlæti af" }, "reblogged_by": { "title": "Endurbirt af" @@ -520,19 +520,19 @@ "search": { "title": "Leita", "search_bar": { - "placeholder": "Search hashtags and users", + "placeholder": "Leita að myllumerkjum og notendum", "cancel": "Hætta við" }, "recommend": { "button_text": "Sjá allt", "hash_tag": { - "title": "Trending on Mastodon", + "title": "Vinsælt á Mastodon", "description": "Hashtags that are getting quite a bit of attention", - "people_talking": "%s people are talking" + "people_talking": "%s manns eru að spjalla" }, "accounts": { - "title": "Accounts you might like", - "description": "You may like to follow these accounts", + "title": "Notandaaðgangar sem þú gætir haft áhuga á", + "description": "Þú gætir viljað fylgjast með þessum aðgöngum", "follow": "Fylgjast með" } }, @@ -556,29 +556,29 @@ "hashtags": "Myllumerki", "news": "Fréttir", "community": "Samfélag", - "for_you": "For You" + "for_you": "Fyrir þig" }, "intro": "These are the posts gaining traction in your corner of Mastodon." }, "favorite": { - "title": "Your Favorites" + "title": "Eftirlætin þín" }, "notification": { "title": { "Everything": "Allt", - "Mentions": "Mentions" + "Mentions": "Minnst á" }, "notification_description": { - "followed_you": "followed you", - "favorited_your_post": "favorited your post", - "reblogged_your_post": "reblogged your post", - "mentioned_you": "mentioned you", - "request_to_follow_you": "request to follow you", - "poll_has_ended": "poll has ended" + "followed_you": "fylgdi þér", + "favorited_your_post": "setti færslu frá þér í eftirlæti", + "reblogged_your_post": "endurbirti færsluna þína", + "mentioned_you": "minntist á þig", + "request_to_follow_you": "bað um að fylgjast með þér", + "poll_has_ended": "könnun er lokið" }, "keyobard": { - "show_everything": "Show Everything", - "show_mentions": "Show Mentions" + "show_everything": "Sýna allt", + "show_mentions": "Sýna þegar minnst er á" }, "follow_request": { "accept": "Samþykkja", @@ -609,40 +609,40 @@ }, "notifications": { "title": "Tilkynningar", - "favorites": "Favorites my post", - "follows": "Follows me", - "boosts": "Reblogs my post", - "mentions": "Mentions me", + "favorites": "Setur færsluna mína í eftirlæti", + "follows": "Fylgist með mér", + "boosts": "Endurbirtir færsluna mína", + "mentions": "Minnist á mig", "trigger": { "anyone": "hver sem er", "follower": "fylgjandi", "follow": "hverjum sá sem ég fylgi", "noone": "enginn", - "title": "Notify me when" + "title": "Tilkynna mér þegar" } }, "preference": { "title": "Kjörstillingar", - "true_black_dark_mode": "True black dark mode", - "disable_avatar_animation": "Disable animated avatars", - "disable_emoji_animation": "Disable animated emojis", - "using_default_browser": "Use default browser to open links", + "true_black_dark_mode": "Sannur svartur dökkur hamur", + "disable_avatar_animation": "Gera auðkennismyndir með hreyfingu óvirkar", + "disable_emoji_animation": "Gera tjáningartákn með hreyfingu óvirkar", + "using_default_browser": "Nota sjálfgefinn vafra til að opna tengla", "open_links_in_mastodon": "Opna tengla í Mastodon" }, "boring_zone": { - "title": "The Boring Zone", + "title": "Óhressa svæðið", "account_settings": "Stillingar aðgangs", "terms": "Þjónustuskilmálar", "privacy": "Meðferð persónuupplýsinga" }, "spicy_zone": { - "title": "The Spicy Zone", + "title": "Kryddaða svæðið", "clear": "Hreinsa skyndiminni margmiðlunarefnis", "signout": "Skrá út" } }, "footer": { - "mastodon_description": "Mastodon is open source software. You can report issues on GitHub at %s (%s)" + "mastodon_description": "Mastodon er frjáls hugbúnaður með opinn grunnkóða. Þú getur tilkynnt vandamál í gegnum GitHub á %s (%s)" }, "keyboard": { "close_settings_window": "Loka stillingaglugga" @@ -662,12 +662,12 @@ "reported": "TILKYNNT", "step_one": { "step_1_of_4": "Skref 1 af 4", - "whats_wrong_with_this_post": "What's wrong with this post?", - "whats_wrong_with_this_account": "What's wrong with this account?", - "whats_wrong_with_this_username": "What's wrong with %s?", - "select_the_best_match": "Select the best match", - "i_dont_like_it": "I don’t like it", - "it_is_not_something_you_want_to_see": "It is not something you want to see", + "whats_wrong_with_this_post": "Hvað er athugavert við þessa færslu?", + "whats_wrong_with_this_account": "Hvað er athugavert við þennan notandaaðgang?", + "whats_wrong_with_this_username": "Hvað er athugavert við %s?", + "select_the_best_match": "Velja bestu samsvörun", + "i_dont_like_it": "Mér líkar það ekki", + "it_is_not_something_you_want_to_see": "Þetta er ekki eitthvað sem þið viljið sjá", "its_spam": "It’s spam", "malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies", "it_violates_server_rules": "It violates server rules", @@ -694,8 +694,8 @@ "dont_want_to_see_this": "Don’t want to see this?", "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.", "unfollow": "Hætta að fylgjast með", - "unfollowed": "Unfollowed", - "unfollow_user": "Unfollow %s", + "unfollowed": "Hætti að fylgjast með", + "unfollow_user": "Hætta að fylgjast með %s", "mute_user": "Þagga niður í %s", "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.", "block_user": "Útiloka %s", @@ -716,7 +716,7 @@ "add_account": "Bæta við notandaaðgangi" }, "wizard": { - "new_in_mastodon": "New in Mastodon", + "new_in_mastodon": "Nýtt í Mastodon", "multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.", "accessibility_hint": "Double tap to dismiss this wizard" }, From df9598f49dc8b36d72ca4846b6d61bca022086f6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 18:24:01 +0100 Subject: [PATCH 249/300] New translations Localizable.stringsdict (Icelandic) --- .../input/is.lproj/Localizable.stringsdict | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict index aae13ffb9..2a821608d 100644 --- a/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict @@ -13,9 +13,9 @@ NSStringFormatValueTypeKey ld one - 1 unread notification + 1 ólesin tilkynning other - %ld unread notification + %ld ólesnar tilkynningar a11y.plural.count.input_limit_exceeds @@ -31,7 +31,7 @@ one 1 stafur other - %ld characters + %ld stafir a11y.plural.count.input_limit_remains @@ -47,13 +47,13 @@ one 1 stafur other - %ld characters + %ld stafir a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ eftir character_count NSStringFormatSpecTypeKey @@ -63,7 +63,7 @@ one 1 stafur other - %ld characters + %ld stafir plural.count.followed_by_and_mutual @@ -88,9 +88,9 @@ NSStringFormatValueTypeKey ld one - Followed by %1$@, and another mutual + Fylgt af %1$@ og öðrum sameiginlegum other - Followed by %1$@, and %ld mutuals + Fylgt af %1$@ og %ld sameiginlegum plural.count.metric_formatted.post @@ -106,7 +106,7 @@ one færsla other - posts + færslur plural.count.media @@ -122,7 +122,7 @@ one 1 gagnamiðill other - %ld media + %ld gagnamiðlar plural.count.post @@ -138,7 +138,7 @@ one 1 færsla other - %ld posts + %ld færslur plural.count.favorite @@ -154,7 +154,7 @@ one 1 eftirlæti other - %ld favorites + %ld eftirlæti plural.count.reblog @@ -170,7 +170,7 @@ one 1 endurbirting other - %ld reblogs + %ld endurbirtingar plural.count.reply @@ -186,7 +186,7 @@ one 1 svar other - %ld replies + %ld svör plural.count.vote @@ -202,7 +202,7 @@ one 1 atkvæði other - %ld votes + %ld atkvæði plural.count.voter @@ -218,7 +218,7 @@ one 1 kjósandi other - %ld voters + %ld kjósendur plural.people_talking @@ -232,9 +232,9 @@ NSStringFormatValueTypeKey ld one - 1 people talking + 1 aðili að spjalla other - %ld people talking + %ld aðilar að spjalla plural.count.following @@ -248,9 +248,9 @@ NSStringFormatValueTypeKey ld one - Eftirfarandi villur komu upp: + 1 fylgist með other - %ld following + %ld fylgjast með plural.count.follower @@ -264,9 +264,9 @@ NSStringFormatValueTypeKey ld one - 1 follower + 1 fylgjandi other - %ld followers + %ld fylgjendur date.year.left @@ -280,9 +280,9 @@ NSStringFormatValueTypeKey ld one - 1 year left + 1 ár eftir other - %ld years left + %ld ár eftir date.month.left @@ -296,9 +296,9 @@ NSStringFormatValueTypeKey ld one - 1 months left + 1 mánuður eftir other - %ld months left + %ld mánuðir eftir date.day.left @@ -312,9 +312,9 @@ NSStringFormatValueTypeKey ld one - 1 day left + 1 dagur eftir other - %ld days left + %ld dagar eftir date.hour.left @@ -328,9 +328,9 @@ NSStringFormatValueTypeKey ld one - 1 hour left + 1 klukkustund eftir other - %ld hours left + %ld klukkustundir eftir date.minute.left @@ -344,9 +344,9 @@ NSStringFormatValueTypeKey ld one - 1 minute left + 1 mínúta eftir other - %ld minutes left + %ld mínútur eftir date.second.left @@ -360,9 +360,9 @@ NSStringFormatValueTypeKey ld one - 1 second left + 1 sekúnda eftir other - %ld seconds left + %ld sekúndur eftir date.year.ago.abbr @@ -376,9 +376,9 @@ NSStringFormatValueTypeKey ld one - 1y ago + Fyrir 1 ári síðan other - %ldy ago + Fyrir %ld árum síðan date.month.ago.abbr @@ -392,9 +392,9 @@ NSStringFormatValueTypeKey ld one - 1M ago + Fyrir 1mín síðan other - %ldM ago + Fyrir %ldmín síðan date.day.ago.abbr @@ -408,9 +408,9 @@ NSStringFormatValueTypeKey ld one - 1d ago + Fyrir 1 degi síðan other - %ldd ago + Fyrir %ld dögum síðan date.hour.ago.abbr @@ -426,7 +426,7 @@ one 1klst síðan other - %ldh ago + %ldklst síðan date.minute.ago.abbr @@ -442,7 +442,7 @@ one 1m síðan other - %ldm ago + %ldm síðan date.second.ago.abbr @@ -458,7 +458,7 @@ one 1s síðan other - %lds ago + %lds síðan From 170e843d861c107e1d09973cbc41b8967c07e0ba Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 18:24:03 +0100 Subject: [PATCH 250/300] New translations Intents.strings (Icelandic) --- .../Intents/input/is.lproj/Intents.strings | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings index dbe022814..af8070895 100644 --- a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings @@ -2,9 +2,9 @@ "751xkl" = "Efni texta"; -"CsR7G2" = "Post on Mastodon"; +"CsR7G2" = "Birta á Mastodon"; -"HZSGTr" = "What content to post?"; +"HZSGTr" = "Hvaða efni á að birta?"; "HdGikU" = "Birting færslu mistókst"; @@ -42,10 +42,10 @@ "k7dbKQ" = "Post was sent successfully."; -"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; +"oGiqmY-dYQ5NN" = "Bara til að staðfesta, þú vildir 'Opinbert'?"; -"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; +"oGiqmY-ehFLjY" = "Bara til að staðfesta, þú vildir ''Einungis fylgjendur'?"; "rM6dvp" = "URL-slóð"; -"ryJLwG" = "Post was sent successfully. "; +"ryJLwG" = "Það tókst að senda færsluna. "; From f2a8b29768c3102e8076f1969db1c8dae47bd4e4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 19:34:01 +0100 Subject: [PATCH 251/300] New translations app.json (Icelandic) --- .../StringsConvertor/input/is.lproj/app.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json index 58d4e3307..ea97304ac 100644 --- a/Localization/StringsConvertor/input/is.lproj/app.json +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -17,7 +17,7 @@ }, "discard_post_content": { "title": "Henda drögum", - "message": "Confirm to discard composed post content." + "message": "Staðfestu til að henda efni úr saminni færslu." }, "publish_post_failure": { "title": "Mistókst að birta", @@ -202,10 +202,10 @@ }, "header": { "no_status_found": "Engar færslur fundust", - "blocking_warning": "You can’t view this user's profile\nuntil you unblock them.\nYour profile looks like this to them.", - "user_blocking_warning": "You can’t view %s’s profile\nuntil you unblock them.\nYour profile looks like this to them.", - "blocked_warning": "You can’t view this user’s profile\nuntil they unblock you.", - "user_blocked_warning": "You can’t view %s’s profile\nuntil they unblock you.", + "blocking_warning": "Þú getur ekki séð snið þessa notanda\nfyrr en þú hættir að útiloka hann.\nSniðið þitt lítur svona út hjá honum.", + "user_blocking_warning": "Þú getur ekki séð sniðið hjá %s\nfyrr en þú hættir að útiloka hann.\nSniðið þitt lítur svona út hjá honum.", + "blocked_warning": "Þú getur ekki séð sniðið hjá þessum notanda\nfyrr en hann hættir að útiloka þig.", + "user_blocked_warning": "Þú getur ekki séð sniðið hjá %s\nfyrr en hann hættir að útiloka þig.", "suspended_warning": "Þessi notandi hefur verið settur í bið.", "user_suspended_warning": "Notandaaðgangurinn %s hefur verið settur í bið." } @@ -226,7 +226,7 @@ } }, "server_picker": { - "title": "Mastodon isamanstendur af notendum á mismunandi netþjónum.", + "title": "Mastodon samanstendur af notendum á mismunandi netþjónum.", "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", "button": { "category": { From 638f70b06dc8dca5665a455fcb35c535140fbafc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 19:34:03 +0100 Subject: [PATCH 252/300] New translations Localizable.stringsdict (Icelandic) --- .../StringsConvertor/input/is.lproj/Localizable.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict index 2a821608d..03b29f09b 100644 --- a/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/is.lproj/Localizable.stringsdict @@ -21,7 +21,7 @@ a11y.plural.count.input_limit_exceeds NSStringLocalizedFormatKey - Input limit exceeds %#@character_count@ + Inntak fer fram úr takmörkunum %#@character_count@ character_count NSStringFormatSpecTypeKey @@ -37,7 +37,7 @@ a11y.plural.count.input_limit_remains NSStringLocalizedFormatKey - Input limit remains %#@character_count@ + Inntakstakmörk haldast %#@character_count@ character_count NSStringFormatSpecTypeKey From 8664a121dc88a16d075f8ac2281f4034092206b1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 19:34:04 +0100 Subject: [PATCH 253/300] New translations Intents.strings (Icelandic) --- .../Intents/input/is.lproj/Intents.strings | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings index af8070895..196c33e70 100644 --- a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.strings @@ -10,7 +10,7 @@ "KDNTJ4" = "Ástæða bilunar"; -"RHxKOw" = "Send Post with text content"; +"RHxKOw" = "Senda færslu með textaefni"; "RxSqsb" = "Færsla"; @@ -24,9 +24,9 @@ "Zo4jgJ" = "Sýnileiki færslu"; -"apSxMG-dYQ5NN" = "There are ${count} options matching ‘Public’."; +"apSxMG-dYQ5NN" = "Það eru ${count} valkostir sem samsvara ‘Opinbert’."; -"apSxMG-ehFLjY" = "There are ${count} options matching ‘Followers Only’."; +"apSxMG-ehFLjY" = "Það eru ${count} valkostir sem samsvara ‘Einungis fylgjendur’."; "ayoYEb-dYQ5NN" = "${content}, opinbert"; @@ -38,9 +38,9 @@ "ehFLjY" = "Einungis fylgjendur"; -"gfePDu" = "Posting failed. ${failureReason}"; +"gfePDu" = "Birting færslu mistókst. ${failureReason}"; -"k7dbKQ" = "Post was sent successfully."; +"k7dbKQ" = "Það tókst að senda færsluna."; "oGiqmY-dYQ5NN" = "Bara til að staðfesta, þú vildir 'Opinbert'?"; From 1a1004b524edbbbe64d52bc2c83a707b6408149e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 19:34:05 +0100 Subject: [PATCH 254/300] New translations Intents.stringsdict (Icelandic) --- .../Intents/input/is.lproj/Intents.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict index 9212186f0..0c4754adf 100644 --- a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict @@ -5,7 +5,7 @@ There are ${count} options matching ‘${content}’. - 2 NSStringLocalizedFormatKey - There are %#@count_option@ matching ‘${content}’. + Það eru %#@count_option@ sem samsvara ‘${content}’. count_option NSStringFormatSpecTypeKey @@ -21,7 +21,7 @@ There are ${count} options matching ‘${visibility}’. NSStringLocalizedFormatKey - There are %#@count_option@ matching ‘${visibility}’. + Það eru %#@count_option@ sem samsvara ‘${visibility}’. count_option NSStringFormatSpecTypeKey From b54c290a4f1c8c862958ea920f7bb55661aeb08e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 20:35:45 +0100 Subject: [PATCH 255/300] New translations app.json (Icelandic) --- .../StringsConvertor/input/is.lproj/app.json | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json index ea97304ac..1cd72f356 100644 --- a/Localization/StringsConvertor/input/is.lproj/app.json +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -42,7 +42,7 @@ }, "save_photo_failure": { "title": "Mistókst að vista mynd", - "message": "Please enable the photo library access permission to save the photo." + "message": "Virkjaðu heimild til aðgangs að ljósmyndasafninu til að vista myndina." }, "delete_post": { "title": "Eyða færslu", @@ -151,7 +151,7 @@ "menu": "Valmynd", "hide": "Fela", "show_image": "Sýna mynd", - "show_gif": "Birta GIF", + "show_gif": "Birta GIF-myndir", "show_video_player": "Sýna myndspilara", "tap_then_hold_to_show_menu": "Ýttu og haltu til að sýna valmynd" }, @@ -227,7 +227,7 @@ }, "server_picker": { "title": "Mastodon samanstendur af notendum á mismunandi netþjónum.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Veldu netþjón út frá svæðinu þínu, áhugamálum, nú eða einhvern almennan. Þú getur samt spjallað við hvern sem er á Mastodon, burtséð frá á hvaða netþjóni þú ert.", "button": { "category": { "all": "Allt", @@ -385,7 +385,7 @@ "attachment": { "photo": "ljósmynd", "video": "myndskeið", - "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", + "attachment_broken": "Þetta %s er skemmt og því ekki\nhægt að senda inn á Mastodon.", "description_photo": "Lýstu myndinni fyrir sjónskerta...", "description_video": "Lýstu myndskeiðinu fyrir sjónskerta...", "load_failed": "Hleðsla mistókst", @@ -527,7 +527,7 @@ "button_text": "Sjá allt", "hash_tag": { "title": "Vinsælt á Mastodon", - "description": "Hashtags that are getting quite a bit of attention", + "description": "Myllumerki sem eru að fá þónokkra athygli", "people_talking": "%s manns eru að spjalla" }, "accounts": { @@ -653,12 +653,12 @@ "title": "Kæra %s", "step1": "Skref 1 af 2", "step2": "Skref 2 af 2", - "content1": "Are there any other posts you’d like to add to the report?", - "content2": "Is there anything the moderators should know about this report?", - "report_sent_title": "Thanks for reporting, we’ll look into this.", + "content1": "Eru einhverjar færslur sem þú myndir vilja bæta við kæruna?", + "content2": "Er eitthvað fleira sem umsjónarmenn ættu að vita varðandi þessa kæru?", + "report_sent_title": "Takk fyrir tilkynninguna, við munum skoða málið.", "send": "Senda kæru", "skip_to_send": "Senda án athugasemdar", - "text_placeholder": "Type or paste additional comments", + "text_placeholder": "Skrifaðu eða límdu aðrar athugasemdir", "reported": "TILKYNNT", "step_one": { "step_1_of_4": "Skref 1 af 4", @@ -668,30 +668,30 @@ "select_the_best_match": "Velja bestu samsvörun", "i_dont_like_it": "Mér líkar það ekki", "it_is_not_something_you_want_to_see": "Þetta er ekki eitthvað sem þið viljið sjá", - "its_spam": "It’s spam", - "malicious_links_fake_engagement_or_repetetive_replies": "Malicious links, fake engagement, or repetetive replies", - "it_violates_server_rules": "It violates server rules", - "you_are_aware_that_it_breaks_specific_rules": "You are aware that it breaks specific rules", - "its_something_else": "It’s something else", - "the_issue_does_not_fit_into_other_categories": "The issue does not fit into other categories" + "its_spam": "Þetta er ruslpóstur", + "malicious_links_fake_engagement_or_repetetive_replies": "Slæmir tenglar, fölsk samskipti eða endurtekin svör", + "it_violates_server_rules": "Það gengur þvert á reglur fyrir netþjóninn", + "you_are_aware_that_it_breaks_specific_rules": "Þið eruð meðvituð um að þetta brýtur sértækar reglur", + "its_something_else": "Það er eitthvað annað", + "the_issue_does_not_fit_into_other_categories": "Vandamálið fellur ekki í aðra flokka" }, "step_two": { "step_2_of_4": "Skref 2 af 4", - "which_rules_are_being_violated": "Which rules are being violated?", - "select_all_that_apply": "Select all that apply", - "i_just_don’t_like_it": "I just don’t like it" + "which_rules_are_being_violated": "Hvaða reglur eru brotnar?", + "select_all_that_apply": "Veldu allt sem á við", + "i_just_don’t_like_it": "Mér bara líkar það ekki" }, "step_three": { "step_3_of_4": "Skref 3 af 4", - "are_there_any_posts_that_back_up_this_report": "Are there any posts that back up this report?", - "select_all_that_apply": "Select all that apply" + "are_there_any_posts_that_back_up_this_report": "Eru einhverjar færslur sem styðja þessa kæru?", + "select_all_that_apply": "Veldu allt sem á við" }, "step_four": { "step_4_of_4": "Skref 4 af 4", - "is_there_anything_else_we_should_know": "Is there anything else we should know?" + "is_there_anything_else_we_should_know": "Er eitthvað fleira sem við ættum að vita?" }, "step_final": { - "dont_want_to_see_this": "Don’t want to see this?", + "dont_want_to_see_this": "Langar þig ekki að sjá þetta?", "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.", "unfollow": "Hætta að fylgjast með", "unfollowed": "Hætti að fylgjast með", @@ -700,7 +700,7 @@ "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.", "block_user": "Útiloka %s", "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.", - "while_we_review_this_you_can_take_action_against_user": "While we review this, you can take action against %s" + "while_we_review_this_you_can_take_action_against_user": "Á meðan við yfirförum þetta, geturðu tekið til aðgerða gegn %s" } }, "preview": { From b906d3e6e418ae075bd60118fd2bfe55633849cc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 20:35:48 +0100 Subject: [PATCH 256/300] New translations Intents.stringsdict (Icelandic) --- .../Intents/input/is.lproj/Intents.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict index 0c4754adf..fe12c972a 100644 --- a/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict +++ b/Localization/StringsConvertor/Intents/input/is.lproj/Intents.stringsdict @@ -15,7 +15,7 @@ one 1 valkostur other - %ld options + %ld valkostir There are ${count} options matching ‘${visibility}’. @@ -31,7 +31,7 @@ one 1 valkostur other - %ld options + %ld valkostir From f39c8245e1f3c8ef3333ad832c26663639f51db4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 21:34:39 +0100 Subject: [PATCH 257/300] New translations app.json (Chinese Traditional) --- .../input/zh-Hant.lproj/app.json | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json index c7607ba2a..e2dfaad64 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "拍攝照片", "save_photo": "儲存照片", "copy_photo": "複製照片", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "登入", + "sign_up": "新增帳號", "see_more": "檢視更多", "preview": "預覽", "share": "分享", @@ -219,15 +219,15 @@ "log_in": "登入" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "歡迎回來", + "subtitle": "登入您新增帳號之伺服器", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "請輸入 URL 或搜尋您的伺服器" } }, "server_picker": { "title": "Mastodon 由不同伺服器的使用者組成。", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "基於您的興趣、地區、或一般用途選定一個伺服器。您仍會與任何伺服器中的每個人連結。", "button": { "category": { "all": "全部", @@ -254,7 +254,7 @@ "category": "分類" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "搜尋社群或輸入 URL 地址" }, "empty_state": { "finding_servers": "尋找可用的伺服器...", @@ -390,10 +390,10 @@ "description_video": "為視障人士提供影片說明...", "load_failed": "讀取失敗", "upload_failed": "上傳失敗", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", + "can_not_recognize_this_media_attachment": "無法識別此媒體附加檔案", "attachment_too_large": "附加檔案大小過大", - "compressing_state": "Compressing...", - "server_processing_state": "Server Processing..." + "compressing_state": "正在壓縮...", + "server_processing_state": "伺服器處理中..." }, "poll": { "duration_time": "持續時間:%s", @@ -404,8 +404,8 @@ "three_days": "三天", "seven_days": "七天", "option_number": "選項 %ld", - "the_poll_is_invalid": "The poll is invalid", - "the_poll_has_empty_option": "The poll has empty option" + "the_poll_is_invalid": "此投票是無效的", + "the_poll_has_empty_option": "此投票有空白選項" }, "content_warning": { "placeholder": "請於此處寫下精準的警告..." @@ -455,8 +455,8 @@ "content": "內容" }, "verified": { - "short": "Verified on %s", - "long": "Ownership of this link was checked on %s" + "short": "於 %s 上已驗證", + "long": "已在 %s 檢查此連結的擁有者權限" } }, "segmented_control": { From d17b9e4a1d44d1b06510dd1defe534b81e80d675 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 21:34:40 +0100 Subject: [PATCH 258/300] New translations app.json (German) --- .../StringsConvertor/input/de.lproj/app.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Localization/StringsConvertor/input/de.lproj/app.json b/Localization/StringsConvertor/input/de.lproj/app.json index bda8161a1..894a0245e 100644 --- a/Localization/StringsConvertor/input/de.lproj/app.json +++ b/Localization/StringsConvertor/input/de.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Foto aufnehmen", "save_photo": "Foto speichern", "copy_photo": "Foto kopieren", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Anmelden", + "sign_up": "Konto erstellen", "see_more": "Mehr anzeigen", "preview": "Vorschau", "share": "Teilen", @@ -219,15 +219,15 @@ "log_in": "Anmelden" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Willkommen zurück", + "subtitle": "Melden Sie sich auf dem Server an, auf dem Sie Ihr Konto erstellt haben.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "URL eingeben oder nach Server suchen" } }, "server_picker": { "title": "Wähle einen Server,\nbeliebigen Server.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Wähle einen Server basierend auf deinen Interessen oder deiner Region – oder einfach einen allgemeinen. Du kannst trotzdem mit jedem interagieren, egal auf welchem Server.", "button": { "category": { "all": "Alle", @@ -254,7 +254,7 @@ "category": "KATEGORIE" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Suche nach einer Community oder gib eine URL ein" }, "empty_state": { "finding_servers": "Verfügbare Server werden gesucht...", @@ -455,7 +455,7 @@ "content": "Inhalt" }, "verified": { - "short": "Verified on %s", + "short": "Überprüft am %s", "long": "Besitz des Links wurde überprüft am %s" } }, From 8d4b50018b342a8898542756762de9434eadc130 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 21:34:41 +0100 Subject: [PATCH 259/300] New translations app.json (Thai) --- .../StringsConvertor/input/th.lproj/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Localization/StringsConvertor/input/th.lproj/app.json b/Localization/StringsConvertor/input/th.lproj/app.json index 50f43375e..7b1a3d08e 100644 --- a/Localization/StringsConvertor/input/th.lproj/app.json +++ b/Localization/StringsConvertor/input/th.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "ถ่ายรูป", "save_photo": "บันทึกรูปภาพ", "copy_photo": "คัดลอกรูปภาพ", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "เข้าสู่ระบบ", + "sign_up": "สร้างบัญชี", "see_more": "ดูเพิ่มเติม", "preview": "แสดงตัวอย่าง", "share": "แบ่งปัน", @@ -219,15 +219,15 @@ "log_in": "เข้าสู่ระบบ" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "ยินดีต้อนรับกลับมา", + "subtitle": "นำคุณเข้าสู่ระบบในเซิร์ฟเวอร์ที่คุณได้สร้างบัญชีของคุณไว้ใน", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "ป้อน URL หรือค้นหาสำหรับเซิร์ฟเวอร์ของคุณ" } }, "server_picker": { "title": "Mastodon ประกอบด้วยผู้ใช้ในเซิร์ฟเวอร์ต่าง ๆ", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "เลือกเซิร์ฟเวอร์ตามภูมิภาค, ความสนใจ หรือวัตถุประสงค์ทั่วไปของคุณ คุณยังคงสามารถแชทกับใครก็ตามใน Mastodon โดยไม่คำนึงถึงเซิร์ฟเวอร์ของคุณ", "button": { "category": { "all": "ทั้งหมด", @@ -254,7 +254,7 @@ "category": "หมวดหมู่" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "ค้นหาชุมชนหรือป้อน URL" }, "empty_state": { "finding_servers": "กำลังค้นหาเซิร์ฟเวอร์ที่พร้อมใช้งาน...", From e7af8667e93202b5403e68e15e65b3d1b61bd29f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Nov 2022 21:34:42 +0100 Subject: [PATCH 260/300] New translations app.json (Icelandic) --- .../StringsConvertor/input/is.lproj/app.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Localization/StringsConvertor/input/is.lproj/app.json b/Localization/StringsConvertor/input/is.lproj/app.json index 1cd72f356..191a670ed 100644 --- a/Localization/StringsConvertor/input/is.lproj/app.json +++ b/Localization/StringsConvertor/input/is.lproj/app.json @@ -361,7 +361,7 @@ "Publishing": "Birti færslu...", "accessibility": { "logo_label": "Hnappur með táknmerki", - "logo_hint": "Tap to scroll to top and tap again to previous location" + "logo_hint": "Ýttu til að skruna efst og ýttu aftur til að fara aftur á fyrri staðsetningu" } } }, @@ -558,7 +558,7 @@ "community": "Samfélag", "for_you": "Fyrir þig" }, - "intro": "These are the posts gaining traction in your corner of Mastodon." + "intro": "Þetta eru færslurnar sem eru að fá aukna athygli í þínu horni á Mastodon." }, "favorite": { "title": "Eftirlætin þín" @@ -692,14 +692,14 @@ }, "step_final": { "dont_want_to_see_this": "Langar þig ekki að sjá þetta?", - "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "When you see something you don’t like on Mastodon, you can remove the person from your experience.", + "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Þegar þú sér eitthvað á Mastodon sem þér líkar ekki, þá geturðu fjarlægt viðkomandi eintakling úr umhverfinu þínu.", "unfollow": "Hætta að fylgjast með", "unfollowed": "Hætti að fylgjast með", "unfollow_user": "Hætta að fylgjast með %s", "mute_user": "Þagga niður í %s", - "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted.", + "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Þú munt ekki sjá færslur eða endurbirtingar frá viðkomandi á streyminu þínu. Viðkomandi aðilar munu ekki vita að þaggað hefur verið niður í þeim.", "block_user": "Útiloka %s", - "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked.", + "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Viðkomandi mun ekki lengur geta fylgst með eða séð færslurnar þínar, en munu sjá ef viðkomandi hefur verið útilokaður.", "while_we_review_this_you_can_take_action_against_user": "Á meðan við yfirförum þetta, geturðu tekið til aðgerða gegn %s" } }, @@ -711,14 +711,14 @@ } }, "account_list": { - "tab_bar_hint": "Current selected profile: %s. Double tap then hold to show account switcher", - "dismiss_account_switcher": "Dismiss Account Switcher", + "tab_bar_hint": "Fyrirliggjandi valið notandasnið: %s. Tvípikkaðu og haltu niðri til að birta aðgangaskiptinn", + "dismiss_account_switcher": "Loka aðgangaskipti", "add_account": "Bæta við notandaaðgangi" }, "wizard": { "new_in_mastodon": "Nýtt í Mastodon", - "multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.", - "accessibility_hint": "Double tap to dismiss this wizard" + "multiple_account_switch_intro_description": "Skiptu milli notandaaðganga með því að halda niðri notandasniðshnappnum.", + "accessibility_hint": "Tvípikkaðu til að loka þessum leiðarvísi" }, "bookmark": { "title": "Bókamerki" From bb72150aedb692aea4ac08f41a3fb157f432266f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 05:09:48 +0100 Subject: [PATCH 261/300] New translations app.json (Galician) --- Localization/StringsConvertor/input/gl.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index f6e01439a..f87322abb 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Facer foto", "save_photo": "Gardar foto", "copy_photo": "Copiar foto", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Acceder", + "sign_up": "Crear conta", "see_more": "Ver máis", "preview": "Vista previa", "share": "Compartir", From 506cd46a8d0c09aa86a387affe68e7e6730bf556 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 06:19:30 +0100 Subject: [PATCH 262/300] New translations app.json (Galician) --- Localization/StringsConvertor/input/gl.lproj/app.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index f87322abb..15c7a612a 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -219,15 +219,15 @@ "log_in": "Acceder" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Benvido outra vez", + "subtitle": "Conéctate ao servidor no que creaches a conta.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Escribe o URL ou busca o teu servidor" } }, "server_picker": { "title": "Mastodon fórmano as persoas das diferentes comunidades.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Elixe un servidor en función dos teus intereses, rexión o un de propósito xeral. Poderás conversar con calquera en Mastodon, independentemente do servidor que elixas.", "button": { "category": { "all": "Todo", @@ -254,7 +254,7 @@ "category": "CATEGORÍA" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Busca comunidades ou escribe URL" }, "empty_state": { "finding_servers": "Buscando servidores dispoñibles...", From ce1f6b3e8f480e293b4a3430891dfe6b64fe5c60 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 06:19:31 +0100 Subject: [PATCH 263/300] New translations app.json (Indonesian) --- .../StringsConvertor/input/id.lproj/app.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index dba617b0b..59ef1e0fe 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Ambil Foto", "save_photo": "Simpan Foto", "copy_photo": "Salin Foto", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Masuk", + "sign_up": "Buat akun", "see_more": "Lihat lebih banyak", "preview": "Pratinjau", "share": "Bagikan", @@ -219,15 +219,15 @@ "log_in": "Login" }, "login": { - "title": "Welcome back", - "subtitle": "Log you in on the server you created your account on.", + "title": "Selamat datang kembali", + "subtitle": "Masuklah pada server yang Anda buat di mana akun Anda berada.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Masukkan URL atau pencarian di server Anda" } }, "server_picker": { "title": "Pilih sebuah server,\nserver manapun.", - "subtitle": "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers.", + "subtitle": "Pilih server berdasarkan agamamu, minat, atau subjek umum lainnya. Kamu masih bisa berkomunikasi dengan semua orang di Mastodon, tanpa memperdulikan server Anda.", "button": { "category": { "all": "Semua", @@ -254,7 +254,7 @@ "category": "KATEGORI" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Cari komunitas atau masukkan URL" }, "empty_state": { "finding_servers": "Mencari server yang tersedia...", @@ -315,7 +315,7 @@ "inclusion": "%s is not a supported value" }, "special": { - "username_invalid": "Username must only contain alphanumeric characters and underscores", + "username_invalid": "Nama pengguna hanya berisi angka karakter dan garis bawah", "username_too_long": "Nama pengguna terlalu panjang (tidak boleh lebih dari 30 karakter)", "email_invalid": "Ini bukan alamat surel yang valid", "password_too_short": "Kata sandi terlalu pendek (harus sekurang-kurangnya 8 karakter)" From d8164c2bc9ced34893771956f528b6aa00cdabf4 Mon Sep 17 00:00:00 2001 From: Stefan Painhapp <4242986+painhapp@users.noreply.github.com> Date: Thu, 17 Nov 2022 14:26:40 +0900 Subject: [PATCH 264/300] Fix Video Player Constraints issue --- Gemfile.lock | 2 ++ .../Video/MediaPreviewVideoViewController.swift | 7 ++++++- .../MastodonCore/Service/API/APIService+APIError.swift | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e0ed91c5b..15d02a8ec 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,7 +100,9 @@ GEM PLATFORMS arm64-darwin-21 + arm64-darwin-22 x86_64-darwin-21 + x86_64-darwin-22 DEPENDENCIES arkana diff --git a/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift b/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift index 7bdbbfed2..cc559d8bb 100644 --- a/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift +++ b/Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift @@ -45,7 +45,6 @@ extension MediaPreviewVideoViewController { playerViewController.view.widthAnchor.constraint(equalTo: view.widthAnchor), playerViewController.view.heightAnchor.constraint(equalTo: view.heightAnchor), ]) - playerViewController.didMove(toParent: self) if let contentOverlayView = playerViewController.contentOverlayView { previewImageView.translatesAutoresizingMaskIntoConstraints = false @@ -90,6 +89,12 @@ extension MediaPreviewVideoViewController { } } + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + + playerViewController.didMove(toParent: self) + } + } // MARK: - ShareActivityProvider diff --git a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+APIError.swift b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+APIError.swift index 6fdb973da..52b6d4678 100644 --- a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+APIError.swift +++ b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+APIError.swift @@ -43,7 +43,7 @@ extension APIService.APIError: LocalizedError { public var errorDescription: String? { switch errorReason { - case .authenticationMissing: return "Fail to Authenticatie" + case .authenticationMissing: return "Fail to Authenticate" case .badRequest: return "Bad Request" case .badResponse: return "Bad Response" case .requestThrottle: return "Request Throttled" From cb5d027ce9428b47e5e37b7d9f7b69a09b64fd8f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 08:19:27 +0100 Subject: [PATCH 265/300] New translations app.json (Kabyle) --- Localization/StringsConvertor/input/kab.lproj/app.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/StringsConvertor/input/kab.lproj/app.json b/Localization/StringsConvertor/input/kab.lproj/app.json index fb8add87b..9c4a533bb 100644 --- a/Localization/StringsConvertor/input/kab.lproj/app.json +++ b/Localization/StringsConvertor/input/kab.lproj/app.json @@ -74,8 +74,8 @@ "take_photo": "Ṭṭef tawlaft", "save_photo": "Sekles tawlaft", "copy_photo": "Nɣel tawlaft", - "sign_in": "Log in", - "sign_up": "Create account", + "sign_in": "Qqen", + "sign_up": "Snulfu-d amiḍan", "see_more": "Wali ugar", "preview": "Taskant", "share": "Bḍu", @@ -219,7 +219,7 @@ "log_in": "Qqen" }, "login": { - "title": "Welcome back", + "title": "Ansuf yess·ek·em", "subtitle": "Log you in on the server you created your account on.", "server_search_field": { "placeholder": "Enter URL or search for your server" @@ -254,7 +254,7 @@ "category": "TAGGAYT" }, "input": { - "search_servers_or_enter_url": "Search communities or enter URL" + "search_servers_or_enter_url": "Nadi timɣiwnin neɣ sekcem URL" }, "empty_state": { "finding_servers": "Tifin n yiqeddacen yellan...", From ab094199502f3a3674a654f35c6f2641cac1552d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 08:19:28 +0100 Subject: [PATCH 266/300] New translations Localizable.stringsdict (Kabyle) --- .../StringsConvertor/input/kab.lproj/Localizable.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict index fd7cac605..dd66c70d3 100644 --- a/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 n usekkil other - %ld characters + %ld n isekkilen plural.count.followed_by_and_mutual From a0db294abeaa3cf3fc2fe82c7c92d0149aa3fd58 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 09:45:18 +0100 Subject: [PATCH 267/300] New translations app.json (Kabyle) --- .../StringsConvertor/input/kab.lproj/app.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Localization/StringsConvertor/input/kab.lproj/app.json b/Localization/StringsConvertor/input/kab.lproj/app.json index 9c4a533bb..62cea8780 100644 --- a/Localization/StringsConvertor/input/kab.lproj/app.json +++ b/Localization/StringsConvertor/input/kab.lproj/app.json @@ -137,10 +137,10 @@ "closed": "Ifukk" }, "meta_entity": { - "url": "Link: %s", - "hashtag": "Hashtag: %s", - "mention": "Show Profile: %s", - "email": "Email address: %s" + "url": "Asaɣ : %s", + "hashtag": "Ahacṭag : %s", + "mention": "Sken-d amaɣnu : %s", + "email": "Tansa imayl : %s" }, "actions": { "reply": "Err", @@ -222,7 +222,7 @@ "title": "Ansuf yess·ek·em", "subtitle": "Log you in on the server you created your account on.", "server_search_field": { - "placeholder": "Enter URL or search for your server" + "placeholder": "Sekcem URL neɣ nadi ɣef uqeddac-ik·im" } }, "server_picker": { @@ -357,8 +357,8 @@ "navigation_bar_state": { "offline": "Beṛṛa n tuqqna", "new_posts": "Tissufaɣ timaynutin", - "published": "Yettwasuffeɣ!", - "Publishing": "Asuffeɣ tasuffeɣt...", + "published": "Tettwasuffeɣ!", + "Publishing": "Asuffeɣ n tasuffeɣt...", "accessibility": { "logo_label": "Taqeffalt n ulugu", "logo_hint": "Sit i wakken ad tɛeddiḍ i usawen, sit tikkelt-nniḍen i wakken ad tɛeddiḍ ɣer wadig yezrin" @@ -671,7 +671,7 @@ "its_spam": "D aspam", "malicious_links_fake_engagement_or_repetetive_replies": "Yir iseɣwan, yir agman d tririyin i d-yettuɣalen", "it_violates_server_rules": "Truẓi n yilugan n uqeddac", - "you_are_aware_that_it_breaks_specific_rules": "Teẓriḍ y•tettruẓu kra n yilugan", + "you_are_aware_that_it_breaks_specific_rules": "Teẓriḍ y·tettruẓu kra n yilugan", "its_something_else": "Ɣef ssebba-nniḍen", "the_issue_does_not_fit_into_other_categories": "Ugur ur yemṣada ara akk d taggayin-nniḍen" }, From 6366d26f4b9b37ceaeaef5a83eea3641380aeb3e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 09:45:19 +0100 Subject: [PATCH 268/300] New translations Localizable.stringsdict (Kabyle) --- .../input/kab.lproj/Localizable.stringsdict | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict index dd66c70d3..f18a906c0 100644 --- a/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/kab.lproj/Localizable.stringsdict @@ -136,7 +136,7 @@ NSStringFormatValueTypeKey ld one - 1 tsuffeɣt + 1 n tsuffeɣt other %ld n tsuffaɣ @@ -312,9 +312,9 @@ NSStringFormatValueTypeKey ld one - Yeqqim-d 1 wass + Yeqqim-d 1 n wass other - Qqimen-d %ld wussan + Qqimen-d %ld n wussan date.hour.left @@ -328,9 +328,9 @@ NSStringFormatValueTypeKey ld one - Yeqqim-d 1 usrag + Yeqqim-d 1 n wesrag other - Qqimen-d %ld yisragen + Qqimen-d %ld n yisragen date.minute.left @@ -344,9 +344,9 @@ NSStringFormatValueTypeKey ld one - 1 tesdat i d-yeqqimen + 1 n tesdat i d-yeqqimen other - %ld tesdatin i d-yeqqimen + %ld n tesdatin i d-yeqqimen date.second.left @@ -360,9 +360,9 @@ NSStringFormatValueTypeKey ld one - 1 tasint i d-yeqqimen + 1 n tasint i d-yeqqimen other - %ld tsinin i d-yeqqimen + %ld n tasinin i d-yeqqimen date.year.ago.abbr @@ -376,9 +376,9 @@ NSStringFormatValueTypeKey ld one - 1 useggas aya + %ld n useggas aya other - %ld yiseggasen aya + %ld n yiseggasen aya date.month.ago.abbr @@ -392,9 +392,9 @@ NSStringFormatValueTypeKey ld one - 1 wayyur aya + %ld n wayyur aya other - %ld wayyuren aya + %ld n wayyuren aya date.day.ago.abbr @@ -408,9 +408,9 @@ NSStringFormatValueTypeKey ld one - 1 wass aya + %ld n wass aya other - %ld wussan aya + %ld n wussan aya date.hour.ago.abbr @@ -424,9 +424,9 @@ NSStringFormatValueTypeKey ld one - 1 usrag aya + %ld n wesrag aya other - %ld yisragen aya + %ld n yisragen aya date.minute.ago.abbr @@ -440,9 +440,9 @@ NSStringFormatValueTypeKey ld one - 1 tesdat aya + %ld n tesdat aya other - %ld tesdatin aya + %ld n tesdatin aya date.second.ago.abbr @@ -456,9 +456,9 @@ NSStringFormatValueTypeKey ld one - 1 tasint aya + %ld n tasint aya other - %ld tsinin aya + %ld n tasinin aya From 936b9b9ac6f100a16b1fd552c187d805d7cd7534 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 09:45:21 +0100 Subject: [PATCH 269/300] New translations Intents.stringsdict (Kabyle) --- .../Intents/input/kab.lproj/Intents.stringsdict | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/Intents/input/kab.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/kab.lproj/Intents.stringsdict index a8aeeaaf1..6cead6f34 100644 --- a/Localization/StringsConvertor/Intents/input/kab.lproj/Intents.stringsdict +++ b/Localization/StringsConvertor/Intents/input/kab.lproj/Intents.stringsdict @@ -29,9 +29,9 @@ NSStringFormatValueTypeKey %ld one - 1 uɣewwaṛ + %ld n uɣewwaṛ other - %ld iɣewwaṛen + %ld n iɣewwaṛen From 60d9d3537d9a98ff7ed15dc34d8761231f76539e Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Thu, 17 Nov 2022 10:22:13 +0100 Subject: [PATCH 270/300] feat: Implement double-tap account switching on iPad --- Mastodon.xcodeproj/project.pbxproj | 4 ++ .../Extension/AppContext+NextAccount.swift | 47 +++++++++++++++++++ .../Root/ContentSplitViewController.swift | 13 +++++ .../Root/MainTab/MainTabBarController.swift | 25 +--------- .../Root/Sidebar/SidebarViewController.swift | 23 +++++++++ 5 files changed, 88 insertions(+), 24 deletions(-) create mode 100644 Mastodon/Extension/AppContext+NextAccount.swift diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index 5724244b6..d8020fb3f 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -23,6 +23,7 @@ 0FB3D33825E6401400AAD544 /* PickServerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FB3D33725E6401400AAD544 /* PickServerCell.swift */; }; 164F0EBC267D4FE400249499 /* BoopSound.caf in Resources */ = {isa = PBXBuildFile; fileRef = 164F0EBB267D4FE400249499 /* BoopSound.caf */; }; 18BC7629F65E6DB12CB8416D /* Pods_Mastodon_MastodonUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C030226D3C73DCC23D67452 /* Pods_Mastodon_MastodonUITests.framework */; }; + 2A82294F29262EE000D2A1F7 /* AppContext+NextAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */; }; 2D198643261BF09500F0B013 /* SearchResultItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D198642261BF09500F0B013 /* SearchResultItem.swift */; }; 2D198649261C0B8500F0B013 /* SearchResultSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D198648261C0B8500F0B013 /* SearchResultSection.swift */; }; 2D206B8625F5FB0900143C56 /* Double.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D206B8525F5FB0900143C56 /* Double.swift */; }; @@ -518,6 +519,7 @@ 0FB3D33725E6401400AAD544 /* PickServerCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickServerCell.swift; sourceTree = ""; }; 164F0EBB267D4FE400249499 /* BoopSound.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = BoopSound.caf; sourceTree = ""; }; 1D6D967E77A5357E2C6110D9 /* Pods-Mastodon.asdk - debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon.asdk - debug.xcconfig"; path = "Target Support Files/Pods-Mastodon/Pods-Mastodon.asdk - debug.xcconfig"; sourceTree = ""; }; + 2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppContext+NextAccount.swift"; sourceTree = ""; }; 2D198642261BF09500F0B013 /* SearchResultItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultItem.swift; sourceTree = ""; }; 2D198648261C0B8500F0B013 /* SearchResultSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultSection.swift; sourceTree = ""; }; 2D206B8525F5FB0900143C56 /* Double.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Double.swift; sourceTree = ""; }; @@ -2222,6 +2224,7 @@ isa = PBXGroup; children = ( 2DF123A625C3B0210020F248 /* ActiveLabel.swift */, + 2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */, 5DF1056325F887CB00D6C0D4 /* AVPlayer.swift */, 2D206B8525F5FB0900143C56 /* Double.swift */, DBB3BA2926A81C020004F2D4 /* FLAnimatedImageView.swift */, @@ -3465,6 +3468,7 @@ DBFEEC99279BDCDE004F81DD /* ProfileAboutViewModel.swift in Sources */, 2D198649261C0B8500F0B013 /* SearchResultSection.swift in Sources */, DB4F097B26A039FF00D62E92 /* SearchHistorySection.swift in Sources */, + 2A82294F29262EE000D2A1F7 /* AppContext+NextAccount.swift in Sources */, DBB525302611EBF3002F1F29 /* ProfilePagingViewModel.swift in Sources */, DB9F58EC26EF435000E7BBE9 /* AccountViewController.swift in Sources */, 2D5A3D6225CFD9CB002347D6 /* HomeTimelineViewController+DebugAction.swift in Sources */, diff --git a/Mastodon/Extension/AppContext+NextAccount.swift b/Mastodon/Extension/AppContext+NextAccount.swift new file mode 100644 index 000000000..a8eae1e13 --- /dev/null +++ b/Mastodon/Extension/AppContext+NextAccount.swift @@ -0,0 +1,47 @@ +// +// AppContext+NextAccount.swift +// Mastodon +// +// Created by Marcus Kida on 17.11.22. +// + +import CoreData +import CoreDataStack +import MastodonCore +import MastodonSDK + +extension AppContext { + func nextAccount(in authContext: AuthContext) -> MastodonAuthentication? { + let request = MastodonAuthentication.sortedFetchRequest + guard + let accounts = try? managedObjectContext.fetch(request), + accounts.count > 1 + else { return nil } + + let nextSelectedAccountIndex: Int? = { + for (index, account) in accounts.enumerated() { + guard account == authContext.mastodonAuthenticationBox + .authenticationRecord + .object(in: managedObjectContext) + else { continue } + + let nextAccountIndex = index + 1 + + if accounts.count > nextAccountIndex { + return nextAccountIndex + } else { + return 0 + } + } + + return nil + }() + + guard + let nextSelectedAccountIndex = nextSelectedAccountIndex, + accounts.count > nextSelectedAccountIndex + else { return nil } + + return accounts[nextSelectedAccountIndex] + } +} diff --git a/Mastodon/Scene/Root/ContentSplitViewController.swift b/Mastodon/Scene/Root/ContentSplitViewController.swift index 3f4758e8e..a10f0ed9b 100644 --- a/Mastodon/Scene/Root/ContentSplitViewController.swift +++ b/Mastodon/Scene/Root/ContentSplitViewController.swift @@ -124,4 +124,17 @@ extension ContentSplitViewController: SidebarViewControllerDelegate { accountListViewController.preferredContentSize = CGSize(width: 375, height: 400) } + func sidebarViewController(_ sidebarViewController: SidebarViewController, didDoubleTapItem item: SidebarViewModel.Item, sourceView: UIView) { + guard case let .tab(tab) = item, tab == .me else { return } + guard let authContext = authContext else { return } + assert(Thread.isMainThread) + + guard let nextAccount = context.nextAccount(in: authContext) else { return } + + Task { @MainActor in + let isActive = try await context.authenticationService.activeMastodonUser(domain: nextAccount.domain, userID: nextAccount.userID) + guard isActive else { return } + self.coordinator.setup() + } + } } diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 5f77d9584..5143e00c9 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -406,30 +406,7 @@ extension MainTabBarController { guard let authContext = authContext else { return } assert(Thread.isMainThread) - let request = MastodonAuthentication.sortedFetchRequest - guard let accounts = try? context.managedObjectContext.fetch(request), accounts.count > 1 else { return } - - let nextSelectedAccountIndex: Int? = { - for (index, account) in accounts.enumerated() { - guard account == authContext.mastodonAuthenticationBox - .authenticationRecord - .object(in: context.managedObjectContext) - else { continue } - - let nextAccountIndex = index + 1 - - if accounts.count > nextAccountIndex { - return nextAccountIndex - } else { - return 0 - } - } - - return nil - }() - - guard let nextSelectedAccountIndex = nextSelectedAccountIndex, accounts.count > nextSelectedAccountIndex else { return } - let nextAccount = accounts[nextSelectedAccountIndex] + guard let nextAccount = context.nextAccount(in: authContext) else { return } Task { @MainActor in let isActive = try await context.authenticationService.activeMastodonUser(domain: nextAccount.domain, userID: nextAccount.userID) diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift index 70e1239b6..c1faafca7 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift @@ -15,6 +15,7 @@ import MastodonUI protocol SidebarViewControllerDelegate: AnyObject { func sidebarViewController(_ sidebarViewController: SidebarViewController, didSelectTab tab: MainTabBarController.Tab) func sidebarViewController(_ sidebarViewController: SidebarViewController, didLongPressItem item: SidebarViewModel.Item, sourceView: UIView) + func sidebarViewController(_ sidebarViewController: SidebarViewController, didDoubleTapItem item: SidebarViewModel.Item, sourceView: UIView) } final class SidebarViewController: UIViewController, NeedsDependency { @@ -143,6 +144,14 @@ extension SidebarViewController { let sidebarLongPressGestureRecognizer = UILongPressGestureRecognizer() sidebarLongPressGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarLongPressGestureRecognizerHandler(_:))) collectionView.addGestureRecognizer(sidebarLongPressGestureRecognizer) + + let sidebarDoubleTapGestureRecognizer = UITapGestureRecognizer() + sidebarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 + sidebarDoubleTapGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarDoubleTapGestureRecognizerHandler(_:))) + sidebarDoubleTapGestureRecognizer.delaysTouchesBegan = true + sidebarDoubleTapGestureRecognizer.cancelsTouchesInView = true + collectionView.addGestureRecognizer(sidebarDoubleTapGestureRecognizer) + } private func setupBackground(theme: Theme) { @@ -176,6 +185,20 @@ extension SidebarViewController { guard let cell = collectionView.cellForItem(at: indexPath) else { return } delegate?.sidebarViewController(self, didLongPressItem: item, sourceView: cell) } + + @objc private func sidebarDoubleTapGestureRecognizerHandler(_ sender: UITapGestureRecognizer) { + guard sender.state == .ended else { return } + + logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)") + assert(sender.view === collectionView) + + let position = sender.location(in: collectionView) + guard let indexPath = collectionView.indexPathForItem(at: position) else { return } + guard let diffableDataSource = viewModel.diffableDataSource else { return } + guard let item = diffableDataSource.itemIdentifier(for: indexPath) else { return } + guard let cell = collectionView.cellForItem(at: indexPath) else { return } + delegate?.sidebarViewController(self, didDoubleTapItem: item, sourceView: cell) + } } From be255ff53b504dbf2efd8f667f53dd1298d99b86 Mon Sep 17 00:00:00 2001 From: CMK Date: Thu, 17 Nov 2022 20:41:55 +0800 Subject: [PATCH 271/300] fix: compose content could not post media only issue --- .../ComposeContentViewModel.swift | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift index 06d84566b..61ccd9e3a 100644 --- a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift @@ -359,7 +359,7 @@ extension ComposeContentViewModel { let isMediaUploadAllSuccess = $attachmentViewModels .map { attachmentViewModels in return Publishers.MergeMany(attachmentViewModels.map { $0.$uploadState }) - .delay(for: 0.5, scheduler: DispatchQueue.main) // convert to outputs with delay. Due to @Published emit before changes + .delay(for: 0.3, scheduler: DispatchQueue.main) // convert to outputs with delay. Due to @Published emit before changes .map { _ in attachmentViewModels.map { $0.uploadState } } } .switchToLatest() @@ -367,18 +367,20 @@ extension ComposeContentViewModel { guard outputs.allSatisfy({ $0 == .finish }) else { return false } return true } + .prepend(true) let isPollOptionsAllValid = $pollOptions .map { options in return Publishers.MergeMany(options.map { $0.$text }) - .delay(for: 0.5, scheduler: DispatchQueue.main) // convert to outputs with delay. Due to @Published emit before changes + .delay(for: 0.3, scheduler: DispatchQueue.main) // convert to outputs with delay. Due to @Published emit before changes .map { _ in options.map { $0.text } } } .switchToLatest() .map { outputs in return outputs.allSatisfy { !$0.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty } } - + .prepend(true) + let isPublishBarButtonItemEnabledPrecondition1 = Publishers.CombineLatest4( isComposeContentEmpty, isComposeContentValid, @@ -394,17 +396,15 @@ extension ComposeContentViewModel { } .eraseToAnyPublisher() - let isPublishBarButtonItemEnabledPrecondition2 = Publishers.CombineLatest4( - isComposeContentEmpty, - isComposeContentValid, + let isPublishBarButtonItemEnabledPrecondition2 = Publishers.CombineLatest( $isPollActive, isPollOptionsAllValid ) - .map { isComposeContentEmpty, isComposeContentValid, isPollComposing, isPollOptionsAllValid -> Bool in - if isPollComposing { - return isComposeContentValid && !isComposeContentEmpty && isPollOptionsAllValid + .map { isPollActive, isPollOptionsAllValid -> Bool in + if isPollActive { + return isPollOptionsAllValid } else { - return isComposeContentValid && !isComposeContentEmpty + return true } } .eraseToAnyPublisher() From 1d6d059718fa8fcfc7cfb76e15e5e245786e72ae Mon Sep 17 00:00:00 2001 From: CMK Date: Fri, 22 Jul 2022 17:48:04 +0800 Subject: [PATCH 272/300] cherry-pick: 79a76b39c657fe5ecd63ead48b756e82738e7b4d --- Documentation/How-it-works.md | 75 +++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Documentation/How-it-works.md diff --git a/Documentation/How-it-works.md b/Documentation/How-it-works.md new file mode 100644 index 000000000..a1e12b186 --- /dev/null +++ b/Documentation/How-it-works.md @@ -0,0 +1,75 @@ +# How it works +The app is currently built for iOS and iPadOS. We use the MVVM architecture to construct the whole app. Some design detail may not be the best practice and welcome any suggestions for improvements. + +## Data +A typical status timeline fetches results from the database using a predicate that specifies active account-related entities displayed. Then table view data source dequeues an item to configure the view. Likes many other MVVM applications. The app binds the Core Data entity to view via Combine publisher. Because the RunLoop dispatch drawing on the next loop. So we could return quickly. + +## Layout +A timeline has many posts and each post has many components. For example avatar, name, username, timestamp, content, media, and toolbar. The app uses `AutoLayout` with `UIStackView` to place it and control whether it should hide or not. + +## Performance +Although it's easily loading timeline with hundreds of thousands of entities due to the Core Data fault mechanism. Some old devices may have slow performance when I/O bottleneck. There are two potential profile chances for entities preload fulfill and background drawing layout. + +## SwiftUI +Some view models already migrate to `@Published` annotated output. It's future-proof support for SwiftUI. There are some views already transformed to `SwiftUI` likes `MastodonRegisterView` and `ReportReasonView`. + +# Take it apart +## Targets +The app builds with those targets: + +- Mastodon: the app itself +- NotificationService: E2E push notification service +- ShareActionExtension: iOS share action +- MastodonIntent: Siri shortcuts +- AppShared: SwiftPM dependency resolve + + +## MastodonSDK +There is a self-hosted Swift Package that contains the common libraries to build this app. + +- CoreDataStack: Core Data model definition and util methods +- MastodonAsset: image and font assets +- MastodonCommon: store App Group ID +- MastodonExtension: system API extension utility +- MastodonLocalization: i18n resources +- MastodonSDK: Mastodon API client +- MastodonUI: App UI components + +#### CoreDataStack +App uses Core Data as the backend to persist all entitles from the server. So the app has the capability to keep the timeline and notifications. Another reason for using a database is it makes the app could respond to entity changes between different sources. For example, a user could skim in the home timeline and then interact with the same post on other pages with favorite or reblog actions. Core Data will handle the property modifications and notify the home timeline to update the view. + +To simplify the database operations. There is only one persistent store for all accounts. We use `domain` to identify entity for different servers (a.k.a instance). Do not mix the `domain` with the Mastodon remote server name. The domain is `mastodon.online` whatever the post (e.g. post at `mstdn.jp`) and friends from for an account sign in `mastodon.online`. Also, do not only rely on `id` because it has conflict potential in others `domain`. + +The app use one stack two context Core Data setup. There is one main managed object context for UI displaying and another background managed context for entities creating and updating. We assert the background context performs in a queue. But derive a new background context for long-time database operation to avoid concurrency persistent conflict issues should be considered. + +#### MastodonAsset +Sourcery powered assets packet. + +#### MastodonCommon +Shared code for preference and configuration. + +#### MastodonExtension +Utility extension codes for SDK. + +#### MastodonLocalization +Sourcery powered i18n packet. + +#### MastodonSDK +Mastodon API wrapper with Combine style API. + +#### MastodonUI +Mastodon app UI components. + +## NotificationService +Mastodon server accepts push notification register and we use the [toot-relay](https://github.com/DagAgren/toot-relay) to pass the server notifications to APNs. The message is E2E encrypted. The app will create an on-device private key for notification and save it into the keychain. + +When the push notification is incoming. iOS will spawn our NotificationService extension to handle the message. At that time the message is decrypted and displayed as a banner or in-app silent notification event when the app is in the foreground. All the notification count and deep-link logic are handled by the main app. + +## ShareActionExtension +The iOS Share Extension allows users to share links or media from other apps. The app uses the UIKit implementation. For simplifying we using the SwiftUI implementing a replica one but with fewer features. + +## MastodonIntent +iOS Siri shortcut supports. It allows iOS directly publish posts via Shortcut without app launching. + +## AppShared +A framework for SwiftPM packet dependency resolve. Also, for CocoaPods-Key integration but we migrate to Arkana now. From d8cf4606e2a9e53a0b23ce4fbd128696175bc750 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Thu, 17 Nov 2022 15:33:21 +0100 Subject: [PATCH 273/300] fix: TabBar has noticeable delay when selecting next tab --- Mastodon/Scene/Root/MainTab/MainTabBarController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 5f77d9584..d2596cefb 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -329,6 +329,7 @@ extension MainTabBarController { let tabBarDoubleTapGestureRecognizer = UITapGestureRecognizer() tabBarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 tabBarDoubleTapGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarDoubleTapGestureRecognizerHandler(_:))) + tabBarDoubleTapGestureRecognizer.delaysTouchesEnded = false tabBar.addGestureRecognizer(tabBarDoubleTapGestureRecognizer) self.isReadyForWizardAvatarButton = authContext != nil From e8e8a2a4c962e8a9fdab36eb9caf55323370d4af Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Thu, 17 Nov 2022 15:45:25 +0100 Subject: [PATCH 274/300] fix: Don't delay touches ended --- Mastodon/Scene/Root/Sidebar/SidebarViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift index c1faafca7..8a0ed763a 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift @@ -148,7 +148,7 @@ extension SidebarViewController { let sidebarDoubleTapGestureRecognizer = UITapGestureRecognizer() sidebarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 sidebarDoubleTapGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarDoubleTapGestureRecognizerHandler(_:))) - sidebarDoubleTapGestureRecognizer.delaysTouchesBegan = true + sidebarDoubleTapGestureRecognizer.delaysTouchesEnded = false sidebarDoubleTapGestureRecognizer.cancelsTouchesInView = true collectionView.addGestureRecognizer(sidebarDoubleTapGestureRecognizer) From 3b1e7ed3909d6084352176b7347f4de9e186ab8c Mon Sep 17 00:00:00 2001 From: CMK Date: Thu, 17 Nov 2022 23:29:42 +0800 Subject: [PATCH 275/300] chore: update doc for how-it-works --- Documentation/How-it-works.md | 49 +++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/Documentation/How-it-works.md b/Documentation/How-it-works.md index a1e12b186..1a1969623 100644 --- a/Documentation/How-it-works.md +++ b/Documentation/How-it-works.md @@ -1,14 +1,17 @@ # How it works -The app is currently built for iOS and iPadOS. We use the MVVM architecture to construct the whole app. Some design detail may not be the best practice and welcome any suggestions for improvements. +The app is currently build for iOS and iPadOS. We use the MVVM architecture to construct the whole app. Some design detail may not be the best practice. And any suggestions for improvements are welcome. ## Data -A typical status timeline fetches results from the database using a predicate that specifies active account-related entities displayed. Then table view data source dequeues an item to configure the view. Likes many other MVVM applications. The app binds the Core Data entity to view via Combine publisher. Because the RunLoop dispatch drawing on the next loop. So we could return quickly. +A typical status timeline fetches results from the database using a predicate that fetch the active account's entities. Then data source dequeues an item then configure the view. Likes many other MVVM applications. The app binds the Core Data entity to view via Combine publisher. Because the RunLoop dispatch drawing on the next loop. So we could return quickly. ## Layout -A timeline has many posts and each post has many components. For example avatar, name, username, timestamp, content, media, and toolbar. The app uses `AutoLayout` with `UIStackView` to place it and control whether it should hide or not. +A timeline has many posts and each post has many components. For example avatar, name, username, timestamp, content, media, toolbar and e.t.c. The app uses `AutoLayout` with `UIStackView` to place it and control whether it should hide or not. ## Performance -Although it's easily loading timeline with hundreds of thousands of entities due to the Core Data fault mechanism. Some old devices may have slow performance when I/O bottleneck. There are two potential profile chances for entities preload fulfill and background drawing layout. +Although it's easily loading timeline with hundreds of thousands of entities due to the Core Data fault mechanism. Some old devices may have slow performance when I/O bottleneck. There are three potential profile chances for entities: +- preload fulfill +- layout in background +- limit the data fetching ## SwiftUI Some view models already migrate to `@Published` annotated output. It's future-proof support for SwiftUI. There are some views already transformed to `SwiftUI` likes `MastodonRegisterView` and `ReportReasonView`. @@ -21,8 +24,6 @@ The app builds with those targets: - NotificationService: E2E push notification service - ShareActionExtension: iOS share action - MastodonIntent: Siri shortcuts -- AppShared: SwiftPM dependency resolve - ## MastodonSDK There is a self-hosted Swift Package that contains the common libraries to build this app. @@ -30,29 +31,52 @@ There is a self-hosted Swift Package that contains the common libraries to build - CoreDataStack: Core Data model definition and util methods - MastodonAsset: image and font assets - MastodonCommon: store App Group ID +- MastodonCore: the logic for the app - MastodonExtension: system API extension utility - MastodonLocalization: i18n resources - MastodonSDK: Mastodon API client - MastodonUI: App UI components #### CoreDataStack -App uses Core Data as the backend to persist all entitles from the server. So the app has the capability to keep the timeline and notifications. Another reason for using a database is it makes the app could respond to entity changes between different sources. For example, a user could skim in the home timeline and then interact with the same post on other pages with favorite or reblog actions. Core Data will handle the property modifications and notify the home timeline to update the view. +App uses Core Data as the backend to persist all entitles from the server. So the app has the capability to keep the timeline and notifications. Another reason for using a database is it makes the app could respond to entity changes between different sources. For example, a user could skim in the home timeline and then interact with the same post on other pages with favorite or reblog action. Core Data will handle the property modifications and notify the home timeline to update the view. -To simplify the database operations. There is only one persistent store for all accounts. We use `domain` to identify entity for different servers (a.k.a instance). Do not mix the `domain` with the Mastodon remote server name. The domain is `mastodon.online` whatever the post (e.g. post at `mstdn.jp`) and friends from for an account sign in `mastodon.online`. Also, do not only rely on `id` because it has conflict potential in others `domain`. +To simplify the database operations. There is only one persistent store for all accounts. We use `domain` to identify entity for different servers (a.k.a instance). Do not mix the `domain` with the Mastodon remote server name. For example. The domain is `mastodon.online` whereever the post (e.g. post come from `mstdn.jp`) and friends from for the account sign in `mastodon.online`. Also, do not only rely on `id` because it has conflict potential between different `domain`. The unique predicate is `domain` + `id`. -The app use one stack two context Core Data setup. There is one main managed object context for UI displaying and another background managed context for entities creating and updating. We assert the background context performs in a queue. But derive a new background context for long-time database operation to avoid concurrency persistent conflict issues should be considered. +The app use "One stack, two context" setup. There is one main managed object context for UI displaying and another background managed context for entities creating and updating. We assert the background context performs in a queue. Also, the app could accept mulitple background context model. Then the flag `-com.apple.CoreData.ConcurrencyDebug 1` will be usful. + +###### How to create a new Entity +First, select the `CoreData.xcdatamodeld` file and in menu `Editor > Add Model Version…` to create a new version. Make sure active the new version in the inspect panel. e.g. `Model Version. Current > "Core Data 5"` + +Then use the `Add Entity` button create new Entity. +1. Give a name in data model inspect panel. +2. Also, set the `Module` to `CoreDataStack`. +3. Set the `Codegen` to `Manual/None`. We use `Sourery` generates the template code. +4. Create the `Entity.swift` file and declear the properties and relationships. + +###### How to add or remove property for Entity +We using the Core Data lightweight migration. Please check the rules detail [here](https://developer.apple.com/documentation/coredata/using_lightweight_migration). And keep in mind that we using two-way relationship. And a relationship could be one-to-one, one-to-many/many-to-one. + +Tip: + +Please check the `Soucery` and use that generates getter and setter for properties and relationships. It's could save you time. To take the benefit from the dynamic property. We can declare a raw value property and then use compute property to construct the struct we want (e.g. `Feed.acct`). Or control the primitive by hand and declare the mirror type for this value (e.g `Status.attachments`). + +###### How to persist the Entity +Please check the `Persistence+Status.swift`. We follow the pattern: migrate the old one if exists. Otherwise, create a new one. (Maybe some improvements could be adopted?) #### MastodonAsset -Sourcery powered assets packet. +Sourcery powered assets package. #### MastodonCommon Shared code for preference and configuration. +### MastodonCore +The core logic to drive the app. + #### MastodonExtension Utility extension codes for SDK. #### MastodonLocalization -Sourcery powered i18n packet. +Sourcery powered i18n package. #### MastodonSDK Mastodon API wrapper with Combine style API. @@ -70,6 +94,3 @@ The iOS Share Extension allows users to share links or media from other apps. Th ## MastodonIntent iOS Siri shortcut supports. It allows iOS directly publish posts via Shortcut without app launching. - -## AppShared -A framework for SwiftPM packet dependency resolve. Also, for CocoaPods-Key integration but we migrate to Arkana now. From 75edb750714ac37d2f9c2b25aea54f64a57264cb Mon Sep 17 00:00:00 2001 From: CMK Date: Thu, 17 Nov 2022 23:39:46 +0800 Subject: [PATCH 276/300] chore: update the describe for the share extension --- Documentation/How-it-works.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/How-it-works.md b/Documentation/How-it-works.md index 1a1969623..6b48159e5 100644 --- a/Documentation/How-it-works.md +++ b/Documentation/How-it-works.md @@ -90,7 +90,7 @@ Mastodon server accepts push notification register and we use the [toot-relay](h When the push notification is incoming. iOS will spawn our NotificationService extension to handle the message. At that time the message is decrypted and displayed as a banner or in-app silent notification event when the app is in the foreground. All the notification count and deep-link logic are handled by the main app. ## ShareActionExtension -The iOS Share Extension allows users to share links or media from other apps. The app uses the UIKit implementation. For simplifying we using the SwiftUI implementing a replica one but with fewer features. +The iOS Share Extension allows users to share links or media from other apps. The app uses the same implementation for the main app and the share extension. Then different is less available memoery for extension so maybe some memory bounded task could crash the app. (Plesae file the issue) ## MastodonIntent iOS Siri shortcut supports. It allows iOS directly publish posts via Shortcut without app launching. From 1ca3b66e404059d7a20b3251e83adaf36aff5824 Mon Sep 17 00:00:00 2001 From: CMK Date: Fri, 18 Nov 2022 00:00:17 +0800 Subject: [PATCH 277/300] chore: code cleanup --- Mastodon/Scene/Thread/ThreadViewModel.swift | 126 -------------------- 1 file changed, 126 deletions(-) diff --git a/Mastodon/Scene/Thread/ThreadViewModel.swift b/Mastodon/Scene/Thread/ThreadViewModel.swift index 735d85cd4..c845ce64c 100644 --- a/Mastodon/Scene/Thread/ThreadViewModel.swift +++ b/Mastodon/Scene/Thread/ThreadViewModel.swift @@ -28,12 +28,6 @@ class ThreadViewModel { let context: AppContext let authContext: AuthContext let mastodonStatusThreadViewModel: MastodonStatusThreadViewModel - -// let cellFrameCache = NSCache() -// let existStatusFetchedResultsController: StatusFetchedResultsController - -// weak var contentOffsetAdjustableTimelineViewControllerDelegate: ContentOffsetAdjustableTimelineViewControllerDelegate? -// weak var tableView: UITableView? // output var diffableDataSource: UITableViewDiffableDataSource? @@ -62,12 +56,6 @@ class ThreadViewModel { self.authContext = authContext self.root = optionalRoot self.mastodonStatusThreadViewModel = MastodonStatusThreadViewModel(context: context) -// self.rootNode = CurrentValueSubject(optionalStatus.flatMap { RootNode(domain: $0.domain, statusID: $0.id, replyToID: $0.inReplyToID) }) -// self.rootItem = CurrentValueSubject(optionalStatus.flatMap { Item.root(statusObjectID: $0.objectID, attribute: Item.StatusAttribute()) }) -// self.existStatusFetchedResultsController = StatusFetchedResultsController(managedObjectContext: context.managedObjectContext, domain: nil, additionalTweetPredicate: nil) -// self.navigationBarTitle = CurrentValueSubject( -// optionalStatus.flatMap { L10n.Scene.Thread.title($0.author.displayNameWithFallback) }) -// self.navigationBarTitleEmojiMeta = CurrentValueSubject(optionalStatus.flatMap { $0.author.emojis.asDictionary } ?? [:]) // end init ManagedObjectObserver.observe(context: context.managedObjectContext) @@ -85,24 +73,6 @@ class ThreadViewModel { }) .store(in: &disposeBag) -// // bind fetcher domain -// context.authenticationService.activeMastodonAuthenticationBox -// .receive(on: RunLoop.main) -// .sink { [weak self] box in -// guard let self = self else { return } -// self.existStatusFetchedResultsController.domain.value = box?.domain -// } -// .store(in: &disposeBag) -// -// rootNode -// .receive(on: DispatchQueue.main) -// .sink { [weak self] rootNode in -// guard let self = self else { return } -// guard rootNode != nil else { return } -// self.loadThreadStateMachine.enter(LoadThreadState.Loading.self) -// } -// .store(in: &disposeBag) - $root .receive(on: DispatchQueue.main) .sink { [weak self] root in @@ -125,102 +95,6 @@ class ThreadViewModel { }() } .store(in: &disposeBag) - -// rootItem -// .receive(on: DispatchQueue.main) -// .sink { [weak self] rootItem in -// guard let self = self else { return } -// guard case let .root(objectID, _) = rootItem else { return } -// self.context.managedObjectContext.perform { -// guard let status = self.context.managedObjectContext.object(with: objectID) as? Status else { -// return -// } -// self.rootItemObserver = ManagedObjectObserver.observe(object: status) -// .receive(on: DispatchQueue.main) -// .sink(receiveCompletion: { _ in -// // do nothing -// }, receiveValue: { [weak self] change in -// guard let self = self else { return } -// switch change.changeType { -// case .delete: -// self.rootItem.value = nil -// default: -// break -// } -// }) -// } -// } -// .store(in: &disposeBag) -// -// ancestorNodes -// .receive(on: DispatchQueue.main) -// .compactMap { [weak self] nodes -> [Item]? in -// guard let self = self else { return nil } -// guard !nodes.isEmpty else { return [] } -// -// guard let diffableDataSource = self.diffableDataSource else { return nil } -// let oldSnapshot = diffableDataSource.snapshot() -// var oldSnapshotAttributeDict: [NSManagedObjectID : Item.StatusAttribute] = [:] -// for item in oldSnapshot.itemIdentifiers { -// switch item { -// case .reply(let objectID, let attribute): -// oldSnapshotAttributeDict[objectID] = attribute -// default: -// break -// } -// } -// -// var items: [Item] = [] -// for node in nodes { -// let attribute = oldSnapshotAttributeDict[node.statusObjectID] ?? Item.StatusAttribute() -// items.append(Item.reply(statusObjectID: node.statusObjectID, attribute: attribute)) -// } -// -// return items.reversed() -// } -// .assign(to: \.value, on: ancestorItems) -// .store(in: &disposeBag) -// -// descendantNodes -// .receive(on: DispatchQueue.main) -// .compactMap { [weak self] nodes -> [Item]? in -// guard let self = self else { return nil } -// guard !nodes.isEmpty else { return [] } -// -// guard let diffableDataSource = self.diffableDataSource else { return nil } -// let oldSnapshot = diffableDataSource.snapshot() -// var oldSnapshotAttributeDict: [NSManagedObjectID : Item.StatusAttribute] = [:] -// for item in oldSnapshot.itemIdentifiers { -// switch item { -// case .leaf(let objectID, let attribute): -// oldSnapshotAttributeDict[objectID] = attribute -// default: -// break -// } -// } -// -// var items: [Item] = [] -// -// func buildThread(node: LeafNode) { -// let attribute = oldSnapshotAttributeDict[node.objectID] ?? Item.StatusAttribute() -// items.append(Item.leaf(statusObjectID: node.objectID, attribute: attribute)) -// // only expand the first child -// if let firstChild = node.children.first { -// if !node.isChildrenExpanded { -// items.append(Item.leafBottomLoader(statusObjectID: node.objectID)) -// } else { -// buildThread(node: firstChild) -// } -// } -// } -// -// for node in nodes { -// buildThread(node: node) -// } -// return items -// } -// .assign(to: \.value, on: descendantItems) -// .store(in: &disposeBag) } deinit { From b5d883865dafa7dbe37596e2ff8c79bca87e758e Mon Sep 17 00:00:00 2001 From: CMK Date: Fri, 18 Nov 2022 00:16:21 +0800 Subject: [PATCH 278/300] fix: prefer the original mode to top-two-tier tree mode --- .../ThreadViewModel+LoadThreadState.swift | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Mastodon/Scene/Thread/ThreadViewModel+LoadThreadState.swift b/Mastodon/Scene/Thread/ThreadViewModel+LoadThreadState.swift index 050670be7..1c6c40190 100644 --- a/Mastodon/Scene/Thread/ThreadViewModel+LoadThreadState.swift +++ b/Mastodon/Scene/Thread/ThreadViewModel+LoadThreadState.swift @@ -92,19 +92,27 @@ extension ThreadViewModel.LoadThreadState { from: response.value.ancestors ) ) + // deprecated: Tree mode replies + // viewModel.mastodonStatusThreadViewModel.appendDescendant( + // domain: threadContext.domain, + // nodes: MastodonStatusThreadViewModel.Node.children( + // of: threadContext.statusID, + // from: response.value.descendants + // ) + // ) + + // new: the same order from API viewModel.mastodonStatusThreadViewModel.appendDescendant( domain: threadContext.domain, - nodes: MastodonStatusThreadViewModel.Node.children( - of: threadContext.statusID, - from: response.value.descendants - ) + nodes: response.value.descendants.map { status in + return .init(statusID: status.id, children: []) + } ) } catch { logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public): fetch status context for \(threadContext.statusID) fail: \(error.localizedDescription)") await enter(state: Fail.self) } - - } + } // end Task } } From ae420fac79f0d7d01a2bc89f91e309af9bbcbd39 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Nov 2022 20:57:36 +0100 Subject: [PATCH 279/300] New translations app.json (Czech) --- Localization/StringsConvertor/input/cs.lproj/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/StringsConvertor/input/cs.lproj/app.json b/Localization/StringsConvertor/input/cs.lproj/app.json index f94207c89..680eb01bb 100644 --- a/Localization/StringsConvertor/input/cs.lproj/app.json +++ b/Localization/StringsConvertor/input/cs.lproj/app.json @@ -427,8 +427,8 @@ "enable_content_warning": "Povolit upozornění na obsah", "disable_content_warning": "Vypnout upozornění na obsah", "post_visibility_menu": "Menu viditelnosti příspěvku", - "post_options": "Post Options", - "posting_as": "Posting as %s" + "post_options": "Možnosti příspěvku", + "posting_as": "Odesílání jako %s" }, "keyboard": { "discard_post": "Zahodit příspěvek", From df198d81ed857dbf60e255d205d972d5e08e4b1c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 18 Nov 2022 02:19:24 +0100 Subject: [PATCH 280/300] New translations app.json (Indonesian) --- .../StringsConvertor/input/id.lproj/app.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index 59ef1e0fe..4f2050792 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -372,12 +372,12 @@ "compose": { "title": { "new_post": "Postingan Baru", - "new_reply": "New Reply" + "new_reply": "Pesan Baru" }, "media_selection": { - "camera": "Take Photo", + "camera": "Ambil Foto", "photo_library": "Photo Library", - "browse": "Browse" + "browse": "Telusuri" }, "content_input_placeholder": "Ketik atau tempel apa yang Anda pada pikiran Anda", "compose_action": "Publikasikan", @@ -388,10 +388,10 @@ "attachment_broken": "%s ini rusak dan tidak dapat diunggah ke Mastodon.", "description_photo": "Jelaskan fotonya untuk mereka yang tidak dapat melihat dengan jelas...", "description_video": "Jelaskan videonya untuk mereka yang tidak dapat melihat dengan jelas...", - "load_failed": "Load Failed", - "upload_failed": "Upload Failed", - "can_not_recognize_this_media_attachment": "Can not recognize this media attachment", - "attachment_too_large": "Attachment too large", + "load_failed": "Gagal Memuat", + "upload_failed": "Gagal Mengunggah", + "can_not_recognize_this_media_attachment": "Tidak dapat mengenali lampiran media ini", + "attachment_too_large": "Lampiran terlalu besar", "compressing_state": "Compressing...", "server_processing_state": "Server Processing..." }, @@ -412,7 +412,7 @@ }, "visibility": { "public": "Publik", - "unlisted": "Unlisted", + "unlisted": "Tidak terdaftar", "private": "Pengikut saja", "direct": "Hanya orang yang saya sebut" }, From 3020f28ef42d204bf184f5426e6d0f1649d67388 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Fri, 18 Nov 2022 09:40:45 +0100 Subject: [PATCH 281/300] chore: Disable double-tap-to-switch-account --- .../Scene/Root/MainTab/MainTabBarController.swift | 11 ++++++----- .../Scene/Root/Sidebar/SidebarViewController.swift | 13 +++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index d31cc5c84..7f7918732 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -326,11 +326,12 @@ extension MainTabBarController { tabBarLongPressGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarLongPressGestureRecognizerHandler(_:))) tabBar.addGestureRecognizer(tabBarLongPressGestureRecognizer) - let tabBarDoubleTapGestureRecognizer = UITapGestureRecognizer() - tabBarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 - tabBarDoubleTapGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarDoubleTapGestureRecognizerHandler(_:))) - tabBarDoubleTapGestureRecognizer.delaysTouchesEnded = false - tabBar.addGestureRecognizer(tabBarDoubleTapGestureRecognizer) + // todo: reconsider the "double tap to change account" feature +// let tabBarDoubleTapGestureRecognizer = UITapGestureRecognizer() +// tabBarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 +// tabBarDoubleTapGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarDoubleTapGestureRecognizerHandler(_:))) +// tabBarDoubleTapGestureRecognizer.delaysTouchesEnded = false +// tabBar.addGestureRecognizer(tabBarDoubleTapGestureRecognizer) self.isReadyForWizardAvatarButton = authContext != nil diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift index 8a0ed763a..0bb88c7c6 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift @@ -145,12 +145,13 @@ extension SidebarViewController { sidebarLongPressGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarLongPressGestureRecognizerHandler(_:))) collectionView.addGestureRecognizer(sidebarLongPressGestureRecognizer) - let sidebarDoubleTapGestureRecognizer = UITapGestureRecognizer() - sidebarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 - sidebarDoubleTapGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarDoubleTapGestureRecognizerHandler(_:))) - sidebarDoubleTapGestureRecognizer.delaysTouchesEnded = false - sidebarDoubleTapGestureRecognizer.cancelsTouchesInView = true - collectionView.addGestureRecognizer(sidebarDoubleTapGestureRecognizer) + // todo: reconsider the "double tap to change account" feature +// let sidebarDoubleTapGestureRecognizer = UITapGestureRecognizer() +// sidebarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 +// sidebarDoubleTapGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarDoubleTapGestureRecognizerHandler(_:))) +// sidebarDoubleTapGestureRecognizer.delaysTouchesEnded = false +// sidebarDoubleTapGestureRecognizer.cancelsTouchesInView = true +// collectionView.addGestureRecognizer(sidebarDoubleTapGestureRecognizer) } From 4cc734fac9b3790a08d1e643a3cfd43ababd8ac7 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Fri, 18 Nov 2022 09:56:02 +0100 Subject: [PATCH 282/300] chore: Link related GitHub issue to commented-out code --- Mastodon/Scene/Root/MainTab/MainTabBarController.swift | 2 +- Mastodon/Scene/Root/Sidebar/SidebarViewController.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 7f7918732..9728c551a 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -326,7 +326,7 @@ extension MainTabBarController { tabBarLongPressGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarLongPressGestureRecognizerHandler(_:))) tabBar.addGestureRecognizer(tabBarLongPressGestureRecognizer) - // todo: reconsider the "double tap to change account" feature + // todo: reconsider the "double tap to change account" feature -> https://github.com/mastodon/mastodon-ios/issues/628 // let tabBarDoubleTapGestureRecognizer = UITapGestureRecognizer() // tabBarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 // tabBarDoubleTapGestureRecognizer.addTarget(self, action: #selector(MainTabBarController.tabBarDoubleTapGestureRecognizerHandler(_:))) diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift index 0bb88c7c6..65d7d5520 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewController.swift @@ -145,7 +145,7 @@ extension SidebarViewController { sidebarLongPressGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarLongPressGestureRecognizerHandler(_:))) collectionView.addGestureRecognizer(sidebarLongPressGestureRecognizer) - // todo: reconsider the "double tap to change account" feature + // todo: reconsider the "double tap to change account" feature -> https://github.com/mastodon/mastodon-ios/issues/628 // let sidebarDoubleTapGestureRecognizer = UITapGestureRecognizer() // sidebarDoubleTapGestureRecognizer.numberOfTapsRequired = 2 // sidebarDoubleTapGestureRecognizer.addTarget(self, action: #selector(SidebarViewController.sidebarDoubleTapGestureRecognizerHandler(_:))) From 8fd37c83625b2c0360116d3ef67535ba7af56933 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Tue, 15 Nov 2022 11:34:03 +0100 Subject: [PATCH 283/300] feat: Implement more obvious account switcher --- .../Root/MainTab/MainTabBarController.swift | 11 ++++++++++- .../Scene/Root/Sidebar/SidebarViewModel.swift | 4 ++++ .../Sidebar/View/SidebarListContentView.swift | 17 +++++++++++++++-- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 9728c551a..c8fa53d2f 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -43,6 +43,7 @@ class MainTabBarController: UITabBarController { static let avatarButtonSize = CGSize(width: 25, height: 25) let avatarButton = CircleAvatarButton() + let accountSwitcherChevron = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) @Published var currentTab: Tab = .home @@ -506,13 +507,20 @@ extension MainTabBarController { } anchorImageView.alpha = 0 + accountSwitcherChevron.translatesAutoresizingMaskIntoConstraints = false + view.addSubview(accountSwitcherChevron) + self.avatarButton.translatesAutoresizingMaskIntoConstraints = false view.addSubview(self.avatarButton) NSLayoutConstraint.activate([ - self.avatarButton.centerXAnchor.constraint(equalTo: anchorImageView.centerXAnchor), + self.avatarButton.centerXAnchor.constraint(equalTo: anchorImageView.centerXAnchor, constant: -16), self.avatarButton.centerYAnchor.constraint(equalTo: anchorImageView.centerYAnchor), self.avatarButton.widthAnchor.constraint(equalToConstant: MainTabBarController.avatarButtonSize.width).priority(.required - 1), self.avatarButton.heightAnchor.constraint(equalToConstant: MainTabBarController.avatarButtonSize.height).priority(.required - 1), + accountSwitcherChevron.widthAnchor.constraint(equalToConstant: 10), + accountSwitcherChevron.heightAnchor.constraint(equalToConstant: 18), + accountSwitcherChevron.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 8), + accountSwitcherChevron.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) ]) self.avatarButton.setContentHuggingPriority(.required - 1, for: .horizontal) self.avatarButton.setContentHuggingPriority(.required - 1, for: .vertical) @@ -520,6 +528,7 @@ extension MainTabBarController { } private func updateAvatarButtonAppearance() { + accountSwitcherChevron.tintColor = currentTab == .me ? .label : .secondaryLabel avatarButton.borderColor = currentTab == .me ? .label : .systemFill avatarButton.setNeedsLayout() } diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift index c3f9e3e36..607637c7c 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift @@ -80,6 +80,7 @@ extension SidebarViewModel { }() cell.item = SidebarListContentView.Item( isActive: false, + showAccountSwitcher: item == .me, title: item.title, image: item.image, activeImage: item.selectedImage, @@ -157,6 +158,7 @@ extension SidebarViewModel { case .setting: let item = SidebarListContentView.Item( isActive: false, + showAccountSwitcher: false, title: L10n.Common.Controls.Actions.settings, image: Asset.ObjectsAndTools.gear.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.gear.image.withRenderingMode(.alwaysTemplate), @@ -166,6 +168,7 @@ extension SidebarViewModel { case .compose: let item = SidebarListContentView.Item( isActive: false, + showAccountSwitcher: self.currentTab == .me, title: L10n.Common.Controls.Actions.compose, image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), @@ -213,6 +216,7 @@ extension SidebarViewModel { let item = SidebarListContentView.Item( isActive: false, + showAccountSwitcher: false, title: L10n.Common.Controls.Actions.compose, image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), diff --git a/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift b/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift index 515988405..0ef99c0a3 100644 --- a/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift +++ b/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift @@ -23,7 +23,8 @@ final class SidebarListContentView: UIView, UIContentView { button.borderColor = UIColor.label return button }() - + let accountSwitcherChevron = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) + private var currentConfiguration: ContentConfiguration! var configuration: UIContentConfiguration { get { @@ -60,6 +61,9 @@ extension SidebarListContentView { imageView.widthAnchor.constraint(equalToConstant: 40).priority(.required - 1), imageView.heightAnchor.constraint(equalToConstant: 40).priority(.required - 1), ]) + + accountSwitcherChevron.translatesAutoresizingMaskIntoConstraints = false + addSubview(accountSwitcherChevron) avatarButton.translatesAutoresizingMaskIntoConstraints = false addSubview(avatarButton) @@ -68,6 +72,10 @@ extension SidebarListContentView { avatarButton.centerYAnchor.constraint(equalTo: imageView.centerYAnchor), avatarButton.widthAnchor.constraint(equalTo: imageView.widthAnchor, multiplier: 1.0).priority(.required - 2), avatarButton.heightAnchor.constraint(equalTo: imageView.heightAnchor, multiplier: 1.0).priority(.required - 2), + accountSwitcherChevron.widthAnchor.constraint(equalToConstant: 12), + accountSwitcherChevron.heightAnchor.constraint(equalToConstant: 22), + accountSwitcherChevron.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 4), + accountSwitcherChevron.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) ]) avatarButton.setContentHuggingPriority(.defaultLow - 10, for: .vertical) avatarButton.setContentHuggingPriority(.defaultLow - 10, for: .horizontal) @@ -96,6 +104,8 @@ extension SidebarListContentView { imageView.isHidden = item.imageURL != nil avatarButton.isHidden = item.imageURL == nil imageView.image = item.isActive ? item.activeImage.withRenderingMode(.alwaysTemplate) : item.image.withRenderingMode(.alwaysTemplate) + accountSwitcherChevron.isHidden = !item.showAccountSwitcher + accountSwitcherChevron.tintColor = item.isActive ? .label : .secondaryLabel avatarButton.avatarImageView.setImage( url: item.imageURL, placeholder: avatarButton.avatarImageView.image ?? .placeholder(color: .systemFill), // reuse to avoid blink @@ -112,7 +122,8 @@ extension SidebarListContentView { var isSelected: Bool = false var isHighlighted: Bool = false var isActive: Bool - + var showAccountSwitcher: Bool + // model let title: String var image: UIImage @@ -124,6 +135,7 @@ extension SidebarListContentView { return lhs.isSelected == rhs.isSelected && lhs.isHighlighted == rhs.isHighlighted && lhs.isActive == rhs.isActive + && lhs.showAccountSwitcher == rhs.showAccountSwitcher && lhs.title == rhs.title && lhs.image == rhs.image && lhs.activeImage == rhs.activeImage @@ -134,6 +146,7 @@ extension SidebarListContentView { hasher.combine(isSelected) hasher.combine(isHighlighted) hasher.combine(isActive) + hasher.combine(showAccountSwitcher) hasher.combine(title) hasher.combine(image) hasher.combine(activeImage) From 533e62609412f01da63b24a57c9147ffe980ba1d Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Tue, 15 Nov 2022 13:54:44 +0100 Subject: [PATCH 284/300] chore: Rename accountSwitcherChevron -> accountToggleIndicator --- .../Root/MainTab/MainTabBarController.swift | 16 ++++++++-------- .../Sidebar/View/SidebarListContentView.swift | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index c8fa53d2f..b00bc0597 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -43,7 +43,7 @@ class MainTabBarController: UITabBarController { static let avatarButtonSize = CGSize(width: 25, height: 25) let avatarButton = CircleAvatarButton() - let accountSwitcherChevron = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) + private let accountToggleIndicator = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) @Published var currentTab: Tab = .home @@ -507,8 +507,8 @@ extension MainTabBarController { } anchorImageView.alpha = 0 - accountSwitcherChevron.translatesAutoresizingMaskIntoConstraints = false - view.addSubview(accountSwitcherChevron) + accountToggleIndicator.translatesAutoresizingMaskIntoConstraints = false + view.addSubview(accountToggleIndicator) self.avatarButton.translatesAutoresizingMaskIntoConstraints = false view.addSubview(self.avatarButton) @@ -517,10 +517,10 @@ extension MainTabBarController { self.avatarButton.centerYAnchor.constraint(equalTo: anchorImageView.centerYAnchor), self.avatarButton.widthAnchor.constraint(equalToConstant: MainTabBarController.avatarButtonSize.width).priority(.required - 1), self.avatarButton.heightAnchor.constraint(equalToConstant: MainTabBarController.avatarButtonSize.height).priority(.required - 1), - accountSwitcherChevron.widthAnchor.constraint(equalToConstant: 10), - accountSwitcherChevron.heightAnchor.constraint(equalToConstant: 18), - accountSwitcherChevron.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 8), - accountSwitcherChevron.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) + accountToggleIndicator.widthAnchor.constraint(equalToConstant: 10), + accountToggleIndicator.heightAnchor.constraint(equalToConstant: 18), + accountToggleIndicator.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 8), + accountToggleIndicator.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) ]) self.avatarButton.setContentHuggingPriority(.required - 1, for: .horizontal) self.avatarButton.setContentHuggingPriority(.required - 1, for: .vertical) @@ -528,7 +528,7 @@ extension MainTabBarController { } private func updateAvatarButtonAppearance() { - accountSwitcherChevron.tintColor = currentTab == .me ? .label : .secondaryLabel + accountToggleIndicator.tintColor = currentTab == .me ? .label : .secondaryLabel avatarButton.borderColor = currentTab == .me ? .label : .systemFill avatarButton.setNeedsLayout() } diff --git a/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift b/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift index 0ef99c0a3..2e8cbc2c1 100644 --- a/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift +++ b/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift @@ -23,7 +23,7 @@ final class SidebarListContentView: UIView, UIContentView { button.borderColor = UIColor.label return button }() - let accountSwitcherChevron = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) + private let accountToggleIndicator = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) private var currentConfiguration: ContentConfiguration! var configuration: UIContentConfiguration { @@ -62,8 +62,8 @@ extension SidebarListContentView { imageView.heightAnchor.constraint(equalToConstant: 40).priority(.required - 1), ]) - accountSwitcherChevron.translatesAutoresizingMaskIntoConstraints = false - addSubview(accountSwitcherChevron) + accountToggleIndicator.translatesAutoresizingMaskIntoConstraints = false + addSubview(accountToggleIndicator) avatarButton.translatesAutoresizingMaskIntoConstraints = false addSubview(avatarButton) @@ -72,10 +72,10 @@ extension SidebarListContentView { avatarButton.centerYAnchor.constraint(equalTo: imageView.centerYAnchor), avatarButton.widthAnchor.constraint(equalTo: imageView.widthAnchor, multiplier: 1.0).priority(.required - 2), avatarButton.heightAnchor.constraint(equalTo: imageView.heightAnchor, multiplier: 1.0).priority(.required - 2), - accountSwitcherChevron.widthAnchor.constraint(equalToConstant: 12), - accountSwitcherChevron.heightAnchor.constraint(equalToConstant: 22), - accountSwitcherChevron.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 4), - accountSwitcherChevron.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) + accountToggleIndicator.widthAnchor.constraint(equalToConstant: 12), + accountToggleIndicator.heightAnchor.constraint(equalToConstant: 22), + accountToggleIndicator.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 4), + accountToggleIndicator.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) ]) avatarButton.setContentHuggingPriority(.defaultLow - 10, for: .vertical) avatarButton.setContentHuggingPriority(.defaultLow - 10, for: .horizontal) @@ -104,8 +104,8 @@ extension SidebarListContentView { imageView.isHidden = item.imageURL != nil avatarButton.isHidden = item.imageURL == nil imageView.image = item.isActive ? item.activeImage.withRenderingMode(.alwaysTemplate) : item.image.withRenderingMode(.alwaysTemplate) - accountSwitcherChevron.isHidden = !item.showAccountSwitcher - accountSwitcherChevron.tintColor = item.isActive ? .label : .secondaryLabel + accountToggleIndicator.isHidden = !item.showAccountSwitcher + accountToggleIndicator.tintColor = item.isActive ? .label : .secondaryLabel avatarButton.avatarImageView.setImage( url: item.imageURL, placeholder: avatarButton.avatarImageView.image ?? .placeholder(color: .systemFill), // reuse to avoid blink From 3acdbcc2cef04d2f63e93bf511afb0e1dcc7fb9c Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Tue, 15 Nov 2022 14:07:22 +0100 Subject: [PATCH 285/300] chore: Make accessoryImageView more universal --- .../Scene/Root/Sidebar/SidebarViewModel.swift | 6 ++--- .../Sidebar/View/SidebarListContentView.swift | 25 ++++++++++--------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift index 607637c7c..b6a30ee60 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift @@ -80,7 +80,7 @@ extension SidebarViewModel { }() cell.item = SidebarListContentView.Item( isActive: false, - showAccountSwitcher: item == .me, + accessoryImage: item == .me ? UIImage(systemName: "chevron.up.chevron.down") : nil, title: item.title, image: item.image, activeImage: item.selectedImage, @@ -158,7 +158,6 @@ extension SidebarViewModel { case .setting: let item = SidebarListContentView.Item( isActive: false, - showAccountSwitcher: false, title: L10n.Common.Controls.Actions.settings, image: Asset.ObjectsAndTools.gear.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.gear.image.withRenderingMode(.alwaysTemplate), @@ -168,7 +167,7 @@ extension SidebarViewModel { case .compose: let item = SidebarListContentView.Item( isActive: false, - showAccountSwitcher: self.currentTab == .me, + accessoryImage: self.currentTab == .me ? UIImage(systemName: "chevron.up.chevron.down") : nil, title: L10n.Common.Controls.Actions.compose, image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), @@ -216,7 +215,6 @@ extension SidebarViewModel { let item = SidebarListContentView.Item( isActive: false, - showAccountSwitcher: false, title: L10n.Common.Controls.Actions.compose, image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), diff --git a/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift b/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift index 2e8cbc2c1..c2aa1a4f5 100644 --- a/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift +++ b/Mastodon/Scene/Root/Sidebar/View/SidebarListContentView.swift @@ -23,7 +23,7 @@ final class SidebarListContentView: UIView, UIContentView { button.borderColor = UIColor.label return button }() - private let accountToggleIndicator = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) + private let accessoryImageView = UIImageView(image: nil) private var currentConfiguration: ContentConfiguration! var configuration: UIContentConfiguration { @@ -62,8 +62,8 @@ extension SidebarListContentView { imageView.heightAnchor.constraint(equalToConstant: 40).priority(.required - 1), ]) - accountToggleIndicator.translatesAutoresizingMaskIntoConstraints = false - addSubview(accountToggleIndicator) + accessoryImageView.translatesAutoresizingMaskIntoConstraints = false + addSubview(accessoryImageView) avatarButton.translatesAutoresizingMaskIntoConstraints = false addSubview(avatarButton) @@ -72,10 +72,10 @@ extension SidebarListContentView { avatarButton.centerYAnchor.constraint(equalTo: imageView.centerYAnchor), avatarButton.widthAnchor.constraint(equalTo: imageView.widthAnchor, multiplier: 1.0).priority(.required - 2), avatarButton.heightAnchor.constraint(equalTo: imageView.heightAnchor, multiplier: 1.0).priority(.required - 2), - accountToggleIndicator.widthAnchor.constraint(equalToConstant: 12), - accountToggleIndicator.heightAnchor.constraint(equalToConstant: 22), - accountToggleIndicator.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 4), - accountToggleIndicator.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) + accessoryImageView.widthAnchor.constraint(equalToConstant: 12), + accessoryImageView.heightAnchor.constraint(equalToConstant: 22), + accessoryImageView.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 4), + accessoryImageView.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) ]) avatarButton.setContentHuggingPriority(.defaultLow - 10, for: .vertical) avatarButton.setContentHuggingPriority(.defaultLow - 10, for: .horizontal) @@ -104,8 +104,9 @@ extension SidebarListContentView { imageView.isHidden = item.imageURL != nil avatarButton.isHidden = item.imageURL == nil imageView.image = item.isActive ? item.activeImage.withRenderingMode(.alwaysTemplate) : item.image.withRenderingMode(.alwaysTemplate) - accountToggleIndicator.isHidden = !item.showAccountSwitcher - accountToggleIndicator.tintColor = item.isActive ? .label : .secondaryLabel + accessoryImageView.image = item.accessoryImage + accessoryImageView.isHidden = item.accessoryImage == nil + accessoryImageView.tintColor = item.isActive ? .label : .secondaryLabel avatarButton.avatarImageView.setImage( url: item.imageURL, placeholder: avatarButton.avatarImageView.image ?? .placeholder(color: .systemFill), // reuse to avoid blink @@ -122,7 +123,7 @@ extension SidebarListContentView { var isSelected: Bool = false var isHighlighted: Bool = false var isActive: Bool - var showAccountSwitcher: Bool + var accessoryImage: UIImage? = nil // model let title: String @@ -135,7 +136,7 @@ extension SidebarListContentView { return lhs.isSelected == rhs.isSelected && lhs.isHighlighted == rhs.isHighlighted && lhs.isActive == rhs.isActive - && lhs.showAccountSwitcher == rhs.showAccountSwitcher + && lhs.accessoryImage == rhs.accessoryImage && lhs.title == rhs.title && lhs.image == rhs.image && lhs.activeImage == rhs.activeImage @@ -146,7 +147,7 @@ extension SidebarListContentView { hasher.combine(isSelected) hasher.combine(isHighlighted) hasher.combine(isActive) - hasher.combine(showAccountSwitcher) + hasher.combine(accessoryImage) hasher.combine(title) hasher.combine(image) hasher.combine(activeImage) From 3a2c99c75af27b8133a5dde1b6edfcc51a26ca31 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Tue, 15 Nov 2022 14:09:51 +0100 Subject: [PATCH 286/300] chore: Move accountToggleIndicator to Constants --- Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift index b6a30ee60..6ceb20527 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift @@ -16,6 +16,9 @@ import MastodonCore import MastodonLocalization final class SidebarViewModel { + private enum Constants { + static let accountToggleIndicator = UIImage(systemName: "chevron.up.chevron.down") + } var disposeBag = Set() @@ -80,7 +83,7 @@ extension SidebarViewModel { }() cell.item = SidebarListContentView.Item( isActive: false, - accessoryImage: item == .me ? UIImage(systemName: "chevron.up.chevron.down") : nil, + accessoryImage: item == .me ? Constants.accountToggleIndicator : nil, title: item.title, image: item.image, activeImage: item.selectedImage, @@ -167,7 +170,7 @@ extension SidebarViewModel { case .compose: let item = SidebarListContentView.Item( isActive: false, - accessoryImage: self.currentTab == .me ? UIImage(systemName: "chevron.up.chevron.down") : nil, + accessoryImage: self.currentTab == .me ? Constants.accountToggleIndicator : nil, title: L10n.Common.Controls.Actions.compose, image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), From be2583094dfab6f4b3f71bb99cbce0dcbb2b2d26 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Fri, 18 Nov 2022 10:10:54 +0100 Subject: [PATCH 287/300] chore: Move UIImage(systemName: "chevron.up.chevron.down") to UIImage Extension --- Mastodon.xcodeproj/project.pbxproj | 4 ++++ Mastodon/Extension/UIImage+SFSymbols.swift | 12 ++++++++++++ .../Root/MainTab/MainTabBarController.swift | 16 ++++++++-------- .../Scene/Root/Sidebar/SidebarViewModel.swift | 8 ++------ 4 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 Mastodon/Extension/UIImage+SFSymbols.swift diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index d8020fb3f..0a48bf4ab 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -24,6 +24,7 @@ 164F0EBC267D4FE400249499 /* BoopSound.caf in Resources */ = {isa = PBXBuildFile; fileRef = 164F0EBB267D4FE400249499 /* BoopSound.caf */; }; 18BC7629F65E6DB12CB8416D /* Pods_Mastodon_MastodonUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C030226D3C73DCC23D67452 /* Pods_Mastodon_MastodonUITests.framework */; }; 2A82294F29262EE000D2A1F7 /* AppContext+NextAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */; }; + 2AE244482927831100BDBF7C /* UIImage+SFSymbols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AE244472927831100BDBF7C /* UIImage+SFSymbols.swift */; }; 2D198643261BF09500F0B013 /* SearchResultItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D198642261BF09500F0B013 /* SearchResultItem.swift */; }; 2D198649261C0B8500F0B013 /* SearchResultSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D198648261C0B8500F0B013 /* SearchResultSection.swift */; }; 2D206B8625F5FB0900143C56 /* Double.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D206B8525F5FB0900143C56 /* Double.swift */; }; @@ -520,6 +521,7 @@ 164F0EBB267D4FE400249499 /* BoopSound.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = BoopSound.caf; sourceTree = ""; }; 1D6D967E77A5357E2C6110D9 /* Pods-Mastodon.asdk - debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mastodon.asdk - debug.xcconfig"; path = "Target Support Files/Pods-Mastodon/Pods-Mastodon.asdk - debug.xcconfig"; sourceTree = ""; }; 2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppContext+NextAccount.swift"; sourceTree = ""; }; + 2AE244472927831100BDBF7C /* UIImage+SFSymbols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+SFSymbols.swift"; sourceTree = ""; }; 2D198642261BF09500F0B013 /* SearchResultItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultItem.swift; sourceTree = ""; }; 2D198648261C0B8500F0B013 /* SearchResultSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultSection.swift; sourceTree = ""; }; 2D206B8525F5FB0900143C56 /* Double.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Double.swift; sourceTree = ""; }; @@ -2244,6 +2246,7 @@ 2D3F9E0325DFA133004262D9 /* UITapGestureRecognizer.swift */, 2D84350425FF858100EECE90 /* UIScrollView.swift */, DB9E0D6E25EE008500CFDD76 /* UIInterpolatingMotionEffect.swift */, + 2AE244472927831100BDBF7C /* UIImage+SFSymbols.swift */, DBCC3B2F261440A50045B23D /* UITabBarController.swift */, DB73BF4827140BA300781945 /* UICollectionViewDiffableDataSource.swift */, DB73BF4A27140C0800781945 /* UITableViewDiffableDataSource.swift */, @@ -3273,6 +3276,7 @@ DB73BF4927140BA300781945 /* UICollectionViewDiffableDataSource.swift in Sources */, DBA5E7AB263BD3F5004598BB /* TimelineTableViewCellContextMenuConfiguration.swift in Sources */, DB73B490261F030A002E9E9F /* SafariActivity.swift in Sources */, + 2AE244482927831100BDBF7C /* UIImage+SFSymbols.swift in Sources */, DB63F7492799126300455B82 /* FollowerListViewController+DataSourceProvider.swift in Sources */, 2D198643261BF09500F0B013 /* SearchResultItem.swift in Sources */, 2DAC9E38262FC2320062E1A6 /* SuggestionAccountViewController.swift in Sources */, diff --git a/Mastodon/Extension/UIImage+SFSymbols.swift b/Mastodon/Extension/UIImage+SFSymbols.swift new file mode 100644 index 000000000..cf20055ea --- /dev/null +++ b/Mastodon/Extension/UIImage+SFSymbols.swift @@ -0,0 +1,12 @@ +// +// UIImage+SFSymbols.swift +// Mastodon +// +// Created by Marcus Kida on 18.11.22. +// + +import UIKit + +extension UIImage { + static let chevronUpChevronDown = UIImage(systemName: "chevron.up.chevron.down") +} diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index b00bc0597..5aef74e3c 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -43,7 +43,7 @@ class MainTabBarController: UITabBarController { static let avatarButtonSize = CGSize(width: 25, height: 25) let avatarButton = CircleAvatarButton() - private let accountToggleIndicator = UIImageView(image: UIImage(systemName: "chevron.up.chevron.down")) + let accountSwitcherChevron = UIImageView(image: .chevronUpChevronDown) @Published var currentTab: Tab = .home @@ -507,8 +507,8 @@ extension MainTabBarController { } anchorImageView.alpha = 0 - accountToggleIndicator.translatesAutoresizingMaskIntoConstraints = false - view.addSubview(accountToggleIndicator) + accountSwitcherChevron.translatesAutoresizingMaskIntoConstraints = false + view.addSubview(accountSwitcherChevron) self.avatarButton.translatesAutoresizingMaskIntoConstraints = false view.addSubview(self.avatarButton) @@ -517,10 +517,10 @@ extension MainTabBarController { self.avatarButton.centerYAnchor.constraint(equalTo: anchorImageView.centerYAnchor), self.avatarButton.widthAnchor.constraint(equalToConstant: MainTabBarController.avatarButtonSize.width).priority(.required - 1), self.avatarButton.heightAnchor.constraint(equalToConstant: MainTabBarController.avatarButtonSize.height).priority(.required - 1), - accountToggleIndicator.widthAnchor.constraint(equalToConstant: 10), - accountToggleIndicator.heightAnchor.constraint(equalToConstant: 18), - accountToggleIndicator.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 8), - accountToggleIndicator.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) + accountSwitcherChevron.widthAnchor.constraint(equalToConstant: 10), + accountSwitcherChevron.heightAnchor.constraint(equalToConstant: 18), + accountSwitcherChevron.leadingAnchor.constraint(equalTo: avatarButton.trailingAnchor, constant: 8), + accountSwitcherChevron.centerYAnchor.constraint(equalTo: avatarButton.centerYAnchor) ]) self.avatarButton.setContentHuggingPriority(.required - 1, for: .horizontal) self.avatarButton.setContentHuggingPriority(.required - 1, for: .vertical) @@ -528,7 +528,7 @@ extension MainTabBarController { } private func updateAvatarButtonAppearance() { - accountToggleIndicator.tintColor = currentTab == .me ? .label : .secondaryLabel + accountSwitcherChevron.tintColor = currentTab == .me ? .label : .secondaryLabel avatarButton.borderColor = currentTab == .me ? .label : .systemFill avatarButton.setNeedsLayout() } diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift index 6ceb20527..2e1a0f361 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift @@ -16,10 +16,6 @@ import MastodonCore import MastodonLocalization final class SidebarViewModel { - private enum Constants { - static let accountToggleIndicator = UIImage(systemName: "chevron.up.chevron.down") - } - var disposeBag = Set() // input @@ -83,7 +79,7 @@ extension SidebarViewModel { }() cell.item = SidebarListContentView.Item( isActive: false, - accessoryImage: item == .me ? Constants.accountToggleIndicator : nil, + accessoryImage: item == .me ? .chevronUpChevronDown : nil, title: item.title, image: item.image, activeImage: item.selectedImage, @@ -170,7 +166,7 @@ extension SidebarViewModel { case .compose: let item = SidebarListContentView.Item( isActive: false, - accessoryImage: self.currentTab == .me ? Constants.accountToggleIndicator : nil, + accessoryImage: self.currentTab == .me ? .chevronUpChevronDown : nil, title: L10n.Common.Controls.Actions.compose, image: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), activeImage: Asset.ObjectsAndTools.squareAndPencil.image.withRenderingMode(.alwaysTemplate), From ad7904e863bb0ee4a39722a721e29e2ab4747b71 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Fri, 18 Nov 2022 10:54:40 +0100 Subject: [PATCH 288/300] fix: Status notification shows "mentioned you" text --- Mastodon/Extension/String.swift | 2 ++ .../Share/View/Content/NotificationView+Configuration.swift | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Mastodon/Extension/String.swift b/Mastodon/Extension/String.swift index bf70c8937..0aa8acb3a 100644 --- a/Mastodon/Extension/String.swift +++ b/Mastodon/Extension/String.swift @@ -15,6 +15,8 @@ extension String { mutating func capitalizeFirstLetter() { self = self.capitalizingFirstLetter() } + + static let empty = "" } extension String { diff --git a/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift b/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift index 98d06fd92..c7dbdb33f 100644 --- a/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift +++ b/Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift @@ -154,7 +154,7 @@ extension NotificationView { ) case .status: self.viewModel.notificationIndicatorText = createMetaContent( - text: L10n.Scene.Notification.NotificationDescription.mentionedYou, + text: .empty, emojis: emojis.asDictionary ) case ._other: From 31699ea9fcf6e812c750da7532e2eef10ab85835 Mon Sep 17 00:00:00 2001 From: CMK Date: Fri, 18 Nov 2022 19:04:22 +0800 Subject: [PATCH 289/300] chore: update i18n resources --- .../Resources/ca.lproj/Localizable.strings | 14 ++--- .../Resources/cs.lproj/Localizable.strings | 4 +- .../Resources/de.lproj/Localizable.strings | 16 ++--- .../Resources/fr.lproj/Localizable.strings | 14 ++--- .../Resources/gd.lproj/Localizable.strings | 60 +++++++++---------- .../gd.lproj/Localizable.stringsdict | 10 ++-- .../Resources/gl.lproj/Localizable.strings | 14 ++--- .../Resources/kab.lproj/Localizable.strings | 24 ++++---- .../kab.lproj/Localizable.stringsdict | 46 +++++++------- .../Resources/ku.lproj/Localizable.strings | 14 ++--- .../Resources/th.lproj/Localizable.strings | 14 ++--- .../zh-Hans.lproj/Localizable.strings | 60 +++++++++---------- .../zh-Hans.lproj/Localizable.stringsdict | 4 +- .../zh-Hant.lproj/Localizable.strings | 28 ++++----- 14 files changed, 161 insertions(+), 161 deletions(-) diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings index d8fa6a739..43c63deda 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings @@ -55,8 +55,8 @@ Comprova la teva connexió a Internet."; "Common.Controls.Actions.Share" = "Comparteix"; "Common.Controls.Actions.SharePost" = "Compartir Publicació"; "Common.Controls.Actions.ShareUser" = "Compartir %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "Iniciar sessió"; +"Common.Controls.Actions.SignUp" = "Crea un compte"; "Common.Controls.Actions.Skip" = "Omet"; "Common.Controls.Actions.TakePhoto" = "Fes una foto"; "Common.Controls.Actions.TryAgain" = "Torna a provar"; @@ -240,9 +240,9 @@ carregat a Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publicat!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "S'està publicant..."; "Scene.HomeTimeline.Title" = "Inici"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "Insereix la URL o cerca el teu servidor"; +"Scene.Login.Subtitle" = "T'inicia sessió en el servidor on has creat el teu compte."; +"Scene.Login.Title" = "Ben tornat"; "Scene.Notification.FollowRequest.Accept" = "Acceptar"; "Scene.Notification.FollowRequest.Accepted" = "Acceptat"; "Scene.Notification.FollowRequest.Reject" = "rebutjar"; @@ -404,11 +404,11 @@ carregat a Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Alguna cosa no ha anat bé en carregar les dades. Comprova la teva connexió a Internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Cercant els servidors disponibles..."; "Scene.ServerPicker.EmptyState.NoResults" = "No hi ha resultats"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Cerca comunitats o introdueix l'URL"; "Scene.ServerPicker.Label.Category" = "CATEGORIA"; "Scene.ServerPicker.Label.Language" = "LLENGUATGE"; "Scene.ServerPicker.Label.Users" = "USUARIS"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "Tria un servidor en funció de la teva regió, interessos o un de propòsit general. Seguiràs podent connectar amb tothom a Mastodon, independentment del servidor."; "Scene.ServerPicker.Title" = "Mastodon està fet d'usuaris en diferents comunitats."; "Scene.ServerRules.Button.Confirm" = "Hi estic d'acord"; "Scene.ServerRules.PrivacyPolicy" = "política de privadesa"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings index fbf2ff2f4..22260e380 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/cs.lproj/Localizable.strings @@ -157,9 +157,9 @@ Váš profil pro něj vypadá takto."; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Vlastní výběr Emoji"; "Scene.Compose.Accessibility.DisableContentWarning" = "Vypnout upozornění na obsah"; "Scene.Compose.Accessibility.EnableContentWarning" = "Povolit upozornění na obsah"; -"Scene.Compose.Accessibility.PostOptions" = "Post Options"; +"Scene.Compose.Accessibility.PostOptions" = "Možnosti příspěvku"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Menu viditelnosti příspěvku"; -"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; +"Scene.Compose.Accessibility.PostingAs" = "Odesílání jako %@"; "Scene.Compose.Accessibility.RemovePoll" = "Odstranit anketu"; "Scene.Compose.Attachment.AttachmentBroken" = "Tento %@ je poškozený a nemůže být nahrán do Mastodonu."; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings index 89e826349..29f3d16f5 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings @@ -55,8 +55,8 @@ Bitte überprüfe deine Internetverbindung."; "Common.Controls.Actions.Share" = "Teilen"; "Common.Controls.Actions.SharePost" = "Beitrag teilen"; "Common.Controls.Actions.ShareUser" = "%@ teilen"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "Anmelden"; +"Common.Controls.Actions.SignUp" = "Konto erstellen"; "Common.Controls.Actions.Skip" = "Überspringen"; "Common.Controls.Actions.TakePhoto" = "Foto aufnehmen"; "Common.Controls.Actions.TryAgain" = "Nochmals versuchen"; @@ -240,9 +240,9 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.HomeTimeline.NavigationBarState.Published" = "Veröffentlicht!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Beitrag wird veröffentlicht..."; "Scene.HomeTimeline.Title" = "Startseite"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "URL eingeben oder nach Server suchen"; +"Scene.Login.Subtitle" = "Melden Sie sich auf dem Server an, auf dem Sie Ihr Konto erstellt haben."; +"Scene.Login.Title" = "Willkommen zurück"; "Scene.Notification.FollowRequest.Accept" = "Akzeptieren"; "Scene.Notification.FollowRequest.Accepted" = "Akzeptiert"; "Scene.Notification.FollowRequest.Reject" = "Ablehnen"; @@ -271,7 +271,7 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.Profile.Fields.Placeholder.Content" = "Inhalt"; "Scene.Profile.Fields.Placeholder.Label" = "Bezeichnung"; "Scene.Profile.Fields.Verified.Long" = "Besitz des Links wurde überprüft am %@"; -"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; +"Scene.Profile.Fields.Verified.Short" = "Überprüft am %@"; "Scene.Profile.Header.FollowsYou" = "Folgt dir"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Bestätige %@ zu blockieren"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Konto blockieren"; @@ -404,11 +404,11 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Beim Laden der Daten ist etwas schief gelaufen. Überprüfe deine Internetverbindung."; "Scene.ServerPicker.EmptyState.FindingServers" = "Verfügbare Server werden gesucht..."; "Scene.ServerPicker.EmptyState.NoResults" = "Keine Ergebnisse"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Suche nach einer Community oder gib eine URL ein"; "Scene.ServerPicker.Label.Category" = "KATEGORIE"; "Scene.ServerPicker.Label.Language" = "SPRACHE"; "Scene.ServerPicker.Label.Users" = "BENUTZER"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "Wähle einen Server basierend auf deinen Interessen oder deiner Region – oder einfach einen allgemeinen. Du kannst trotzdem mit jedem interagieren, egal auf welchem Server."; "Scene.ServerPicker.Title" = "Wähle einen Server, beliebigen Server."; "Scene.ServerRules.Button.Confirm" = "Ich stimme zu"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings index 59590f612..f393adec1 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings @@ -55,8 +55,8 @@ Veuillez vérifier votre accès à Internet."; "Common.Controls.Actions.Share" = "Partager"; "Common.Controls.Actions.SharePost" = "Partager la publication"; "Common.Controls.Actions.ShareUser" = "Partager %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "Se connecter"; +"Common.Controls.Actions.SignUp" = "Créer un compte"; "Common.Controls.Actions.Skip" = "Passer"; "Common.Controls.Actions.TakePhoto" = "Prendre une photo"; "Common.Controls.Actions.TryAgain" = "Réessayer"; @@ -240,9 +240,9 @@ téléversé sur Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publié!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publication en cours ..."; "Scene.HomeTimeline.Title" = "Accueil"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "Entrez l'URL ou recherchez votre serveur"; +"Scene.Login.Subtitle" = "Connectez-vous sur le serveur sur lequel vous avez créé votre compte."; +"Scene.Login.Title" = "Content de vous revoir"; "Scene.Notification.FollowRequest.Accept" = "Accepter"; "Scene.Notification.FollowRequest.Accepted" = "Accepté"; "Scene.Notification.FollowRequest.Reject" = "rejeter"; @@ -404,11 +404,11 @@ téléversé sur Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Une erreur s'est produite lors du chargement des données. Vérifiez votre connexion Internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Recherche des serveurs disponibles..."; "Scene.ServerPicker.EmptyState.NoResults" = "Aucun résultat"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Rechercher parmi les communautés ou renseigner une URL"; "Scene.ServerPicker.Label.Category" = "CATÉGORIE"; "Scene.ServerPicker.Label.Language" = "LANGUE"; "Scene.ServerPicker.Label.Users" = "UTILISATEUR·RICE·S"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "Choisissez un serveur basé sur votre région, vos intérêts ou un généraliste. Vous pouvez toujours discuter avec n'importe qui sur Mastodon, indépendamment de vos serveurs."; "Scene.ServerPicker.Title" = "Choisissez un serveur, n'importe quel serveur."; "Scene.ServerRules.Button.Confirm" = "J’accepte"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings index aea2902fc..6ccf6cf15 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings @@ -55,8 +55,8 @@ Thoir sùil air a’ cheangal agad ris an eadar-lìon."; "Common.Controls.Actions.Share" = "Co-roinn"; "Common.Controls.Actions.SharePost" = "Co-roinn am post"; "Common.Controls.Actions.ShareUser" = "Co-roinn %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "Clàraich a-steach"; +"Common.Controls.Actions.SignUp" = "Cruthaich cunntas"; "Common.Controls.Actions.Skip" = "Leum thairis air"; "Common.Controls.Actions.TakePhoto" = "Tog dealbh"; "Common.Controls.Actions.TryAgain" = "Feuch ris a-rithist"; @@ -68,13 +68,13 @@ Thoir sùil air a’ cheangal agad ris an eadar-lìon."; "Common.Controls.Friendship.EditInfo" = "Deasaich"; "Common.Controls.Friendship.Follow" = "Lean"; "Common.Controls.Friendship.Following" = "’Ga leantainn"; -"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; +"Common.Controls.Friendship.HideReblogs" = "Falaich na brosnachaidhean"; "Common.Controls.Friendship.Mute" = "Mùch"; "Common.Controls.Friendship.MuteUser" = "Mùch %@"; "Common.Controls.Friendship.Muted" = "’Ga mhùchadh"; "Common.Controls.Friendship.Pending" = "Ri dhèiligeadh"; "Common.Controls.Friendship.Request" = "Iarrtas"; -"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; +"Common.Controls.Friendship.ShowReblogs" = "Seall na brosnachaidhean"; "Common.Controls.Friendship.Unblock" = "Dì-bhac"; "Common.Controls.Friendship.UnblockUser" = "Dì-bhac %@"; "Common.Controls.Friendship.Unmute" = "Dì-mhùch"; @@ -108,10 +108,10 @@ Thoir sùil air a’ cheangal agad ris an eadar-lìon."; "Common.Controls.Status.Actions.Unreblog" = "Na brosnaich tuilleadh"; "Common.Controls.Status.ContentWarning" = "Rabhadh susbainte"; "Common.Controls.Status.MediaContentWarning" = "Thoir gnogag àite sam bith gus a nochdadh"; -"Common.Controls.Status.MetaEntity.Email" = "Email address: %@"; -"Common.Controls.Status.MetaEntity.Hashtag" = "Hashtag: %@"; -"Common.Controls.Status.MetaEntity.Mention" = "Show Profile: %@"; -"Common.Controls.Status.MetaEntity.Url" = "Link: %@"; +"Common.Controls.Status.MetaEntity.Email" = "Seòladh puist-d: %@"; +"Common.Controls.Status.MetaEntity.Hashtag" = "Taga hais: %@"; +"Common.Controls.Status.MetaEntity.Mention" = "Seall a’ phròifil: %@"; +"Common.Controls.Status.MetaEntity.Url" = "Ceangal: %@"; "Common.Controls.Status.Poll.Closed" = "Dùinte"; "Common.Controls.Status.Poll.Vote" = "Cuir bhòt"; "Common.Controls.Status.SensitiveContent" = "Susbaint fhrionasach"; @@ -155,27 +155,27 @@ Seo an coltas a th’ air a’ phròifil agad dhaibh-san."; "Scene.AccountList.AddAccount" = "Cuir cunntas ris"; "Scene.AccountList.DismissAccountSwitcher" = "Leig seachad taghadh a’ chunntais"; "Scene.AccountList.TabBarHint" = "A’ phròifil air a taghadh: %@. Thoir gnogag dhùbailte is cùm sìos a ghearradh leum gu cunntas eile"; -"Scene.Bookmark.Title" = "Bookmarks"; +"Scene.Bookmark.Title" = "Comharran-lìn"; "Scene.Compose.Accessibility.AppendAttachment" = "Cuir ceanglachan ris"; "Scene.Compose.Accessibility.AppendPoll" = "Cuir cunntas-bheachd ris"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Roghnaichear nan Emoji gnàthaichte"; "Scene.Compose.Accessibility.DisableContentWarning" = "Cuir rabhadh susbainte à comas"; "Scene.Compose.Accessibility.EnableContentWarning" = "Cuir rabhadh susbainte an comas"; -"Scene.Compose.Accessibility.PostOptions" = "Post Options"; +"Scene.Compose.Accessibility.PostOptions" = "Roghainnean postaidh"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "Clàr-taice faicsinneachd a’ phuist"; -"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; +"Scene.Compose.Accessibility.PostingAs" = "A’ postadh mar %@"; "Scene.Compose.Accessibility.RemovePoll" = "Thoir air falbh an cunntas-bheachd"; "Scene.Compose.Attachment.AttachmentBroken" = "Seo %@ a tha briste is cha ghabh a luchdadh suas gu Mastodon."; -"Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; -"Scene.Compose.Attachment.CompressingState" = "Compressing..."; +"Scene.Compose.Attachment.AttachmentTooLarge" = "Tha an ceanglachan ro mhòr"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Cha do dh’aithnich sinn an ceanglachan meadhain seo"; +"Scene.Compose.Attachment.CompressingState" = "’Ga dhùmhlachadh…"; "Scene.Compose.Attachment.DescriptionPhoto" = "Mìnich an dealbh dhan fheadhainn air a bheil cion-lèirsinne…"; "Scene.Compose.Attachment.DescriptionVideo" = "Mìnich a’ video dhan fheadhainn air a bheil cion-lèirsinne…"; -"Scene.Compose.Attachment.LoadFailed" = "Load Failed"; +"Scene.Compose.Attachment.LoadFailed" = "Dh’fhàillig leis an luchdadh"; "Scene.Compose.Attachment.Photo" = "dealbh"; -"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; -"Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; +"Scene.Compose.Attachment.ServerProcessingState" = "Tha am frithealaiche ’ga phròiseasadh…"; +"Scene.Compose.Attachment.UploadFailed" = "Dh’fhàillig leis an luchdadh suas"; "Scene.Compose.Attachment.Video" = "video"; "Scene.Compose.AutoComplete.SpaceToAdd" = "Brùth air Space gus a chur ris"; "Scene.Compose.ComposeAction" = "Foillsich"; @@ -196,8 +196,8 @@ a luchdadh suas gu Mastodon."; "Scene.Compose.Poll.OptionNumber" = "Roghainn %ld"; "Scene.Compose.Poll.SevenDays" = "Seachdain"; "Scene.Compose.Poll.SixHours" = "6 uairean a thìde"; -"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; -"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "Tha roghainn fhalamh aig a’ chunntas-bheachd"; +"Scene.Compose.Poll.ThePollIsInvalid" = "Tha an cunntas-bheachd mì-dhligheach"; "Scene.Compose.Poll.ThirtyMinutes" = "Leth-uair a thìde"; "Scene.Compose.Poll.ThreeDays" = "3 làithean"; "Scene.Compose.ReplyingToUser" = "a’ freagairt gu %@"; @@ -240,9 +240,9 @@ a luchdadh suas gu Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Chaidh fhoillseachadh!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "A’ foillseachadh a’ phuist…"; "Scene.HomeTimeline.Title" = "Dachaigh"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "Cuir a-steach URL an fhrithealaiche agad"; +"Scene.Login.Subtitle" = "Clàraich a-steach air an fhrithealaiche far an do chruthaich thu an cunntas agad."; +"Scene.Login.Title" = "Fàilte air ais"; "Scene.Notification.FollowRequest.Accept" = "Gabh ris"; "Scene.Notification.FollowRequest.Accepted" = "Air a ghabhail ris"; "Scene.Notification.FollowRequest.Reject" = "diùlt"; @@ -270,17 +270,17 @@ a luchdadh suas gu Mastodon."; "Scene.Profile.Fields.AddRow" = "Cuir ràgh ris"; "Scene.Profile.Fields.Placeholder.Content" = "Susbaint"; "Scene.Profile.Fields.Placeholder.Label" = "Leubail"; -"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; -"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; +"Scene.Profile.Fields.Verified.Long" = "Chaidh dearbhadh cò leis a tha an ceangal seo %@"; +"Scene.Profile.Fields.Verified.Short" = "Air a dhearbhadh %@"; "Scene.Profile.Header.FollowsYou" = "’Gad leantainn"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Dearbh bacadh %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bac an cunntas"; -"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; -"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Dearbh falach nam brosnachaidhean"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Falaich na brosnachaidhean"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Dearbh mùchadh %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Mùch an cunntas"; -"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; -"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Dearbh sealladh nam brosnachaidhean"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Seall na brosnachaidhean"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Dearbh dì-bhacadh %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Dì-bhac an cunntas"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Dearbh dì-mhùchadh %@"; @@ -404,11 +404,11 @@ a luchdadh suas gu Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Chaidh rudeigin ceàrr le luchdadh an dàta. Thoir sùil air a’ cheangal agad ris an eadar-lìon."; "Scene.ServerPicker.EmptyState.FindingServers" = "A’ lorg nam frithealaichean ri am faighinn…"; "Scene.ServerPicker.EmptyState.NoResults" = "Gun toradh"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Lorg coimhearsnachd no cuir a-steach URL"; "Scene.ServerPicker.Label.Category" = "ROINN-SEÒRSA"; "Scene.ServerPicker.Label.Language" = "CÀNAN"; "Scene.ServerPicker.Label.Users" = "CLEACHDAICHEAN"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "Tagh frithealaiche stèidhichte air na sgìre agad, d’ ùidhean, air far a bheil thu no fear coitcheann. ’S urrainn dhut fhathast conaltradh le duine sam bith air Mastodon ge b’ e na frithealaichean agaibh-se."; "Scene.ServerPicker.Title" = "Tha cleachdaichean Mhastodon air iomadh frithealaiche eadar-dhealaichte."; "Scene.ServerRules.Button.Confirm" = "Gabhaidh mi ris"; "Scene.ServerRules.PrivacyPolicy" = "poileasaidh prìobhaideachd"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict index 45ba1e156..9b3e69ea7 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict @@ -65,7 +65,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ air fhàgail character_count NSStringFormatSpecTypeKey @@ -73,13 +73,13 @@ NSStringFormatValueTypeKey ld one - 1 character + %ld charactar two - %ld characters + %ld charactar few - %ld characters + %ld caractaran other - %ld characters + %ld caractar plural.count.followed_by_and_mutual diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings index b388ad5c3..f9e1c6589 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings @@ -55,8 +55,8 @@ Comproba a conexión a internet."; "Common.Controls.Actions.Share" = "Compartir"; "Common.Controls.Actions.SharePost" = "Compartir publicación"; "Common.Controls.Actions.ShareUser" = "Compartir %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "Acceder"; +"Common.Controls.Actions.SignUp" = "Crear conta"; "Common.Controls.Actions.Skip" = "Omitir"; "Common.Controls.Actions.TakePhoto" = "Facer foto"; "Common.Controls.Actions.TryAgain" = "Intentar de novo"; @@ -240,9 +240,9 @@ ser subido a Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publicado!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publicando..."; "Scene.HomeTimeline.Title" = "Inicio"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "Escribe o URL ou busca o teu servidor"; +"Scene.Login.Subtitle" = "Conéctate ao servidor no que creaches a conta."; +"Scene.Login.Title" = "Benvido outra vez"; "Scene.Notification.FollowRequest.Accept" = "Aceptar"; "Scene.Notification.FollowRequest.Accepted" = "Aceptada"; "Scene.Notification.FollowRequest.Reject" = "rexeitar"; @@ -404,11 +404,11 @@ ser subido a Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Algo fallou ao cargar os datos. Comproba a conexión a internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Buscando servidores dispoñibles..."; "Scene.ServerPicker.EmptyState.NoResults" = "Sen resultados"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Busca comunidades ou escribe URL"; "Scene.ServerPicker.Label.Category" = "CATEGORÍA"; "Scene.ServerPicker.Label.Language" = "IDIOMA"; "Scene.ServerPicker.Label.Users" = "USUARIAS"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "Elixe un servidor en función dos teus intereses, rexión o un de propósito xeral. Poderás conversar con calquera en Mastodon, independentemente do servidor que elixas."; "Scene.ServerPicker.Title" = "Mastodon fórmano as persoas das diferentes comunidades."; "Scene.ServerRules.Button.Confirm" = "Acepto"; "Scene.ServerRules.PrivacyPolicy" = "polícica de privacidade"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings index c80c8ef77..781143b71 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings @@ -55,8 +55,8 @@ Ma ulac aɣilif, senqed tuqqna-inek internet."; "Common.Controls.Actions.Share" = "Bḍu"; "Common.Controls.Actions.SharePost" = "Bḍu tasuffeɣt"; "Common.Controls.Actions.ShareUser" = "Bḍu %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "Qqen"; +"Common.Controls.Actions.SignUp" = "Snulfu-d amiḍan"; "Common.Controls.Actions.Skip" = "Zgel"; "Common.Controls.Actions.TakePhoto" = "Ṭṭef tawlaft"; "Common.Controls.Actions.TryAgain" = "Ɛreḍ tikkelt-nniḍen"; @@ -108,10 +108,10 @@ Ma ulac aɣilif, senqed tuqqna-inek internet."; "Common.Controls.Status.Actions.Unreblog" = "Sefsex allus n usuffeɣ"; "Common.Controls.Status.ContentWarning" = "Alɣu n ugbur"; "Common.Controls.Status.MediaContentWarning" = "Sit anida tebɣiḍ i wakken ad twaliḍ"; -"Common.Controls.Status.MetaEntity.Email" = "Email address: %@"; -"Common.Controls.Status.MetaEntity.Hashtag" = "Hashtag: %@"; -"Common.Controls.Status.MetaEntity.Mention" = "Show Profile: %@"; -"Common.Controls.Status.MetaEntity.Url" = "Link: %@"; +"Common.Controls.Status.MetaEntity.Email" = "Tansa imayl : %@"; +"Common.Controls.Status.MetaEntity.Hashtag" = "Ahacṭag : %@"; +"Common.Controls.Status.MetaEntity.Mention" = "Sken-d amaɣnu : %@"; +"Common.Controls.Status.MetaEntity.Url" = "Asaɣ : %@"; "Common.Controls.Status.Poll.Closed" = "Ifukk"; "Common.Controls.Status.Poll.Vote" = "Dɣeṛ"; "Common.Controls.Status.SensitiveContent" = "Agbur amḥulfu"; @@ -237,12 +237,12 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Taqeffalt n ulugu"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Tissufaɣ timaynutin"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Beṛṛa n tuqqna"; -"Scene.HomeTimeline.NavigationBarState.Published" = "Yettwasuffeɣ!"; -"Scene.HomeTimeline.NavigationBarState.Publishing" = "Asuffeɣ tasuffeɣt..."; +"Scene.HomeTimeline.NavigationBarState.Published" = "Tettwasuffeɣ!"; +"Scene.HomeTimeline.NavigationBarState.Publishing" = "Asuffeɣ n tasuffeɣt..."; "Scene.HomeTimeline.Title" = "Agejdan"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; +"Scene.Login.ServerSearchField.Placeholder" = "Sekcem URL neɣ nadi ɣef uqeddac-ik·im"; "Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.Title" = "Ansuf yess·ek·em"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; "Scene.Notification.FollowRequest.Reject" = "agi"; @@ -357,7 +357,7 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.Report.StepOne.WhatsWrongWithThisAccount" = "Acu n wugur yellan deg umiḍan-a?"; "Scene.Report.StepOne.WhatsWrongWithThisPost" = "Acu n wugur yellan d tsuffeɣt-a?"; "Scene.Report.StepOne.WhatsWrongWithThisUsername" = "Acu n wugur yellan d %@?"; -"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Teẓriḍ y•tettruẓu kra n yilugan"; +"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Teẓriḍ y·tettruẓu kra n yilugan"; "Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Llant tsuffaɣ ara isdemren aneqqis-a?"; "Scene.Report.StepThree.SelectAllThatApply" = "Fren akk tifrat ara yettusnasen"; "Scene.Report.StepThree.Step3Of4" = "Aḥric 3 seg 4"; @@ -404,7 +404,7 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Tella-d tuccḍa lawan n usali n yisefka. Senqed tuqqna-ink internet."; "Scene.ServerPicker.EmptyState.FindingServers" = "Tifin n yiqeddacen yellan..."; "Scene.ServerPicker.EmptyState.NoResults" = "Ulac igemmaḍ"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Nadi timɣiwnin neɣ sekcem URL"; "Scene.ServerPicker.Label.Category" = "TAGGAYT"; "Scene.ServerPicker.Label.Language" = "TUTLAYT"; "Scene.ServerPicker.Label.Users" = "ISEQDACEN"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict index fd7cac605..f18a906c0 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.stringsdict @@ -61,9 +61,9 @@ NSStringFormatValueTypeKey ld one - 1 character + 1 n usekkil other - %ld characters + %ld n isekkilen plural.count.followed_by_and_mutual @@ -136,7 +136,7 @@ NSStringFormatValueTypeKey ld one - 1 tsuffeɣt + 1 n tsuffeɣt other %ld n tsuffaɣ @@ -312,9 +312,9 @@ NSStringFormatValueTypeKey ld one - Yeqqim-d 1 wass + Yeqqim-d 1 n wass other - Qqimen-d %ld wussan + Qqimen-d %ld n wussan date.hour.left @@ -328,9 +328,9 @@ NSStringFormatValueTypeKey ld one - Yeqqim-d 1 usrag + Yeqqim-d 1 n wesrag other - Qqimen-d %ld yisragen + Qqimen-d %ld n yisragen date.minute.left @@ -344,9 +344,9 @@ NSStringFormatValueTypeKey ld one - 1 tesdat i d-yeqqimen + 1 n tesdat i d-yeqqimen other - %ld tesdatin i d-yeqqimen + %ld n tesdatin i d-yeqqimen date.second.left @@ -360,9 +360,9 @@ NSStringFormatValueTypeKey ld one - 1 tasint i d-yeqqimen + 1 n tasint i d-yeqqimen other - %ld tsinin i d-yeqqimen + %ld n tasinin i d-yeqqimen date.year.ago.abbr @@ -376,9 +376,9 @@ NSStringFormatValueTypeKey ld one - 1 useggas aya + %ld n useggas aya other - %ld yiseggasen aya + %ld n yiseggasen aya date.month.ago.abbr @@ -392,9 +392,9 @@ NSStringFormatValueTypeKey ld one - 1 wayyur aya + %ld n wayyur aya other - %ld wayyuren aya + %ld n wayyuren aya date.day.ago.abbr @@ -408,9 +408,9 @@ NSStringFormatValueTypeKey ld one - 1 wass aya + %ld n wass aya other - %ld wussan aya + %ld n wussan aya date.hour.ago.abbr @@ -424,9 +424,9 @@ NSStringFormatValueTypeKey ld one - 1 usrag aya + %ld n wesrag aya other - %ld yisragen aya + %ld n yisragen aya date.minute.ago.abbr @@ -440,9 +440,9 @@ NSStringFormatValueTypeKey ld one - 1 tesdat aya + %ld n tesdat aya other - %ld tesdatin aya + %ld n tesdatin aya date.second.ago.abbr @@ -456,9 +456,9 @@ NSStringFormatValueTypeKey ld one - 1 tasint aya + %ld n tasint aya other - %ld tsinin aya + %ld n tasinin aya diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings index 758a9190b..03ac1f46d 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings @@ -55,8 +55,8 @@ Jkx girêdana înternetê xwe kontrol bike."; "Common.Controls.Actions.Share" = "Parve bike"; "Common.Controls.Actions.SharePost" = "Şandiyê parve bike"; "Common.Controls.Actions.ShareUser" = "%@ parve bike"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "Têkeve"; +"Common.Controls.Actions.SignUp" = "Ajimêr biafirîne"; "Common.Controls.Actions.Skip" = "Derbas bike"; "Common.Controls.Actions.TakePhoto" = "Wêne bikişîne"; "Common.Controls.Actions.TryAgain" = "Dîsa biceribîne"; @@ -241,9 +241,9 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin."; "Scene.HomeTimeline.NavigationBarState.Published" = "Hate weşandin!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Şandî tê weşandin..."; "Scene.HomeTimeline.Title" = "Serrûpel"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "Girêdanê têxe an jî li rajekarê xwe bigere"; +"Scene.Login.Subtitle" = "Têketinê bike ser rajekarê ku te ajimêrê xwe tê de çê kiriye."; +"Scene.Login.Title" = "Dîsa bi xêr hatî"; "Scene.Notification.FollowRequest.Accept" = "Bipejirîne"; "Scene.Notification.FollowRequest.Accepted" = "Pejirandî"; "Scene.Notification.FollowRequest.Reject" = "nepejirîne"; @@ -405,11 +405,11 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin."; "Scene.ServerPicker.EmptyState.BadNetwork" = "Di dema barkirina daneyan da çewtî derket. Girêdana xwe ya înternetê kontrol bike."; "Scene.ServerPicker.EmptyState.FindingServers" = "Peydakirina rajekarên berdest..."; "Scene.ServerPicker.EmptyState.NoResults" = "Encam tune"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Li civakan bigere an jî girêdanê têxe"; "Scene.ServerPicker.Label.Category" = "BEŞ"; "Scene.ServerPicker.Label.Language" = "ZIMAN"; "Scene.ServerPicker.Label.Users" = "BIKARHÊNER"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "Li gorî herêm, berjewendî, an jî armanceke giştî rajekarekê hilbijêre. Tu hîn jî dikarî li ser Mastodon bi her kesî re biaxivî, her rajekarê te çi be."; "Scene.ServerPicker.Title" = "Mastodon ji bikarhênerên di civakên cuda de pêk tê."; "Scene.ServerRules.Button.Confirm" = "Ez dipejirînim"; "Scene.ServerRules.PrivacyPolicy" = "polîtikaya nihêniyê"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings index 8e63e0269..25c7e37f8 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "แบ่งปัน"; "Common.Controls.Actions.SharePost" = "แบ่งปันโพสต์"; "Common.Controls.Actions.ShareUser" = "แบ่งปัน %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "เข้าสู่ระบบ"; +"Common.Controls.Actions.SignUp" = "สร้างบัญชี"; "Common.Controls.Actions.Skip" = "ข้าม"; "Common.Controls.Actions.TakePhoto" = "ถ่ายรูป"; "Common.Controls.Actions.TryAgain" = "ลองอีกครั้ง"; @@ -240,9 +240,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "เผยแพร่แล้ว!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "กำลังเผยแพร่โพสต์..."; "Scene.HomeTimeline.Title" = "หน้าแรก"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "ป้อน URL หรือค้นหาสำหรับเซิร์ฟเวอร์ของคุณ"; +"Scene.Login.Subtitle" = "นำคุณเข้าสู่ระบบในเซิร์ฟเวอร์ที่คุณได้สร้างบัญชีของคุณไว้ใน"; +"Scene.Login.Title" = "ยินดีต้อนรับกลับมา"; "Scene.Notification.FollowRequest.Accept" = "ยอมรับ"; "Scene.Notification.FollowRequest.Accepted" = "ยอมรับแล้ว"; "Scene.Notification.FollowRequest.Reject" = "ปฏิเสธ"; @@ -404,11 +404,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "มีบางอย่างผิดพลาดขณะโหลดข้อมูล ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ"; "Scene.ServerPicker.EmptyState.FindingServers" = "กำลังค้นหาเซิร์ฟเวอร์ที่พร้อมใช้งาน..."; "Scene.ServerPicker.EmptyState.NoResults" = "ไม่มีผลลัพธ์"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "ค้นหาชุมชนหรือป้อน URL"; "Scene.ServerPicker.Label.Category" = "หมวดหมู่"; "Scene.ServerPicker.Label.Language" = "ภาษา"; "Scene.ServerPicker.Label.Users" = "ผู้ใช้"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "เลือกเซิร์ฟเวอร์ตามภูมิภาค, ความสนใจ หรือวัตถุประสงค์ทั่วไปของคุณ คุณยังคงสามารถแชทกับใครก็ตามใน Mastodon โดยไม่คำนึงถึงเซิร์ฟเวอร์ของคุณ"; "Scene.ServerPicker.Title" = "Mastodon ประกอบด้วยผู้ใช้ในเซิร์ฟเวอร์ต่าง ๆ"; "Scene.ServerRules.Button.Confirm" = "ฉันเห็นด้วย"; "Scene.ServerRules.PrivacyPolicy" = "นโยบายความเป็นส่วนตัว"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings index cb362ea9d..0c779d293 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "分享"; "Common.Controls.Actions.SharePost" = "分享帖子"; "Common.Controls.Actions.ShareUser" = "分享 %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "登录"; +"Common.Controls.Actions.SignUp" = "创建账户"; "Common.Controls.Actions.Skip" = "跳过"; "Common.Controls.Actions.TakePhoto" = "拍照"; "Common.Controls.Actions.TryAgain" = "再试一次"; @@ -68,13 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "编辑"; "Common.Controls.Friendship.Follow" = "关注"; "Common.Controls.Friendship.Following" = "正在关注"; -"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; +"Common.Controls.Friendship.HideReblogs" = "隐藏转发"; "Common.Controls.Friendship.Mute" = "静音"; "Common.Controls.Friendship.MuteUser" = "静音 %@"; "Common.Controls.Friendship.Muted" = "已静音"; "Common.Controls.Friendship.Pending" = "待确认"; "Common.Controls.Friendship.Request" = "请求"; -"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; +"Common.Controls.Friendship.ShowReblogs" = "显示转发"; "Common.Controls.Friendship.Unblock" = "解除屏蔽"; "Common.Controls.Friendship.UnblockUser" = "解除屏蔽 %@"; "Common.Controls.Friendship.Unmute" = "取消静音"; @@ -108,10 +108,10 @@ "Common.Controls.Status.Actions.Unreblog" = "取消转发"; "Common.Controls.Status.ContentWarning" = "内容警告"; "Common.Controls.Status.MediaContentWarning" = "点击任意位置显示"; -"Common.Controls.Status.MetaEntity.Email" = "Email address: %@"; -"Common.Controls.Status.MetaEntity.Hashtag" = "Hashtag: %@"; -"Common.Controls.Status.MetaEntity.Mention" = "Show Profile: %@"; -"Common.Controls.Status.MetaEntity.Url" = "Link: %@"; +"Common.Controls.Status.MetaEntity.Email" = "邮箱地址:%@"; +"Common.Controls.Status.MetaEntity.Hashtag" = "话题:%@"; +"Common.Controls.Status.MetaEntity.Mention" = "显示用户资料:%@"; +"Common.Controls.Status.MetaEntity.Url" = "链接:%@"; "Common.Controls.Status.Poll.Closed" = "已关闭"; "Common.Controls.Status.Poll.Vote" = "投票"; "Common.Controls.Status.SensitiveContent" = "敏感内容"; @@ -155,27 +155,27 @@ "Scene.AccountList.AddAccount" = "添加账户"; "Scene.AccountList.DismissAccountSwitcher" = "关闭账户切换页面"; "Scene.AccountList.TabBarHint" = "当前账户:%@。 双击并按住来打开账户切换页面"; -"Scene.Bookmark.Title" = "Bookmarks"; +"Scene.Bookmark.Title" = "书签"; "Scene.Compose.Accessibility.AppendAttachment" = "添加附件"; "Scene.Compose.Accessibility.AppendPoll" = "添加投票"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "自定义表情选择器"; "Scene.Compose.Accessibility.DisableContentWarning" = "关闭内容警告"; "Scene.Compose.Accessibility.EnableContentWarning" = "启用内容警告"; -"Scene.Compose.Accessibility.PostOptions" = "Post Options"; +"Scene.Compose.Accessibility.PostOptions" = "帖子选项"; "Scene.Compose.Accessibility.PostVisibilityMenu" = "帖子可见性"; -"Scene.Compose.Accessibility.PostingAs" = "Posting as %@"; +"Scene.Compose.Accessibility.PostingAs" = "以 %@ 身份发布"; "Scene.Compose.Accessibility.RemovePoll" = "移除投票"; "Scene.Compose.Attachment.AttachmentBroken" = "%@已损坏 无法上传到 Mastodon"; -"Scene.Compose.Attachment.AttachmentTooLarge" = "Attachment too large"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; -"Scene.Compose.Attachment.CompressingState" = "Compressing..."; +"Scene.Compose.Attachment.AttachmentTooLarge" = "附件太大"; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "无法识别此媒体"; +"Scene.Compose.Attachment.CompressingState" = "压缩中..."; "Scene.Compose.Attachment.DescriptionPhoto" = "为视觉障碍人士添加照片的文字说明..."; "Scene.Compose.Attachment.DescriptionVideo" = "为视觉障碍人士添加视频的文字说明..."; -"Scene.Compose.Attachment.LoadFailed" = "Load Failed"; +"Scene.Compose.Attachment.LoadFailed" = "加载失败"; "Scene.Compose.Attachment.Photo" = "照片"; -"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; -"Scene.Compose.Attachment.UploadFailed" = "Upload Failed"; +"Scene.Compose.Attachment.ServerProcessingState" = "服务器正在处理..."; +"Scene.Compose.Attachment.UploadFailed" = "上传失败"; "Scene.Compose.Attachment.Video" = "视频"; "Scene.Compose.AutoComplete.SpaceToAdd" = "输入空格键入"; "Scene.Compose.ComposeAction" = "发送"; @@ -196,8 +196,8 @@ "Scene.Compose.Poll.OptionNumber" = "选项 %ld"; "Scene.Compose.Poll.SevenDays" = "7 天"; "Scene.Compose.Poll.SixHours" = "6 小时"; -"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; -"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "投票含有空选项"; +"Scene.Compose.Poll.ThePollIsInvalid" = "投票无效"; "Scene.Compose.Poll.ThirtyMinutes" = "30 分钟"; "Scene.Compose.Poll.ThreeDays" = "3 天"; "Scene.Compose.ReplyingToUser" = "回复给 %@"; @@ -240,9 +240,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "已发送"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "正在发送..."; "Scene.HomeTimeline.Title" = "主页"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "输入网址或搜索您的服务器"; +"Scene.Login.Subtitle" = "登入您账户所在的服务器。"; +"Scene.Login.Title" = "欢迎回来"; "Scene.Notification.FollowRequest.Accept" = "接受"; "Scene.Notification.FollowRequest.Accepted" = "已接受"; "Scene.Notification.FollowRequest.Reject" = "拒绝"; @@ -270,17 +270,17 @@ "Scene.Profile.Fields.AddRow" = "添加"; "Scene.Profile.Fields.Placeholder.Content" = "内容"; "Scene.Profile.Fields.Placeholder.Label" = "标签"; -"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; -"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; +"Scene.Profile.Fields.Verified.Long" = "此链接的所有权已在 %@ 上检查通过"; +"Scene.Profile.Fields.Verified.Short" = "验证于 %@"; "Scene.Profile.Header.FollowsYou" = "关注了你"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "确认屏蔽 %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "屏蔽帐户"; -"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; -"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "确认隐藏转发"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "隐藏转发"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "确认静音 %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "静音账户"; -"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; -"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "确认显示转发"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "显示转发"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "确认取消屏蔽 %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "解除屏蔽帐户"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "确认取消静音 %@"; @@ -404,11 +404,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "出了些问题。请检查你的互联网连接"; "Scene.ServerPicker.EmptyState.FindingServers" = "正在查找可用的服务器..."; "Scene.ServerPicker.EmptyState.NoResults" = "无结果"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "搜索社区或输入 URL"; "Scene.ServerPicker.Label.Category" = "类别"; "Scene.ServerPicker.Label.Language" = "语言"; "Scene.ServerPicker.Label.Users" = "用户"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "根据你的地区、兴趣挑选一个服务器。无论你选择哪个服务器,你都可以跟其他服务器的任何人一起聊天。"; "Scene.ServerPicker.Title" = "挑选一个服务器, 任意服务器。"; "Scene.ServerRules.Button.Confirm" = "我同意"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict index 915a524b5..362d55c4f 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.stringsdict @@ -47,7 +47,7 @@ a11y.plural.count.characters_left NSStringLocalizedFormatKey - %#@character_count@ left + %#@character_count@ 剩余 character_count NSStringFormatSpecTypeKey @@ -55,7 +55,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 个字符 plural.count.followed_by_and_mutual diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings index 60dcd2077..10dbbf8ca 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings @@ -55,8 +55,8 @@ "Common.Controls.Actions.Share" = "分享"; "Common.Controls.Actions.SharePost" = "分享嘟文"; "Common.Controls.Actions.ShareUser" = "分享 %@"; -"Common.Controls.Actions.SignIn" = "Log in"; -"Common.Controls.Actions.SignUp" = "Create account"; +"Common.Controls.Actions.SignIn" = "登入"; +"Common.Controls.Actions.SignUp" = "新增帳號"; "Common.Controls.Actions.Skip" = "跳過"; "Common.Controls.Actions.TakePhoto" = "拍攝照片"; "Common.Controls.Actions.TryAgain" = "再試一次"; @@ -163,13 +163,13 @@ "Scene.Compose.Accessibility.RemovePoll" = "移除投票"; "Scene.Compose.Attachment.AttachmentBroken" = "此 %@ 已損毀,並無法被上傳至 Mastodon。"; "Scene.Compose.Attachment.AttachmentTooLarge" = "附加檔案大小過大"; -"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "Can not recognize this media attachment"; -"Scene.Compose.Attachment.CompressingState" = "Compressing..."; +"Scene.Compose.Attachment.CanNotRecognizeThisMediaAttachment" = "無法識別此媒體附加檔案"; +"Scene.Compose.Attachment.CompressingState" = "正在壓縮..."; "Scene.Compose.Attachment.DescriptionPhoto" = "為視障人士提供圖片說明..."; "Scene.Compose.Attachment.DescriptionVideo" = "為視障人士提供影片說明..."; "Scene.Compose.Attachment.LoadFailed" = "讀取失敗"; "Scene.Compose.Attachment.Photo" = "照片"; -"Scene.Compose.Attachment.ServerProcessingState" = "Server Processing..."; +"Scene.Compose.Attachment.ServerProcessingState" = "伺服器處理中..."; "Scene.Compose.Attachment.UploadFailed" = "上傳失敗"; "Scene.Compose.Attachment.Video" = "影片"; "Scene.Compose.AutoComplete.SpaceToAdd" = "添加的空白"; @@ -191,8 +191,8 @@ "Scene.Compose.Poll.OptionNumber" = "選項 %ld"; "Scene.Compose.Poll.SevenDays" = "七天"; "Scene.Compose.Poll.SixHours" = "六小時"; -"Scene.Compose.Poll.ThePollHasEmptyOption" = "The poll has empty option"; -"Scene.Compose.Poll.ThePollIsInvalid" = "The poll is invalid"; +"Scene.Compose.Poll.ThePollHasEmptyOption" = "此投票有空白選項"; +"Scene.Compose.Poll.ThePollIsInvalid" = "此投票是無效的"; "Scene.Compose.Poll.ThirtyMinutes" = "30 分鐘"; "Scene.Compose.Poll.ThreeDays" = "三天"; "Scene.Compose.ReplyingToUser" = "正在回覆 %@"; @@ -235,9 +235,9 @@ "Scene.HomeTimeline.NavigationBarState.Published" = "嘟出去!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "發表嘟文..."; "Scene.HomeTimeline.Title" = "首頁"; -"Scene.Login.ServerSearchField.Placeholder" = "Enter URL or search for your server"; -"Scene.Login.Subtitle" = "Log you in on the server you created your account on."; -"Scene.Login.Title" = "Welcome back"; +"Scene.Login.ServerSearchField.Placeholder" = "請輸入 URL 或搜尋您的伺服器"; +"Scene.Login.Subtitle" = "登入您新增帳號之伺服器"; +"Scene.Login.Title" = "歡迎回來"; "Scene.Notification.FollowRequest.Accept" = "接受"; "Scene.Notification.FollowRequest.Accepted" = "已接受"; "Scene.Notification.FollowRequest.Reject" = "拒絕"; @@ -265,8 +265,8 @@ "Scene.Profile.Fields.AddRow" = "新增列"; "Scene.Profile.Fields.Placeholder.Content" = "內容"; "Scene.Profile.Fields.Placeholder.Label" = "標籤"; -"Scene.Profile.Fields.Verified.Long" = "Ownership of this link was checked on %@"; -"Scene.Profile.Fields.Verified.Short" = "Verified on %@"; +"Scene.Profile.Fields.Verified.Long" = "已在 %@ 檢查此連結的擁有者權限"; +"Scene.Profile.Fields.Verified.Short" = "於 %@ 上已驗證"; "Scene.Profile.Header.FollowsYou" = "跟隨了您"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "確認將 %@ 封鎖"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "封鎖"; @@ -399,11 +399,11 @@ "Scene.ServerPicker.EmptyState.BadNetwork" = "讀取資料時發生錯誤。請檢查您的網路連線。"; "Scene.ServerPicker.EmptyState.FindingServers" = "尋找可用的伺服器..."; "Scene.ServerPicker.EmptyState.NoResults" = "沒有結果"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search communities or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "搜尋社群或輸入 URL 地址"; "Scene.ServerPicker.Label.Category" = "分類"; "Scene.ServerPicker.Label.Language" = "語言"; "Scene.ServerPicker.Label.Users" = "使用者"; -"Scene.ServerPicker.Subtitle" = "Pick a server based on your region, interests, or a general purpose one. You can still chat with anyone on Mastodon, regardless of your servers."; +"Scene.ServerPicker.Subtitle" = "基於您的興趣、地區、或一般用途選定一個伺服器。您仍會與任何伺服器中的每個人連結。"; "Scene.ServerPicker.Title" = "Mastodon 由不同伺服器的使用者組成。"; "Scene.ServerRules.Button.Confirm" = "我已閱讀並同意"; "Scene.ServerRules.PrivacyPolicy" = "隱私權政策"; From 356b8f2c008397e592c86ad875709087b1e9e408 Mon Sep 17 00:00:00 2001 From: CMK Date: Fri, 18 Nov 2022 21:36:51 +0800 Subject: [PATCH 290/300] chore: try tag the build --- .github/scripts/build-release.sh | 2 ++ .github/workflows/develop-build.yml | 15 +++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/scripts/build-release.sh b/.github/scripts/build-release.sh index e3efc59df..0b88b9a98 100755 --- a/.github/scripts/build-release.sh +++ b/.github/scripts/build-release.sh @@ -36,6 +36,8 @@ BUILD_NUMBER=$(app-store-connect get-latest-testflight-build-number $ENV_APP_ID BUILD_NUMBER=$((BUILD_NUMBER+1)) CURRENT_PROJECT_VERSION=${BUILD_NUMBER:-0} +echo "GITHUB_TAG_NAME=build-$CURRENT_PROJECT_VERSION" >> $GITHUB_TAG_NAME + agvtool new-version -all $CURRENT_PROJECT_VERSION xcrun xcodebuild clean \ diff --git a/.github/workflows/develop-build.yml b/.github/workflows/develop-build.yml index 4b3a4a04c..ede061098 100644 --- a/.github/workflows/develop-build.yml +++ b/.github/workflows/develop-build.yml @@ -12,16 +12,17 @@ jobs: name: Build runs-on: macOS-12 steps: - - name: checkout + - name: Checkout uses: actions/checkout@v2 - - name: setup + - name: Setup env: NotificationEndpointDebug: ${{ secrets.NotificationEndpointDebug }} NotificationEndpointRelease: ${{ secrets.NotificationEndpointRelease }} run: exec ./.github/scripts/setup.sh - - uses: actions/setup-python@v4 + - name: Install codemagic-cli-tools + uses: actions/setup-python@v4 with: python-version: '3.11' - run: | @@ -44,7 +45,7 @@ jobs: api-key-id: ${{ secrets.APPSTORE_KEY_ID }} api-private-key: ${{ secrets.APPSTORE_PRIVATE_KEY }} - - name: build + - name: Build env: ENV_APP_ID: ${{ secrets.APP_ID }} ENV_ISSUER_ID: ${{ secrets.APPSTORE_ISSUER_ID }} @@ -61,6 +62,12 @@ jobs: api-key-id: ${{ secrets.APPSTORE_KEY_ID }} api-private-key: ${{ secrets.APPSTORE_PRIVATE_KEY }} + - name: Tag commit + uses: tvdias/github-tagger@v0.0.1 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + tag: "${{ env.GITHUB_TAG_NAME }}" + - name: Clean up keychain and provisioning profile if: ${{ always() }} run: | From 5fbafe4fdb1dfa2cddbc1a672be2fe406b5a4cb5 Mon Sep 17 00:00:00 2001 From: CMK Date: Fri, 18 Nov 2022 21:42:49 +0800 Subject: [PATCH 291/300] fix: the wrong command to set GitHub env --- .github/scripts/build-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/build-release.sh b/.github/scripts/build-release.sh index 0b88b9a98..069aa673e 100755 --- a/.github/scripts/build-release.sh +++ b/.github/scripts/build-release.sh @@ -36,7 +36,7 @@ BUILD_NUMBER=$(app-store-connect get-latest-testflight-build-number $ENV_APP_ID BUILD_NUMBER=$((BUILD_NUMBER+1)) CURRENT_PROJECT_VERSION=${BUILD_NUMBER:-0} -echo "GITHUB_TAG_NAME=build-$CURRENT_PROJECT_VERSION" >> $GITHUB_TAG_NAME +echo "GITHUB_TAG_NAME=build-$CURRENT_PROJECT_VERSION" >> $GITHUB_ENV agvtool new-version -all $CURRENT_PROJECT_VERSION From f0bf9c6937ef0bb3054edf36a59d73777a27d163 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Fri, 18 Nov 2022 10:55:25 -0500 Subject: [PATCH 292/300] Bump the timeout interval for all requests to 60s --- MastodonSDK/Sources/MastodonSDK/API/Mastodon+API.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API.swift b/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API.swift index 43d5873d0..5d507bace 100644 --- a/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API.swift +++ b/MastodonSDK/Sources/MastodonSDK/API/Mastodon+API.swift @@ -11,7 +11,7 @@ import enum NIOHTTP1.HTTPResponseStatus extension Mastodon.API { - static let timeoutInterval: TimeInterval = 10 + static let timeoutInterval: TimeInterval = 60 static let httpHeaderDateFormatter: ISO8601DateFormatter = { var formatter = ISO8601DateFormatter() From ce076b264b14efb2531f4162c0f48b6c4adb286c Mon Sep 17 00:00:00 2001 From: CMK Date: Sat, 19 Nov 2022 00:56:44 +0800 Subject: [PATCH 293/300] fix: hashtag auto complete issue --- .../ComposeContent/ComposeContentViewController.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewController.swift b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewController.swift index b84b47385..c5c2d267b 100644 --- a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewController.swift +++ b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewController.swift @@ -627,10 +627,10 @@ extension ComposeContentViewController: ComposeContentViewModelDelegate { let _replacedText: String? = { var text: String switch item { - case .hashtag(let hashtag): - text = "#" + hashtag.name - case .hashtagV1(let hashtagName): - text = "#" + hashtagName + case .hashtag, .hashtagV1: + // do no fill the hashtag + // allow user delete suffix and post they want + return nil case .account(let account): text = "@" + account.acct case .emoji(let emoji): From 977b38c489649e6310829cacc933d28a1e85b984 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Mon, 21 Nov 2022 05:47:27 +0100 Subject: [PATCH 294/300] Bump build so that Testflight works again --- Mastodon.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Mastodon.xcodeproj/project.pbxproj b/Mastodon.xcodeproj/project.pbxproj index 5dcf06eae..0c43b71df 100644 --- a/Mastodon.xcodeproj/project.pbxproj +++ b/Mastodon.xcodeproj/project.pbxproj @@ -3864,7 +3864,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.4.7; + MARKETING_VERSION = 1.4.8; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -3893,7 +3893,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.4.7; + MARKETING_VERSION = 1.4.8; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -4066,7 +4066,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.4.7; + MARKETING_VERSION = 1.4.8; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -4349,7 +4349,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.4.7; + MARKETING_VERSION = 1.4.8; PRODUCT_BUNDLE_IDENTIFIER = org.joinmastodon.app; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; From 2314646d980092f07bd8dae00856638d5b4ac517 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Mon, 21 Nov 2022 11:27:14 +0100 Subject: [PATCH 295/300] fix: Always allow to continue when reporting a post if at least one is selected --- .../Report/ReportStatus/ReportStatusViewController.swift | 1 + .../Scene/Report/ReportStatus/ReportStatusViewModel.swift | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift index 6f934e13d..f56af1f1e 100644 --- a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift +++ b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift @@ -59,6 +59,7 @@ class ReportStatusViewController: UIViewController, NeedsDependency, ReportViewC let navigationActionView = NavigationActionView() navigationActionView.backgroundColor = Asset.Scene.Onboarding.background.color navigationActionView.backButton.setTitle(L10n.Common.Controls.Actions.skip, for: .normal) + navigationActionView.hidesBackButton = true return navigationActionView }() diff --git a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel.swift b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel.swift index 5b80a9f3a..c1c79af48 100644 --- a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel.swift +++ b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel.swift @@ -71,9 +71,7 @@ class ReportStatusViewModel { } $selectStatuses - .map { statuses -> Bool in - return status == nil ? !statuses.isEmpty : statuses.count > 1 - } + .map { !$0.isEmpty } .assign(to: &$isNextButtonEnabled) } From 8d9e6ca8746ad263ef87f343db5b0dbe016487c8 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Mon, 21 Nov 2022 11:31:57 +0100 Subject: [PATCH 296/300] chore: Remove back button title --- .../Scene/Report/ReportStatus/ReportStatusViewController.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift index f56af1f1e..02c3ccecb 100644 --- a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift +++ b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift @@ -58,7 +58,6 @@ class ReportStatusViewController: UIViewController, NeedsDependency, ReportViewC let navigationActionView: NavigationActionView = { let navigationActionView = NavigationActionView() navigationActionView.backgroundColor = Asset.Scene.Onboarding.background.color - navigationActionView.backButton.setTitle(L10n.Common.Controls.Actions.skip, for: .normal) navigationActionView.hidesBackButton = true return navigationActionView }() From 9ffed8f3198a498671db85aaf075e039ad3818e7 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Mon, 21 Nov 2022 11:53:26 +0100 Subject: [PATCH 297/300] Revert "chore: Remove back button title" This reverts commit 8d9e6ca8746ad263ef87f343db5b0dbe016487c8. --- .../Scene/Report/ReportStatus/ReportStatusViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift index 02c3ccecb..f56af1f1e 100644 --- a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift +++ b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift @@ -58,6 +58,7 @@ class ReportStatusViewController: UIViewController, NeedsDependency, ReportViewC let navigationActionView: NavigationActionView = { let navigationActionView = NavigationActionView() navigationActionView.backgroundColor = Asset.Scene.Onboarding.background.color + navigationActionView.backButton.setTitle(L10n.Common.Controls.Actions.skip, for: .normal) navigationActionView.hidesBackButton = true return navigationActionView }() From 8f28999a937c35a0f929beae7445305d60b8b98b Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Mon, 21 Nov 2022 11:57:02 +0100 Subject: [PATCH 298/300] chore: Only hide skip button if post has been selected --- .../Report/ReportStatus/ReportStatusViewController.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift index f56af1f1e..10e1ec3cd 100644 --- a/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift +++ b/Mastodon/Scene/Report/ReportStatus/ReportStatusViewController.swift @@ -59,7 +59,6 @@ class ReportStatusViewController: UIViewController, NeedsDependency, ReportViewC let navigationActionView = NavigationActionView() navigationActionView.backgroundColor = Asset.Scene.Onboarding.background.color navigationActionView.backButton.setTitle(L10n.Common.Controls.Actions.skip, for: .normal) - navigationActionView.hidesBackButton = true return navigationActionView }() @@ -124,6 +123,10 @@ extension ReportStatusViewController { .assign(to: \.isEnabled, on: navigationActionView.nextButton) .store(in: &disposeBag) + if !viewModel.selectStatuses.isEmpty { + navigationActionView.hidesBackButton = true + } + navigationActionView.backButton.addTarget(self, action: #selector(ReportStatusViewController.skipButtonDidPressed(_:)), for: .touchUpInside) navigationActionView.nextButton.addTarget(self, action: #selector(ReportStatusViewController.nextButtonDidPressed(_:)), for: .touchUpInside) } From 788bdb14f8673fae67b0c2f15a8ce7dc92ce42a0 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 21 Nov 2022 08:40:04 -0500 Subject: [PATCH 299/300] Remove duplicate timestamps --- .../MastodonUI/View/Content/NotificationView+ViewModel.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift index 64b120ec9..f29b0e6fd 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift @@ -108,6 +108,7 @@ extension NotificationView.ViewModel { .map { timestamp, _ in timestamp?.localizedTimeAgoSinceNow ?? "" } + .removeDuplicates() formattedTimestamp .sink { timestamp in From 228a9a1798e7e3ddb1b5e2b025553e122af22162 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 21 Nov 2022 08:46:49 -0500 Subject: [PATCH 300/300] Revert auto-formatter changes to file --- MastodonSDK/Package.resolved | 492 +++++++++--------- .../Content/NotificationView+ViewModel.swift | 53 +- 2 files changed, 281 insertions(+), 264 deletions(-) diff --git a/MastodonSDK/Package.resolved b/MastodonSDK/Package.resolved index 06843faa3..4a4fa51de 100644 --- a/MastodonSDK/Package.resolved +++ b/MastodonSDK/Package.resolved @@ -1,241 +1,257 @@ { - "object": { - "pins": [ - { - "package": "Alamofire", - "repositoryURL": "https://github.com/Alamofire/Alamofire.git", - "state": { - "branch": null, - "revision": "8dd85aee02e39dd280c75eef88ffdb86eed4b07b", - "version": "5.6.2" - } - }, - { - "package": "AlamofireImage", - "repositoryURL": "https://github.com/Alamofire/AlamofireImage.git", - "state": { - "branch": null, - "revision": "98cbb00ce0ec5fc8e52a5b50a6bfc08d3e5aee10", - "version": "4.2.0" - } - }, - { - "package": "CommonOSLog", - "repositoryURL": "https://github.com/MainasuK/CommonOSLog", - "state": { - "branch": null, - "revision": "c121624a30698e9886efe38aebb36ff51c01b6c2", - "version": "0.1.1" - } - }, - { - "package": "FaviconFinder", - "repositoryURL": "https://github.com/will-lumley/FaviconFinder.git", - "state": { - "branch": null, - "revision": "1f74844f77f79b95c0bb0130b3a87d4f340e6d3a", - "version": "3.3.0" - } - }, - { - "package": "FLAnimatedImage", - "repositoryURL": "https://github.com/Flipboard/FLAnimatedImage.git", - "state": { - "branch": null, - "revision": "d4f07b6f164d53c1212c3e54d6460738b1981e9f", - "version": "1.0.17" - } - }, - { - "package": "FPSIndicator", - "repositoryURL": "https://github.com/MainasuK/FPSIndicator.git", - "state": { - "branch": null, - "revision": "e4a5067ccd5293b024c767f09e51056afd4a4796", - "version": "1.1.0" - } - }, - { - "package": "Fuzi", - "repositoryURL": "https://github.com/cezheng/Fuzi.git", - "state": { - "branch": null, - "revision": "f08c8323da21e985f3772610753bcfc652c2103f", - "version": "3.1.3" - } - }, - { - "package": "KeychainAccess", - "repositoryURL": "https://github.com/kishikawakatsumi/KeychainAccess.git", - "state": { - "branch": null, - "revision": "84e546727d66f1adc5439debad16270d0fdd04e7", - "version": "4.2.2" - } - }, - { - "package": "MetaTextKit", - "repositoryURL": "https://github.com/TwidereProject/MetaTextKit.git", - "state": { - "branch": null, - "revision": "dcd5255d6930c2fab408dc8562c577547e477624", - "version": "2.2.5" - } - }, - { - "package": "Nuke", - "repositoryURL": "https://github.com/kean/Nuke.git", - "state": { - "branch": null, - "revision": "a002b7fd786f2df2ed4333fe73a9727499fd9d97", - "version": "10.11.2" - } - }, - { - "package": "NukeFLAnimatedImagePlugin", - "repositoryURL": "https://github.com/kean/Nuke-FLAnimatedImage-Plugin.git", - "state": { - "branch": null, - "revision": "b59c346a7d536336db3b0f12c72c6e53ee709e16", - "version": "8.0.0" - } - }, - { - "package": "Pageboy", - "repositoryURL": "https://github.com/uias/Pageboy", - "state": { - "branch": null, - "revision": "af8fa81788b893205e1ff42ddd88c5b0b315d7c5", - "version": "3.7.0" - } - }, - { - "package": "PanModal", - "repositoryURL": "https://github.com/slackhq/PanModal.git", - "state": { - "branch": null, - "revision": "b012aecb6b67a8e46369227f893c12544846613f", - "version": "1.2.7" - } - }, - { - "package": "SDWebImage", - "repositoryURL": "https://github.com/SDWebImage/SDWebImage.git", - "state": { - "branch": null, - "revision": "9248fe561a2a153916fb9597e3af4434784c6d32", - "version": "5.13.4" - } - }, - { - "package": "swift-collections", - "repositoryURL": "https://github.com/apple/swift-collections.git", - "state": { - "branch": null, - "revision": "f504716c27d2e5d4144fa4794b12129301d17729", - "version": "1.0.3" - } - }, - { - "package": "swift-nio", - "repositoryURL": "https://github.com/apple/swift-nio.git", - "state": { - "branch": null, - "revision": "546610d52b19be3e19935e0880bb06b9c03f5cef", - "version": "1.14.4" - } - }, - { - "package": "swift-nio-zlib-support", - "repositoryURL": "https://github.com/apple/swift-nio-zlib-support.git", - "state": { - "branch": null, - "revision": "37760e9a52030bb9011972c5213c3350fa9d41fd", - "version": "1.0.0" - } - }, - { - "package": "SwiftSoup", - "repositoryURL": "https://github.com/scinfu/SwiftSoup.git", - "state": { - "branch": null, - "revision": "6778575285177365cbad3e5b8a72f2a20583cfec", - "version": "2.4.3" - } - }, - { - "package": "Introspect", - "repositoryURL": "https://github.com/siteline/SwiftUI-Introspect.git", - "state": { - "branch": null, - "revision": "f2616860a41f9d9932da412a8978fec79c06fe24", - "version": "0.1.4" - } - }, - { - "package": "SwiftyJSON", - "repositoryURL": "https://github.com/SwiftyJSON/SwiftyJSON.git", - "state": { - "branch": null, - "revision": "b3dcd7dbd0d488e1a7077cb33b00f2083e382f07", - "version": "5.0.1" - } - }, - { - "package": "TabBarPager", - "repositoryURL": "https://github.com/TwidereProject/TabBarPager.git", - "state": { - "branch": null, - "revision": "488aa66d157a648901b61721212c0dec23d27ee5", - "version": "0.1.0" - } - }, - { - "package": "Tabman", - "repositoryURL": "https://github.com/uias/Tabman", - "state": { - "branch": null, - "revision": "4a4f7c755b875ffd4f9ef10d67a67883669d2465", - "version": "2.13.0" - } - }, - { - "package": "ThirdPartyMailer", - "repositoryURL": "https://github.com/vtourraine/ThirdPartyMailer.git", - "state": { - "branch": null, - "revision": "44c1cfaa6969963f22691aa67f88a69e3b6d651f", - "version": "2.1.0" - } - }, - { - "package": "TOCropViewController", - "repositoryURL": "https://github.com/TimOliver/TOCropViewController.git", - "state": { - "branch": null, - "revision": "d0470491f56e734731bbf77991944c0dfdee3e0e", - "version": "2.6.1" - } - }, - { - "package": "UIHostingConfigurationBackport", - "repositoryURL": "https://github.com/woxtu/UIHostingConfigurationBackport.git", - "state": { - "branch": null, - "revision": "6091f2d38faa4b24fc2ca0389c651e2f666624a3", - "version": "0.1.0" - } - }, - { - "package": "UITextView+Placeholder", - "repositoryURL": "https://github.com/MainasuK/UITextView-Placeholder.git", - "state": { - "branch": null, - "revision": "20f513ded04a040cdf5467f0891849b1763ede3b", - "version": "1.4.1" - } + "pins" : [ + { + "identity" : "alamofire", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Alamofire/Alamofire.git", + "state" : { + "revision" : "8dd85aee02e39dd280c75eef88ffdb86eed4b07b", + "version" : "5.6.2" } - ] - }, - "version": 1 + }, + { + "identity" : "alamofireimage", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Alamofire/AlamofireImage.git", + "state" : { + "revision" : "98cbb00ce0ec5fc8e52a5b50a6bfc08d3e5aee10", + "version" : "4.2.0" + } + }, + { + "identity" : "commonoslog", + "kind" : "remoteSourceControl", + "location" : "https://github.com/MainasuK/CommonOSLog", + "state" : { + "revision" : "c121624a30698e9886efe38aebb36ff51c01b6c2", + "version" : "0.1.1" + } + }, + { + "identity" : "faviconfinder", + "kind" : "remoteSourceControl", + "location" : "https://github.com/will-lumley/FaviconFinder.git", + "state" : { + "revision" : "1f74844f77f79b95c0bb0130b3a87d4f340e6d3a", + "version" : "3.3.0" + } + }, + { + "identity" : "flanimatedimage", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Flipboard/FLAnimatedImage.git", + "state" : { + "revision" : "d4f07b6f164d53c1212c3e54d6460738b1981e9f", + "version" : "1.0.17" + } + }, + { + "identity" : "fpsindicator", + "kind" : "remoteSourceControl", + "location" : "https://github.com/MainasuK/FPSIndicator.git", + "state" : { + "revision" : "e4a5067ccd5293b024c767f09e51056afd4a4796", + "version" : "1.1.0" + } + }, + { + "identity" : "fuzi", + "kind" : "remoteSourceControl", + "location" : "https://github.com/cezheng/Fuzi.git", + "state" : { + "revision" : "f08c8323da21e985f3772610753bcfc652c2103f", + "version" : "3.1.3" + } + }, + { + "identity" : "keychainaccess", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kishikawakatsumi/KeychainAccess.git", + "state" : { + "revision" : "84e546727d66f1adc5439debad16270d0fdd04e7", + "version" : "4.2.2" + } + }, + { + "identity" : "kingfisher", + "kind" : "remoteSourceControl", + "location" : "https://github.com/onevcat/Kingfisher.git", + "state" : { + "revision" : "44e891bdb61426a95e31492a67c7c0dfad1f87c5", + "version" : "7.4.1" + } + }, + { + "identity" : "metatextkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TwidereProject/MetaTextKit.git", + "state" : { + "revision" : "dcd5255d6930c2fab408dc8562c577547e477624", + "version" : "2.2.5" + } + }, + { + "identity" : "nextlevelsessionexporter", + "kind" : "remoteSourceControl", + "location" : "https://github.com/NextLevel/NextLevelSessionExporter.git", + "state" : { + "revision" : "b6c0cce1aa37fe1547d694f958fac3c3524b74da", + "version" : "0.4.6" + } + }, + { + "identity" : "nuke", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kean/Nuke.git", + "state" : { + "revision" : "a002b7fd786f2df2ed4333fe73a9727499fd9d97", + "version" : "10.11.2" + } + }, + { + "identity" : "nuke-flanimatedimage-plugin", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kean/Nuke-FLAnimatedImage-Plugin.git", + "state" : { + "revision" : "b59c346a7d536336db3b0f12c72c6e53ee709e16", + "version" : "8.0.0" + } + }, + { + "identity" : "pageboy", + "kind" : "remoteSourceControl", + "location" : "https://github.com/uias/Pageboy", + "state" : { + "revision" : "af8fa81788b893205e1ff42ddd88c5b0b315d7c5", + "version" : "3.7.0" + } + }, + { + "identity" : "panmodal", + "kind" : "remoteSourceControl", + "location" : "https://github.com/slackhq/PanModal.git", + "state" : { + "revision" : "b012aecb6b67a8e46369227f893c12544846613f", + "version" : "1.2.7" + } + }, + { + "identity" : "sdwebimage", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SDWebImage/SDWebImage.git", + "state" : { + "revision" : "9248fe561a2a153916fb9597e3af4434784c6d32", + "version" : "5.13.4" + } + }, + { + "identity" : "stripes", + "kind" : "remoteSourceControl", + "location" : "https://github.com/eneko/Stripes.git", + "state" : { + "revision" : "d533fd44b8043a3abbf523e733599173d6f98c11", + "version" : "0.2.0" + } + }, + { + "identity" : "swift-collections", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-collections.git", + "state" : { + "revision" : "f504716c27d2e5d4144fa4794b12129301d17729", + "version" : "1.0.3" + } + }, + { + "identity" : "swift-nio", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-nio.git", + "state" : { + "revision" : "546610d52b19be3e19935e0880bb06b9c03f5cef", + "version" : "1.14.4" + } + }, + { + "identity" : "swift-nio-zlib-support", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-nio-zlib-support.git", + "state" : { + "revision" : "37760e9a52030bb9011972c5213c3350fa9d41fd", + "version" : "1.0.0" + } + }, + { + "identity" : "swiftsoup", + "kind" : "remoteSourceControl", + "location" : "https://github.com/scinfu/SwiftSoup.git", + "state" : { + "revision" : "6778575285177365cbad3e5b8a72f2a20583cfec", + "version" : "2.4.3" + } + }, + { + "identity" : "swiftui-introspect", + "kind" : "remoteSourceControl", + "location" : "https://github.com/siteline/SwiftUI-Introspect.git", + "state" : { + "revision" : "f2616860a41f9d9932da412a8978fec79c06fe24", + "version" : "0.1.4" + } + }, + { + "identity" : "tabbarpager", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TwidereProject/TabBarPager.git", + "state" : { + "revision" : "488aa66d157a648901b61721212c0dec23d27ee5", + "version" : "0.1.0" + } + }, + { + "identity" : "tabman", + "kind" : "remoteSourceControl", + "location" : "https://github.com/uias/Tabman", + "state" : { + "revision" : "4a4f7c755b875ffd4f9ef10d67a67883669d2465", + "version" : "2.13.0" + } + }, + { + "identity" : "thirdpartymailer", + "kind" : "remoteSourceControl", + "location" : "https://github.com/vtourraine/ThirdPartyMailer.git", + "state" : { + "revision" : "44c1cfaa6969963f22691aa67f88a69e3b6d651f", + "version" : "2.1.0" + } + }, + { + "identity" : "tocropviewcontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TimOliver/TOCropViewController.git", + "state" : { + "revision" : "d0470491f56e734731bbf77991944c0dfdee3e0e", + "version" : "2.6.1" + } + }, + { + "identity" : "uihostingconfigurationbackport", + "kind" : "remoteSourceControl", + "location" : "https://github.com/woxtu/UIHostingConfigurationBackport.git", + "state" : { + "revision" : "6091f2d38faa4b24fc2ca0389c651e2f666624a3", + "version" : "0.1.0" + } + }, + { + "identity" : "uitextview-placeholder", + "kind" : "remoteSourceControl", + "location" : "https://github.com/MainasuK/UITextView-Placeholder.git", + "state" : { + "revision" : "20f513ded04a040cdf5467f0891849b1763ede3b", + "version" : "1.4.1" + } + } + ], + "version" : 2 } diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift index f29b0e6fd..714cf676d 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/NotificationView+ViewModel.swift @@ -1,29 +1,29 @@ // // NotificationView+ViewModel.swift -// +// // // Created by MainasuK on 2022-1-21. // -import Combine -import CoreData -import CoreDataStack -import MastodonAsset -import MastodonCore -import MastodonExtension -import MastodonLocalization -import MastodonSDK -import Meta import os.log import UIKit +import Combine +import Meta +import MastodonSDK +import MastodonAsset +import MastodonLocalization +import MastodonExtension +import MastodonCore +import CoreData +import CoreDataStack -public extension NotificationView { - final class ViewModel: ObservableObject { +extension NotificationView { + public final class ViewModel: ObservableObject { public var disposeBag = Set() public var objects = Set() let logger = Logger(subsystem: "NotificationView", category: "ViewModel") - + @Published public var authContext: AuthContext? @Published public var type: MastodonNotificationType? @@ -33,16 +33,16 @@ public extension NotificationView { @Published public var authorAvatarImageURL: URL? @Published public var authorName: MetaContent? @Published public var authorUsername: String? - + @Published public var isMyself = false @Published public var isMuting = false @Published public var isBlocking = false - + @Published public var timestamp: Date? - + @Published public var followRequestState = MastodonFollowRequestState(state: .none) @Published public var transientFollowRequestState = MastodonFollowRequestState(state: .none) - + let timestampUpdatePublisher = Timer.publish(every: 1.0, on: .main, in: .common) .autoconnect() .share() @@ -63,7 +63,7 @@ extension NotificationView.ViewModel { .assign(to: \.authContext, on: notificationView.quoteStatusView.viewModel) .store(in: &disposeBag) } - + private func bindAuthor(notificationView: NotificationView) { // avatar Publishers.CombineLatest( @@ -137,7 +137,7 @@ extension NotificationView.ViewModel { notificationView.accessibilityLabel = [ "\(name?.string ?? "") \(type?.string ?? "")", username.map { "@\($0)" } ?? "", - timestamp, + timestamp ].joined(separator: ", ") if !notificationView.statusView.isHidden { notificationView.accessibilityLabel! += ", " + (notificationView.statusView.accessibilityLabel ?? "") @@ -197,7 +197,7 @@ extension NotificationView.ViewModel { } .store(in: &disposeBag) } - + private func bindAuthorMenu(notificationView: NotificationView) { Publishers.CombineLatest4( $authorName, @@ -210,24 +210,24 @@ extension NotificationView.ViewModel { notificationView.menuButton.menu = nil return } - + let menuContext = NotificationView.AuthorMenuContext( name: name, isMuting: isMuting, isBlocking: isBlocking, isMyself: isMyself, - isBookmarking: false // no bookmark action display for notification item + isBookmarking: false // no bookmark action display for notification item ) let (menu, actions) = notificationView.setupAuthorMenu(menuContext: menuContext) notificationView.menuButton.menu = menu notificationView.authorActions = actions notificationView.menuButton.showsMenuAsPrimaryAction = true - + notificationView.menuButton.isHidden = menuContext.isMyself } .store(in: &disposeBag) } - + private func bindFollowRequest(notificationView: NotificationView) { Publishers.CombineLatest( $followRequestState, @@ -248,7 +248,7 @@ extension NotificationView.ViewModel { default: break } - + let state = transientFollowRequestState.state if state == .isAccepting { notificationView.acceptFollowRequestActivityIndicatorView.startAnimating() @@ -268,7 +268,7 @@ extension NotificationView.ViewModel { notificationView.rejectFollowRequestButton.tintColor = .black notificationView.rejectFollowRequestButton.setTitleColor(.black, for: .normal) } - + UIView.animate(withDuration: 0.3) { if state == .isAccept { notificationView.rejectFollowRequestButtonShadowBackgroundContainer.isHidden = true @@ -280,4 +280,5 @@ extension NotificationView.ViewModel { } .store(in: &disposeBag) } + }