From 1ce756a84996e76a8ed53eb454e8afab15056e1f Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Thu, 3 Nov 2022 14:59:58 -0400 Subject: [PATCH 01/31] Add accessibility actions for links/mentions/hashtags in posts --- .../TableviewCell/StatusTableViewCell.swift | 4 +++ .../Extension/MetaEntity+Accessibility.swift | 26 +++++++++++++++++++ .../View/Content/StatusView+ViewModel.swift | 20 +++++++++++--- .../MastodonUI/View/Content/StatusView.swift | 7 +++++ 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift diff --git a/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift b/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift index a3315211e..c9850a0d3 100644 --- a/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift +++ b/Mastodon/Scene/Share/View/TableviewCell/StatusTableViewCell.swift @@ -99,6 +99,10 @@ extension StatusTableViewCell { return true } + override var accessibilityCustomActions: [UIAccessibilityCustomAction]? { + get { statusView.accessibilityCustomActions } + set { } + } } // MARK: - AdaptiveContainerMarginTableViewCell diff --git a/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift b/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift new file mode 100644 index 000000000..8c818e7d4 --- /dev/null +++ b/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift @@ -0,0 +1,26 @@ +// +// MetaEntity+Accessibility.swift +// +// +// Created by Jed Fox on 2022-11-03. +// + +import Meta + +extension Meta.Entity { + var accessibilityCustomActionLabel: String? { + switch meta { + case .url(_, trimmed: _, url: let url, userInfo: _): + return "Link: \(url)" + case .hashtag(_, hashtag: let hashtag, userInfo: _): + return "Hashtag \(hashtag)" + case .mention(_, mention: let mention, userInfo: _): + return "Show Profile: @\(mention)" + case .email(let email, userInfo: _): + return "Email address: \(email)" + // emoji are not actionable + case .emoji: + return nil + } + } +} diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift index d0b5daa6f..416226cbb 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView+ViewModel.swift @@ -315,7 +315,6 @@ extension StatusView.ViewModel { statusView.contentMetaText.configure( content: content ) - statusView.contentMetaText.textView.accessibilityLabel = content.string statusView.contentMetaText.textView.accessibilityTraits = [.staticText] statusView.contentMetaText.textView.accessibilityElementsHidden = false } else { @@ -727,8 +726,23 @@ extension StatusView.ViewModel { statusView.accessibilityLabel = accessibilityLabel } .store(in: &disposeBag) + + Publishers.CombineLatest( + $content, + $isContentReveal.removeDuplicates() + ) + .map { content, isRevealed in + guard isRevealed, let entities = content?.entities else { return [] } + return entities.compactMap { entity in + guard let name = entity.accessibilityCustomActionLabel else { return nil } + return UIAccessibilityCustomAction(name: name) { action in + statusView.delegate?.statusView(statusView, metaText: statusView.contentMetaText, didSelectMeta: entity.meta) + return true + } + } + } + .assign(to: \.accessibilityCustomActions, on: statusView.contentMetaText.textView) + .store(in: &disposeBag) } } - - diff --git a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift index 8ab34ce4f..563bc7e3d 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Content/StatusView.swift @@ -547,6 +547,13 @@ extension StatusView { } +extension StatusView { + public override var accessibilityCustomActions: [UIAccessibilityCustomAction]? { + get { contentMetaText.textView.accessibilityCustomActions } + set { } + } +} + // MARK: - AdaptiveContainerView extension StatusView: AdaptiveContainerView { public func updateContainerViewComponentsLayoutMarginsRelativeArrangementBehavior(isEnabled: Bool) { From c8ae76af4b14daca29630ddf31f90c78323d7074 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Sun, 6 Nov 2022 10:56:23 -0500 Subject: [PATCH 02/31] Mark sidebar cells as buttons --- Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift index 9f0eb1899..7921daa05 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift @@ -141,6 +141,7 @@ extension SidebarViewModel { cell.setNeedsUpdateConfiguration() cell.isAccessibilityElement = true cell.accessibilityLabel = item.title + cell.accessibilityTraits.insert(.button) } // header From aa87340345080e3d5b004158a804473e36a34ee1 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 7 Nov 2022 18:21:19 -0500 Subject: [PATCH 03/31] set up translations for link labels --- Localization/app.json | 10 +++++++++- .../Extension/MetaEntity+Accessibility.swift | 6 +++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Localization/app.json b/Localization/app.json index a965b23ae..707faf3ef 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -685,5 +685,13 @@ "multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.", "accessibility_hint": "Double tap to dismiss this wizard" } + }, + "a11y": { + "meta_entity": { + "url": "Link: %s", + "hashtag": "Hastag %s", + "mention": "Show Profile: %s", + "email": "Email address: %s", + } } -} \ No newline at end of file +} diff --git a/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift b/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift index 8c818e7d4..9319617bb 100644 --- a/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift +++ b/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift @@ -11,12 +11,16 @@ extension Meta.Entity { var accessibilityCustomActionLabel: String? { switch meta { case .url(_, trimmed: _, url: let url, userInfo: _): + // TODO: i18n (a11y.meta_entity.url) return "Link: \(url)" case .hashtag(_, hashtag: let hashtag, userInfo: _): + // TODO: i18n (a11y.meta_entity.hashtag) return "Hashtag \(hashtag)" case .mention(_, mention: let mention, userInfo: _): - return "Show Profile: @\(mention)" + // TODO: i18n (a11y.meta_entity.mention) + return "Show Profile: \("@" + mention)" case .email(let email, userInfo: _): + // TODO: i18n (a11y.meta_entity.email) return "Email address: \(email)" // emoji are not actionable case .emoji: From d96f189980917992d9b832d5dd9251893792dc04 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Tue, 8 Nov 2022 10:28:49 -0500 Subject: [PATCH 04/31] =?UTF-8?q?Consistently=20handle=20=E2=80=9CA11y?= =?UTF-8?q?=E2=80=9D=20key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StringsConvertor/Sources/StringsConvertor/Parser.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift b/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift index ba9750cd4..c355493fe 100644 --- a/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift +++ b/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift @@ -43,7 +43,12 @@ extension Parser { .map { switch keyStyle { case .infoPlist: return $0 - case .swiftgen: return $0.capitalized + case .swiftgen: + if $0 == "a11y" { + return "A11y" + } else { + return $0.capitalized + } } } .joined() From ff65f50689c1ed5637d487da09d72b572214f3a2 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Thu, 3 Nov 2022 17:17:02 +0100 Subject: [PATCH 05/31] Add menu-entry for show/hide reblogs (#365) translations are still missing, as well as viewModel/networking-stuff. --- .../Provider/DataSourceFacade+Status.swift | 3 +++ .../Scene/Profile/ProfileViewController.swift | 1 + .../Generated/Strings.swift | 4 ++++ .../Resources/en.lproj/Localizable.strings | 2 ++ .../MastodonUI/View/Menu/MastodonMenu.swift | 21 ++++++++++++++++++- .../ViewModel/RelationshipViewModel.swift | 1 + 6 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift index 9d9e73eb3..412079293 100644 --- a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift +++ b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift @@ -205,6 +205,9 @@ extension DataSourceFacade { menuContext: MenuContext ) async throws { switch action { + case .hideReblogs(_): + //TODO: Implement. Alert. Toggle on Server. + return case .muteUser(let actionContext): let alertController = UIAlertController( title: actionContext.isMuting ? L10n.Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.title : L10n.Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.title, diff --git a/Mastodon/Scene/Profile/ProfileViewController.swift b/Mastodon/Scene/Profile/ProfileViewController.swift index 9dd06b22c..34c2775c8 100644 --- a/Mastodon/Scene/Profile/ProfileViewController.swift +++ b/Mastodon/Scene/Profile/ProfileViewController.swift @@ -378,6 +378,7 @@ extension ProfileViewController { let _ = ManagedObjectRecord(objectID: user.objectID) let menu = MastodonMenu.setupMenu( actions: [ + .hideReblogs(.init(showReblogs: self.viewModel.relationshipViewModel.showReblogs)), .muteUser(.init(name: name, isMuting: self.viewModel.relationshipViewModel.isMuting)), .blockUser(.init(name: name, isBlocking: self.viewModel.relationshipViewModel.isBlocking)), .reportUser(.init(name: name)), diff --git a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift index c64a50fa2..1d5b9895b 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift +++ b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift @@ -198,6 +198,8 @@ public enum L10n { public static let follow = L10n.tr("Localizable", "Common.Controls.Friendship.Follow") /// Following public static let following = L10n.tr("Localizable", "Common.Controls.Friendship.Following") + /// Hide Reblogs + public static let hideReblogs = L10n.tr("Localizable", "Common.Controls.Friendship.HideReblogs") /// Mute public static let mute = L10n.tr("Localizable", "Common.Controls.Friendship.Mute") /// Muted @@ -210,6 +212,8 @@ public enum L10n { public static let pending = L10n.tr("Localizable", "Common.Controls.Friendship.Pending") /// Request public static let request = L10n.tr("Localizable", "Common.Controls.Friendship.Request") + /// Show Reblogs + public static let showReblogs = L10n.tr("Localizable", "Common.Controls.Friendship.ShowReblogs") /// Unblock public static let unblock = L10n.tr("Localizable", "Common.Controls.Friendship.Unblock") /// Unblock %@ diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index 1c40bf855..94bee697c 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -77,6 +77,8 @@ Please check your internet connection."; "Common.Controls.Friendship.UnblockUser" = "Unblock %@"; "Common.Controls.Friendship.Unmute" = "Unmute"; "Common.Controls.Friendship.UnmuteUser" = "Unmute %@"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Keyboard.Common.ComposeNewPost" = "Compose New Post"; "Common.Controls.Keyboard.Common.OpenSettings" = "Open Settings"; "Common.Controls.Keyboard.Common.ShowFavorites" = "Show Favorites"; diff --git a/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift b/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift index d6a5bdbac..b85e71138 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift @@ -45,11 +45,23 @@ extension MastodonMenu { case reportUser(ReportUserActionContext) case shareUser(ShareUserActionContext) case bookmarkStatus(BookmarkStatusActionContext) + case hideReblogs(HideReblogsActionContext) case shareStatus case deleteStatus func build(delegate: MastodonMenuDelegate) -> BuiltAction { switch self { + case .hideReblogs(let context): + let title = context.showReblogs ? L10n.Common.Controls.Friendship.hideReblogs : L10n.Common.Controls.Friendship.hideReblogs + let reblogAction = BuiltAction( + title: title, + image: UIImage(systemName: "arrow.2.squarepath") + ) { [weak delegate] in + guard let delegate = delegate else { return } + delegate.menuAction(self) + } + + return reblogAction case .muteUser(let context): let muteAction = BuiltAction( title: context.isMuting ? L10n.Common.Controls.Friendship.unmuteUser(context.name) : L10n.Common.Controls.Friendship.muteUser(context.name), @@ -205,5 +217,12 @@ extension MastodonMenu { self.name = name } } - + + public struct HideReblogsActionContext { + public let showReblogs: Bool + + public init(showReblogs: Bool) { + self.showReblogs = showReblogs + } + } } diff --git a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift index a19de5138..5b032aa90 100644 --- a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift @@ -114,6 +114,7 @@ public final class RelationshipViewModel { @Published public var isFollowing = false @Published public var isFollowingBy = false @Published public var isMuting = false + @Published public var showReblogs = false @Published public var isBlocking = false @Published public var isBlockingBy = false @Published public var isSuspended = false From 13b849449450bb38d936e5505c7caa4ba5e05c17 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Thu, 3 Nov 2022 17:17:28 +0100 Subject: [PATCH 06/31] Consider old-school intel macs for development --- Gemfile.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile.lock b/Gemfile.lock index 873f725e5..e0ed91c5b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,6 +100,7 @@ GEM PLATFORMS arm64-darwin-21 + x86_64-darwin-21 DEPENDENCIES arkana From 8f8ae7d6a25e059a43d978df7fceb0bee2568c4f Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Thu, 3 Nov 2022 17:18:03 +0100 Subject: [PATCH 07/31] Have xcode update dependencies --- .../xcshareddata/swiftpm/Package.resolved | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved index 34ffd227b..f15e4a422 100644 --- a/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Alamofire/Alamofire.git", "state" : { - "revision" : "354dda32d89fc8cd4f5c46487f64957d355f53d8", - "version" : "5.6.1" + "revision" : "8dd85aee02e39dd280c75eef88ffdb86eed4b07b", + "version" : "5.6.2" } }, { @@ -41,8 +41,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Flipboard/FLAnimatedImage.git", "state" : { - "revision" : "e7f9fd4681ae41bf6f3056db08af4f401d61da52", - "version" : "1.0.16" + "revision" : "d4f07b6f164d53c1212c3e54d6460738b1981e9f", + "version" : "1.0.17" } }, { @@ -95,8 +95,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/kean/Nuke.git", "state" : { - "revision" : "0ea7545b5c918285aacc044dc75048625c8257cc", - "version" : "10.8.0" + "revision" : "a002b7fd786f2df2ed4333fe73a9727499fd9d97", + "version" : "10.11.2" } }, { @@ -113,8 +113,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/uias/Pageboy", "state" : { - "revision" : "34ecb6e7c4e0e07494960ab2f7cc9a02293915a6", - "version" : "3.6.2" + "revision" : "af8fa81788b893205e1ff42ddd88c5b0b315d7c5", + "version" : "3.7.0" } }, { @@ -131,8 +131,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/SDWebImage/SDWebImage.git", "state" : { - "revision" : "2e63d0061da449ad0ed130768d05dceb1496de44", - "version" : "5.12.5" + "revision" : "318cca556b0489aede0cd98d8d0c7f1408ab7bd6", + "version" : "5.13.5" } }, { @@ -176,8 +176,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/scinfu/SwiftSoup.git", "state" : { - "revision" : "41e7c263fb8c277e980ebcb9b0b5f6031d3d4886", - "version" : "2.4.2" + "revision" : "6778575285177365cbad3e5b8a72f2a20583cfec", + "version" : "2.4.3" } }, { From ce0e56b84e3c140074c6bd6c7c7fbc5fd2aa7885 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Fri, 4 Nov 2022 16:25:11 +0100 Subject: [PATCH 08/31] Add showsReblog to CoreData/persistence (#365) --- .../CoreData.xcdatamodeld/.xccurrentversion | 2 +- .../CoreData 4.xcdatamodel/contents | 254 ++++++++++++++++++ .../Entity/Mastodon/MastodonUser.swift | 15 +- .../Persistence+MastodonUser.swift | 1 + 4 files changed, 270 insertions(+), 2 deletions(-) create mode 100644 MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/CoreData 4.xcdatamodel/contents diff --git a/MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/.xccurrentversion b/MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/.xccurrentversion index cdd244c9c..1d5ea989f 100644 --- a/MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/.xccurrentversion +++ b/MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/.xccurrentversion @@ -3,6 +3,6 @@ _XCCurrentVersionName - CoreData 3.xcdatamodel + CoreData 4.xcdatamodel diff --git a/MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/CoreData 4.xcdatamodel/contents b/MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/CoreData 4.xcdatamodel/contents new file mode 100644 index 000000000..7604028f1 --- /dev/null +++ b/MastodonSDK/Sources/CoreDataStack/CoreData.xcdatamodeld/CoreData 4.xcdatamodel/contents @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MastodonSDK/Sources/CoreDataStack/Entity/Mastodon/MastodonUser.swift b/MastodonSDK/Sources/CoreDataStack/Entity/Mastodon/MastodonUser.swift index 85e844b09..760985d68 100644 --- a/MastodonSDK/Sources/CoreDataStack/Entity/Mastodon/MastodonUser.swift +++ b/MastodonSDK/Sources/CoreDataStack/Entity/Mastodon/MastodonUser.swift @@ -89,7 +89,8 @@ final public class MastodonUser: NSManagedObject { @NSManaged public private(set) var endorsedBy: Set @NSManaged public private(set) var domainBlocking: Set @NSManaged public private(set) var domainBlockingBy: Set - + @NSManaged public private(set) var showingReblogs: Set + @NSManaged public private(set) var showingReblogsBy: Set } extension MastodonUser { @@ -521,6 +522,7 @@ extension MastodonUser: AutoUpdatableObject { } } } + public func update(isDomainBlocking: Bool, by mastodonUser: MastodonUser) { if isDomainBlocking { if !self.domainBlockingBy.contains(mastodonUser) { @@ -533,4 +535,15 @@ extension MastodonUser: AutoUpdatableObject { } } + public func update(isShowingReblogs: Bool, by mastodonUser: MastodonUser) { + if isShowingReblogs { + if !self.showingReblogsBy.contains(mastodonUser) { + self.mutableSetValue(forKey: #keyPath(MastodonUser.showingReblogsBy)).add(mastodonUser) + } + } else { + if self.showingReblogsBy.contains(mastodonUser) { + self.mutableSetValue(forKey: #keyPath(MastodonUser.showingReblogsBy)).remove(mastodonUser) + } + } + } } diff --git a/MastodonSDK/Sources/MastodonCore/Persistence/Persistence+MastodonUser.swift b/MastodonSDK/Sources/MastodonCore/Persistence/Persistence+MastodonUser.swift index eb69c36d1..8571a11cf 100644 --- a/MastodonSDK/Sources/MastodonCore/Persistence/Persistence+MastodonUser.swift +++ b/MastodonSDK/Sources/MastodonCore/Persistence/Persistence+MastodonUser.swift @@ -157,5 +157,6 @@ extension Persistence.MastodonUser { user.update(isBlocking: relationship.blocking, by: me) relationship.domainBlocking.flatMap { user.update(isDomainBlocking: $0, by: me) } relationship.blockedBy.flatMap { me.update(isBlocking: $0, by: user) } + relationship.showingReblogs.flatMap { me.update(isShowingReblogs: $0, by: user) } } } From b719d84d3fdd0e29c28f14318177c95d2cbdf883 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Fri, 4 Nov 2022 16:28:14 +0100 Subject: [PATCH 09/31] [WIP] Toggle showReblogs-status on mastodon-server --- .../Provider/DataSourceFacade+Follow.swift | 11 ++++ .../Provider/DataSourceFacade+Status.swift | 52 +++++++++++++++---- .../Scene/Profile/ProfileViewController.swift | 6 ++- .../Service/API/APIService+Follow.swift | 52 ++++++++++++++++++- 4 files changed, 108 insertions(+), 13 deletions(-) diff --git a/Mastodon/Protocol/Provider/DataSourceFacade+Follow.swift b/Mastodon/Protocol/Provider/DataSourceFacade+Follow.swift index c6e40e7d9..b3812f198 100644 --- a/Mastodon/Protocol/Provider/DataSourceFacade+Follow.swift +++ b/Mastodon/Protocol/Provider/DataSourceFacade+Follow.swift @@ -132,3 +132,14 @@ extension DataSourceFacade { } } // end func } + +extension DataSourceFacade { + static func responseToShowHideReblogAction( + dependency: NeedsDependency & AuthContextProvider, + user: ManagedObjectRecord + ) async throws { + _ = try await dependency.context.apiService.toggleShowReblogs( + for: user, + authenticationBox: dependency.authContext.mastodonAuthenticationBox) + } +} diff --git a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift index 412079293..ff41cc126 100644 --- a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift +++ b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift @@ -205,9 +205,42 @@ extension DataSourceFacade { menuContext: MenuContext ) async throws { switch action { - case .hideReblogs(_): - //TODO: Implement. Alert. Toggle on Server. - return + case .hideReblogs(let actionContext): + //FIXME: Add localized strings + let alertController = UIAlertController( + title: actionContext.showReblogs ? "Really hide?" : "Really show?", + message: actionContext.showReblogs ? "Really??" : "Really??", + preferredStyle: .alert + ) + + let showHideReblogsAction = UIAlertAction( + title: actionContext.showReblogs ? "Show" : "Hide", + style: .default + ) { [weak dependency] _ in + guard let dependency else { return } + + Task { + let managedObjectContext = dependency.context.managedObjectContext + let _user: ManagedObjectRecord? = try? await managedObjectContext.perform { + guard let user = menuContext.author?.object(in: managedObjectContext) else { return nil } + return ManagedObjectRecord(objectID: user.objectID) + } + + guard let user = _user else { return } + + try await DataSourceFacade.responseToShowHideReblogAction( + dependency: dependency, + user: user + ) + } + } + + alertController.addAction(showHideReblogsAction) + + let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) + alertController.addAction(cancelAction) + + dependency.present(alertController, animated: true) case .muteUser(let actionContext): let alertController = UIAlertController( title: actionContext.isMuting ? L10n.Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.title : L10n.Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.title, @@ -233,9 +266,9 @@ extension DataSourceFacade { } // end Task } alertController.addAction(confirmAction) - let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel, handler: nil) + let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel) alertController.addAction(cancelAction) - dependency.present(alertController, animated: true, completion: nil) + dependency.present(alertController, animated: true) case .blockUser(let actionContext): let alertController = UIAlertController( title: actionContext.isBlocking ? L10n.Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.title : L10n.Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.title, @@ -261,9 +294,9 @@ extension DataSourceFacade { } // end Task } alertController.addAction(confirmAction) - let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel, handler: nil) + let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel) alertController.addAction(cancelAction) - dependency.present(alertController, animated: true, completion: nil) + dependency.present(alertController, animated: true) case .reportUser: Task { guard let user = menuContext.author else { return } @@ -352,9 +385,9 @@ extension DataSourceFacade { } // end Task } alertController.addAction(confirmAction) - let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel, handler: nil) + let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel) alertController.addAction(cancelAction) - dependency.present(alertController, animated: true, completion: nil) + dependency.present(alertController, animated: true) } } // end func @@ -374,3 +407,4 @@ extension DataSourceFacade { } } + diff --git a/Mastodon/Scene/Profile/ProfileViewController.swift b/Mastodon/Scene/Profile/ProfileViewController.swift index 34c2775c8..dcaefccb7 100644 --- a/Mastodon/Scene/Profile/ProfileViewController.swift +++ b/Mastodon/Scene/Profile/ProfileViewController.swift @@ -378,8 +378,8 @@ extension ProfileViewController { let _ = ManagedObjectRecord(objectID: user.objectID) let menu = MastodonMenu.setupMenu( actions: [ - .hideReblogs(.init(showReblogs: self.viewModel.relationshipViewModel.showReblogs)), .muteUser(.init(name: name, isMuting: self.viewModel.relationshipViewModel.isMuting)), + .hideReblogs(.init(showReblogs: self.viewModel.relationshipViewModel.showReblogs)), .blockUser(.init(name: name, isBlocking: self.viewModel.relationshipViewModel.isBlocking)), .reportUser(.init(name: name)), .shareUser(.init(name: name)), @@ -398,7 +398,9 @@ extension ProfileViewController { } } receiveValue: { [weak self] menu in guard let self = self else { return } - self.moreMenuBarButtonItem.menu = menu + OperationQueue.main.addOperation { + self.moreMenuBarButtonItem.menu = menu + } } .store(in: &disposeBag) } diff --git a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift index cfb5b8ee2..38c49970c 100644 --- a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift +++ b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift @@ -13,13 +13,14 @@ import CommonOSLog import MastodonSDK extension APIService { - + private struct MastodonFollowContext { let sourceUserID: MastodonUser.ID let targetUserID: MastodonUser.ID let isFollowing: Bool let isPending: Bool let needsUnfollow: Bool + let showsReblogs: Bool } /// Toggle friendship between target MastodonUser and current MastodonUser @@ -121,5 +122,52 @@ extension APIService { let response = try result.get() return response } - + + public func toggleShowReblogs( + for user: ManagedObjectRecord, + authenticationBox: MastodonAuthenticationBox + ) async throws -> Mastodon.Response.Content { + + let managedObjectContext = backgroundManagedObjectContext + guard let user = user.object(in: managedObjectContext) else { throw APIError.implicit(.badRequest) } + + let result: Result, Error> + let showReblogs = false //FIXME: Use showReblogs-value from data + let oldShowReblogs = true + + do { + let response = try await Mastodon.API.Account.follow( + session: session, + domain: authenticationBox.domain, + accountID: user.id, + followQueryType: .follow(query: .init(reblogs: showReblogs)), + authorization: authenticationBox.userAuthorization + ).singleOutput() + + result = .success(response) + } catch { + result = .failure(error) + } + + try await managedObjectContext.performChanges { + guard let me = authenticationBox.authenticationRecord.object(in: managedObjectContext)?.user else { return } + + switch result { + case .success(let response): + Persistence.MastodonUser.update( + mastodonUser: user, + context: Persistence.MastodonUser.RelationshipContext( + entity: response.value, + me: me, + networkDate: response.networkDate + ) + ) + case .failure: + // rollback + user.update(isShowingReblogs: oldShowReblogs, by: me) + } + } + + return try result.get() + } } From 28749b5029c8c952556eeb4df50d5eeea953fc4e Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Fri, 4 Nov 2022 16:41:59 +0100 Subject: [PATCH 10/31] Fix build (#365) :see_no_evil: --- .../Sources/MastodonCore/Service/API/APIService+Follow.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift index 38c49970c..ffcfae046 100644 --- a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift +++ b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift @@ -20,7 +20,6 @@ extension APIService { let isFollowing: Bool let isPending: Bool let needsUnfollow: Bool - let showsReblogs: Bool } /// Toggle friendship between target MastodonUser and current MastodonUser From 18720a9a51acab5d7f0d889d60e77cbb6fcc85c3 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Sun, 6 Nov 2022 09:22:26 +0100 Subject: [PATCH 11/31] Add localized strings (#365) --- .../Provider/DataSourceFacade+Status.swift | 61 ++++++++++--------- .../Generated/Strings.swift | 12 ++++ .../Resources/en.lproj/Localizable.strings | 5 ++ .../MastodonUI/View/Menu/MastodonMenu.swift | 2 +- 4 files changed, 50 insertions(+), 30 deletions(-) diff --git a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift index ff41cc126..332ed75e4 100644 --- a/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift +++ b/Mastodon/Protocol/Provider/DataSourceFacade+Status.swift @@ -205,42 +205,45 @@ extension DataSourceFacade { menuContext: MenuContext ) async throws { switch action { - case .hideReblogs(let actionContext): - //FIXME: Add localized strings - let alertController = UIAlertController( - title: actionContext.showReblogs ? "Really hide?" : "Really show?", - message: actionContext.showReblogs ? "Really??" : "Really??", - preferredStyle: .alert - ) + case .hideReblogs(let actionContext): + let title = actionContext.showReblogs ? L10n.Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.title : L10n.Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.title + let message = actionContext.showReblogs ? L10n.Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.message : L10n.Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.message - let showHideReblogsAction = UIAlertAction( - title: actionContext.showReblogs ? "Show" : "Hide", - style: .default - ) { [weak dependency] _ in - guard let dependency else { return } + let alertController = UIAlertController( + title: title, + message: message, + preferredStyle: .alert + ) - Task { - let managedObjectContext = dependency.context.managedObjectContext - let _user: ManagedObjectRecord? = try? await managedObjectContext.perform { - guard let user = menuContext.author?.object(in: managedObjectContext) else { return nil } - return ManagedObjectRecord(objectID: user.objectID) - } + let actionTitle = actionContext.showReblogs ? L10n.Common.Controls.Friendship.hideReblogs : L10n.Common.Controls.Friendship.showReblogs + let showHideReblogsAction = UIAlertAction( + title: actionTitle, + style: .destructive + ) { [weak dependency] _ in + guard let dependency else { return } - guard let user = _user else { return } + Task { + let managedObjectContext = dependency.context.managedObjectContext + let _user: ManagedObjectRecord? = try? await managedObjectContext.perform { + guard let user = menuContext.author?.object(in: managedObjectContext) else { return nil } + return ManagedObjectRecord(objectID: user.objectID) + } - try await DataSourceFacade.responseToShowHideReblogAction( - dependency: dependency, - user: user - ) - } - } + guard let user = _user else { return } - alertController.addAction(showHideReblogsAction) + try await DataSourceFacade.responseToShowHideReblogAction( + dependency: dependency, + user: user + ) + } + } - let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) - alertController.addAction(cancelAction) + alertController.addAction(showHideReblogsAction) - dependency.present(alertController, animated: true) + let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel) + alertController.addAction(cancelAction) + + dependency.present(alertController, animated: true) case .muteUser(let actionContext): let alertController = UIAlertController( title: actionContext.isMuting ? L10n.Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.title : L10n.Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.title, diff --git a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift index 1d5b9895b..52ed59c09 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift +++ b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift @@ -713,6 +713,12 @@ public enum L10n { /// Block Account public static let title = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title") } + public enum ConfirmHideReblogs { + /// Confirm to hide reblogs + public static let message = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message") + /// Hide reblogs + public static let title = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title") + } public enum ConfirmMuteUser { /// Confirm to mute %@ public static func message(_ p1: Any) -> String { @@ -721,6 +727,12 @@ public enum L10n { /// Mute Account public static let title = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title") } + public enum ConfirmShowReblogs { + /// Confirm to show reblogs + public static let message = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message") + /// Show Reblogs + public static let title = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title") + } public enum ConfirmUnblockUser { /// Confirm to unblock %@ public static func message(_ p1: Any) -> String { diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index 94bee697c..6917eb0c7 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -79,6 +79,7 @@ Please check your internet connection."; "Common.Controls.Friendship.UnmuteUser" = "Unmute %@"; "Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; + "Common.Controls.Keyboard.Common.ComposeNewPost" = "Compose New Post"; "Common.Controls.Keyboard.Common.OpenSettings" = "Open Settings"; "Common.Controls.Keyboard.Common.ShowFavorites" = "Show Favorites"; @@ -264,6 +265,10 @@ uploaded to Mastodon."; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Unblock Account"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Confirm to unmute %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Unmute Account"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide reblogs"; "Scene.Profile.SegmentedControl.About" = "About"; "Scene.Profile.SegmentedControl.Media" = "Media"; "Scene.Profile.SegmentedControl.Posts" = "Posts"; diff --git a/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift b/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift index b85e71138..422494328 100644 --- a/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift +++ b/MastodonSDK/Sources/MastodonUI/View/Menu/MastodonMenu.swift @@ -52,7 +52,7 @@ extension MastodonMenu { func build(delegate: MastodonMenuDelegate) -> BuiltAction { switch self { case .hideReblogs(let context): - let title = context.showReblogs ? L10n.Common.Controls.Friendship.hideReblogs : L10n.Common.Controls.Friendship.hideReblogs + let title = context.showReblogs ? L10n.Common.Controls.Friendship.hideReblogs : L10n.Common.Controls.Friendship.showReblogs let reblogAction = BuiltAction( title: title, image: UIImage(systemName: "arrow.2.squarepath") From ee523c098efa68a9cdc963adb6d4baf3413f8c1c Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Sun, 6 Nov 2022 09:25:26 +0100 Subject: [PATCH 12/31] Make show/hide reblogs finally work (#365) oh, and also indent to 4 spaces. I needed some time to wrap my head around the data model and especially the various view-models, but hey, in the end it works. I still feel like this "I have no idea what I'm doing"-dog :D --- .../Service/API/APIService+Follow.swift | 74 ++++++++++--------- .../ViewModel/RelationshipViewModel.swift | 41 ++++++---- 2 files changed, 64 insertions(+), 51 deletions(-) diff --git a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift index ffcfae046..05d1302b6 100644 --- a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift +++ b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift @@ -127,46 +127,50 @@ extension APIService { authenticationBox: MastodonAuthenticationBox ) async throws -> Mastodon.Response.Content { - let managedObjectContext = backgroundManagedObjectContext - guard let user = user.object(in: managedObjectContext) else { throw APIError.implicit(.badRequest) } + let managedObjectContext = backgroundManagedObjectContext + guard let user = user.object(in: managedObjectContext), + let authentication = authenticationBox.authenticationRecord.object(in: managedObjectContext) + else { throw APIError.implicit(.badRequest) } - let result: Result, Error> - let showReblogs = false //FIXME: Use showReblogs-value from data - let oldShowReblogs = true + let me = authentication.user + let result: Result, Error> - do { - let response = try await Mastodon.API.Account.follow( - session: session, - domain: authenticationBox.domain, - accountID: user.id, - followQueryType: .follow(query: .init(reblogs: showReblogs)), - authorization: authenticationBox.userAuthorization - ).singleOutput() + let oldShowReblogs = me.showingReblogsBy.contains(user) + let newShowReblogs = (oldShowReblogs == false) - result = .success(response) - } catch { - result = .failure(error) - } + do { + let response = try await Mastodon.API.Account.follow( + session: session, + domain: authenticationBox.domain, + accountID: user.id, + followQueryType: .follow(query: .init(reblogs: showReblogs)), + authorization: authenticationBox.userAuthorization + ).singleOutput() - try await managedObjectContext.performChanges { - guard let me = authenticationBox.authenticationRecord.object(in: managedObjectContext)?.user else { return } - - switch result { - case .success(let response): - Persistence.MastodonUser.update( - mastodonUser: user, - context: Persistence.MastodonUser.RelationshipContext( - entity: response.value, - me: me, - networkDate: response.networkDate - ) - ) - case .failure: - // rollback - user.update(isShowingReblogs: oldShowReblogs, by: me) + result = .success(response) + } catch { + result = .failure(error) } - } - return try result.get() + try await managedObjectContext.performChanges { + guard let me = authenticationBox.authenticationRecord.object(in: managedObjectContext)?.user else { return } + + switch result { + case .success(let response): + Persistence.MastodonUser.update( + mastodonUser: user, + context: Persistence.MastodonUser.RelationshipContext( + entity: response.value, + me: me, + networkDate: response.networkDate + ) + ) + case .failure: + // rollback + user.update(isShowingReblogs: oldShowReblogs, by: me) + } + } + + return try result.get() } } diff --git a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift index 5b032aa90..d51737b1e 100644 --- a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift @@ -27,6 +27,7 @@ public enum RelationshipAction: Int, CaseIterable { case edit case editing case updating + case showReblogs public var option: RelationshipActionOptionSet { return RelationshipActionOptionSet(rawValue: 1 << rawValue) @@ -57,6 +58,7 @@ public struct RelationshipActionOptionSet: OptionSet { public static let edit = RelationshipAction.edit.option public static let editing = RelationshipAction.editing.option public static let updating = RelationshipAction.updating.option + public static let showReblogs = RelationshipAction.showReblogs.option public static let editOptions: RelationshipActionOptionSet = [.edit, .editing, .updating] @@ -75,24 +77,24 @@ public struct RelationshipActionOptionSet: OptionSet { return " " } switch highPriorityAction { - case .isMyself: return "" - case .followingBy: return " " - case .blockingBy: return " " - case .none: return " " - case .follow: return L10n.Common.Controls.Friendship.follow - case .request: return L10n.Common.Controls.Friendship.request - case .pending: return L10n.Common.Controls.Friendship.pending - case .following: return L10n.Common.Controls.Friendship.following - case .muting: return L10n.Common.Controls.Friendship.muted - case .blocked: return L10n.Common.Controls.Friendship.follow // blocked by user (deprecated) - case .blocking: return L10n.Common.Controls.Friendship.blocked - case .suspended: return L10n.Common.Controls.Friendship.follow - case .edit: return L10n.Common.Controls.Friendship.editInfo - case .editing: return L10n.Common.Controls.Actions.done - case .updating: return " " + case .isMyself: return "" + case .followingBy: return " " + case .blockingBy: return " " + case .none: return " " + case .follow: return L10n.Common.Controls.Friendship.follow + case .request: return L10n.Common.Controls.Friendship.request + case .pending: return L10n.Common.Controls.Friendship.pending + case .following: return L10n.Common.Controls.Friendship.following + case .muting: return L10n.Common.Controls.Friendship.muted + case .blocked: return L10n.Common.Controls.Friendship.follow // blocked by user (deprecated) + case .blocking: return L10n.Common.Controls.Friendship.blocked + case .suspended: return L10n.Common.Controls.Friendship.follow + case .edit: return L10n.Common.Controls.Friendship.editInfo + case .editing: return L10n.Common.Controls.Actions.done + case .updating: return " " + case .showReblogs: return "" } } - } public final class RelationshipViewModel { @@ -185,6 +187,7 @@ extension RelationshipViewModel { self.isBlockingBy = optionSet.contains(.blockingBy) self.isBlocking = optionSet.contains(.blocking) self.isSuspended = optionSet.contains(.suspended) + self.showReblogs = optionSet.contains(.showReblogs) self.optionSet = optionSet } @@ -197,6 +200,7 @@ extension RelationshipViewModel { isBlockingBy = false isBlocking = false optionSet = nil + showReblogs = false } } @@ -215,6 +219,7 @@ extension RelationshipViewModel { let isMuting = user.mutingBy.contains(me) let isBlockingBy = me.blockingBy.contains(user) let isBlocking = user.blockingBy.contains(me) + let isShowingReblogs = me.showingReblogsBy.contains(user)// user.showingReblogsBy.contains(me) var optionSet: RelationshipActionOptionSet = [.follow] @@ -253,6 +258,10 @@ extension RelationshipViewModel { if user.suspended { optionSet.insert(.suspended) } + + if isShowingReblogs { + optionSet.insert(.showReblogs) + } return optionSet } From 1ac9e5c73044c632ede1daa63560c43a3008d566 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Sun, 6 Nov 2022 09:33:55 +0100 Subject: [PATCH 13/31] Fix build (again) (#365) :facepalm: --- .../Sources/MastodonCore/Service/API/APIService+Follow.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift index 05d1302b6..442d293ce 100644 --- a/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift +++ b/MastodonSDK/Sources/MastodonCore/Service/API/APIService+Follow.swift @@ -143,7 +143,7 @@ extension APIService { session: session, domain: authenticationBox.domain, accountID: user.id, - followQueryType: .follow(query: .init(reblogs: showReblogs)), + followQueryType: .follow(query: .init(reblogs: newShowReblogs)), authorization: authenticationBox.userAuthorization ).singleOutput() From 746d70f3e061207b556ec91e0675b2fbee5e55a8 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Sun, 6 Nov 2022 10:16:56 +0100 Subject: [PATCH 14/31] [WIP] Show show/hide-reblog-menu-entry only for people you already follow (#365) Please consider this WIP, as the breaks the ProfileRelationshipActionButton, somethingsomething RelationshipActionOptionSet for whatever reason, I assume. Also: fixed some typos and warnings. --- .../Scene/Profile/ProfileViewController.swift | 30 +++++++++++-------- .../ViewModel/RelationshipViewModel.swift | 4 +-- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Mastodon/Scene/Profile/ProfileViewController.swift b/Mastodon/Scene/Profile/ProfileViewController.swift index dcaefccb7..c1c5ccea7 100644 --- a/Mastodon/Scene/Profile/ProfileViewController.swift +++ b/Mastodon/Scene/Profile/ProfileViewController.swift @@ -376,14 +376,20 @@ extension ProfileViewController { } let name = user.displayNameWithFallback let _ = ManagedObjectRecord(objectID: user.objectID) + + var menuActions: [MastodonMenu.Action] = [ + .muteUser(.init(name: name, isMuting: self.viewModel.relationshipViewModel.isMuting)), + .blockUser(.init(name: name, isBlocking: self.viewModel.relationshipViewModel.isBlocking)), + .reportUser(.init(name: name)), + .shareUser(.init(name: name)), + ] + + if let me = self.viewModel?.me, me.following.contains(user) { + menuActions.insert(.hideReblogs(.init(showReblogs: self.viewModel.relationshipViewModel.showReblogs)), at: 1) + } + let menu = MastodonMenu.setupMenu( - actions: [ - .muteUser(.init(name: name, isMuting: self.viewModel.relationshipViewModel.isMuting)), - .hideReblogs(.init(showReblogs: self.viewModel.relationshipViewModel.showReblogs)), - .blockUser(.init(name: name, isBlocking: self.viewModel.relationshipViewModel.isBlocking)), - .reportUser(.init(name: name)), - .shareUser(.init(name: name)), - ], + actions: menuActions, delegate: self ) return menu @@ -743,7 +749,7 @@ extension ProfileViewController: ProfileHeaderViewControllerDelegate { let alertController = UIAlertController(for: error, title: L10n.Common.Alerts.EditProfileFailure.title, preferredStyle: .alert) let okAction = UIAlertAction(title: L10n.Common.Controls.Actions.ok, style: .default, handler: nil) alertController.addAction(okAction) - self.coordinator.present( + _ = self.coordinator.present( scene: .alertController(alertController: alertController), from: nil, transition: .alertController(animated: true, completion: nil) @@ -766,11 +772,11 @@ extension ProfileViewController: ProfileHeaderViewControllerDelegate { break case .follow, .request, .pending, .following: guard let user = viewModel.user else { return } - let reocrd = ManagedObjectRecord(objectID: user.objectID) + let record = ManagedObjectRecord(objectID: user.objectID) Task { try await DataSourceFacade.responseToUserFollowAction( dependency: self, - user: reocrd + user: record ) } case .muting: @@ -819,10 +825,8 @@ extension ProfileViewController: ProfileHeaderViewControllerDelegate { let cancelAction = UIAlertAction(title: L10n.Common.Controls.Actions.cancel, style: .cancel, handler: nil) alertController.addAction(cancelAction) present(alertController, animated: true, completion: nil) - case .blocked: + case .blocked, .showReblogs, .isMyself,.followingBy, .blockingBy, .suspended, .edit, .editing, .updating: break - default: - assertionFailure() } } diff --git a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift index d51737b1e..059ef0413 100644 --- a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift @@ -92,7 +92,7 @@ public struct RelationshipActionOptionSet: OptionSet { case .edit: return L10n.Common.Controls.Friendship.editInfo case .editing: return L10n.Common.Controls.Actions.done case .updating: return " " - case .showReblogs: return "" + case .showReblogs: return " " } } } @@ -219,7 +219,7 @@ extension RelationshipViewModel { let isMuting = user.mutingBy.contains(me) let isBlockingBy = me.blockingBy.contains(user) let isBlocking = user.blockingBy.contains(me) - let isShowingReblogs = me.showingReblogsBy.contains(user)// user.showingReblogsBy.contains(me) + let isShowingReblogs = me.showingReblogsBy.contains(user) var optionSet: RelationshipActionOptionSet = [.follow] From 143a9b32948fa4d02c03085825174a8461e75052 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Mon, 7 Nov 2022 17:51:09 +0100 Subject: [PATCH 15/31] Get rid of SwiftyJSON it's not used anymore. --- .../xcshareddata/swiftpm/Package.resolved | 9 --------- MastodonSDK/Package.swift | 2 -- 2 files changed, 11 deletions(-) diff --git a/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved index f15e4a422..3d914a3f1 100644 --- a/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -189,15 +189,6 @@ "version" : "0.1.4" } }, - { - "identity" : "swiftyjson", - "kind" : "remoteSourceControl", - "location" : "https://github.com/SwiftyJSON/SwiftyJSON.git", - "state" : { - "revision" : "b3dcd7dbd0d488e1a7077cb33b00f2083e382f07", - "version" : "5.0.1" - } - }, { "identity" : "tabbarpager", "kind" : "remoteSourceControl", diff --git a/MastodonSDK/Package.swift b/MastodonSDK/Package.swift index 852817c20..ca241038b 100644 --- a/MastodonSDK/Package.swift +++ b/MastodonSDK/Package.swift @@ -40,7 +40,6 @@ let package = Package( .package(url: "https://github.com/MainasuK/CommonOSLog", from: "0.1.1"), .package(url: "https://github.com/MainasuK/FPSIndicator.git", from: "1.0.0"), .package(url: "https://github.com/slackhq/PanModal.git", from: "1.2.7"), - .package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "5.0.0"), .package(url: "https://github.com/TimOliver/TOCropViewController.git", from: "2.6.1"), .package(url: "https://github.com/TwidereProject/MetaTextKit.git", exact: "2.2.5"), .package(url: "https://github.com/TwidereProject/TabBarPager.git", from: "0.1.0"), @@ -103,7 +102,6 @@ let package = Package( .target( name: "MastodonSDK", dependencies: [ - .product(name: "SwiftyJSON", package: "SwiftyJSON"), .product(name: "NIOHTTP1", package: "swift-nio"), ] ), From 00ab7ac2b0e193913e82c806c84481bf75cc5ee5 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Mon, 7 Nov 2022 18:52:02 +0100 Subject: [PATCH 16/31] Remove RelationshipActionOption for reblogs again (#365) --- Mastodon/Scene/Profile/ProfileViewController.swift | 4 +++- .../MastodonUI/ViewModel/RelationshipViewModel.swift | 11 ++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/Mastodon/Scene/Profile/ProfileViewController.swift b/Mastodon/Scene/Profile/ProfileViewController.swift index c1c5ccea7..3ce1fd33a 100644 --- a/Mastodon/Scene/Profile/ProfileViewController.swift +++ b/Mastodon/Scene/Profile/ProfileViewController.swift @@ -385,7 +385,9 @@ extension ProfileViewController { ] if let me = self.viewModel?.me, me.following.contains(user) { - menuActions.insert(.hideReblogs(.init(showReblogs: self.viewModel.relationshipViewModel.showReblogs)), at: 1) + let showReblogs = me.showingReblogsBy.contains(user) + let context = MastodonMenu.HideReblogsActionContext(showReblogs: showReblogs) + menuActions.insert(.hideReblogs(context), at: 1) } let menu = MastodonMenu.setupMenu( diff --git a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift index 059ef0413..3815568ab 100644 --- a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift @@ -58,8 +58,6 @@ public struct RelationshipActionOptionSet: OptionSet { public static let edit = RelationshipAction.edit.option public static let editing = RelationshipAction.editing.option public static let updating = RelationshipAction.updating.option - public static let showReblogs = RelationshipAction.showReblogs.option - public static let editOptions: RelationshipActionOptionSet = [.edit, .editing, .updating] public func highPriorityAction(except: RelationshipActionOptionSet) -> RelationshipAction? { @@ -187,7 +185,7 @@ extension RelationshipViewModel { self.isBlockingBy = optionSet.contains(.blockingBy) self.isBlocking = optionSet.contains(.blocking) self.isSuspended = optionSet.contains(.suspended) - self.showReblogs = optionSet.contains(.showReblogs) + self.showReblogs = me.showingReblogsBy.contains(user) self.optionSet = optionSet } @@ -219,8 +217,7 @@ extension RelationshipViewModel { let isMuting = user.mutingBy.contains(me) let isBlockingBy = me.blockingBy.contains(user) let isBlocking = user.blockingBy.contains(me) - let isShowingReblogs = me.showingReblogsBy.contains(user) - + var optionSet: RelationshipActionOptionSet = [.follow] if isMyself { @@ -259,10 +256,6 @@ extension RelationshipViewModel { optionSet.insert(.suspended) } - if isShowingReblogs { - optionSet.insert(.showReblogs) - } - return optionSet } } From 822ea5d843db1b8784852e22cc1a1a4fa7095fc5 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Mon, 7 Nov 2022 22:23:00 +0100 Subject: [PATCH 17/31] Add localization keys to app.json (#365) --- Localization/app.json | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Localization/app.json b/Localization/app.json index a965b23ae..1f04cf65f 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs", }, "timeline": { "filtered": "Filtered", @@ -455,7 +457,15 @@ "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", @@ -686,4 +696,4 @@ "accessibility_hint": "Double tap to dismiss this wizard" } } -} \ No newline at end of file +} From 3751cd172c1252b23fa0453581b8b1b024376578 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Tue, 8 Nov 2022 08:08:30 +0100 Subject: [PATCH 18/31] Make json valid again (#365) :see_no_evil: --- Localization/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/app.json b/Localization/app.json index 1f04cf65f..c44029040 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -460,11 +460,11 @@ }, "confirm_show_reblogs": { "title": "Show Reblogs", - "message": "Confirm to show reblogs + "message": "Confirm to show reblogs" }, "confirm_hide_reblogs": { "title": "Hide Reblogs", - "message": "Confirm to hide reblogs + "message": "Confirm to hide reblogs" }, }, "accessibility": { From 21800a4c81ed26e4d6a67f5d30cf13344ecb35f9 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Tue, 8 Nov 2022 15:26:32 +0100 Subject: [PATCH 19/31] Add optionSet for reblog again (#365) --- .../MastodonUI/ViewModel/RelationshipViewModel.swift | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift index 3815568ab..99cff19be 100644 --- a/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift @@ -12,6 +12,7 @@ import MastodonLocalization import CoreDataStack public enum RelationshipAction: Int, CaseIterable { + case showReblogs case isMyself case followingBy case blockingBy @@ -27,8 +28,7 @@ public enum RelationshipAction: Int, CaseIterable { case edit case editing case updating - case showReblogs - + public var option: RelationshipActionOptionSet { return RelationshipActionOptionSet(rawValue: 1 << rawValue) } @@ -58,6 +58,7 @@ public struct RelationshipActionOptionSet: OptionSet { public static let edit = RelationshipAction.edit.option public static let editing = RelationshipAction.editing.option public static let updating = RelationshipAction.updating.option + public static let showReblogs = RelationshipAction.showReblogs.option public static let editOptions: RelationshipActionOptionSet = [.edit, .editing, .updating] public func highPriorityAction(except: RelationshipActionOptionSet) -> RelationshipAction? { @@ -185,7 +186,7 @@ extension RelationshipViewModel { self.isBlockingBy = optionSet.contains(.blockingBy) self.isBlocking = optionSet.contains(.blocking) self.isSuspended = optionSet.contains(.suspended) - self.showReblogs = me.showingReblogsBy.contains(user) + self.showReblogs = optionSet.contains(.showReblogs) self.optionSet = optionSet } @@ -217,6 +218,7 @@ extension RelationshipViewModel { let isMuting = user.mutingBy.contains(me) let isBlockingBy = me.blockingBy.contains(user) let isBlocking = user.blockingBy.contains(me) + let isShowingReblogs = me.showingReblogsBy.contains(user) var optionSet: RelationshipActionOptionSet = [.follow] @@ -256,6 +258,10 @@ extension RelationshipViewModel { optionSet.insert(.suspended) } + if isShowingReblogs { + optionSet.insert(.showReblogs) + } + return optionSet } } From 4912d84d4653b14136ff351e3d68b8441e29e244 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Tue, 8 Nov 2022 16:48:17 +0100 Subject: [PATCH 20/31] Fix pods --- .../xcshareddata/swiftpm/Package.resolved | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved index 3d914a3f1..64dc691bb 100644 --- a/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Mastodon.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Alamofire/Alamofire.git", "state" : { - "revision" : "8dd85aee02e39dd280c75eef88ffdb86eed4b07b", - "version" : "5.6.2" + "revision" : "354dda32d89fc8cd4f5c46487f64957d355f53d8", + "version" : "5.6.1" } }, { @@ -41,8 +41,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Flipboard/FLAnimatedImage.git", "state" : { - "revision" : "d4f07b6f164d53c1212c3e54d6460738b1981e9f", - "version" : "1.0.17" + "revision" : "e7f9fd4681ae41bf6f3056db08af4f401d61da52", + "version" : "1.0.16" } }, { @@ -95,8 +95,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/kean/Nuke.git", "state" : { - "revision" : "a002b7fd786f2df2ed4333fe73a9727499fd9d97", - "version" : "10.11.2" + "revision" : "0ea7545b5c918285aacc044dc75048625c8257cc", + "version" : "10.8.0" } }, { @@ -113,8 +113,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/uias/Pageboy", "state" : { - "revision" : "af8fa81788b893205e1ff42ddd88c5b0b315d7c5", - "version" : "3.7.0" + "revision" : "34ecb6e7c4e0e07494960ab2f7cc9a02293915a6", + "version" : "3.6.2" } }, { @@ -131,8 +131,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/SDWebImage/SDWebImage.git", "state" : { - "revision" : "318cca556b0489aede0cd98d8d0c7f1408ab7bd6", - "version" : "5.13.5" + "revision" : "2e63d0061da449ad0ed130768d05dceb1496de44", + "version" : "5.12.5" } }, { @@ -176,8 +176,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/scinfu/SwiftSoup.git", "state" : { - "revision" : "6778575285177365cbad3e5b8a72f2a20583cfec", - "version" : "2.4.3" + "revision" : "41e7c263fb8c277e980ebcb9b0b5f6031d3d4886", + "version" : "2.4.2" } }, { From 4621a86df5e8c01eae7c9d05f91de95ae768dde3 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Tue, 8 Nov 2022 16:49:58 +0100 Subject: [PATCH 21/31] Mark missing SidebarCells as buttons (#516) Credit where credit is due: Thanks to @j-f1 et al. --- Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift index 7921daa05..c3f9e3e36 100644 --- a/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift +++ b/Mastodon/Scene/Root/Sidebar/SidebarViewModel.swift @@ -88,6 +88,7 @@ extension SidebarViewModel { cell.setNeedsUpdateConfiguration() cell.isAccessibilityElement = true cell.accessibilityLabel = item.title + cell.accessibilityTraits.insert(.button) self.$currentTab .receive(on: DispatchQueue.main) From b988a74f6a4f359a08fdeda5f6b08950470c0e2d Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Tue, 8 Nov 2022 17:46:48 +0100 Subject: [PATCH 22/31] Remove commas from app.json --- Localization/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Localization/app.json b/Localization/app.json index c44029040..bfb3a89c1 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -182,7 +182,7 @@ "muted": "Muted", "edit_info": "Edit Info", "show_reblogs": "Show Reblogs", - "hide_reblogs": "Hide Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -465,7 +465,7 @@ "confirm_hide_reblogs": { "title": "Hide Reblogs", "message": "Confirm to hide reblogs" - }, + } }, "accessibility": { "show_avatar_image": "Show avatar image", From 24c426f7f3260052dc34d301a5510827ccc70ab9 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Tue, 8 Nov 2022 13:30:17 -0500 Subject: [PATCH 23/31] Add localization info --- .../StringsConvertor/input/en.lproj/app.json | 6 ++++++ Localization/app.json | 14 ++++++-------- .../Generated/Strings.swift | 18 ++++++++++++++++++ .../Resources/en.lproj/Localizable.strings | 4 ++++ .../Extension/MetaEntity+Accessibility.swift | 13 +++++-------- 5 files changed, 39 insertions(+), 16 deletions(-) diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json index a965b23ae..702811c14 100644 --- a/Localization/StringsConvertor/input/en.lproj/app.json +++ b/Localization/StringsConvertor/input/en.lproj/app.json @@ -136,6 +136,12 @@ "vote": "Vote", "closed": "Closed" }, + "meta_entity": { + "url": "Link: %s", + "hashtag": "Hastag %s", + "mention": "Show Profile: %s", + "email": "Email address: %s" + }, "actions": { "reply": "Reply", "reblog": "Reblog", diff --git a/Localization/app.json b/Localization/app.json index 707faf3ef..31972b075 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -136,6 +136,12 @@ "vote": "Vote", "closed": "Closed" }, + "meta_entity": { + "url": "Link: %s", + "hashtag": "Hastag %s", + "mention": "Show Profile: %s", + "email": "Email address: %s" + }, "actions": { "reply": "Reply", "reblog": "Reblog", @@ -685,13 +691,5 @@ "multiple_account_switch_intro_description": "Switch between multiple accounts by holding the profile button.", "accessibility_hint": "Double tap to dismiss this wizard" } - }, - "a11y": { - "meta_entity": { - "url": "Link: %s", - "hashtag": "Hastag %s", - "mention": "Show Profile: %s", - "email": "Email address: %s", - } } } diff --git a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift index c64a50fa2..1bf067226 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift +++ b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift @@ -314,6 +314,24 @@ public enum L10n { /// Undo reblog public static let unreblog = L10n.tr("Localizable", "Common.Controls.Status.Actions.Unreblog") } + public enum MetaEntity { + /// Email address: %@ + public static func email(_ p1: Any) -> String { + return L10n.tr("Localizable", "Common.Controls.Status.MetaEntity.Email", String(describing: p1)) + } + /// Hastag %@ + public static func hashtag(_ p1: Any) -> String { + return L10n.tr("Localizable", "Common.Controls.Status.MetaEntity.Hashtag", String(describing: p1)) + } + /// Show Profile: %@ + public static func mention(_ p1: Any) -> String { + return L10n.tr("Localizable", "Common.Controls.Status.MetaEntity.Mention", String(describing: p1)) + } + /// Link: %@ + public static func url(_ p1: Any) -> String { + return L10n.tr("Localizable", "Common.Controls.Status.MetaEntity.Url", String(describing: p1)) + } + } public enum Poll { /// Closed public static let closed = L10n.tr("Localizable", "Common.Controls.Status.Poll.Closed") diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index 1c40bf855..6b7d2348f 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -108,6 +108,10 @@ Please check your internet connection."; "Common.Controls.Status.Actions.Unbookmark" = "Unbookmark"; "Common.Controls.Status.ContentWarning" = "Content Warning"; "Common.Controls.Status.MediaContentWarning" = "Tap anywhere to reveal"; +"Common.Controls.Status.MetaEntity.Email" = "Email address: %@"; +"Common.Controls.Status.MetaEntity.Hashtag" = "Hastag %@"; +"Common.Controls.Status.MetaEntity.Mention" = "Show Profile: %@"; +"Common.Controls.Status.MetaEntity.Url" = "Link: %@"; "Common.Controls.Status.Poll.Closed" = "Closed"; "Common.Controls.Status.Poll.Vote" = "Vote"; "Common.Controls.Status.SensitiveContent" = "Sensitive Content"; diff --git a/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift b/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift index 9319617bb..b604a3870 100644 --- a/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift +++ b/MastodonSDK/Sources/MastodonUI/Extension/MetaEntity+Accessibility.swift @@ -6,22 +6,19 @@ // import Meta +import MastodonLocalization extension Meta.Entity { var accessibilityCustomActionLabel: String? { switch meta { case .url(_, trimmed: _, url: let url, userInfo: _): - // TODO: i18n (a11y.meta_entity.url) - return "Link: \(url)" + return L10n.Common.Controls.Status.MetaEntity.url(url) case .hashtag(_, hashtag: let hashtag, userInfo: _): - // TODO: i18n (a11y.meta_entity.hashtag) - return "Hashtag \(hashtag)" + return L10n.Common.Controls.Status.MetaEntity.hashtag(hashtag) case .mention(_, mention: let mention, userInfo: _): - // TODO: i18n (a11y.meta_entity.mention) - return "Show Profile: \("@" + mention)" + return L10n.Common.Controls.Status.MetaEntity.mention(mention) case .email(let email, userInfo: _): - // TODO: i18n (a11y.meta_entity.email) - return "Email address: \(email)" + return L10n.Common.Controls.Status.MetaEntity.email(email) // emoji are not actionable case .emoji: return nil From d70dc1c1394a690b13580f10d1940a4216c7f53f Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Wed, 9 Nov 2022 07:25:57 +0100 Subject: [PATCH 24/31] Add missing title for bookmark-scene --- Localization/app.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Localization/app.json b/Localization/app.json index bfb3a89c1..80b0882d9 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -694,6 +694,9 @@ "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 1e27b2b838bfd4fd0d8da8c128e979b5cb084d83 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 9 Nov 2022 07:33:08 +0100 Subject: [PATCH 25/31] New Crowdin updates (#356) * New translations app.json (Italian) * New translations app.json (Spanish, Argentina) * New translations app.json (Spanish, Argentina) * New translations app.json (Galician) * New translations app.json (Kabyle) * New translations app.json (Kabyle) * New translations Localizable.stringsdict (Kabyle) * New translations app.json (Kurmanji (Kurdish)) * New translations app.json (Chinese Traditional) * New translations app.json (Arabic) * New translations app.json (French) * New translations app.json (Spanish) * New translations Localizable.stringsdict (Spanish) * New translations app.json (Thai) * New translations Localizable.stringsdict (Japanese) * New translations app.json (Thai) * New translations app.json (English, United States) * New translations app.json (Welsh) * New translations app.json (Scottish Gaelic) * New translations app.json (Kurmanji (Kurdish)) * New translations app.json (Sorani (Kurdish)) * New translations app.json (Kabyle) * New translations app.json (Spanish, Argentina) * New translations app.json (Hindi) * New translations app.json (Indonesian) * New translations app.json (Japanese) * New translations app.json (Romanian) * New translations app.json (French) * New translations app.json (Spanish) * New translations app.json (Arabic) * New translations app.json (Catalan) * New translations app.json (Danish) * New translations app.json (German) * New translations app.json (Basque) * New translations app.json (Finnish) * New translations app.json (Italian) * New translations app.json (Korean) * New translations app.json (Portuguese, Brazilian) * New translations app.json (Dutch) * New translations app.json (Portuguese) * New translations app.json (Russian) * New translations app.json (Swedish) * New translations app.json (Turkish) * New translations app.json (Chinese Simplified) * New translations app.json (Chinese Traditional) * New translations app.json (English) * New translations app.json (Vietnamese) * New translations app.json (Galician) * New translations app.json (Spanish, Argentina) * New translations app.json (Italian) * New translations app.json (Chinese Simplified) * New translations app.json (Catalan) * New translations app.json (Japanese) * New translations app.json (Korean) * New translations app.json (Arabic) * New translations app.json (Vietnamese) * New translations app.json (Spanish) * New translations app.json (Japanese) * New translations app.json (Japanese) * New translations app.json (Chinese Traditional) * New translations app.json (Galician) * New translations app.json (Kurmanji (Kurdish)) * New translations app.json (Thai) * New translations app.json (French) * New translations Localizable.stringsdict (Arabic) * New translations Localizable.stringsdict (Arabic) * New translations app.json (Turkish) * New translations app.json (Scottish Gaelic) * New translations app.json (Scottish Gaelic) * New translations Localizable.stringsdict (Scottish Gaelic) * New translations app.json (Latvian) * New translations ios-infoPlist.json (Latvian) * New translations Localizable.stringsdict (Latvian) * New translations Intents.strings (Latvian) * New translations Intents.stringsdict (Latvian) * New translations app.json (Latvian) * New translations app.json (Latvian) * New translations app.json (Latvian) * New translations app.json (Latvian) * New translations app.json (Latvian) * New translations app.json (Latvian) * New translations Intents.strings (Latvian) * New translations app.json (Latvian) * New translations app.json (Czech) * New translations ios-infoPlist.json (Czech) * New translations Localizable.stringsdict (Czech) * New translations Intents.strings (Czech) * New translations Intents.stringsdict (Czech) * New translations app.json (Slovenian) * New translations ios-infoPlist.json (Slovenian) * New translations Localizable.stringsdict (Slovenian) * New translations Intents.strings (Slovenian) * New translations Intents.stringsdict (Slovenian) * New translations app.json (Sinhala) * New translations ios-infoPlist.json (Sinhala) * New translations Localizable.stringsdict (Sinhala) * New translations Intents.strings (Sinhala) * New translations Intents.stringsdict (Sinhala) * New translations app.json (Sinhala) * New translations app.json (Slovenian) * New translations Intents.strings (Slovenian) * New translations app.json (Slovenian) * New translations ios-infoPlist.json (Slovenian) * New translations app.json (Slovenian) * New translations app.json (Czech) * New translations app.json (German) * New translations app.json (German) * New translations app.json (Czech) * New translations app.json (Czech) * New translations app.json (Czech) * New translations app.json (Czech) * New translations app.json (Slovenian) * New translations ios-infoPlist.json (Slovenian) * New translations app.json (Czech) * New translations app.json (Czech) * New translations app.json (Slovenian) * New translations Localizable.stringsdict (Turkish) * New translations app.json (Slovenian) * New translations ios-infoPlist.json (Slovenian) * New translations app.json (Slovenian) * New translations Intents.strings (Slovenian) * New translations app.json (Slovenian) * New translations app.json (Slovenian) * New translations app.json (Slovenian) * New translations app.json (Chinese Traditional) * New translations app.json (Vietnamese) * New translations app.json (Kabyle) * New translations app.json (Korean) * New translations app.json (Korean) * New translations ios-infoPlist.json (Korean) * New translations Localizable.stringsdict (Korean) * New translations Intents.strings (Korean) * New translations Intents.stringsdict (Korean) * New translations app.json (Swedish) * New translations app.json (Slovenian) * New translations app.json (Slovenian) * New translations app.json (Swedish) * New translations Localizable.stringsdict (Swedish) * New translations app.json (Swedish) * New translations Localizable.stringsdict (Swedish) * New translations app.json (Slovenian) * New translations app.json (Vietnamese) * New translations Localizable.stringsdict (Slovenian) * New translations Intents.strings (Vietnamese) * New translations app.json (Vietnamese) * New translations Localizable.stringsdict (German) * New translations Localizable.stringsdict (German) * New translations app.json (French) * New translations app.json (Turkish) * New translations app.json (Czech) * New translations app.json (Ukrainian) * New translations ios-infoPlist.json (Ukrainian) * New translations Localizable.stringsdict (Ukrainian) * New translations Intents.strings (Ukrainian) * New translations Intents.stringsdict (Ukrainian) * New translations Localizable.stringsdict (Slovenian) * New translations app.json (Slovenian) * New translations Intents.stringsdict (Slovenian) * New translations app.json (Slovenian) * New translations Localizable.stringsdict (Slovenian) * New translations app.json (Czech) * New translations app.json (Slovenian) * New translations app.json (Czech) * New translations app.json (Scottish Gaelic) * New translations Localizable.stringsdict (Scottish Gaelic) * New translations app.json (Slovenian) * New translations app.json (Indonesian) * New translations app.json (Portuguese) * New translations app.json (Russian) * New translations app.json (Chinese Simplified) * New translations app.json (English) * New translations app.json (Galician) * New translations app.json (Portuguese, Brazilian) * New translations app.json (Spanish, Argentina) * New translations app.json (Japanese) * New translations app.json (Thai) * New translations app.json (Latvian) * New translations app.json (Hindi) * New translations app.json (English, United States) * New translations app.json (Welsh) * New translations app.json (Sinhala) * New translations app.json (Kurmanji (Kurdish)) * New translations app.json (Dutch) * New translations app.json (Italian) * New translations app.json (Chinese Traditional) * New translations app.json (Ukrainian) * New translations app.json (Vietnamese) * New translations app.json (Kabyle) * New translations app.json (Korean) * New translations app.json (Swedish) * New translations app.json (French) * New translations app.json (Turkish) * New translations app.json (Czech) * New translations app.json (Scottish Gaelic) * New translations app.json (Finnish) * New translations app.json (Romanian) * New translations app.json (Spanish) * New translations app.json (Arabic) * New translations app.json (Catalan) * New translations app.json (Danish) * New translations app.json (German) * New translations app.json (Basque) * New translations app.json (Sorani (Kurdish)) * New translations app.json (Swedish) * New translations app.json (Italian) * New translations Intents.strings (Swedish) * New translations app.json (Catalan) * New translations app.json (Slovenian) * New translations app.json (Spanish, Argentina) * New translations app.json (Chinese Traditional) * New translations app.json (Korean) * New translations app.json (Vietnamese) * New translations app.json (Slovenian) * New translations app.json (Indonesian) * New translations app.json (Portuguese) * New translations app.json (Russian) * New translations app.json (Chinese Simplified) * New translations app.json (English) * New translations app.json (Galician) * New translations app.json (Portuguese, Brazilian) * New translations app.json (Spanish, Argentina) * New translations app.json (Japanese) * New translations app.json (Thai) * New translations app.json (Latvian) * New translations app.json (Hindi) * New translations app.json (English, United States) * New translations app.json (Welsh) * New translations app.json (Sinhala) * New translations app.json (Kurmanji (Kurdish)) * New translations app.json (Dutch) * New translations app.json (Italian) * New translations app.json (Chinese Traditional) * New translations app.json (Ukrainian) * New translations app.json (Vietnamese) * New translations app.json (Kabyle) * New translations app.json (Korean) * New translations app.json (Swedish) * New translations app.json (French) * New translations app.json (Turkish) * New translations app.json (Czech) * New translations app.json (Scottish Gaelic) * New translations app.json (Finnish) * New translations app.json (Romanian) * New translations app.json (Spanish) * New translations app.json (Arabic) * New translations app.json (Catalan) * New translations app.json (Danish) * New translations app.json (German) * New translations app.json (Basque) * New translations app.json (Sorani (Kurdish)) --- .../Intents/input/cs.lproj/Intents.strings | 51 ++ .../input/cs.lproj/Intents.stringsdict | 46 ++ .../Intents/input/ko.lproj/Intents.strings | 14 +- .../input/ko.lproj/Intents.stringsdict | 4 +- .../Intents/input/lv.lproj/Intents.strings | 51 ++ .../input/lv.lproj/Intents.stringsdict | 42 ++ .../Intents/input/si.lproj/Intents.strings | 51 ++ .../input/si.lproj/Intents.stringsdict | 38 + .../Intents/input/sl.lproj/Intents.strings | 51 ++ .../input/sl.lproj/Intents.stringsdict | 46 ++ .../Intents/input/sv.lproj/Intents.strings | 2 +- .../Intents/input/uk.lproj/Intents.strings | 51 ++ .../input/uk.lproj/Intents.stringsdict | 46 ++ .../Intents/input/vi.lproj/Intents.strings | 2 +- .../StringsConvertor/input/ar.lproj/app.json | 17 +- .../StringsConvertor/input/ca.lproj/app.json | 17 +- .../StringsConvertor/input/ckb.lproj/app.json | 17 +- .../input/cs.lproj/Localizable.stringsdict | 561 ++++++++++++++ .../StringsConvertor/input/cs.lproj/app.json | 702 ++++++++++++++++++ .../input/cs.lproj/ios-infoPlist.json | 6 + .../StringsConvertor/input/cy.lproj/app.json | 17 +- .../StringsConvertor/input/da.lproj/app.json | 17 +- .../input/de.lproj/Localizable.stringsdict | 30 +- .../StringsConvertor/input/de.lproj/app.json | 113 +-- .../input/en-US.lproj/app.json | 17 +- .../StringsConvertor/input/en.lproj/app.json | 17 +- .../input/es-AR.lproj/app.json | 17 +- .../StringsConvertor/input/es.lproj/app.json | 17 +- .../StringsConvertor/input/eu.lproj/app.json | 17 +- .../StringsConvertor/input/fi.lproj/app.json | 17 +- .../StringsConvertor/input/fr.lproj/app.json | 29 +- .../input/gd.lproj/Localizable.stringsdict | 24 +- .../StringsConvertor/input/gd.lproj/app.json | 149 ++-- .../StringsConvertor/input/gl.lproj/app.json | 17 +- .../StringsConvertor/input/hi.lproj/app.json | 17 +- .../StringsConvertor/input/id.lproj/app.json | 17 +- .../StringsConvertor/input/it.lproj/app.json | 17 +- .../StringsConvertor/input/ja.lproj/app.json | 17 +- .../StringsConvertor/input/kab.lproj/app.json | 19 +- .../StringsConvertor/input/kmr.lproj/app.json | 17 +- .../input/ko.lproj/Localizable.stringsdict | 38 +- .../StringsConvertor/input/ko.lproj/app.json | 315 ++++---- .../input/ko.lproj/ios-infoPlist.json | 2 +- .../input/lv.lproj/Localizable.stringsdict | 505 +++++++++++++ .../StringsConvertor/input/lv.lproj/app.json | 702 ++++++++++++++++++ .../input/lv.lproj/ios-infoPlist.json | 6 + .../StringsConvertor/input/nl.lproj/app.json | 17 +- .../input/pt-BR.lproj/app.json | 17 +- .../StringsConvertor/input/pt.lproj/app.json | 17 +- .../StringsConvertor/input/ro.lproj/app.json | 17 +- .../StringsConvertor/input/ru.lproj/app.json | 17 +- .../input/si.lproj/Localizable.stringsdict | 449 +++++++++++ .../StringsConvertor/input/si.lproj/app.json | 702 ++++++++++++++++++ .../input/si.lproj/ios-infoPlist.json | 6 + .../input/sl.lproj/Localizable.stringsdict | 561 ++++++++++++++ .../StringsConvertor/input/sl.lproj/app.json | 702 ++++++++++++++++++ .../input/sl.lproj/ios-infoPlist.json | 6 + .../input/sv.lproj/Localizable.stringsdict | 6 +- .../StringsConvertor/input/sv.lproj/app.json | 43 +- .../StringsConvertor/input/th.lproj/app.json | 17 +- .../input/tr.lproj/Localizable.stringsdict | 2 +- .../StringsConvertor/input/tr.lproj/app.json | 37 +- .../input/uk.lproj/Localizable.stringsdict | 561 ++++++++++++++ .../StringsConvertor/input/uk.lproj/app.json | 702 ++++++++++++++++++ .../input/uk.lproj/ios-infoPlist.json | 6 + .../StringsConvertor/input/vi.lproj/app.json | 39 +- .../input/zh-Hans.lproj/app.json | 17 +- .../input/zh-Hant.lproj/app.json | 19 +- 68 files changed, 7512 insertions(+), 433 deletions(-) create mode 100644 Localization/StringsConvertor/Intents/input/cs.lproj/Intents.strings create mode 100644 Localization/StringsConvertor/Intents/input/cs.lproj/Intents.stringsdict create mode 100644 Localization/StringsConvertor/Intents/input/lv.lproj/Intents.strings create mode 100644 Localization/StringsConvertor/Intents/input/lv.lproj/Intents.stringsdict create mode 100644 Localization/StringsConvertor/Intents/input/si.lproj/Intents.strings create mode 100644 Localization/StringsConvertor/Intents/input/si.lproj/Intents.stringsdict create mode 100644 Localization/StringsConvertor/Intents/input/sl.lproj/Intents.strings create mode 100644 Localization/StringsConvertor/Intents/input/sl.lproj/Intents.stringsdict create mode 100644 Localization/StringsConvertor/Intents/input/uk.lproj/Intents.strings create mode 100644 Localization/StringsConvertor/Intents/input/uk.lproj/Intents.stringsdict create mode 100644 Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict create mode 100644 Localization/StringsConvertor/input/cs.lproj/app.json create mode 100644 Localization/StringsConvertor/input/cs.lproj/ios-infoPlist.json create mode 100644 Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict create mode 100644 Localization/StringsConvertor/input/lv.lproj/app.json create mode 100644 Localization/StringsConvertor/input/lv.lproj/ios-infoPlist.json create mode 100644 Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict create mode 100644 Localization/StringsConvertor/input/si.lproj/app.json create mode 100644 Localization/StringsConvertor/input/si.lproj/ios-infoPlist.json create mode 100644 Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict create mode 100644 Localization/StringsConvertor/input/sl.lproj/app.json create mode 100644 Localization/StringsConvertor/input/sl.lproj/ios-infoPlist.json create mode 100644 Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict create mode 100644 Localization/StringsConvertor/input/uk.lproj/app.json create mode 100644 Localization/StringsConvertor/input/uk.lproj/ios-infoPlist.json diff --git a/Localization/StringsConvertor/Intents/input/cs.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/cs.lproj/Intents.strings new file mode 100644 index 000000000..6877490ba --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/cs.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. "; diff --git a/Localization/StringsConvertor/Intents/input/cs.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/cs.lproj/Intents.stringsdict new file mode 100644 index 000000000..a739f778f --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/cs.lproj/Intents.stringsdict @@ -0,0 +1,46 @@ + + + + + There are ${count} options matching ‘${content}’. - 2 + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${content}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + one + 1 option + 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 + one + 1 option + few + %ld options + many + %ld options + other + %ld options + + + + diff --git a/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.strings index 6877490ba..5ea6fd363 100644 --- a/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.strings @@ -34,18 +34,18 @@ "dUyuGg" = "Post on Mastodon"; -"dYQ5NN" = "Public"; +"dYQ5NN" = "공개"; -"ehFLjY" = "Followers Only"; +"ehFLjY" = "팔로워 전용"; -"gfePDu" = "Posting failed. ${failureReason}"; +"gfePDu" = "게시를 실패했습니다. ${failureReason}"; -"k7dbKQ" = "Post was sent successfully."; +"k7dbKQ" = "성공적으로 게시물을 전송했습니다."; -"oGiqmY-dYQ5NN" = "Just to confirm, you wanted ‘Public’?"; +"oGiqmY-dYQ5NN" = "확인차 물어보건데, '공개'로 게시하시길 원합니까?"; -"oGiqmY-ehFLjY" = "Just to confirm, you wanted ‘Followers Only’?"; +"oGiqmY-ehFLjY" = "확인차 물어보건데, '팔로워 전용'으로 게시하시길 원합니까?"; "rM6dvp" = "URL"; -"ryJLwG" = "Post was sent successfully. "; +"ryJLwG" = "성공적으로 게시물을 전송했습니다. "; diff --git a/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.stringsdict index a14f8b9ff..86a8eac72 100644 --- a/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.stringsdict +++ b/Localization/StringsConvertor/Intents/input/ko.lproj/Intents.stringsdict @@ -13,7 +13,7 @@ NSStringFormatValueTypeKey %ld other - %ld options + %ld 개의 옵션 There are ${count} options matching ‘${visibility}’. @@ -27,7 +27,7 @@ NSStringFormatValueTypeKey %ld other - %ld options + %ld 개의 옵션 diff --git a/Localization/StringsConvertor/Intents/input/lv.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/lv.lproj/Intents.strings new file mode 100644 index 000000000..eddd2026f --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/lv.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" = "Ziņa"; + +"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" = "Publisks"; + +"ehFLjY" = "Tikai sekotājiem"; + +"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. "; diff --git a/Localization/StringsConvertor/Intents/input/lv.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/lv.lproj/Intents.stringsdict new file mode 100644 index 000000000..8926678aa --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/lv.lproj/Intents.stringsdict @@ -0,0 +1,42 @@ + + + + + There are ${count} options matching ‘${content}’. - 2 + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${content}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + zero + %ld options + 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 + zero + %ld options + one + 1 option + other + %ld options + + + + diff --git a/Localization/StringsConvertor/Intents/input/si.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/si.lproj/Intents.strings new file mode 100644 index 000000000..6877490ba --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/si.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. "; diff --git a/Localization/StringsConvertor/Intents/input/si.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/si.lproj/Intents.stringsdict new file mode 100644 index 000000000..18422c772 --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/si.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 + + + + diff --git a/Localization/StringsConvertor/Intents/input/sl.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/sl.lproj/Intents.strings new file mode 100644 index 000000000..72de87df2 --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/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/Localization/StringsConvertor/Intents/input/sl.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/sl.lproj/Intents.stringsdict new file mode 100644 index 000000000..5b8deba51 --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/sl.lproj/Intents.stringsdict @@ -0,0 +1,46 @@ + + + + + There are ${count} options matching ‘${content}’. - 2 + + NSStringLocalizedFormatKey + Na voljo: %#@count_option@, ki se ujema z "${content}". + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + one + %ld možnost + two + %ld možnosti + few + %ld možnosti + other + %ld možnosti + + + There are ${count} options matching ‘${visibility}’. + + NSStringLocalizedFormatKey + Na voljo: %#@count_option@, ki se ujema z "${visibility}". + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + one + %ld možnost + two + %ld možnosti + few + %ld možnosti + other + %ld možnosti + + + + diff --git a/Localization/StringsConvertor/Intents/input/sv.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/sv.lproj/Intents.strings index 526e495d2..793922506 100644 --- a/Localization/StringsConvertor/Intents/input/sv.lproj/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/sv.lproj/Intents.strings @@ -38,7 +38,7 @@ "ehFLjY" = "Endast följare"; -"gfePDu" = "Publicering misslyckades. ${failureReason}"; +"gfePDu" = "Kunde inte publicera. ${failureReason}"; "k7dbKQ" = "Inlägget har publicerats."; diff --git a/Localization/StringsConvertor/Intents/input/uk.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/uk.lproj/Intents.strings new file mode 100644 index 000000000..6877490ba --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/uk.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. "; diff --git a/Localization/StringsConvertor/Intents/input/uk.lproj/Intents.stringsdict b/Localization/StringsConvertor/Intents/input/uk.lproj/Intents.stringsdict new file mode 100644 index 000000000..a739f778f --- /dev/null +++ b/Localization/StringsConvertor/Intents/input/uk.lproj/Intents.stringsdict @@ -0,0 +1,46 @@ + + + + + There are ${count} options matching ‘${content}’. - 2 + + NSStringLocalizedFormatKey + There are %#@count_option@ matching ‘${content}’. + count_option + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + %ld + one + 1 option + 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 + one + 1 option + few + %ld options + many + %ld options + other + %ld options + + + + diff --git a/Localization/StringsConvertor/Intents/input/vi.lproj/Intents.strings b/Localization/StringsConvertor/Intents/input/vi.lproj/Intents.strings index a95337317..80c01c640 100644 --- a/Localization/StringsConvertor/Intents/input/vi.lproj/Intents.strings +++ b/Localization/StringsConvertor/Intents/input/vi.lproj/Intents.strings @@ -30,7 +30,7 @@ "ayoYEb-dYQ5NN" = "${content}, Công khai"; -"ayoYEb-ehFLjY" = "${content}, Riêng tư"; +"ayoYEb-ehFLjY" = "${content}, Chỉ người theo dõi"; "dUyuGg" = "Đăng lên Mastodon"; diff --git a/Localization/StringsConvertor/input/ar.lproj/app.json b/Localization/StringsConvertor/input/ar.lproj/app.json index 732b5acb2..ce68229ac 100644 --- a/Localization/StringsConvertor/input/ar.lproj/app.json +++ b/Localization/StringsConvertor/input/ar.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "رفع الكتم", "unmute_user": "رفع الكتم عن %s", "muted": "مكتوم", - "edit_info": "تَحريرُ المَعلُومات" + "edit_info": "تَحريرُ المَعلُومات", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "مُصفَّى", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "رَفعُ الحَظرِ عَنِ الحِساب", "message": "تأكيدُ رَفع الحَظرِ عَن %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "جديد في ماستودون", "multiple_account_switch_intro_description": "بدِّل بين حسابات متعددة عبر الاستمرار بالضغط على زر الملف الشخصي.", "accessibility_hint": "انقر نقرًا مزدوجًا لتجاهُل النافذة المنبثقة" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/ca.lproj/app.json b/Localization/StringsConvertor/input/ca.lproj/app.json index da78cf285..4766eb31b 100644 --- a/Localization/StringsConvertor/input/ca.lproj/app.json +++ b/Localization/StringsConvertor/input/ca.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Deixa de silenciar", "unmute_user": "Treure silenci de %s", "muted": "Silenciat", - "edit_info": "Edita" + "edit_info": "Edita", + "show_reblogs": "Mostra els impulsos", + "hide_reblogs": "Amaga els impulsos" }, "timeline": { "filtered": "Filtrat", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Desbloqueja el Compte", "message": "Confirma per a desbloquejar %s" + }, + "confirm_show_reblogs": { + "title": "Mostra els Impulsos", + "message": "Confirma per a mostrar els impulsos" + }, + "confirm_hide_reblogs": { + "title": "Amaga Impulsos", + "message": "Confirma per a amagar els impulsos" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Nou a Mastodon", "multiple_account_switch_intro_description": "Commuta entre diversos comptes mantenint premut el botó del perfil.", "accessibility_hint": "Toca dues vegades per descartar l'assistent" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/ckb.lproj/app.json b/Localization/StringsConvertor/input/ckb.lproj/app.json index 926590d74..49f72d7a3 100644 --- a/Localization/StringsConvertor/input/ckb.lproj/app.json +++ b/Localization/StringsConvertor/input/ckb.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "بێدەنگی مەکە", "unmute_user": "%s بێدەنگ مەکە", "muted": "بێدەنگ کراوە", - "edit_info": "دەستکاری" + "edit_info": "دەستکاری", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "پاڵێوراو", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "ئاستەنگی مەکە", "message": "دڵنیا ببەوە بۆ لابردنی ئاستەنگی %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "نوێ", "multiple_account_switch_intro_description": "هەژمارەکەت بگۆڕە بە دەستڕاگرتن لەسەر دوگمەی پرۆفایلەکە.", "accessibility_hint": "دوو جار دەستی پیا بنێ بۆ داخستنی" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict new file mode 100644 index 000000000..cdf35477e --- /dev/null +++ b/Localization/StringsConvertor/input/cs.lproj/Localizable.stringsdict @@ -0,0 +1,561 @@ + + + + + a11y.plural.count.unread.notification + + NSStringLocalizedFormatKey + %#@notification_count_unread_notification@ + notification_count_unread_notification + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 unread notification + few + %ld unread notification + many + %ld 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 + few + %ld characters + many + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + 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 + %#@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 + post + few + posts + many + posts + other + posts + + + plural.count.media + + NSStringLocalizedFormatKey + %#@media_count@ + media_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 media + few + %ld media + many + %ld media + other + %ld media + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + few + %ld posts + many + %ld posts + other + %ld posts + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 favorite + 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 reply + few + %ld replies + many + %ld replies + other + %ld replies + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 vote + few + %ld votes + many + %ld votes + other + %ld votes + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 voter + few + %ld voters + many + %ld voters + other + %ld voters + + + 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 following + few + %ld following + many + %ld following + other + %ld following + + + 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 + 1 year left + few + %ld years left + many + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + 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/Localization/StringsConvertor/input/cs.lproj/app.json b/Localization/StringsConvertor/input/cs.lproj/app.json new file mode 100644 index 000000000..550f71808 --- /dev/null +++ b/Localization/StringsConvertor/input/cs.lproj/app.json @@ -0,0 +1,702 @@ +{ + "common": { + "alerts": { + "common": { + "please_try_again": "Zkuste to prosím znovu.", + "please_try_again_later": "Zkuste to prosím znovu později." + }, + "sign_up_failure": { + "title": "Registrace selhala" + }, + "server_error": { + "title": "Chyba serveru" + }, + "vote_failure": { + "title": "Selhání hlasování", + "poll_ended": "Anketa skončila" + }, + "discard_post_content": { + "title": "Zahodit koncept", + "message": "Potvrďte odstranění obsahu složeného příspěvku." + }, + "publish_post_failure": { + "title": "Publikování selhalo", + "message": "Nepodařilo se publikovat příspěvek.\nZkontrolujte prosím připojení k internetu.", + "attachments_message": { + "video_attach_with_photo": "K příspěvku, který již obsahuje obrázky, nelze připojit video.", + "more_than_one_video": "Nelze připojit více než jedno video." + } + }, + "edit_profile_failure": { + "title": "Chyba při úpravě profilu", + "message": "Nelze upravit profil. Zkuste to prosím znovu." + }, + "sign_out": { + "title": "Odhlásit se", + "message": "Opravdu se chcete odhlásit?", + "confirm": "Odhlásit se" + }, + "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": "Blokovat doménu" + }, + "save_photo_failure": { + "title": "Uložení fotografie se nezdařilo", + "message": "Please enable the photo library access permission to save the photo." + }, + "delete_post": { + "title": "Odstranit příspěvek", + "message": "Opravdu chcete smazat tento příspěvek?" + }, + "clean_cache": { + "title": "Vyčistit mezipaměť", + "message": "Úspěšně vyčištěno %s mezipaměti." + } + }, + "controls": { + "actions": { + "back": "Zpět", + "next": "Další", + "previous": "Předchozí", + "open": "Otevřít", + "add": "Přidat", + "remove": "Odstranit", + "edit": "Upravit", + "save": "Uložit", + "ok": "OK", + "done": "Hotovo", + "confirm": "Potvrdit", + "continue": "Pokračovat", + "compose": "Napsat", + "cancel": "Zrušit", + "discard": "Zahodit", + "try_again": "Zkusit znovu", + "take_photo": "Vyfotit", + "save_photo": "Uložit fotku", + "copy_photo": "Kopírovat fotografii", + "sign_in": "Přihlásit se", + "sign_up": "Zaregistrovat se", + "see_more": "Zobrazit více", + "preview": "Náhled", + "share": "Sdílet", + "share_user": "Share %s", + "share_post": "Sdílet příspěvek", + "open_in_safari": "Otevřít v Safari", + "open_in_browser": "Otevřít v prohlížeči", + "find_people": "Najít lidi ke sledování", + "manually_search": "Místo toho ručně vyhledat", + "skip": "Přeskočit", + "reply": "Odpovědět", + "report_user": "Nahlásit %s", + "block_domain": "Blokovat %s", + "unblock_domain": "Odblokovat %s", + "settings": "Nastavení", + "delete": "Smazat" + }, + "tabs": { + "home": "Domů", + "search": "Hledat", + "notification": "Oznamování", + "profile": "Profil" + }, + "keyboard": { + "common": { + "switch_to_tab": "Přepnout na %s", + "compose_new_post": "Vytvořit nový příspěvek", + "show_favorites": "Zobrazit Oblíbené", + "open_settings": "Otevřít Nastavení" + }, + "timeline": { + "previous_status": "Předchozí příspěvek", + "next_status": "Další příspěvek", + "open_status": "Otevřít příspěvek", + "open_author_profile": "Otevřít profil autora", + "open_reblogger_profile": "Otevřít rebloggerův profil", + "reply_status": "Odpovědět na příspěvek", + "toggle_reblog": "Toggle Reblog on Post", + "toggle_favorite": "Toggle Favorite on Post", + "toggle_content_warning": "Přepnout varování obsahu", + "preview_image": "Náhled obrázku" + }, + "segmented_control": { + "previous_section": "Předchozí sekce", + "next_section": "Další sekce" + } + }, + "status": { + "user_reblogged": "%s reblogged", + "user_replied_to": "Replied to %s", + "show_post": "Zobrazit příspěvek", + "show_user_profile": "Zobrazit profil uživatele", + "content_warning": "Varování o obsahu", + "sensitive_content": "Citlivý obsah", + "media_content_warning": "Klepnutím kdekoli zobrazíte", + "tap_to_reveal": "Klepnutím zobrazit", + "poll": { + "vote": "Hlasovat", + "closed": "Uzavřeno" + }, + "actions": { + "reply": "Odpovědět", + "reblog": "Boostnout", + "unreblog": "Undo reblog", + "favorite": "Favorite", + "unfavorite": "Odebrat z oblízených", + "menu": "Nabídka", + "hide": "Skrýt", + "show_image": "Zobrazit obrázek", + "show_gif": "Zobrazit GIF", + "show_video_player": "Zobrazit video přehrávač", + "tap_then_hold_to_show_menu": "Tap then hold to show menu" + }, + "tag": { + "url": "URL", + "mention": "Zmínka", + "link": "Odkaz", + "hashtag": "Hashtag", + "email": "E-mail", + "emoji": "Emoji" + }, + "visibility": { + "unlisted": "Každý může vidět tento příspěvek, ale nezobrazovat ve veřejné časové ose.", + "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": "Sledovat", + "following": "Following", + "request": "Request", + "pending": "Čekající", + "block": "Blokovat", + "block_user": "Blokovat %s", + "block_domain": "Blokovat %s", + "unblock": "Odblokovat", + "unblock_user": "Odblokovat %s", + "blocked": "Blocked", + "mute": "Skrýt", + "mute_user": "Skrýt %s", + "unmute": "Odkrýt", + "unmute_user": "Odkrýt %s", + "muted": "Skrytý", + "edit_info": "Upravit informace", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" + }, + "timeline": { + "filtered": "Filtered", + "timestamp": { + "now": "Nyní" + }, + "loader": { + "load_missing_posts": "Načíst chybějící příspěvky", + "loading_missing_posts": "Načíst chybějící příspěvky...", + "show_more_replies": "Zobrazit více odovědí" + }, + "header": { + "no_status_found": "Nebyl nalezen žádný příspěvek", + "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": "Začínáme", + "log_in": "Přihlásit se" + }, + "server_picker": { + "title": "Mastodon tvoří uživatelé z různých serverů.", + "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.", + "button": { + "category": { + "all": "Vše", + "all_accessiblity_description": "Kategorie: Vše", + "academia": "akademická sféra", + "activism": "aktivismus", + "food": "jídlo", + "furry": "furry", + "games": "games", + "general": "obecné", + "journalism": "žurnalistika", + "lgbt": "lgbt", + "regional": "regionální", + "art": "umění", + "music": "hudba", + "tech": "technologie" + }, + "see_less": "Zobrazit méně", + "see_more": "Zobrazit více" + }, + "label": { + "language": "JAZYK", + "users": "UŽIVATELÉ", + "category": "KATEGORIE" + }, + "input": { + "placeholder": "Hledat servery", + "search_servers_or_enter_url": "Hledat servery nebo zadat URL" + }, + "empty_state": { + "finding_servers": "Hledání dostupných serverů...", + "bad_network": "Při načítání dat nastala chyba. Zkontrolujte připojení k internetu.", + "no_results": "Žádné výsledky" + } + }, + "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": "Smazat" + }, + "username": { + "placeholder": "uživatelské jméno", + "duplicate_prompt": "Toto uživatelské jméno je použito." + }, + "display_name": { + "placeholder": "zobrazované jméno" + }, + "email": { + "placeholder": "e-mail" + }, + "password": { + "placeholder": "heslo", + "require": "Heslo musí být alespoň:", + "character_limit": "8 znaků", + "accessibility": { + "checked": "zaškrtnuto", + "unchecked": "nezaškrtnuto" + }, + "hint": "Vaše heslo musí obsahovat alespoň 8 znaků" + }, + "invite": { + "registration_user_invite_request": "Proč se chcete připojit?" + } + }, + "error": { + "item": { + "username": "Uživatelské jméno", + "email": "E-mail", + "password": "Heslo", + "agreement": "Souhlas", + "locale": "Jazyk", + "reason": "Důvod" + }, + "reason": { + "blocked": "%s contains a disallowed email provider", + "unreachable": "%s does not seem to exist", + "taken": "%s se již používá", + "reserved": "%s je rezervované klíčové slovo", + "accepted": "%s musí být přijato", + "blank": "%s je vyžadováno", + "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": "Toto není platná e-mailová adresa", + "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": "Pošta", + "open_email_client": "Otevřít e-mailového klienta" + } + }, + "home_timeline": { + "title": "Domů", + "navigation_bar_state": { + "offline": "Offline", + "new_posts": "Nové příspěvky", + "published": "Publikováno!", + "Publishing": "Publikování příspěvku...", + "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": "Nový příspěvek", + "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..." + }, + "poll": { + "duration_time": "Duration: %s", + "thirty_minutes": "30 minut", + "one_hour": "1 hodina", + "six_hours": "6 hodin", + "one_day": "1 den", + "three_days": "3 dny", + "seven_days": "7 dní", + "option_number": "Možnost %ld" + }, + "content_warning": { + "placeholder": "Write an accurate warning here..." + }, + "visibility": { + "public": "Veřejný", + "unlisted": "Neuvedeno", + "private": "Pouze sledující", + "direct": "Pouze lidé, které zmíním" + }, + "auto_complete": { + "space_to_add": "Space to add" + }, + "accessibility": { + "append_attachment": "Přidat přílohu", + "append_poll": "Přidat anketu", + "remove_poll": "Odstranit anketu", + "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" + }, + "keyboard": { + "discard_post": "Zahodit příspěvek", + "publish_post": "Publikovat příspěvek", + "toggle_poll": "Přepnout anketu", + "toggle_content_warning": "Toggle Content Warning", + "append_attachment_entry": "Přidat přílohu - %s", + "select_visibility_entry": "Vyberte viditelnost - %s" + } + }, + "profile": { + "header": { + "follows_you": "Sleduje vás" + }, + "dashboard": { + "posts": "příspěvky", + "following": "following", + "followers": "sledující" + }, + "fields": { + "add_row": "Přidat řádek", + "placeholder": { + "label": "Label", + "content": "Obsah" + } + }, + "segmented_control": { + "posts": "Příspěvky", + "replies": "Odpovědí", + "posts_and_replies": "Příspěvky a odpovědi", + "media": "Média", + "about": "About" + }, + "relationship_action_alert": { + "confirm_mute_user": { + "title": "Skrýt účet", + "message": "Potvrdit skrytí %s" + }, + "confirm_unmute_user": { + "title": "Zrušit skrytí účtu", + "message": "Confirm to unmute %s" + }, + "confirm_block_user": { + "title": "Blokovat účet", + "message": "Potvrdit blokování %s" + }, + "confirm_unblock_user": { + "title": "Odblokovat účet", + "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" + } + } +} diff --git a/Localization/StringsConvertor/input/cs.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/cs.lproj/ios-infoPlist.json new file mode 100644 index 000000000..c6db73de0 --- /dev/null +++ b/Localization/StringsConvertor/input/cs.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" +} diff --git a/Localization/StringsConvertor/input/cy.lproj/app.json b/Localization/StringsConvertor/input/cy.lproj/app.json index 710f42b93..bc7f75d96 100644 --- a/Localization/StringsConvertor/input/cy.lproj/app.json +++ b/Localization/StringsConvertor/input/cy.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/da.lproj/app.json b/Localization/StringsConvertor/input/da.lproj/app.json index a965b23ae..80b0882d9 100644 --- a/Localization/StringsConvertor/input/da.lproj/app.json +++ b/Localization/StringsConvertor/input/da.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict index 3ea0fd0e3..c6a8a4297 100644 --- a/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/de.lproj/Localizable.stringsdict @@ -21,7 +21,7 @@ a11y.plural.count.input_limit_exceeds NSStringLocalizedFormatKey - Eingabelimit überschritten %#@character_count@ + Zeichenanzahl um %#@character_count@ überschritten character_count NSStringFormatSpecTypeKey @@ -37,7 +37,7 @@ a11y.plural.count.input_limit_remains NSStringLocalizedFormatKey - Eingabelimit eingehalten %#@character_count@ + Noch %#@character_count@ übrig character_count NSStringFormatSpecTypeKey @@ -72,9 +72,9 @@ NSStringFormatValueTypeKey ld one - Followed by %1$@, and another mutual + Gefolgt von %1$@ und einer weiteren Person, der du folgst other - Followed by %1$@, and %ld mutuals + Gefolgt von %1$@ und %ld weiteren Personen, denen du folgst plural.count.metric_formatted.post @@ -104,9 +104,9 @@ NSStringFormatValueTypeKey ld one - 1 media + 1 Datei other - %ld media + %ld Dateien plural.count.post @@ -200,7 +200,7 @@ NSStringFormatValueTypeKey ld one - 1 Wähler + 1 Wähler:in other %ld Wähler @@ -216,9 +216,9 @@ NSStringFormatValueTypeKey ld one - 1 Mensch spricht + Eine Person redet other - %ld Leute reden + %ld Personen reden plural.count.following @@ -360,7 +360,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Jahr + vor einem Jahr other vor %ld Jahren @@ -376,7 +376,7 @@ NSStringFormatValueTypeKey ld one - vor 1 M + vor einem Monat other vor %ld Monaten @@ -392,7 +392,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Tag + vor einem Tag other vor %ld Tagen @@ -408,7 +408,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Stunde + vor einer Stunde other vor %ld Stunden @@ -424,7 +424,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Minute + vor einer Minute other vor %ld Minuten @@ -440,7 +440,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Sekunde + vor einer Sekunde other vor %ld Sekuden diff --git a/Localization/StringsConvertor/input/de.lproj/app.json b/Localization/StringsConvertor/input/de.lproj/app.json index 1633a7aba..355bfcc1b 100644 --- a/Localization/StringsConvertor/input/de.lproj/app.json +++ b/Localization/StringsConvertor/input/de.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Nicht mehr stummschalten", "unmute_user": "%s nicht mehr stummschalten", "muted": "Stummgeschaltet", - "edit_info": "Information bearbeiten" + "edit_info": "Information bearbeiten", + "show_reblogs": "Reblogs anzeigen", + "hide_reblogs": "Reblogs ausblenden" }, "timeline": { "filtered": "Gefiltert", @@ -241,7 +243,7 @@ }, "input": { "placeholder": "Nach Server suchen oder URL eingeben", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Nach Server suchen oder URL eingeben" }, "empty_state": { "finding_servers": "Verfügbare Server werden gesucht...", @@ -251,7 +253,7 @@ }, "register": { "title": "Erzähle uns von dir.", - "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", + "lets_get_you_set_up_on_domain": "Okay, lass uns mit %s anfangen", "input": { "avatar": { "delete": "Löschen" @@ -322,7 +324,7 @@ "confirm_email": { "title": "Noch eine letzte Sache.", "subtitle": "Schaue kurz in dein E-Mail-Postfach und tippe den Link an, den wir dir gesendet haben.", - "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": "Schaue kurz in dein E-Mail-Postfach und tippe den Link an, den wir dir gesendet haben", "button": { "open_email_app": "E-Mail-App öffnen", "resend": "Erneut senden" @@ -347,8 +349,8 @@ "published": "Veröffentlicht!", "Publishing": "Beitrag wird veröffentlicht...", "accessibility": { - "logo_label": "Logo Button", - "logo_hint": "Tap to scroll to top and tap again to previous location" + "logo_label": "Logo-Button", + "logo_hint": "Zum Scrollen nach oben tippen und zum vorherigen Ort erneut tippen" } } }, @@ -418,7 +420,7 @@ }, "profile": { "header": { - "follows_you": "Follows You" + "follows_you": "Folgt dir" }, "dashboard": { "posts": "Beiträge", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Konto entsperren", "message": "Bestätige %s zu entsperren" + }, + "confirm_show_reblogs": { + "title": "Reblogs anzeigen", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Reblogs ausblenden", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -465,22 +475,22 @@ } }, "follower": { - "title": "follower", + "title": "Follower", "footer": "Follower von anderen Servern werden nicht angezeigt." }, "following": { - "title": "following", + "title": "Folgende", "footer": "Wem das Konto folgt wird von anderen Servern werden nicht angezeigt." }, "familiarFollowers": { - "title": "Followers you familiar", - "followed_by_names": "Followed by %s" + "title": "Follower, die dir bekannt vorkommen", + "followed_by_names": "Gefolgt von %s" }, "favorited_by": { - "title": "Favorited By" + "title": "Favorisiert von" }, "reblogged_by": { - "title": "Reblogged By" + "title": "Geteilt von" }, "search": { "title": "Suche", @@ -546,10 +556,10 @@ "show_mentions": "Erwähnungen anzeigen" }, "follow_request": { - "accept": "Accept", - "accepted": "Accepted", - "reject": "reject", - "rejected": "Rejected" + "accept": "Akzeptieren", + "accepted": "Akzeptiert", + "reject": "Ablehnen", + "rejected": "Abgelehnt" } }, "thread": { @@ -626,46 +636,46 @@ "text_placeholder": "Zusätzliche Kommentare eingeben oder einfügen", "reported": "GEMELDET", "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": "Schritt 1 von 4", + "whats_wrong_with_this_post": "Was stimmt mit diesem Beitrag nicht?", + "whats_wrong_with_this_account": "Was stimmt mit diesem Konto nicht?", + "whats_wrong_with_this_username": "Was ist los mit %s?", + "select_the_best_match": "Wähle die passende Kategorie", + "i_dont_like_it": "Mir gefällt das nicht", + "it_is_not_something_you_want_to_see": "Das ist etwas, das man nicht sehen möchte", + "its_spam": "Das ist Spam", + "malicious_links_fake_engagement_or_repetetive_replies": "Bösartige Links, gefälschtes Engagement oder wiederholte Antworten", + "it_violates_server_rules": "Es verstößt gegen Serverregeln", + "you_are_aware_that_it_breaks_specific_rules": "Du weißt, welche Regeln verletzt werden", + "its_something_else": "Das ist was anderes", + "the_issue_does_not_fit_into_other_categories": "Das Problem passt nicht in die Kategorien" }, "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": "Schritt 2 von 4", + "which_rules_are_being_violated": "Welche Regeln werden verletzt?", + "select_all_that_apply": "Alles Zutreffende auswählen", + "i_just_don’t_like_it": "Das gefällt mir einfach nicht" }, "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_3_of_4": "Schritt 3 von 4", + "are_there_any_posts_that_back_up_this_report": "Gibt es Beiträge, die diesen Bericht unterstützen?", + "select_all_that_apply": "Alles Zutreffende auswählen" }, "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": "Schritt 4 von 4", + "is_there_anything_else_we_should_know": "Gibt es etwas anderes, was wir wissen sollten?" }, "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" + "dont_want_to_see_this": "Du willst das nicht mehr sehen?", + "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Wenn du etwas auf Mastodon nicht sehen willst, kannst du den Nutzer aus deiner Erfahrung streichen.", + "unfollow": "Entfolgen", + "unfollowed": "Entfolgt", + "unfollow_user": "%s entfolgen", + "mute_user": "%s stummschalten", + "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Du wirst die Beiträge vom Konto nicht mehr sehen. Das Konto kann dir immer noch folgen, und die Person hinter dem Konto wird deine Beiträge sehen können und nicht wissen, dass du sie stummgeschaltet hast.", + "block_user": "%s blockieren", + "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Du wirst die Beiträge von diesem Konto nicht sehen. Das Konto wird nicht in der Lage sein, deine Beiträge zu sehen oder dir zu folgen. Die Person hinter dem Konto wird wissen, dass du das Konto blockiert hast.", + "while_we_review_this_you_can_take_action_against_user": "Während wir dies überprüfen, kannst du gegen %s vorgehen" } }, "preview": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Neu in Mastodon", "multiple_account_switch_intro_description": "Wechsel zwischen mehreren Konten durch Drücken der Profil-Schaltfläche.", "accessibility_hint": "Doppeltippen, um diesen Assistenten zu schließen" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/en-US.lproj/app.json b/Localization/StringsConvertor/input/en-US.lproj/app.json index a965b23ae..80b0882d9 100644 --- a/Localization/StringsConvertor/input/en-US.lproj/app.json +++ b/Localization/StringsConvertor/input/en-US.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json index a965b23ae..80b0882d9 100644 --- a/Localization/StringsConvertor/input/en.lproj/app.json +++ b/Localization/StringsConvertor/input/en.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/es-AR.lproj/app.json b/Localization/StringsConvertor/input/es-AR.lproj/app.json index 9b9f8de5a..62d439a3c 100644 --- a/Localization/StringsConvertor/input/es-AR.lproj/app.json +++ b/Localization/StringsConvertor/input/es-AR.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Dejar de silenciar", "unmute_user": "Dejar de silenciar a %s", "muted": "Silenciado", - "edit_info": "Editar" + "edit_info": "Editar", + "show_reblogs": "Mostrar adhesiones", + "hide_reblogs": "Ocultar adhesiones" }, "timeline": { "filtered": "Filtrado", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Desbloquear cuenta", "message": "Confirmá para desbloquear a %s" + }, + "confirm_show_reblogs": { + "title": "Mostrar adhesiones", + "message": "Confirmá para mostrar adhesiones" + }, + "confirm_hide_reblogs": { + "title": "Ocultar adhesiones", + "message": "Confirmá para ocultar adhesiones" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Novedad en Mastodon", "multiple_account_switch_intro_description": "Cambiá entre varias cuentas manteniendo presionado el botón del perfil.", "accessibility_hint": "Tocá dos veces para descartar este asistente" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/es.lproj/app.json b/Localization/StringsConvertor/input/es.lproj/app.json index a6d0225d3..39e0f37d1 100644 --- a/Localization/StringsConvertor/input/es.lproj/app.json +++ b/Localization/StringsConvertor/input/es.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Desmutear", "unmute_user": "Desmutear a %s", "muted": "Silenciado", - "edit_info": "Editar Info" + "edit_info": "Editar Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtrado", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Desbloquear cuenta", "message": "Confirmar para desbloquear a %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Nuevo en Mastodon", "multiple_account_switch_intro_description": "Cambie entre varias cuentas manteniendo presionado el botón de perfil.", "accessibility_hint": "Haz doble toque para descartar este asistente" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/eu.lproj/app.json b/Localization/StringsConvertor/input/eu.lproj/app.json index 40b4bd623..5c2e16601 100644 --- a/Localization/StringsConvertor/input/eu.lproj/app.json +++ b/Localization/StringsConvertor/input/eu.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Desmututu", "unmute_user": "Desmututu %s", "muted": "Mutututa", - "edit_info": "Editatu informazioa" + "edit_info": "Editatu informazioa", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Iragazita", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Desblokeatu kontua", "message": "Berretsi %s desblokeatzea" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Berria Mastodonen", "multiple_account_switch_intro_description": "Aldatu hainbat konturen artean profilaren botoia sakatuta edukiz.", "accessibility_hint": "Ukitu birritan morroi hau baztertzeko" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/fi.lproj/app.json b/Localization/StringsConvertor/input/fi.lproj/app.json index 353ba989f..d6210c4d5 100644 --- a/Localization/StringsConvertor/input/fi.lproj/app.json +++ b/Localization/StringsConvertor/input/fi.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Poista mykistys", "unmute_user": "Poista mykistys tililtä %s", "muted": "Mykistetty", - "edit_info": "Muokkaa profiilia" + "edit_info": "Muokkaa profiilia", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Suodatettu", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Uutta Mastodonissa", "multiple_account_switch_intro_description": "Vaihda useiden tilien välillä pitämällä profiilipainiketta painettuna.", "accessibility_hint": "Hylkää tämä ohjattu toiminto kaksoisnapauttamalla" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/fr.lproj/app.json b/Localization/StringsConvertor/input/fr.lproj/app.json index 6ae2ebb2b..ed53d1096 100644 --- a/Localization/StringsConvertor/input/fr.lproj/app.json +++ b/Localization/StringsConvertor/input/fr.lproj/app.json @@ -9,10 +9,10 @@ "title": "Échec de l'inscription" }, "server_error": { - "title": "Erreur du serveur" + "title": "Erreur serveur" }, "vote_failure": { - "title": "Le vote n’a pas pu être enregistré", + "title": "Échec du vote", "poll_ended": "Le sondage est terminé" }, "discard_post_content": { @@ -180,7 +180,9 @@ "unmute": "Ne plus ignorer", "unmute_user": "Ne plus masquer %s", "muted": "Masqué", - "edit_info": "Éditer les infos" + "edit_info": "Éditer les infos", + "show_reblogs": "Afficher les Reblogs", + "hide_reblogs": "Masquer les Reblogs" }, "timeline": { "filtered": "Filtré", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Débloquer le compte", "message": "Confirmer le déblocage de %s" + }, + "confirm_show_reblogs": { + "title": "Afficher les Reblogs", + "message": "Confirmer pour afficher les reblogs" + }, + "confirm_hide_reblogs": { + "title": "Masquer les Reblogs", + "message": "Confirmer pour masquer les reblogs" } }, "accessibility": { @@ -469,7 +479,7 @@ "footer": "Les abonné·e·s issus des autres serveurs ne sont pas affiché·e·s." }, "following": { - "title": "following", + "title": "abonnement", "footer": "Les abonnés issus des autres serveurs ne sont pas affichés." }, "familiarFollowers": { @@ -477,10 +487,10 @@ "followed_by_names": "Suivi·e par %s" }, "favorited_by": { - "title": "Favorited By" + "title": "Favoris par" }, "reblogged_by": { - "title": "Reblogged By" + "title": "Reblogué par" }, "search": { "title": "Rechercher", @@ -659,7 +669,7 @@ "dont_want_to_see_this": "Vous ne voulez pas voir cela ?", "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Quand vous voyez quelque chose que vous n’aimez pas sur Mastodon, vous pouvez retirer la personne de votre expérience.", "unfollow": "Se désabonner", - "unfollowed": "Unfollowed", + "unfollowed": "Non-suivi", "unfollow_user": "Ne plus suivre %s", "mute_user": "Masquer %s", "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Vous ne verrez plus leurs messages ou leurs partages dans votre flux personnel. Iels ne sauront pas qu’iels ont été mis en sourdine.", @@ -684,6 +694,9 @@ "new_in_mastodon": "Nouveau dans Mastodon", "multiple_account_switch_intro_description": "Basculez entre plusieurs comptes en appuyant de maniere prolongée sur le bouton profil.", "accessibility_hint": "Tapotez deux fois pour fermer cet assistant" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict index f041677fa..d0ccb5f41 100644 --- a/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/gd.lproj/Localizable.stringsdict @@ -88,13 +88,13 @@ NSStringFormatValueTypeKey ld one - Followed by %1$@, and another mutual + ’Ga leantainn le %1$@ ’s %ld eile an cumantas two - Followed by %1$@, and %ld mutuals + ’Ga leantainn le %1$@ ’s %ld eile an cumantas few - Followed by %1$@, and %ld mutuals + ’Ga leantainn le %1$@ ’s %ld eile an cumantas other - Followed by %1$@, and %ld mutuals + ’Ga leantainn le %1$@ ’s %ld eile an cumantas plural.count.metric_formatted.post @@ -128,13 +128,13 @@ NSStringFormatValueTypeKey ld one - 1 media + %ld mheadhan two - %ld media + %ld mheadhan few - %ld media + %ld meadhanan other - %ld media + %ld meadhan plural.count.post @@ -308,13 +308,13 @@ NSStringFormatValueTypeKey ld one - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn two - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn few - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn other - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn date.year.left diff --git a/Localization/StringsConvertor/input/gd.lproj/app.json b/Localization/StringsConvertor/input/gd.lproj/app.json index e2da7d6a9..a2062a89b 100644 --- a/Localization/StringsConvertor/input/gd.lproj/app.json +++ b/Localization/StringsConvertor/input/gd.lproj/app.json @@ -37,7 +37,7 @@ "confirm": "Clàraich a-mach" }, "block_domain": { - "title": "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn %s a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiod sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud agus thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh.", + "title": "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn %s a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiodh sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud agus thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh.", "block_entire_domain": "Bac an àrainn" }, "save_photo_failure": { @@ -45,7 +45,7 @@ "message": "Cuir cead inntrigidh do thasg-lann nan dealbhan an comas gus an dealbh a shàbhaladh." }, "delete_post": { - "title": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?", + "title": "Sguab às am post", "message": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?" }, "clean_cache": { @@ -165,7 +165,7 @@ } }, "friendship": { - "follow": "Lean air", + "follow": "Lean", "following": "’Ga leantainn", "request": "Iarrtas", "pending": "Ri dhèiligeadh", @@ -180,7 +180,9 @@ "unmute": "Dì-mhùch", "unmute_user": "Dì-mhùch %s", "muted": "’Ga mhùchadh", - "edit_info": "Deasaich" + "edit_info": "Deasaich", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Criathraichte", @@ -211,9 +213,9 @@ "log_in": "Clàraich a-steach" }, "server_picker": { - "title": "Tagh frithealaiche sam bith.", - "subtitle": "Tagh coimhearsnachd stèidhichte air d’ ùidhean no an roinn-dùthcha agad no tè choitcheann.", - "subtitle_extend": "Tagh coimhearsnachd stèidhichte air d’ ùidhean no an roinn-dùthcha agad no tè choitcheann. Tha gach coimhearsnachd ’ga stiùireadh le buidheann no neach gu neo-eisimeileach.", + "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.", "button": { "category": { "all": "Na h-uile", @@ -240,8 +242,8 @@ "category": "ROINN-SEÒRSA" }, "input": { - "placeholder": "Lorg frithealaiche no gabh pàirt san fhear agad fhèin…", - "search_servers_or_enter_url": "Search servers or enter URL" + "placeholder": "Lorg frithealaiche", + "search_servers_or_enter_url": "Lorg frithealaiche no cuir a-steach URL" }, "empty_state": { "finding_servers": "A’ lorg nam frithealaichean ri am faighinn…", @@ -250,8 +252,8 @@ } }, "register": { - "title": "Innis dhuinn mu do dhèidhinn.", - "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", + "title": "’Gad rèiteachadh air %s", + "lets_get_you_set_up_on_domain": "’Gad rèiteachadh air %s", "input": { "avatar": { "delete": "Sguab às" @@ -310,8 +312,8 @@ } }, "server_rules": { - "title": "Riaghailt bhunasach no dhà.", - "subtitle": "Shuidhich rianairean %s na riaghailtean seo.", + "title": "Riaghailtean bunasach.", + "subtitle": "Tha na riaghailtean seo ’gan stèidheachadh is a chur an gnìomh leis na maoir aig %s.", "prompt": "Ma leanas tu air adhart, bidh thu fo bhuaidh teirmichean seirbheise is poileasaidh prìobhaideachd %s.", "terms_of_service": "teirmichean na seirbheise", "privacy_policy": "poileasaidh prìobhaideachd", @@ -321,8 +323,8 @@ }, "confirm_email": { "title": "Aon rud eile.", - "subtitle": "Tha sinn air post-d a chur gu %s,\nthoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad.", - "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tap the link we emailed to you to verify your account", + "subtitle": "Thoir gnogag air a’ cheangal a chuir sinn thugad air a’ phost-d airson an cunntas agad a dhearbhadh.", + "tap_the_link_we_emailed_to_you_to_verify_your_account": "Thoir gnogag air a’ cheangal a chuir sinn thugad air a’ phost-d airson an cunntas agad a dhearbhadh", "button": { "open_email_app": "Fosgail aplacaid a’ phuist-d", "resend": "Ath-chuir" @@ -347,14 +349,14 @@ "published": "Chaidh fhoillseachadh!", "Publishing": "A’ foillseachadh a’ phuist…", "accessibility": { - "logo_label": "Logo Button", - "logo_hint": "Tap to scroll to top and tap again to previous location" + "logo_label": "Putan an t-suaicheantais", + "logo_hint": "Thoir gnogag a sgroladh dhan bhàrr is thoir gnogag a-rithist a dhol dhan ionad roimhe" } } }, "suggestion_account": { "title": "Lorg daoine a leanas tu", - "follow_explain": "Nuair a leanas tu air cuideigin, chì thu na puist aca air inbhir na dachaigh agad." + "follow_explain": "Nuair a leanas tu cuideigin, chì thu na puist aca air inbhir na dachaigh agad." }, "compose": { "title": { @@ -418,7 +420,7 @@ }, "profile": { "header": { - "follows_you": "Follows You" + "follows_you": "’Gad leantainn" }, "dashboard": { "posts": "postaichean", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Dì-bhac an cunntas", "message": "Dearbh dì-bhacadh %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -465,22 +475,22 @@ } }, "follower": { - "title": "follower", + "title": "neach-leantainn", "footer": "Cha dèid luchd-leantainn o fhrithealaichean eile a shealltainn." }, "following": { - "title": "following", - "footer": "Cha dèid cò air a leanas tu air frithealaichean eile a shealltainn." + "title": "’ga leantainn", + "footer": "Cha dèid cò a leanas tu air frithealaichean eile a shealltainn." }, "familiarFollowers": { - "title": "Followers you familiar", - "followed_by_names": "Followed by %s" + "title": "Luchd-leantainn aithnichte", + "followed_by_names": "’Ga leantainn le %s" }, "favorited_by": { - "title": "Favorited By" + "title": "’Na annsachd aig" }, "reblogged_by": { - "title": "Reblogged By" + "title": "’Ga bhrosnachadh le" }, "search": { "title": "Lorg", @@ -497,8 +507,8 @@ }, "accounts": { "title": "Cunntasan a chòrdas riut ma dh’fhaoidte", - "description": "Saoil am bu toigh leat leantainn air na cunntasan seo?", - "follow": "Lean air" + "description": "Saoil am bu toigh leat na cunntasan seo a leantainn?", + "follow": "Lean" } }, "searching": { @@ -538,7 +548,7 @@ "favorited_your_post": "– is annsa leotha am post agad", "reblogged_your_post": "– ’s iad air am post agad a bhrosnachadh", "mentioned_you": "– ’s iad air iomradh a thoirt ort", - "request_to_follow_you": "iarrtas leantainn ort", + "request_to_follow_you": "iarrtas leantainn", "poll_has_ended": "thàinig cunntas-bheachd gu crìoch" }, "keyobard": { @@ -546,10 +556,10 @@ "show_mentions": "Seall na h-iomraidhean" }, "follow_request": { - "accept": "Accept", - "accepted": "Accepted", - "reject": "reject", - "rejected": "Rejected" + "accept": "Gabh ris", + "accepted": "Air a ghabhail ris", + "reject": "diùlt", + "rejected": "Chaidh a dhiùltadh" } }, "thread": { @@ -575,13 +585,13 @@ "notifications": { "title": "Brathan", "favorites": "Nuair as annsa leotha am post agam", - "follows": "Nuair a leanas iad orm", + "follows": "Nuair a leanas iad mi", "boosts": "Nuair a bhrosnaicheas iad post uam", "mentions": "Nuair a bheir iad iomradh orm", "trigger": { "anyone": "Airson duine sam bith, cuir brath thugam", "follower": "Airson luchd-leantainn, cuir brath thugam", - "follow": "Airson daoine air a leanas mi, cuir brath thugam", + "follow": "Airson daoine a leanas mi, cuir brath thugam", "noone": "Na cuir brath thugam idir", "title": " " } @@ -626,46 +636,46 @@ "text_placeholder": "Sgrìobh no cuir ann beachdan a bharrachd", "reported": "CHAIDH GEARAN A DHÈANAMH", "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": "Ceum 1 à 4", + "whats_wrong_with_this_post": "Dè tha ceàrr leis a’ phost seo?", + "whats_wrong_with_this_account": "Dè tha ceàrr leis an cunntas seo?", + "whats_wrong_with_this_username": "Dè tha ceàrr le %s?", + "select_the_best_match": "Tagh a’ mhaids as fheàrr", + "i_dont_like_it": "Cha toigh leam e", + "it_is_not_something_you_want_to_see": "Chan eil thu airson seo fhaicinn", + "its_spam": "’S e spama a th’ ann", + "malicious_links_fake_engagement_or_repetetive_replies": "Ceanglaichean droch-rùnach, conaltradh fuadain no an dearbh fhreagairt a-rithist ’s a-rithist", + "it_violates_server_rules": "Tha e a’ briseadh riaghailtean an fhrithealaiche", + "you_are_aware_that_it_breaks_specific_rules": "Mhothaich thu gu bheil e a’ briseadh riaghailtean sònraichte", + "its_something_else": "’S rud eile a tha ann", + "the_issue_does_not_fit_into_other_categories": "Chan eil na roinnean-seòrsa eile iomchaidh dhan chùis" }, "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": "Ceum 2 à 4", + "which_rules_are_being_violated": "Dè na riaghailtean a tha ’gam briseadh?", + "select_all_that_apply": "Tagh a h-uile gin a tha iomchaidh", + "i_just_don’t_like_it": "’S ann nach toigh leam e" }, "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_3_of_4": "Ceum 3 à 4", + "are_there_any_posts_that_back_up_this_report": "A bheil postaichean sam bith ann a tha ’nam fianais dhan ghearan seo?", + "select_all_that_apply": "Tagh a h-uile gin a tha iomchaidh" }, "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": "Ceum 4 à 4", + "is_there_anything_else_we_should_know": "A bheil rud sam bith eile a bu toigh leat innse dhuinn?" }, "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" + "dont_want_to_see_this": "Nach eil thu airson seo fhaicinn?", + "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Nuair a chì thu rudeigin nach toigh leat air Mastodon, ’s urrainn dhut an neach a chumail fad air falbh uat.", + "unfollow": "Na lean tuilleadh", + "unfollowed": "Chan eil thu ’ga leantainn tuilleadh", + "unfollow_user": "Na lean %s tuilleadh", + "mute_user": "Mùch %s", + "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Chan fhaic thu na postaichean aca is dè a bhrosnaich iad air inbhir na dachaigh agad tuilleadh. Cha bhi fios aca gun do mhùch thu iad.", + "block_user": "Bac %s", + "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Chan urrainn dhaibh ’gad leantainn is chan fhaic iad na postaichean agad tuilleadh ach chì iad gun deach am bacadh.", + "while_we_review_this_you_can_take_action_against_user": "Fhad ’s a bhios sinn a’ toirt sùil air, seo nas urrainn dhut dèanamh an aghaidh %s" } }, "preview": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Na tha ùr ann am Mastodon", "multiple_account_switch_intro_description": "Geàrr leum eadar iomadh cunntas le cumail sìos putan na pròifil.", "accessibility_hint": "Thoir gnogag dhùbailte a’ leigeil seachad an draoidh seo" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/gl.lproj/app.json b/Localization/StringsConvertor/input/gl.lproj/app.json index 3df2d70bc..513573f79 100644 --- a/Localization/StringsConvertor/input/gl.lproj/app.json +++ b/Localization/StringsConvertor/input/gl.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Non Acalar", "unmute_user": "Deixar de acalar a @%s", "muted": "Acalada", - "edit_info": "Editar info" + "edit_info": "Editar info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtrado", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Desbloquear Conta", "message": "Confirma o desbloqueo de %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Novidade en Mastodon", "multiple_account_switch_intro_description": "Cambia dunha conta a outra mantendo preso o botón do perfil.", "accessibility_hint": "Dobre toque para desbotar este asistente" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/hi.lproj/app.json b/Localization/StringsConvertor/input/hi.lproj/app.json index 23cfa481f..d9ef32b3a 100644 --- a/Localization/StringsConvertor/input/hi.lproj/app.json +++ b/Localization/StringsConvertor/input/hi.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/id.lproj/app.json b/Localization/StringsConvertor/input/id.lproj/app.json index f56306e5d..607e9a638 100644 --- a/Localization/StringsConvertor/input/id.lproj/app.json +++ b/Localization/StringsConvertor/input/id.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Berhenti membisukan", "unmute_user": "Berhenti membisukan %s", "muted": "Dibisukan", - "edit_info": "Sunting Info" + "edit_info": "Sunting Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Tersaring", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/it.lproj/app.json b/Localization/StringsConvertor/input/it.lproj/app.json index b5121b23f..269d299ec 100644 --- a/Localization/StringsConvertor/input/it.lproj/app.json +++ b/Localization/StringsConvertor/input/it.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Riattiva", "unmute_user": "Riattiva %s", "muted": "Silenziato", - "edit_info": "Modifica info" + "edit_info": "Modifica info", + "show_reblogs": "Mostra le condivisioni", + "hide_reblogs": "Nascondi le condivisioni" }, "timeline": { "filtered": "Filtrato", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Sblocca account", "message": "Conferma per sbloccare %s" + }, + "confirm_show_reblogs": { + "title": "Mostra le condivisioni", + "message": "Conferma di mostrare le condivisioni" + }, + "confirm_hide_reblogs": { + "title": "Nascondi le condivisioni", + "message": "Conferma di nascondere le condivisioni" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Nuovo su Mastodon", "multiple_account_switch_intro_description": "Passa tra più account tenendo premuto il pulsante del profilo.", "accessibility_hint": "Doppio tocco per eliminare questa procedura guidata" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/ja.lproj/app.json b/Localization/StringsConvertor/input/ja.lproj/app.json index 039ef19fc..b7615abf3 100644 --- a/Localization/StringsConvertor/input/ja.lproj/app.json +++ b/Localization/StringsConvertor/input/ja.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "ミュートを解除", "unmute_user": "%sのミュートを解除", "muted": "ミュート済み", - "edit_info": "編集" + "edit_info": "編集", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "フィルター済み", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "アカウントのブロックを解除", "message": "%sのブロックを解除しますか?" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Mastodon の新機能", "multiple_account_switch_intro_description": "プロフィールボタンを押して複数のアカウントを切り替えます。", "accessibility_hint": "チュートリアルを閉じるには、ダブルタップしてください" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/kab.lproj/app.json b/Localization/StringsConvertor/input/kab.lproj/app.json index 4ca5e0411..2cff3d68d 100644 --- a/Localization/StringsConvertor/input/kab.lproj/app.json +++ b/Localization/StringsConvertor/input/kab.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Kkes asgugem", "unmute_user": "Kkes asgugem ɣef %s", "muted": "Yettwasgugem", - "edit_info": "Ẓreg talɣut" + "edit_info": "Ẓreg talɣut", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Yettwasizdeg", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Kkes asewḥel i umiḍan", "message": "Sentem tukksa n usgugem i %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -548,7 +558,7 @@ "follow_request": { "accept": "Accept", "accepted": "Accepted", - "reject": "reject", + "reject": "agi", "rejected": "Rejected" } }, @@ -684,6 +694,9 @@ "new_in_mastodon": "Amaynut deg Maṣṭudun", "multiple_account_switch_intro_description": "Beddel gar waṭas n yimiḍanen s tussda ɣezzifen ɣef tqeffalt n umaɣnu.", "accessibility_hint": "Sin isitiyen i usefsex n umarag-a" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/kmr.lproj/app.json b/Localization/StringsConvertor/input/kmr.lproj/app.json index df87daffe..d48edf3ae 100644 --- a/Localization/StringsConvertor/input/kmr.lproj/app.json +++ b/Localization/StringsConvertor/input/kmr.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Bêdeng neke", "unmute_user": "%s bêdeng neke", "muted": "Bêdengkirî", - "edit_info": "Zanyariyan serrast bike" + "edit_info": "Zanyariyan serrast bike", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Parzûnkirî", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Astengiyê li ser ajimêr rake", "message": "Ji bo rakirina astengkirinê %s bipejirîne" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Nû di Mastodon de", "multiple_account_switch_intro_description": "Dest bide ser bişkoja profîlê da ku di navbera gelek ajimêrann de biguherînî.", "accessibility_hint": "Du caran bitikîne da ku çarçoveyahilpekok ji holê rakî" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict index d03431fa0..9628be614 100644 --- a/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/ko.lproj/Localizable.stringsdict @@ -13,7 +13,7 @@ NSStringFormatValueTypeKey ld other - %ld unread notification + 읽지 않은 알림 %ld개 a11y.plural.count.input_limit_exceeds @@ -27,7 +27,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 글자 a11y.plural.count.input_limit_remains @@ -41,7 +41,7 @@ NSStringFormatValueTypeKey ld other - %ld characters + %ld 글자 plural.count.followed_by_and_mutual @@ -106,7 +106,7 @@ NSStringFormatValueTypeKey ld other - %ld posts + %ld 개의 게시물 plural.count.favorite @@ -148,7 +148,7 @@ NSStringFormatValueTypeKey ld other - %ld replies + %ld 개의 답글 plural.count.vote @@ -204,7 +204,7 @@ NSStringFormatValueTypeKey ld other - %ld following + %ld 팔로잉 plural.count.follower @@ -218,7 +218,7 @@ NSStringFormatValueTypeKey ld other - %ld followers + %ld 팔로워 date.year.left @@ -232,7 +232,7 @@ NSStringFormatValueTypeKey ld other - %ld years left + %ld 년 남음 date.month.left @@ -246,7 +246,7 @@ NSStringFormatValueTypeKey ld other - %ld months left + %ld 달 남음 date.day.left @@ -260,7 +260,7 @@ NSStringFormatValueTypeKey ld other - %ld days left + %ld 일 남음 date.hour.left @@ -274,7 +274,7 @@ NSStringFormatValueTypeKey ld other - %ld hours left + %ld 시간 남음 date.minute.left @@ -288,7 +288,7 @@ NSStringFormatValueTypeKey ld other - %ld minutes left + %ld 분 남음 date.second.left @@ -302,7 +302,7 @@ NSStringFormatValueTypeKey ld other - %ld seconds left + %ld 초 남음 date.year.ago.abbr @@ -316,7 +316,7 @@ NSStringFormatValueTypeKey ld other - %ldy ago + %ld 년 전 date.month.ago.abbr @@ -330,7 +330,7 @@ NSStringFormatValueTypeKey ld other - %ldM ago + %ld 달 전 date.day.ago.abbr @@ -344,7 +344,7 @@ NSStringFormatValueTypeKey ld other - %ldd ago + %ld 일 전 date.hour.ago.abbr @@ -358,7 +358,7 @@ NSStringFormatValueTypeKey ld other - %ldh ago + %ld 시간 전 date.minute.ago.abbr @@ -372,7 +372,7 @@ NSStringFormatValueTypeKey ld other - %ldm ago + %ld 분 전 date.second.ago.abbr @@ -386,7 +386,7 @@ NSStringFormatValueTypeKey ld other - %lds ago + %ld 초 전 diff --git a/Localization/StringsConvertor/input/ko.lproj/app.json b/Localization/StringsConvertor/input/ko.lproj/app.json index b66808919..bbb4d1dea 100644 --- a/Localization/StringsConvertor/input/ko.lproj/app.json +++ b/Localization/StringsConvertor/input/ko.lproj/app.json @@ -130,7 +130,7 @@ "show_user_profile": "사용자 프로필 보기", "content_warning": "열람 주의", "sensitive_content": "Sensitive Content", - "media_content_warning": "Tap anywhere to reveal", + "media_content_warning": "아무 곳이나 눌러서 보기", "tap_to_reveal": "눌러서 확인", "poll": { "vote": "투표", @@ -145,8 +145,8 @@ "menu": "메뉴", "hide": "숨기기", "show_image": "이미지 표시", - "show_gif": "Show GIF", - "show_video_player": "Show video player", + "show_gif": "GIF 보기", + "show_video_player": "비디오 플레이어 보기", "tap_then_hold_to_show_menu": "Tap then hold to show menu" }, "tag": { @@ -180,7 +180,9 @@ "unmute": "뮤트 해제", "unmute_user": "%s 뮤트 해제", "muted": "뮤트됨", - "edit_info": "정보 편집" + "edit_info": "정보 편집", + "show_reblogs": "리블로그 보기", + "hide_reblogs": "리블로그 가리기" }, "timeline": { "filtered": "필터됨", @@ -207,8 +209,8 @@ "scene": { "welcome": { "slogan": "소셜 네트워킹을\n여러분의 손에 돌려드립니다.", - "get_started": "Get Started", - "log_in": "Log In" + "get_started": "시작하기", + "log_in": "로그인" }, "server_picker": { "title": "서버를 고르세요,\n아무 서버나 좋습니다.", @@ -240,18 +242,18 @@ "category": "분류" }, "input": { - "placeholder": "Search servers", - "search_servers_or_enter_url": "Search servers or enter URL" + "placeholder": "서버 검색", + "search_servers_or_enter_url": "서버를 검색하거나 URL을 입력하세요" }, "empty_state": { - "finding_servers": "Finding available servers...", + "finding_servers": "사용 가능한 서버를 찾는 중입니다...", "bad_network": "Something went wrong while loading the data. Check your internet connection.", "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", + "title": "%s에 가입하기 위한 정보들을 입력하세요", + "lets_get_you_set_up_on_domain": "%s에 가입하기 위한 정보들을 입력하세요", "input": { "avatar": { "delete": "삭제" @@ -268,11 +270,11 @@ }, "password": { "placeholder": "암호", - "require": "Your password needs at least:", - "character_limit": "8 characters", + "require": "암호의 최소 요구사항:", + "character_limit": "8글자", "accessibility": { - "checked": "checked", - "unchecked": "unchecked" + "checked": "확인됨", + "unchecked": "확인되지 않음" }, "hint": "암호는 최소 8글자 이상이어야 합니다" }, @@ -285,7 +287,7 @@ "username": "사용자명", "email": "이메일", "password": "암호", - "agreement": "Agreement", + "agreement": "약관", "locale": "지역설정", "reason": "사유" }, @@ -295,26 +297,26 @@ "taken": "%s는 이미 사용 중입니다", "reserved": "%s는 예약된 키워드입니다", "accepted": "%s는 반드시 동의해야 합니다", - "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" + "blank": "%s 항목은 필수입니다", + "invalid": "%s 항목이 잘못되었습니다", + "too_long": "%s 항목이 너무 깁니다", + "too_short": "%s 항목이 너무 짧습니다", + "inclusion": "%s 는 지원되는 값이 아닙니다" }, "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": "사용자명은 라틴문자와 숫자 그리고 밑줄만 사용할 수 있습니다", + "username_too_long": "사용자명이 너무 깁니다 (30글자를 넘을 수 없습니다)", + "email_invalid": "올바른 이메일 주소가 아닙니다", + "password_too_short": "암호가 너무 짧습니다 (최소 8글자 이상이어야 합니다)" } } }, "server_rules": { - "title": "Some ground rules.", - "subtitle": "These are set and enforced by the %s moderators.", + "title": "몇 개의 규칙이 있습니다.", + "subtitle": "다음은 %s의 중재자들에 의해 설정되고 적용되는 규칙들입니다.", "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": "이용약관", + "privacy_policy": "개인정보 정책", "button": { "confirm": "동의합니다" } @@ -325,29 +327,29 @@ "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": "재전송" }, "dont_receive_email": { - "title": "Check your email", + "title": "이메일을 확인하세요", "description": "Check if your email address is correct as well as your junk folder if you haven’t.", - "resend_email": "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" + "title": "받은 편지함을 확인하세요.", + "description": "이메일을 보냈습니다. 만약 받지 못했다면 스팸메일함을 확인하세요.", + "mail": "메일", + "open_email_client": "이메일 앱 열기" } }, "home_timeline": { - "title": "Home", + "title": "홈", "navigation_bar_state": { "offline": "오프라인", "new_posts": "새 글 보기", "published": "게시됨!", - "Publishing": "Publishing post...", + "Publishing": "게시물 게시중...", "accessibility": { - "logo_label": "Logo Button", + "logo_label": "로고 버튼", "logo_hint": "Tap to scroll to top and tap again to previous location" } } @@ -358,20 +360,20 @@ }, "compose": { "title": { - "new_post": "New Post", - "new_reply": "New Reply" + "new_post": "새 게시물", + "new_reply": "새 답글" }, "media_selection": { - "camera": "Take Photo", - "photo_library": "Photo Library", - "browse": "Browse" + "camera": "사진 촬영", + "photo_library": "사진 보관함", + "browse": "둘러보기" }, - "content_input_placeholder": "Type or paste what’s on your mind", - "compose_action": "Publish", - "replying_to_user": "replying to %s", + "content_input_placeholder": "무슨 생각을 하고 있는지 입력하거나 붙여넣으세요", + "compose_action": "게시", + "replying_to_user": "%s 님에게 답장 중", "attachment": { - "photo": "photo", - "video": "video", + "photo": "사진", + "video": "동영상", "attachment_broken": "This %s is broken and can’t be\nuploaded to Mastodon.", "description_photo": "시각장애인을 위한 사진 설명…", "description_video": "시각장애인을 위한 영상 설명…" @@ -437,7 +439,7 @@ "replies": "답글", "posts_and_replies": "Posts and Replies", "media": "미디어", - "about": "About" + "about": "정보" }, "relationship_action_alert": { "confirm_mute_user": { @@ -449,38 +451,46 @@ "message": "%s 뮤트 해제 확인" }, "confirm_block_user": { - "title": "Block Account", + "title": "계정 차단", "message": "Confirm to block %s" }, "confirm_unblock_user": { - "title": "Unblock Account", + "title": "계정 차단 해제", "message": "Confirm to unblock %s" + }, + "confirm_show_reblogs": { + "title": "리블로그 보기", + "message": "리블로그를 보기 전 확인" + }, + "confirm_hide_reblogs": { + "title": "리블로그 가리기", + "message": "리블로그를 가리기 전 확인" } }, "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" + "edit_avatar_image": "아바타 이미지 변경", + "show_banner_image": "배너 이미지 표시", + "double_tap_to_open_the_list": "두 번 탭하여 리스트 표시" } }, "follower": { - "title": "follower", - "footer": "Followers from other servers are not displayed." + "title": "팔로워", + "footer": "다른 서버의 팔로워 표시는 할 수 없습니다." }, "following": { - "title": "following", + "title": "팔로잉", "footer": "Follows from other servers are not displayed." }, "familiarFollowers": { "title": "Followers you familiar", - "followed_by_names": "Followed by %s" + "followed_by_names": "%s 님이 팔로우함" }, "favorited_by": { - "title": "Favorited By" + "title": "마음에 들어한 사람들" }, "reblogged_by": { - "title": "Reblogged By" + "title": "리블로그한 사람들" }, "search": { "title": "검색", @@ -489,61 +499,61 @@ "cancel": "취소" }, "recommend": { - "button_text": "See All", + "button_text": "모두 보기", "hash_tag": { - "title": "Trending on Mastodon", + "title": "마스토돈에서 유행 중", "description": "Hashtags that are getting quite a bit of attention", - "people_talking": "%s people are talking" + "people_talking": "%s 명의 사람들이 말하고 있음" }, "accounts": { - "title": "Accounts you might like", + "title": "마음에 들어할만한 계정", "description": "You may like to follow these accounts", - "follow": "Follow" + "follow": "팔로우" } }, "searching": { "segment": { - "all": "All", - "people": "People", - "hashtags": "Hashtags", - "posts": "Posts" + "all": "전부", + "people": "사람", + "hashtags": "해시태그", + "posts": "게시물" }, "empty_state": { - "no_results": "No results" + "no_results": "결과가 없습니다" }, - "recent_search": "Recent searches", - "clear": "Clear" + "recent_search": "최근 검색", + "clear": "모두 지우기" } }, "discovery": { "tabs": { - "posts": "Posts", - "hashtags": "Hashtags", - "news": "News", - "community": "Community", - "for_you": "For You" + "posts": "게시물", + "hashtags": "해시태그", + "news": "소식", + "community": "커뮤니티", + "for_you": "당신을 위한 추천" }, "intro": "These are the posts gaining traction in your corner of Mastodon." }, "favorite": { - "title": "Your Favorites" + "title": "내 즐겨찾기" }, "notification": { "title": { - "Everything": "Everything", - "Mentions": "Mentions" + "Everything": "모두", + "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" + "followed_you": "나를 팔로우 했습니다", + "favorited_your_post": "내 게시물을 마음에 들어했습니다", + "reblogged_your_post": "내 게시물을 리블로그 했습니다", + "mentioned_you": "나를 언급했습니다", + "request_to_follow_you": "팔로우를 요청합니다", + "poll_has_ended": "투표가 끝났습니다" }, "keyobard": { - "show_everything": "Show Everything", - "show_mentions": "Show Mentions" + "show_everything": "모두 보기", + "show_mentions": "멘션 보기" }, "follow_request": { "accept": "수락", @@ -553,37 +563,37 @@ } }, "thread": { - "back_title": "Post", - "title": "Post from %s" + "back_title": "게시물", + "title": "%s 님의 게시물" }, "settings": { - "title": "Settings", + "title": "설정", "section": { "appearance": { - "title": "Appearance", - "automatic": "Automatic", - "light": "Always Light", - "dark": "Always Dark" + "title": "외관", + "automatic": "자동", + "light": "항상 밝음", + "dark": "항상 어두움" }, "look_and_feel": { - "title": "Look and Feel", - "use_system": "Use System", - "really_dark": "Really Dark", - "sorta_dark": "Sorta Dark", - "light": "Light" + "title": "인터페이스", + "use_system": "시스템 설정 사용", + "really_dark": "진짜 어두움", + "sorta_dark": "좀 어두움", + "light": "밝음" }, "notifications": { - "title": "Notifications", - "favorites": "Favorites my post", - "follows": "Follows me", - "boosts": "Reblogs my post", - "mentions": "Mentions me", + "title": "알림", + "favorites": "내 게시물을 마음에 들어할 때", + "follows": "나를 팔로우 할 때", + "boosts": "내 게시물을 리블로그 할 때", + "mentions": "나를 언급할 때", "trigger": { - "anyone": "anyone", - "follower": "a follower", - "follow": "anyone I follow", - "noone": "no one", - "title": "Notify me when" + "anyone": "누구든", + "follower": "팔로워가", + "follow": "내가 팔로우하는 사람이", + "noone": "아무도 못 하게", + "title": "알림을 보낼 조건은" } }, "preference": { @@ -592,7 +602,7 @@ "disable_avatar_animation": "움직이는 아바타 비활성화", "disable_emoji_animation": "움직이는 에모지 비활성화", "using_default_browser": "기본 브라우저로 링크 열기", - "open_links_in_mastodon": "Open links in Mastodon" + "open_links_in_mastodon": "마스토돈에서 링크 열기" }, "boring_zone": { "title": "지루한 영역", @@ -614,57 +624,57 @@ } }, "report": { - "title_report": "Report", + "title_report": "신고", "title": "%s 신고하기", "step1": "1단계 (총 2단계)", "step2": "2단계 (총 2단계)", "content1": "신고에 추가하고 싶은 다른 게시물이 존재하나요?", "content2": "이 신고에 대해 중재자들이 알아야 할 것이 있나요?", - "report_sent_title": "Thanks for reporting, we’ll look into this.", + "report_sent_title": "신고해주셔서 감사합니다, 중재자분들이 확인할 예정입니다.", "send": "신고 전송", "skip_to_send": "추가설명 없이 보내기", "text_placeholder": "추가 설명을 적거나 붙여넣으세요", - "reported": "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_1_of_4": "1단계 (총 4단계)", + "whats_wrong_with_this_post": "이 게시물에 어떤 문제가 있나요?", + "whats_wrong_with_this_account": "이 계정에 어떤 문제가 있나요?", + "whats_wrong_with_this_username": "%s에 어떤 문제가 있나요?", + "select_the_best_match": "가장 알맞은 것을 선택하세요", + "i_dont_like_it": "마음에 안 듭니다", + "it_is_not_something_you_want_to_see": "내가 보기 싫은 종류에 속합니다", + "its_spam": "스팸입니다", + "malicious_links_fake_engagement_or_repetetive_replies": "악성 링크, 반응 스팸, 또는 반복적인 답글", + "it_violates_server_rules": "서버 규칙을 위반합니다", + "you_are_aware_that_it_breaks_specific_rules": "특정 규칙을 위반합니다", + "its_something_else": "기타", + "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_2_of_4": "2단계 (총 4단계)", + "which_rules_are_being_violated": "어떤 규칙을 위반했나요?", + "select_all_that_apply": "해당하는 사항을 모두 선택하세요", + "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_3_of_4": "3단계 (총 4단계)", + "are_there_any_posts_that_back_up_this_report": "이 신고에 대해서 더 참고해야 할 게시물이 있나요?", + "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_4_of_4": "4단계 (총 4단계)", + "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.", + "dont_want_to_see_this": "이런 것을 보지 않길 원하나요?", + "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "마스토돈에서 보기 싫은 것을 보았다면, 해당하는 사람을 지울 수 있습니다.", + "unfollow": "팔로우 해제", + "unfollowed": "팔로우 해제함", + "unfollow_user": "%s 팔로우 해제", + "mute_user": "%s 뮤트", + "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "그의 게시물이나 리블로그가 내 홈 피드에 보이지 않습니다. 그는 뮤트 당했다는 사실을 알지 못합니다.", + "block_user": "%s 차단", + "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "그는 나를 팔로우 하거나 내 게시물을 볼 수 없게 됩니다, 하지만 내가 차단한 사실은 알 수 있습니다.", "while_we_review_this_you_can_take_action_against_user": "서버의 중재자들이 이것을 심사하는 동안, 당신은 %s에 대한 행동을 취할 수 있습니다" } }, @@ -678,12 +688,15 @@ "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": "계정 추가" }, "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": "마스토돈의 새 기능", + "multiple_account_switch_intro_description": "프로필 버튼을 꾹 눌러서 여러 계정 사이를 전환할 수 있습니다.", + "accessibility_hint": "두 번 탭하여 팝업 닫기" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/ko.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/ko.lproj/ios-infoPlist.json index 1b073eb0f..23194a120 100644 --- a/Localization/StringsConvertor/input/ko.lproj/ios-infoPlist.json +++ b/Localization/StringsConvertor/input/ko.lproj/ios-infoPlist.json @@ -1,5 +1,5 @@ { - "NSCameraUsageDescription": "Used to take photo for post status", + "NSCameraUsageDescription": "게시물에 사용할 사진을 찍기 위해 쓰임", "NSPhotoLibraryAddUsageDescription": "갤러리에 사진을 저장하기 위해 쓰임", "NewPostShortcutItemTitle": "새 글", "SearchShortcutItemTitle": "검색" diff --git a/Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict new file mode 100644 index 000000000..25f32c98d --- /dev/null +++ b/Localization/StringsConvertor/input/lv.lproj/Localizable.stringsdict @@ -0,0 +1,505 @@ + + + + + a11y.plural.count.unread.notification + + NSStringLocalizedFormatKey + %#@notification_count_unread_notification@ + notification_count_unread_notification + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld unread notification + 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 + zero + %ld characters + one + 1 character + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + character_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld characters + one + 1 character + other + %ld characters + + + plural.count.followed_by_and_mutual + + NSStringLocalizedFormatKey + %#@names@%#@count_mutual@ + names + + zero + + one + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + other + + + count_mutual + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + Followed by %1$@, and %ld mutuals + 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 + zero + posts + one + post + other + posts + + + plural.count.media + + NSStringLocalizedFormatKey + %#@media_count@ + media_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld media + one + 1 media + other + %ld media + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld posts + one + 1 post + other + %ld posts + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld favorites + one + 1 favorite + other + %ld favorites + + + plural.count.reblog + + NSStringLocalizedFormatKey + %#@reblog_count@ + reblog_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld reblogs + one + 1 reblog + other + %ld reblogs + + + plural.count.reply + + NSStringLocalizedFormatKey + %#@reply_count@ + reply_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld replies + one + 1 reply + other + %ld replies + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld votes + one + 1 vote + other + %ld votes + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld voters + one + 1 voter + other + %ld voters + + + plural.people_talking + + NSStringLocalizedFormatKey + %#@count_people_talking@ + count_people_talking + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld people talking + one + 1 people talking + other + %ld people talking + + + plural.count.following + + NSStringLocalizedFormatKey + %#@count_following@ + count_following + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld following + one + 1 following + other + %ld following + + + plural.count.follower + + NSStringLocalizedFormatKey + %#@count_follower@ + count_follower + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld followers + one + 1 follower + other + %ld followers + + + date.year.left + + NSStringLocalizedFormatKey + %#@count_year_left@ + count_year_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld years left + one + 1 year left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld months left + one + 1 months left + other + %ld months left + + + date.day.left + + NSStringLocalizedFormatKey + %#@count_day_left@ + count_day_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld days left + one + 1 day left + other + %ld days left + + + date.hour.left + + NSStringLocalizedFormatKey + %#@count_hour_left@ + count_hour_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld hours left + one + 1 hour left + other + %ld hours left + + + date.minute.left + + NSStringLocalizedFormatKey + %#@count_minute_left@ + count_minute_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld minutes left + one + 1 minute left + other + %ld minutes left + + + date.second.left + + NSStringLocalizedFormatKey + %#@count_second_left@ + count_second_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ld seconds left + 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 + zero + %ldy ago + one + 1y ago + other + %ldy ago + + + date.month.ago.abbr + + NSStringLocalizedFormatKey + %#@count_month_ago_abbr@ + count_month_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ldM ago + one + 1M ago + other + %ldM ago + + + date.day.ago.abbr + + NSStringLocalizedFormatKey + %#@count_day_ago_abbr@ + count_day_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ldd ago + one + 1d ago + other + %ldd ago + + + date.hour.ago.abbr + + NSStringLocalizedFormatKey + %#@count_hour_ago_abbr@ + count_hour_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ldh ago + one + 1h ago + other + %ldh ago + + + date.minute.ago.abbr + + NSStringLocalizedFormatKey + %#@count_minute_ago_abbr@ + count_minute_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %ldm ago + one + 1m ago + other + %ldm ago + + + date.second.ago.abbr + + NSStringLocalizedFormatKey + %#@count_second_ago_abbr@ + count_second_ago_abbr + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + zero + %lds ago + one + 1s ago + other + %lds ago + + + + diff --git a/Localization/StringsConvertor/input/lv.lproj/app.json b/Localization/StringsConvertor/input/lv.lproj/app.json new file mode 100644 index 000000000..0051383db --- /dev/null +++ b/Localization/StringsConvertor/input/lv.lproj/app.json @@ -0,0 +1,702 @@ +{ + "common": { + "alerts": { + "common": { + "please_try_again": "Lūdzu, mēģiniet vēlreiz.", + "please_try_again_later": "Lūdzu, mēģiniet vēlreiz vēlāk." + }, + "sign_up_failure": { + "title": "Sign Up Failure" + }, + "server_error": { + "title": "Servera kļūda" + }, + "vote_failure": { + "title": "Vote Failure", + "poll_ended": "Balsošana beidzās" + }, + "discard_post_content": { + "title": "Atmest malnrakstu", + "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": "Iziet", + "message": "Vai tiešām vēlaties iziet?", + "confirm": "Iziet" + }, + "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": "Dzēst ierakstu", + "message": "Vai tiešām vēlies dzēst ierakstu?" + }, + "clean_cache": { + "title": "Clean Cache", + "message": "Successfully cleaned %s cache." + } + }, + "controls": { + "actions": { + "back": "Atpakaļ", + "next": "Nākamais", + "previous": "Iepriekšējais", + "open": "Atvērt", + "add": "Pievienot", + "remove": "Noņemt", + "edit": "Rediģēt", + "save": "Saglabāt", + "ok": "Labi", + "done": "Pabeigts", + "confirm": "Apstiprināt", + "continue": "Turpināt", + "compose": "Rakstīt", + "cancel": "Atcelt", + "discard": "Atmest", + "try_again": "Mēģināt vēlreiz", + "take_photo": "Uzņemt bildi", + "save_photo": "Saglabāt bildi", + "copy_photo": "Kopēt bildi", + "sign_in": "Pieteikties", + "sign_up": "Reģistrēties", + "see_more": "Skatīt vairāk", + "preview": "Priekšskatījums", + "share": "Dalīties", + "share_user": "Share %s", + "share_post": "Share Post", + "open_in_safari": "Atvērt Safari", + "open_in_browser": "Atvērt pārlūkprogrammā", + "find_people": "Atrodi cilvēkus kam sekot", + "manually_search": "Manually search instead", + "skip": "Izlaist", + "reply": "Atbildēt", + "report_user": "Ziņot par lietotāju @%s", + "block_domain": "Bloķēt %s", + "unblock_domain": "Atbloķēt %s", + "settings": "Iestatījumi", + "delete": "Dzēst" + }, + "tabs": { + "home": "Sākums", + "search": "Meklēšana", + "notification": "Paziņojums", + "profile": "Profils" + }, + "keyboard": { + "common": { + "switch_to_tab": "Pārslēgties uz: %s", + "compose_new_post": "Veidot jaunu ziņu", + "show_favorites": "Show Favorites", + "open_settings": "Atvērt iestatījumus" + }, + "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": "Priekšskata attēls" + }, + "segmented_control": { + "previous_section": "Iepriekšējā sadaļa", + "next_section": "Nākamā sadaļa" + } + }, + "status": { + "user_reblogged": "%s reblogged", + "user_replied_to": "Replied to %s", + "show_post": "Show Post", + "show_user_profile": "Parādīt lietotāja profilu", + "content_warning": "Satura brīdinājums", + "sensitive_content": "Sensitīvs saturs", + "media_content_warning": "Tap anywhere to reveal", + "tap_to_reveal": "Tap to reveal", + "poll": { + "vote": "Balsot", + "closed": "Aizvērts" + }, + "actions": { + "reply": "Atbildēt", + "reblog": "Reblogot", + "unreblog": "Undo reblog", + "favorite": "Izlase", + "unfavorite": "Izņemt no izlases", + "menu": "Izvēlne", + "hide": "Slēpt", + "show_image": "Rādīt attēlu", + "show_gif": "Rādīt GIF", + "show_video_player": "Show video player", + "tap_then_hold_to_show_menu": "Tap then hold to show menu" + }, + "tag": { + "url": "URL", + "mention": "Pieminēt", + "link": "Saite", + "hashtag": "Hashtag", + "email": "E-pasts", + "emoji": "Emocijzīmes" + }, + "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": "Sekot", + "following": "Seko", + "request": "Pieprasījums", + "pending": "Gaida", + "block": "Bloķēt", + "block_user": "Bloķēt %s", + "block_domain": "Bloķēt %s", + "unblock": "Atbloķēt", + "unblock_user": "Atbloķēt %s", + "blocked": "Bloķēts", + "mute": "Apklusināt", + "mute_user": "Aplusināt %s", + "unmute": "Noņemt apklusinājumu", + "unmute_user": "Noņemt apklusinājumu @%s", + "muted": "Apklusināts", + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" + }, + "timeline": { + "filtered": "Filtrēts", + "timestamp": { + "now": "Tagad" + }, + "loader": { + "load_missing_posts": "Load missing posts", + "loading_missing_posts": "Loading missing posts...", + "show_more_replies": "Rādīt vairāk atbildes" + }, + "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": "Pieteikties" + }, + "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.", + "button": { + "category": { + "all": "Visi", + "all_accessiblity_description": "Katekorija: Visi", + "academia": "academia", + "activism": "activism", + "food": "ēdiens", + "furry": "furry", + "games": "spēles", + "general": "general", + "journalism": "žurnālisms", + "lgbt": "lgbt", + "regional": "regionāli", + "art": "māksla", + "music": "mūzika", + "tech": "tehnoloģija" + }, + "see_less": "Rādīt mazāk", + "see_more": "Skatīt vairāk" + }, + "label": { + "language": "VALODA", + "users": "LIETOTĀJI", + "category": "KATEGORIJA" + }, + "input": { + "placeholder": "Meklēt serverus", + "search_servers_or_enter_url": "Search servers 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": "Nav rezultātu" + } + }, + "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": "Dzēst" + }, + "username": { + "placeholder": "lietotājvārds", + "duplicate_prompt": "Šis lietotājvārds jau ir aizņemts." + }, + "display_name": { + "placeholder": "parādāmais vārds" + }, + "email": { + "placeholder": "e-pasts" + }, + "password": { + "placeholder": "parole", + "require": "Your password needs at least:", + "character_limit": "8 rakstzīmes", + "accessibility": { + "checked": "atzīmēts", + "unchecked": "neatzīmēts" + }, + "hint": "Parolei jābūt vismaz 8 simboliem" + }, + "invite": { + "registration_user_invite_request": "Kāpēc tu vēlies pievienoties?" + } + }, + "error": { + "item": { + "username": "Lietotājvārds", + "email": "E-pasts", + "password": "Parole", + "agreement": "Līgums", + "locale": "Lokalizācija", + "reason": "Iemesls" + }, + "reason": { + "blocked": "%s contains a disallowed email provider", + "unreachable": "%s šķiet, ka neeksistē", + "taken": "%s jau tiek izmantots", + "reserved": "%s is a reserved keyword", + "accepted": "%s must be accepted", + "blank": "%s ir obligāts", + "invalid": "%s ir nederīgs", + "too_long": "%s ir pārāk garaš", + "too_short": "%s ir pārāk īs", + "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": "pakalpojuma noteikumi", + "privacy_policy": "privātuma nosacījumi", + "button": { + "confirm": "Es piekrītu" + } + }, + "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": "Nosūtīt atkārtoti" + }, + "dont_receive_email": { + "title": "Pārbaudi savu e-pastu", + "description": "Check if your email address is correct as well as your junk folder if you haven’t.", + "resend_email": "Atkārtoti nosūtīt e-pastu" + }, + "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": "Jauna atbilde" + }, + "media_selection": { + "camera": "Uzņemt bildi", + "photo_library": "Attēlu krātuve", + "browse": "Pārlūkot" + }, + "content_input_placeholder": "Type or paste what’s on your mind", + "compose_action": "Publicēt", + "replying_to_user": "replying to %s", + "attachment": { + "photo": "attēls", + "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..." + }, + "poll": { + "duration_time": "Duration: %s", + "thirty_minutes": "30 minūtes", + "one_hour": "1 Stunda", + "six_hours": "6 stundas", + "one_day": "1 Diena", + "three_days": "3 Dienas", + "seven_days": "7 Dienas", + "option_number": "Option %ld" + }, + "content_warning": { + "placeholder": "Write an accurate warning here..." + }, + "visibility": { + "public": "Publisks", + "unlisted": "Neiekļautie", + "private": "Tikai sekotājiem", + "direct": "Tikai cilvēki, kurus es pieminu" + }, + "auto_complete": { + "space_to_add": "Space to add" + }, + "accessibility": { + "append_attachment": "Pievienot pielikumu", + "append_poll": "Pievienot aptauju", + "remove_poll": "Noņemt aptauju", + "custom_emoji_picker": "Custom Emoji Picker", + "enable_content_warning": "Enable Content Warning", + "disable_content_warning": "Disable Content Warning", + "post_visibility_menu": "Post Visibility Menu" + }, + "keyboard": { + "discard_post": "Discard Post", + "publish_post": "Publish Post", + "toggle_poll": "Toggle Poll", + "toggle_content_warning": "Toggle Content Warning", + "append_attachment_entry": "Pievienot pielikumu - %s", + "select_visibility_entry": "Select Visibility - %s" + } + }, + "profile": { + "header": { + "follows_you": "Seko tev" + }, + "dashboard": { + "posts": "posts", + "following": "seko", + "followers": "sekottāji" + }, + "fields": { + "add_row": "Pievienot rindu", + "placeholder": { + "label": "Label", + "content": "Saturs" + } + }, + "segmented_control": { + "posts": "Posts", + "replies": "Atbildes", + "posts_and_replies": "Ziņas un atbildes", + "media": "Multivide", + "about": "Par" + }, + "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": "Bloķēts kontu", + "message": "Confirm to block %s" + }, + "confirm_unblock_user": { + "title": "Atbloķēt kontu", + "message": "Apstiprini lai atbloķētu %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": "sekottājs", + "footer": "Followers from other servers are not displayed." + }, + "following": { + "title": "seko", + "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": "Meklēt", + "search_bar": { + "placeholder": "Search hashtags and users", + "cancel": "Atcelt" + }, + "recommend": { + "button_text": "Skatīt visu", + "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": "Ziņas", + "hashtags": "Hashtags", + "news": "Ziņas", + "community": "Community", + "for_you": "Priekš tevis" + }, + "intro": "These are the posts gaining traction in your corner of Mastodon." + }, + "favorite": { + "title": "Tava izlase" + }, + "notification": { + "title": { + "Everything": "Visi", + "Mentions": "Pieminējumi" + }, + "notification_description": { + "followed_you": "followed you", + "favorited_your_post": "favorited your post", + "reblogged_your_post": "reblogged your post", + "mentioned_you": "pieminēja tevi", + "request_to_follow_you": "request to follow you", + "poll_has_ended": "balsošana beidzās" + }, + "keyobard": { + "show_everything": "Parādīt man visu", + "show_mentions": "Show Mentions" + }, + "follow_request": { + "accept": "Pieņemt", + "accepted": "Pieņemts", + "reject": "noraidīt", + "rejected": "Noraidīts" + } + }, + "thread": { + "back_title": "Ziņa", + "title": "Post from %s" + }, + "settings": { + "title": "Iestatījumi", + "section": { + "appearance": { + "title": "Izskats", + "automatic": "Automātiski", + "light": "Vienmēr gaišs", + "dark": "Vienmēr tumšs" + }, + "look_and_feel": { + "title": "Izskats", + "use_system": "Use System", + "really_dark": "Ļoti tumšs", + "sorta_dark": "Itkā tumšs", + "light": "Gaišs" + }, + "notifications": { + "title": "Paziņojumi", + "favorites": "Favorites my post", + "follows": "Seko man", + "boosts": "Reblogs my post", + "mentions": "Pieminējumi", + "trigger": { + "anyone": "jebkurš", + "follower": "sekottājs", + "follow": "anyone I follow", + "noone": "neviens", + "title": "Notify me when" + } + }, + "preference": { + "title": "Uzstādījumi", + "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": "Konta iestatījumi", + "terms": "Pakalpojuma noteikumi", + "privacy": "Privātuma politika" + }, + "spicy_zone": { + "title": "The Spicy Zone", + "clear": "Clear Media Cache", + "signout": "Iziet" + } + }, + "footer": { + "mastodon_description": "Mastodon ir atvērtā koda programmatūra. Tu vari ziņot par problēmām GitHub %s (%s)" + }, + "keyboard": { + "close_settings_window": "Close Settings Window" + } + }, + "report": { + "title_report": "Ziņot", + "title": "Ziņot %s", + "step1": "1. solis no 2", + "step2": "2. solis no 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": "Nosūtīt Sūdzību", + "skip_to_send": "Sūtīt bez komentāra", + "text_placeholder": "Type or paste additional comments", + "reported": "REPORTED", + "step_one": { + "step_1_of_4": "1. solis no 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": "Izvēlieties labāko atbilstību", + "i_dont_like_it": "Man tas nepatīk", + "it_is_not_something_you_want_to_see": "Tas nav kaut kas, ko tu vēlies redzēt", + "its_spam": "Tas ir spams", + "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": "Tu zini, ka tas pārkāpj īpašus noteikumus", + "its_something_else": "Tas ir kaut kas cits", + "the_issue_does_not_fit_into_other_categories": "Šis jautājums neietilpst citās kategorijās" + }, + "step_two": { + "step_2_of_4": "2. solis no 4", + "which_rules_are_being_violated": "Kuri noteikumi tiek pārkāpti?", + "select_all_that_apply": "Atlasi visus atbilstošos", + "i_just_don’t_like_it": "I just don’t like it" + }, + "step_three": { + "step_3_of_4": "3. solis no 4", + "are_there_any_posts_that_back_up_this_report": "Vai ir kādas ziņas, kas atbalsta šo ziņojumu?", + "select_all_that_apply": "Atlasi visus atbilstošos" + }, + "step_four": { + "step_4_of_4": "4. solis no 4", + "is_there_anything_else_we_should_know": "Vai ir vēl kas mums būtu jāzina?" + }, + "step_final": { + "dont_want_to_see_this": "Vai nevēlies to redzēt?", + "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": "Atsekot", + "unfollowed": "Atsekoja", + "unfollow_user": "Atsekot %s", + "mute_user": "Apklusināt %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": "Bloķēt %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": "Kamēr mēs to izskatām, tu vari veikt darbības pret @%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": "Pievienot kontu" + }, + "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" + } + } +} diff --git a/Localization/StringsConvertor/input/lv.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/lv.lproj/ios-infoPlist.json new file mode 100644 index 000000000..c6db73de0 --- /dev/null +++ b/Localization/StringsConvertor/input/lv.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" +} diff --git a/Localization/StringsConvertor/input/nl.lproj/app.json b/Localization/StringsConvertor/input/nl.lproj/app.json index 91e651e04..649fe5064 100644 --- a/Localization/StringsConvertor/input/nl.lproj/app.json +++ b/Localization/StringsConvertor/input/nl.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Niet langer negeren", "unmute_user": "%s niet langer negeren", "muted": "Genegeerd", - "edit_info": "Bewerken" + "edit_info": "Bewerken", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Gefilterd", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Deblokkeer Account", "message": "Bevestig om %s te deblokkeren" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Nieuw in Mastodon", "multiple_account_switch_intro_description": "Schakel tussen meerdere accounts door de profielknop in te drukken en vast te houden.", "accessibility_hint": "Tik tweemaal om het popup-scherm te sluiten" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/pt-BR.lproj/app.json b/Localization/StringsConvertor/input/pt-BR.lproj/app.json index 872be790b..063ed346c 100644 --- a/Localization/StringsConvertor/input/pt-BR.lproj/app.json +++ b/Localization/StringsConvertor/input/pt-BR.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/pt.lproj/app.json b/Localization/StringsConvertor/input/pt.lproj/app.json index a965b23ae..80b0882d9 100644 --- a/Localization/StringsConvertor/input/pt.lproj/app.json +++ b/Localization/StringsConvertor/input/pt.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/ro.lproj/app.json b/Localization/StringsConvertor/input/ro.lproj/app.json index 3a97d2222..8b9da0903 100644 --- a/Localization/StringsConvertor/input/ro.lproj/app.json +++ b/Localization/StringsConvertor/input/ro.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Unmute", "unmute_user": "Unmute %s", "muted": "Muted", - "edit_info": "Edit Info" + "edit_info": "Edit Info", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtered", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/ru.lproj/app.json b/Localization/StringsConvertor/input/ru.lproj/app.json index fa6377a2c..7a4833554 100644 --- a/Localization/StringsConvertor/input/ru.lproj/app.json +++ b/Localization/StringsConvertor/input/ru.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Убрать из игнорируемых", "unmute_user": "Убрать %s из игнорируемых", "muted": "В игнорируемых", - "edit_info": "Изменить" + "edit_info": "Изменить", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Отфильтровано", @@ -455,6 +457,14 @@ "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": { @@ -684,6 +694,9 @@ "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" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict new file mode 100644 index 000000000..bdcae6ac9 --- /dev/null +++ b/Localization/StringsConvertor/input/si.lproj/Localizable.stringsdict @@ -0,0 +1,449 @@ + + + + + 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 + + + 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 + + + + diff --git a/Localization/StringsConvertor/input/si.lproj/app.json b/Localization/StringsConvertor/input/si.lproj/app.json new file mode 100644 index 000000000..f42e91ae1 --- /dev/null +++ b/Localization/StringsConvertor/input/si.lproj/app.json @@ -0,0 +1,702 @@ +{ + "common": { + "alerts": { + "common": { + "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": "ආපසු", + "next": "ඊළඟ", + "previous": "කලින්", + "open": "අරින්න", + "add": "එකතු", + "remove": "ඉවත් කරන්න", + "edit": "සංස්කරණය", + "save": "සුරකින්න", + "ok": "හරි", + "done": "අහවරයි", + "confirm": "තහවුරු", + "continue": "ඉදිරියට", + "compose": "Compose", + "cancel": "අවලංගු", + "discard": "ඉවතලන්න", + "try_again": "Try Again", + "take_photo": "Take Photo", + "save_photo": "Save Photo", + "copy_photo": "Copy Photo", + "sign_in": "පිවිසෙන්න", + "sign_up": "ලියාපදිංචිය", + "see_more": "තව බලන්න", + "preview": "පෙරදසුන", + "share": "බෙදාගන්න", + "share_user": "%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": "ඡන්දය", + "closed": "වසා ඇත" + }, + "actions": { + "reply": "පිළිතුරු", + "reblog": "Reblog", + "unreblog": "Undo reblog", + "favorite": "ප්‍රියතමය", + "unfavorite": "Unfavorite", + "menu": "Menu", + "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": "ඒ.ස.නි.", + "mention": "සැඳහුම", + "link": "සබැඳිය", + "hashtag": "Hashtag", + "email": "වි-තැපෑල", + "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": "අනුගමනය", + "following": "Following", + "request": "Request", + "pending": "Pending", + "block": "අවහිර", + "block_user": "%s අවහිර", + "block_domain": "%s අවහිර", + "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": "පටන් ගන්න", + "log_in": "පිවිසෙන්න" + }, + "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.", + "button": { + "category": { + "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": "තව බලන්න" + }, + "label": { + "language": "භාෂාව", + "users": "USERS", + "category": "CATEGORY" + }, + "input": { + "placeholder": "Search servers", + "search_servers_or_enter_url": "Search servers 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": "ප්‍රතිඵල නැත" + } + }, + "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": "මකන්න" + }, + "username": { + "placeholder": "පරිශීලක නාමය", + "duplicate_prompt": "නම දැනටමත් ගෙන ඇත." + }, + "display_name": { + "placeholder": "display name" + }, + "email": { + "placeholder": "වි-තැපෑල" + }, + "password": { + "placeholder": "මුරපදය", + "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": "පරිශීලක නාමය", + "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 දිග වැඩිය", + "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": "සේවාවේ නියම", + "privacy_policy": "රහස්‍යතා ප්‍රතිපත්තිය", + "button": { + "confirm": "මම එකඟයි" + } + }, + "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": "මුල් පිටුව", + "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": "පිරික්සන්න" + }, + "content_input_placeholder": "Type or paste what’s on your mind", + "compose_action": "ප්‍රකාශනය", + "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..." + }, + "poll": { + "duration_time": "Duration: %s", + "thirty_minutes": "විනාඩි 30", + "one_hour": "පැය 1", + "six_hours": "6 Hours", + "one_day": "1 Day", + "three_days": "3 Days", + "seven_days": "7 Days", + "option_number": "Option %ld" + }, + "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" + }, + "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": "නම්පත", + "content": "අන්තර්ගතය" + } + }, + "segmented_control": { + "posts": "Posts", + "replies": "Replies", + "posts_and_replies": "Posts and Replies", + "media": "මාධ්‍ය", + "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_bar": { + "placeholder": "Search hashtags and users", + "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": "සියල්ල", + "people": "මිනිසුන්", + "hashtags": "Hashtags", + "posts": "Posts" + }, + "empty_state": { + "no_results": "ප්‍රතිඵල නැත" + }, + "recent_search": "Recent searches", + "clear": "මකන්න" + } + }, + "discovery": { + "tabs": { + "posts": "Posts", + "hashtags": "Hashtags", + "news": "පුවත්", + "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": "පිළිගන්න", + "accepted": "Accepted", + "reject": "ප්‍රතික්‍ෂේප", + "rejected": "Rejected" + } + }, + "thread": { + "back_title": "Post", + "title": "Post from %s" + }, + "settings": { + "title": "සැකසුම්", + "section": { + "appearance": { + "title": "පෙනුම", + "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": "දැනුම්දීම්", + "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": "නික්මෙන්න" + } + }, + "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": "වාර්තාව", + "title": "%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" + } + } +} diff --git a/Localization/StringsConvertor/input/si.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/si.lproj/ios-infoPlist.json new file mode 100644 index 000000000..c6db73de0 --- /dev/null +++ b/Localization/StringsConvertor/input/si.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" +} diff --git a/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict new file mode 100644 index 000000000..8f0bcb42b --- /dev/null +++ b/Localization/StringsConvertor/input/sl.lproj/Localizable.stringsdict @@ -0,0 +1,561 @@ + + + + + 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 + + + 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 + + + + diff --git a/Localization/StringsConvertor/input/sl.lproj/app.json b/Localization/StringsConvertor/input/sl.lproj/app.json new file mode 100644 index 000000000..99a823feb --- /dev/null +++ b/Localization/StringsConvertor/input/sl.lproj/app.json @@ -0,0 +1,702 @@ +{ + "common": { + "alerts": { + "common": { + "please_try_again": "Poskusite znova.", + "please_try_again_later": "Poskusite znova pozneje." + }, + "sign_up_failure": { + "title": "Neuspela registracija" + }, + "server_error": { + "title": "Napaka strežnika" + }, + "vote_failure": { + "title": "Napaka glasovanja", + "poll_ended": "Anketa je zaključena" + }, + "discard_post_content": { + "title": "Zavrzi osnutek", + "message": "Potrdite za opustitev sestavljene vsebine objave." + }, + "publish_post_failure": { + "title": "Spodletela objava", + "message": "Objava je spodletela.\nPreverite svojo internetno povezavo.", + "attachments_message": { + "video_attach_with_photo": "Videoposnetka ni mogoče priložiti objavi, ki že vsebuje slike.", + "more_than_one_video": "Ni možno priložiti več kot enega videoposnetka." + } + }, + "edit_profile_failure": { + "title": "Napaka urejanja profila", + "message": "Profila ni mogoče urejati. Poskusite znova." + }, + "sign_out": { + "title": "Odjava", + "message": "Ali ste prepričani, da se želite odjaviti?", + "confirm": "Odjava" + }, + "block_domain": { + "title": "Ali ste res, res prepričani, da želite blokirati celotno %s? 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.", + "block_entire_domain": "Blokiraj domeno" + }, + "save_photo_failure": { + "title": "Neuspelo shranjevanje fotografije", + "message": "Za shranjevanje fotografije omogočite pravice za dostop do knjižnice fotografij." + }, + "delete_post": { + "title": "Izbriši objavo", + "message": "Ali ste prepričani, da želite izbrisati to objavo?" + }, + "clean_cache": { + "title": "Počisti predpomnilnik", + "message": "Uspešno počiščem predpomnilnik %s." + } + }, + "controls": { + "actions": { + "back": "Nazaj", + "next": "Naslednji", + "previous": "Prejšnji", + "open": "Odpri", + "add": "Dodaj", + "remove": "Odstrani", + "edit": "Uredi", + "save": "Shrani", + "ok": "V redu", + "done": "Opravljeno", + "confirm": "Potrdi", + "continue": "Nadaljuj", + "compose": "Sestavi", + "cancel": "Prekliči", + "discard": "Opusti", + "try_again": "Poskusi ponovno", + "take_photo": "Posnemi fotografijo", + "save_photo": "Shrani fotografijo", + "copy_photo": "Kopiraj fotografijo", + "sign_in": "Prijava", + "sign_up": "Registracija", + "see_more": "Pokaži več", + "preview": "Predogled", + "share": "Deli", + "share_user": "Deli %s", + "share_post": "Deli objavo", + "open_in_safari": "Odpri v Safariju", + "open_in_browser": "Odpri v brskalniku", + "find_people": "Poiščite osebe, ki jim želite slediti", + "manually_search": "Raje išči ročno", + "skip": "Preskoči", + "reply": "Odgovori", + "report_user": "Prijavi %s", + "block_domain": "Blokiraj %s", + "unblock_domain": "Odblokiraj %s", + "settings": "Nastavitve", + "delete": "Izbriši" + }, + "tabs": { + "home": "Domov", + "search": "Iskanje", + "notification": "Obvestilo", + "profile": "Profil" + }, + "keyboard": { + "common": { + "switch_to_tab": "Preklopi na %s", + "compose_new_post": "Sestavi novo objavo", + "show_favorites": "Pokaži priljubljene", + "open_settings": "Odpri nastavitve" + }, + "timeline": { + "previous_status": "Prejšnja objava", + "next_status": "Naslednja objava", + "open_status": "Odpri objavo", + "open_author_profile": "Pokaži profil avtorja", + "open_reblogger_profile": "Odpri profil poobjavitelja", + "reply_status": "Odgovori", + "toggle_reblog": "Preklopi poobjavo za objavo", + "toggle_favorite": "Preklopi priljubljenost objave", + "toggle_content_warning": "Preklopi opozorilo o vsebini", + "preview_image": "Predogled slike" + }, + "segmented_control": { + "previous_section": "Prejšnji odsek", + "next_section": "Naslednji odsek" + } + }, + "status": { + "user_reblogged": "%s je poobjavil_a", + "user_replied_to": "Odgovarja %s", + "show_post": "Pokaži objavo", + "show_user_profile": "Prikaži uporabnikov profil", + "content_warning": "Opozorilo o vsebini", + "sensitive_content": "Občutljiva vsebina", + "media_content_warning": "Tapnite kamorkoli, da razkrijete", + "tap_to_reveal": "Tapnite za razkritje", + "poll": { + "vote": "Glasuj", + "closed": "Zaprto" + }, + "actions": { + "reply": "Odgovori", + "reblog": "Poobjavi", + "unreblog": "Razveljavi poobjavo", + "favorite": "Priljubljen", + "unfavorite": "Odstrani iz priljubljenih", + "menu": "Meni", + "hide": "Skrij", + "show_image": "Pokaži sliko", + "show_gif": "Pokaži GIF", + "show_video_player": "Pokaži predvajalnik", + "tap_then_hold_to_show_menu": "Tapnite, nato držite, da se pojavi meni" + }, + "tag": { + "url": "URL", + "mention": "Omeni", + "link": "Povezava", + "hashtag": "Ključnik", + "email": "E-naslov", + "emoji": "Emotikon" + }, + "visibility": { + "unlisted": "Vsak lahko vidi to objavo, ni pa prikazana na javni časovnici.", + "private": "Samo sledilci osebe lahko vidijo to objavo.", + "private_from_me": "Samo moji sledilci lahko vidijo to objavo.", + "direct": "Samo omenjeni uporabnik lahko vidi to objavo." + } + }, + "friendship": { + "follow": "Sledi", + "following": "Sledi", + "request": "Zahteva", + "pending": "Na čakanju", + "block": "Blokiraj", + "block_user": "Blokiraj %s", + "block_domain": "Blokiraj %s", + "unblock": "Odblokiraj", + "unblock_user": "Odblokiraj %s", + "blocked": "Blokirano", + "mute": "Utišaj", + "mute_user": "Utišaj %s", + "unmute": "Odtišaj", + "unmute_user": "Odtišaj %s", + "muted": "Utišan", + "edit_info": "Uredi podatke", + "show_reblogs": "Pokaži poobjave", + "hide_reblogs": "Skrij poobjave" + }, + "timeline": { + "filtered": "Filtrirano", + "timestamp": { + "now": "Zdaj" + }, + "loader": { + "load_missing_posts": "Naloži manjkajoče objave", + "loading_missing_posts": "Nalaganje manjkajočih objav ...", + "show_more_replies": "Pokaži več odgovorov" + }, + "header": { + "no_status_found": "Ne najdem nobenih objav", + "blocking_warning": "Profila tega uporabnika ne morete\nvideti, dokler jih ne odblokirate.\nVaš profil je zanje videti tako.", + "user_blocking_warning": "Profila uporabnika %s ne morete\nvideti, dokler jih ne odblokirate.\nVaš profil je zanje videti tako.", + "blocked_warning": "Profila tega uporabnika ne morete\nvideti, dokler vas ne odblokirajo.", + "user_blocked_warning": "Profila uporabnika %s ne morete\nvideti, dokler vas ne odblokirajo.", + "suspended_warning": "Ta oseba je bila suspendirana.", + "user_suspended_warning": "Račun osebe %s je suspendiran." + } + } + } + }, + "scene": { + "welcome": { + "slogan": "Družbeno mreženje\nspet v vaših rokah.", + "get_started": "Začnite", + "log_in": "Prijava" + }, + "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.", + "button": { + "category": { + "all": "Vse", + "all_accessiblity_description": "Kategorija: vse", + "academia": "akademsko", + "activism": "aktivizem", + "food": "hrana", + "furry": "Kosmato", + "games": "igre", + "general": "splošno", + "journalism": "novinarstvo", + "lgbt": "lgbq+", + "regional": "regionalno", + "art": "umetnost", + "music": "glasba", + "tech": "tehnologija" + }, + "see_less": "Pokaži manj", + "see_more": "Pokaži več" + }, + "label": { + "language": "JEZIK", + "users": "UPORABNIKI", + "category": "KATEGORIJA" + }, + "input": { + "placeholder": "Išči strežnike", + "search_servers_or_enter_url": "Iščite strežnike ali vnesite URL" + }, + "empty_state": { + "finding_servers": "Iskanje razpoložljivih strežnikov ...", + "bad_network": "Med nalaganjem podatkov je prišlo do napake. Preverite svojo internetno povezavo.", + "no_results": "Ni rezultatov" + } + }, + "register": { + "title": "Naj vas namestimo na %s", + "lets_get_you_set_up_on_domain": "Naj vas namestimo na %s", + "input": { + "avatar": { + "delete": "Izbriši" + }, + "username": { + "placeholder": "uporabniško ime", + "duplicate_prompt": "To ime je že zasedeno." + }, + "display_name": { + "placeholder": "pojavno ime" + }, + "email": { + "placeholder": "e-pošta" + }, + "password": { + "placeholder": "geslo", + "require": "Vaše geslo potrebuje vsaj:", + "character_limit": "8 znakov", + "accessibility": { + "checked": "potrjeno", + "unchecked": "nepotrjeno" + }, + "hint": "Geslo mora biti dolgo najmanj 8 znakov." + }, + "invite": { + "registration_user_invite_request": "Zakaj se želite pridružiti?" + } + }, + "error": { + "item": { + "username": "Uporabniško ime", + "email": "E-pošta", + "password": "Geslo", + "agreement": "Sporazum", + "locale": "Krajevne nastavitve", + "reason": "Razlog" + }, + "reason": { + "blocked": "%s vsebuje nedovoljenega ponudnika e-poštnih storitev", + "unreachable": "%s kot kaže ne obstaja", + "taken": "%s je že v uporabi", + "reserved": "%s je rezervirana ključna beseda", + "accepted": "%s mora biti sprejet", + "blank": "%s je zahtevan", + "invalid": "%s ni veljavno", + "too_long": "%s je predolgo", + "too_short": "%s je prekratko", + "inclusion": "%s ni podprta vrednost" + }, + "special": { + "username_invalid": "Uporabniško ime lahko vsebuje samo alfanumerične znake ter podčrtaje.", + "username_too_long": "Uporabniško ime je predolgo (ne more biti daljše od 30 znakov)", + "email_invalid": "E-naslov ni veljaven", + "password_too_short": "Geslo je prekratko (dolgo mora biti vsaj 8 znakov)" + } + } + }, + "server_rules": { + "title": "Nekaj osnovnih pravil.", + "subtitle": "Slednje določajo in njihovo spoštovanje zagotavljajo moderatorji %s.", + "prompt": "Če boste nadaljevali, za vas veljajo pogoji storitve in pravilnik o zasebnosti za %s.", + "terms_of_service": "pogoji uporabe", + "privacy_policy": "pravilnik o zasebnosti", + "button": { + "confirm": "Strinjam se" + } + }, + "confirm_email": { + "title": "Še zadnja stvar.", + "subtitle": "Tapnite povezavo, ki smo vam jo poslali po e-pošti, da overite svoj račun.", + "tap_the_link_we_emailed_to_you_to_verify_your_account": "Tapnite povezavo, ki smo vam jo poslali po e-pošti, da overite svoj račun", + "button": { + "open_email_app": "Odpri aplikacijo za e-pošto", + "resend": "Ponovno pošlji" + }, + "dont_receive_email": { + "title": "Preverite svojo e-pošto", + "description": "Preverite, ali je vaš e-naslov pravilen, pa tudi vsebino mape neželene pošte, če tega še niste storili.", + "resend_email": "Ponovno pošlji e-pošto" + }, + "open_email_app": { + "title": "Preverite svojo dohodno e-pošto.", + "description": "Ravnokar smo vam poslali e-sporočilo. Preverite neželeno pošto, če sporočila ne najdete med dohodno pošto.", + "mail": "E-pošta", + "open_email_client": "Odpri odjemalca e-pošte" + } + }, + "home_timeline": { + "title": "Domov", + "navigation_bar_state": { + "offline": "Nepovezan", + "new_posts": "Pokaži nove objave", + "published": "Objavljeno!", + "Publishing": "Objavljanje objave ...", + "accessibility": { + "logo_label": "Gumb logotipa", + "logo_hint": "Tapnite, da podrsate na vrh; tapnite znova, da se pomaknete na prejšnji položaj" + } + } + }, + "suggestion_account": { + "title": "Poiščite osebe, ki jim želite slediti", + "follow_explain": "Ko nekomu sledite, vidite njihove objave v svojem domačem viru." + }, + "compose": { + "title": { + "new_post": "Nova objava", + "new_reply": "Nov odgovor" + }, + "media_selection": { + "camera": "Posnemi fotografijo", + "photo_library": "Knjižnica fotografij", + "browse": "Prebrskaj" + }, + "content_input_placeholder": "Vnesite ali prilepite, kar vam leži na duši", + "compose_action": "Objavi", + "replying_to_user": "odgovarja %s", + "attachment": { + "photo": "fotografija", + "video": "video", + "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 ..." + }, + "poll": { + "duration_time": "Trajanje: %s", + "thirty_minutes": "30 minut", + "one_hour": "1 ura", + "six_hours": "6 ur", + "one_day": "1 dan", + "three_days": "3 dni", + "seven_days": "7 dni", + "option_number": "Možnost %ld" + }, + "content_warning": { + "placeholder": "Tukaj zapišite opozorilo ..." + }, + "visibility": { + "public": "Javno", + "unlisted": "Ni prikazano", + "private": "Samo sledilci", + "direct": "Samo osebe, ki jih omenjam" + }, + "auto_complete": { + "space_to_add": "Preslednica za dodajanje" + }, + "accessibility": { + "append_attachment": "Dodaj priponko", + "append_poll": "Dodaj anketo", + "remove_poll": "Odstrani anketo", + "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" + }, + "keyboard": { + "discard_post": "Opusti objavo", + "publish_post": "Objavi objavo", + "toggle_poll": "Preklopi anketo", + "toggle_content_warning": "Preklopi opozorilo o vsebini", + "append_attachment_entry": "Dodaj priponko - %s", + "select_visibility_entry": "Izberite vidnost - %s" + } + }, + "profile": { + "header": { + "follows_you": "Vam sledi" + }, + "dashboard": { + "posts": "Objave", + "following": "sledi", + "followers": "sledilcev" + }, + "fields": { + "add_row": "Dodaj vrstico", + "placeholder": { + "label": "Oznaka", + "content": "Vsebina" + } + }, + "segmented_control": { + "posts": "Objave", + "replies": "Odgovori", + "posts_and_replies": "Objave in odgovori", + "media": "Mediji", + "about": "O programu" + }, + "relationship_action_alert": { + "confirm_mute_user": { + "title": "Utišaj račun", + "message": "Potrdite utišanje %s" + }, + "confirm_unmute_user": { + "title": "Odtišaj račun", + "message": "Potrdite umik utišanja %s" + }, + "confirm_block_user": { + "title": "Blokiraj račun", + "message": "Potrdite za blokado %s" + }, + "confirm_unblock_user": { + "title": "Odblokiraj račun", + "message": "Potrdite za umik blokade %s" + }, + "confirm_show_reblogs": { + "title": "Pokaži poobjave", + "message": "Potrdite, da bodo poobjave prikazane" + }, + "confirm_hide_reblogs": { + "title": "Skrij poobjave", + "message": "Potrdite, da poobjave ne bodo prikazane" + } + }, + "accessibility": { + "show_avatar_image": "Pokaži sliko avatarja", + "edit_avatar_image": "Uredi sliko avatarja", + "show_banner_image": "Pokaži sliko pasice", + "double_tap_to_open_the_list": "Dvakrat tapnite, da se odpre seznam" + } + }, + "follower": { + "title": "sledilec", + "footer": "Sledilci z drugih strežnikov niso prikazani." + }, + "following": { + "title": "sledi", + "footer": "Sledenje z drugih strežnikov ni prikazano." + }, + "familiarFollowers": { + "title": "Znani sledilci", + "followed_by_names": "Sledijo %s" + }, + "favorited_by": { + "title": "Med priljubljene dal_a" + }, + "reblogged_by": { + "title": "Poobjavil_a" + }, + "search": { + "title": "Iskanje", + "search_bar": { + "placeholder": "Išči ključnike in uporabnike", + "cancel": "Prekliči" + }, + "recommend": { + "button_text": "Prikaži vse", + "hash_tag": { + "title": "V trendu na Mastodonu", + "description": "Ključniki, ki imajo veliko pozornosti", + "people_talking": "%s oseb se pogovarja" + }, + "accounts": { + "title": "Računi, ki vam bi bili morda všeč", + "description": "Morda želite slediti tem računom", + "follow": "Sledi" + } + }, + "searching": { + "segment": { + "all": "Vse", + "people": "Ljudje", + "hashtags": "Ključniki", + "posts": "Objave" + }, + "empty_state": { + "no_results": "Ni rezultatov" + }, + "recent_search": "Nedavna iskanja", + "clear": "Počisti" + } + }, + "discovery": { + "tabs": { + "posts": "Objave", + "hashtags": "Ključniki", + "news": "Novice", + "community": "Skupnost", + "for_you": "Za vas" + }, + "intro": "To so objave, ki plenijo pozornost na vašem koncu Mastodona." + }, + "favorite": { + "title": "Vaši priljubljeni" + }, + "notification": { + "title": { + "Everything": "Vse", + "Mentions": "Omembe" + }, + "notification_description": { + "followed_you": "vam sledi", + "favorited_your_post": "je vzljubil/a vašo objavo", + "reblogged_your_post": "je poobjavil_a vašo objavo", + "mentioned_you": "vas je omenil/a", + "request_to_follow_you": "vas je zaprosil za sledenje", + "poll_has_ended": "anketa je zaključena" + }, + "keyobard": { + "show_everything": "Pokaži vse", + "show_mentions": "Pokaži omembe" + }, + "follow_request": { + "accept": "Sprejmi", + "accepted": "Sprejeto", + "reject": "Zavrni", + "rejected": "Zavrnjeno" + } + }, + "thread": { + "back_title": "Objavi", + "title": "Objavil/a" + }, + "settings": { + "title": "Nastavitve", + "section": { + "appearance": { + "title": "Videz", + "automatic": "Samodejno", + "light": "Vedno svetlo", + "dark": "Vedno temno" + }, + "look_and_feel": { + "title": "Videz in občutek", + "use_system": "Uporabi sistemsko", + "really_dark": "Zares temno", + "sorta_dark": "Nekako temno", + "light": "Svetlo" + }, + "notifications": { + "title": "Obvestila", + "favorites": "mojo objavo da med priljubljene", + "follows": "me sledi", + "boosts": "prepošlje mojo objavo", + "mentions": "me omeni", + "trigger": { + "anyone": "kdor koli", + "follower": "sledilec/ka", + "follow": "nekdo, ki mu sledim,", + "noone": "nihče", + "title": "Obvesti me, ko" + } + }, + "preference": { + "title": "Nastavitve", + "true_black_dark_mode": "Resnično črni temni način", + "disable_avatar_animation": "Onemogoči animirane avatarje", + "disable_emoji_animation": "Onemogoči animirane emotikone", + "using_default_browser": "Uporabi privzeti brskalnik za odpiranje povezav", + "open_links_in_mastodon": "Odpri povezave v Mastodonu" + }, + "boring_zone": { + "title": "Cona dolgočasja", + "account_settings": "Nastavitve računa", + "terms": "Pogoji uporabe", + "privacy": "Pravilnik o zasebnosti" + }, + "spicy_zone": { + "title": "Pikantna cona", + "clear": "Počisti medijski predpomnilnik", + "signout": "Odjava" + } + }, + "footer": { + "mastodon_description": "Mastodon je odprtokodna programska oprema. Na GitHubu na %s (%s) lahko poročate o napakah" + }, + "keyboard": { + "close_settings_window": "Zapri okno nastavitev" + } + }, + "report": { + "title_report": "Poročaj", + "title": "Prijavi %s", + "step1": "Korak 1 od 2", + "step2": "Korak 2 od 2", + "content1": "Ali so še kakšne druge objave, ki bi jih želeli dodati k prijavi?", + "content2": "Je kaj, kar bi moderatorji morali vedeti o tem poročilu?", + "report_sent_title": "Hvala za poročilo, bomo preverili.", + "send": "Pošlji poročilo", + "skip_to_send": "Pošlji brez komentarja", + "text_placeholder": "Vnesite ali prilepite dodatne komentarje", + "reported": "PRIJAVLJEN", + "step_one": { + "step_1_of_4": "Korak 1 od 4", + "whats_wrong_with_this_post": "Kaj je narobe s to objavo?", + "whats_wrong_with_this_account": "Kaj je narobe s tem računom?", + "whats_wrong_with_this_username": "Kaj je narobe s/z %s?", + "select_the_best_match": "Izberite najboljši zadetek", + "i_dont_like_it": "Ni mi všeč", + "it_is_not_something_you_want_to_see": "To ni tisto, kar želite videti", + "its_spam": "To je neželena vsebina", + "malicious_links_fake_engagement_or_repetetive_replies": "Škodljive povezave, lažno prizadevanje ali ponavljajoči se odgovori", + "it_violates_server_rules": "Krši strežniška pravila", + "you_are_aware_that_it_breaks_specific_rules": "Zavedate se, da krši določena pravila", + "its_something_else": "Gre za nekaj drugega", + "the_issue_does_not_fit_into_other_categories": "Težava ne sodi v druge kategorije" + }, + "step_two": { + "step_2_of_4": "Korak 2 od 4", + "which_rules_are_being_violated": "Katera pravila so kršena?", + "select_all_that_apply": "Izberite vse, kar ustreza", + "i_just_don’t_like_it": "Ni mi všeč" + }, + "step_three": { + "step_3_of_4": "Korak 3 od 4", + "are_there_any_posts_that_back_up_this_report": "Ali so kakšne objave, ki dokazujejo trditve iz tega poročila?", + "select_all_that_apply": "Izberite vse, kar ustreza" + }, + "step_four": { + "step_4_of_4": "Korak 4 od 4", + "is_there_anything_else_we_should_know": "Je še kaj, za kar menite, da bi morali vedeti?" + }, + "step_final": { + "dont_want_to_see_this": "Ne želite videti tega?", + "when_you_see_something_you_dont_like_on_mastodon_you_can_remove_the_person_from_your_experience.": "Če vidite nekaj, česar na Masodonu ne želite, lahko odstranite osebo iz svoje izkušnje.", + "unfollow": "Prenehaj slediti", + "unfollowed": "Ne sledi več", + "unfollow_user": "Prenehaj slediti %s", + "mute_user": "Utišaj %s", + "you_wont_see_their_posts_or_reblogs_in_your_home_feed_they_wont_know_they_ve_been_muted": "Njihovih objav ali poobjav ne boste videli v svojem domačem viru. Ne bodo vedeli, da so utišani.", + "block_user": "Blokiraj %s", + "they_will_no_longer_be_able_to_follow_or_see_your_posts_but_they_can_see_if_theyve_been_blocked": "Nič več ne bodo mogli slediti ali videti vaše objave, lahko pa vidijo, če so blokirani.", + "while_we_review_this_you_can_take_action_against_user": "Medtem, ko to pregledujemo, lahko proti %s ukrepate" + } + }, + "preview": { + "keyboard": { + "close_preview": "Zapri predogled", + "show_next": "Pokaži naslednje", + "show_previous": "Pokaži prejšnje" + } + }, + "account_list": { + "tab_bar_hint": "Trenutno izbran profil: %s. Dvakrat tapnite, nato držite, da se pojavi preklopnik med računi.", + "dismiss_account_switcher": "Umakni preklopnik med računi", + "add_account": "Dodaj račun" + }, + "wizard": { + "new_in_mastodon": "Novo v Mastodonu", + "multiple_account_switch_intro_description": "Preklopite med več računi s pritiskom gumba profila.", + "accessibility_hint": "Dvakrat tapnite, da zapustite tega čarovnika" + }, + "bookmark": { + "title": "Bookmarks" + } + } +} diff --git a/Localization/StringsConvertor/input/sl.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/sl.lproj/ios-infoPlist.json new file mode 100644 index 000000000..82c65a50a --- /dev/null +++ b/Localization/StringsConvertor/input/sl.lproj/ios-infoPlist.json @@ -0,0 +1,6 @@ +{ + "NSCameraUsageDescription": "Uporabljeno za zajem fotografij za stanje objave", + "NSPhotoLibraryAddUsageDescription": "Uporabljeno za shranjevanje fotografije v knjižnico fotografij", + "NewPostShortcutItemTitle": "Nova objava", + "SearchShortcutItemTitle": "Iskanje" +} diff --git a/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict index 27ef9fb53..048af4732 100644 --- a/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/sv.lproj/Localizable.stringsdict @@ -90,7 +90,7 @@ one inlägg other - inläggen + inlägg plural.count.media @@ -152,9 +152,9 @@ NSStringFormatValueTypeKey ld one - %ld ompostning + %ld puff other - %ld ompostningar + %ld puffar plural.count.reply diff --git a/Localization/StringsConvertor/input/sv.lproj/app.json b/Localization/StringsConvertor/input/sv.lproj/app.json index 537d6a270..85f243b03 100644 --- a/Localization/StringsConvertor/input/sv.lproj/app.json +++ b/Localization/StringsConvertor/input/sv.lproj/app.json @@ -28,7 +28,7 @@ } }, "edit_profile_failure": { - "title": "Profilredigering misslyckades", + "title": "Kunde inte redigera profil", "message": "Kan inte redigera profil. Var god försök igen." }, "sign_out": { @@ -113,7 +113,7 @@ "open_author_profile": "Öppna författarens profil", "open_reblogger_profile": "Öppna ompostarens profil", "reply_status": "Svara på inlägg", - "toggle_reblog": "Växla ompostning på inlägg", + "toggle_reblog": "Växla puff på inlägg", "toggle_favorite": "Växla favorit på inlägg", "toggle_content_warning": "Växla innehållsvarning", "preview_image": "Förhandsgranska bild" @@ -124,7 +124,7 @@ } }, "status": { - "user_reblogged": "%s ompostade", + "user_reblogged": "%s puffade", "user_replied_to": "Svarade på %s", "show_post": "Visa inlägg", "show_user_profile": "Visa användarprofil", @@ -138,8 +138,8 @@ }, "actions": { "reply": "Svara", - "reblog": "Omposta", - "unreblog": "Ångra ompostning", + "reblog": "Puffa", + "unreblog": "Ångra puff", "favorite": "Favorit", "unfavorite": "Ta bort favorit", "menu": "Meny", @@ -180,7 +180,9 @@ "unmute": "Avtysta", "unmute_user": "Avtysta %s", "muted": "Tystad", - "edit_info": "Redigera info" + "edit_info": "Redigera info", + "show_reblogs": "Visa knuffar", + "hide_reblogs": "Dölj puffar" }, "timeline": { "filtered": "Filtrerat", @@ -418,7 +420,7 @@ }, "profile": { "header": { - "follows_you": "Follows You" + "follows_you": "Följer dig" }, "dashboard": { "posts": "inlägg", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Avblockera konto", "message": "Bekräfta för att avblockera %s" + }, + "confirm_show_reblogs": { + "title": "Visa puffar", + "message": "Bekräfta för att visa puffar" + }, + "confirm_hide_reblogs": { + "title": "Dölj puffar", + "message": "Bekräfta för att dölja puffar" } }, "accessibility": { @@ -480,7 +490,7 @@ "title": "Favoriserad av" }, "reblogged_by": { - "title": "Ompostat av" + "title": "Puffat av" }, "search": { "title": "Sök", @@ -536,7 +546,7 @@ "notification_description": { "followed_you": "följde dig", "favorited_your_post": "favoriserade ditt inlägg", - "reblogged_your_post": "ompostade ditt inlägg", + "reblogged_your_post": "puffade ditt inlägg", "mentioned_you": "nämnde dig", "request_to_follow_you": "begär att följa dig", "poll_has_ended": "omröstningen har avslutats" @@ -546,10 +556,10 @@ "show_mentions": "Visa omnämningar" }, "follow_request": { - "accept": "Accept", - "accepted": "Accepted", - "reject": "reject", - "rejected": "Rejected" + "accept": "Godkänn", + "accepted": "Godkänd", + "reject": "avvisa", + "rejected": "Avvisad" } }, "thread": { @@ -577,7 +587,7 @@ "favorites": "Favoriserar mitt inlägg", "follows": "Följer mig", "boosts": "Ompostar mitt inlägg", - "mentions": "Omnämner mig", + "mentions": "Nämner mig", "trigger": { "anyone": "alla", "follower": "en följare", @@ -684,6 +694,9 @@ "new_in_mastodon": "Nytt i Mastodon", "multiple_account_switch_intro_description": "Växla mellan flera konton genom att hålla inne profilknappen.", "accessibility_hint": "Dubbeltryck för att avvisa den här guiden" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/th.lproj/app.json b/Localization/StringsConvertor/input/th.lproj/app.json index 85d2d52ae..763b827cd 100644 --- a/Localization/StringsConvertor/input/th.lproj/app.json +++ b/Localization/StringsConvertor/input/th.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "เลิกซ่อน", "unmute_user": "เลิกซ่อน %s", "muted": "ซ่อนอยู่", - "edit_info": "แก้ไขข้อมูล" + "edit_info": "แก้ไขข้อมูล", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "กรองอยู่", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "เลิกปิดกั้นบัญชี", "message": "ยืนยันเพื่อเลิกปิดกั้น %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "มาใหม่ใน Mastodon", "multiple_account_switch_intro_description": "สลับระหว่างหลายบัญชีโดยกดปุ่มโปรไฟล์ค้างไว้", "accessibility_hint": "แตะสองครั้งเพื่อปิดตัวช่วยสร้างนี้" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict index 3da12ee4e..29df92c2b 100644 --- a/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict +++ b/Localization/StringsConvertor/input/tr.lproj/Localizable.stringsdict @@ -234,7 +234,7 @@ one 1 takip edilen other - %ld takip edilen + %ld takip plural.count.follower diff --git a/Localization/StringsConvertor/input/tr.lproj/app.json b/Localization/StringsConvertor/input/tr.lproj/app.json index 27fb4e2b6..cef7fd7f4 100644 --- a/Localization/StringsConvertor/input/tr.lproj/app.json +++ b/Localization/StringsConvertor/input/tr.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Susturmayı kaldır", "unmute_user": "Sesini aç %s", "muted": "Susturuldu", - "edit_info": "Bilgiyi Düzenle" + "edit_info": "Bilgiyi Düzenle", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "Filtrelenmiş", @@ -241,7 +243,7 @@ }, "input": { "placeholder": "Toplulukları ara", - "search_servers_or_enter_url": "Search servers or enter URL" + "search_servers_or_enter_url": "Sunucuları ara ya da bir bağlantı gir" }, "empty_state": { "finding_servers": "Mevcut sunucular aranıyor...", @@ -251,7 +253,7 @@ }, "register": { "title": "%s için kurulumunuzu yapalım", - "lets_get_you_set_up_on_domain": "Let’s get you set up on %s", + "lets_get_you_set_up_on_domain": "%s için kurulumunuzu yapalım", "input": { "avatar": { "delete": "Sil" @@ -286,7 +288,7 @@ "email": "E-posta", "password": "Parola", "agreement": "Anlaşma", - "locale": "Locale", + "locale": "Yerel", "reason": "Sebep" }, "reason": { @@ -322,7 +324,7 @@ "confirm_email": { "title": "Son bir şey.", "subtitle": "Hesabınızı doğrulamak için size e-postayla gönderdiğimiz bağlantıya dokunun.", - "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": "Hesabınızı doğrulamak için size e-postayla gönderdiğimiz bağlantıya dokunun", "button": { "open_email_app": "E-posta Uygulamasını Aç", "resend": "Yeniden gönder" @@ -347,7 +349,7 @@ "published": "Yayınlandı!", "Publishing": "Gönderi yayınlanıyor...", "accessibility": { - "logo_label": "Logo Button", + "logo_label": "Logo Düğmesi", "logo_hint": "Tap to scroll to top and tap again to previous location" } } @@ -418,7 +420,7 @@ }, "profile": { "header": { - "follows_you": "Follows You" + "follows_you": "Seni takip ediyor" }, "dashboard": { "posts": "gönderiler", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "Hesabın Engelini Kaldır", "message": "%s engellemeyi kaldırmayı onaylayın" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -465,11 +475,11 @@ } }, "follower": { - "title": "follower", + "title": "takipçi", "footer": "Diğer sunucudaki takipçiler gösterilemiyor." }, "following": { - "title": "following", + "title": "takip", "footer": "Diğer sunucudaki takip edilenler gösterilemiyor." }, "familiarFollowers": { @@ -660,8 +670,8 @@ "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": "Takibi bırak", "unfollowed": "Unfollowed", - "unfollow_user": "Unfollow %s", - "mute_user": "Mute %s", + "unfollow_user": "Takipten çık %s", + "mute_user": "Sustur %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.", @@ -684,6 +694,9 @@ "new_in_mastodon": "Mastodon'da Yeni", "multiple_account_switch_intro_description": "Profil butonuna basılı tutarak birden fazla hesap arasında geçiş yapın.", "accessibility_hint": "Bu yardımı kapatmak için çift tıklayın" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict new file mode 100644 index 000000000..cdf35477e --- /dev/null +++ b/Localization/StringsConvertor/input/uk.lproj/Localizable.stringsdict @@ -0,0 +1,561 @@ + + + + + a11y.plural.count.unread.notification + + NSStringLocalizedFormatKey + %#@notification_count_unread_notification@ + notification_count_unread_notification + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 unread notification + few + %ld unread notification + many + %ld 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 + few + %ld characters + many + %ld characters + other + %ld characters + + + a11y.plural.count.input_limit_remains + + NSStringLocalizedFormatKey + Input limit remains %#@character_count@ + 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 + %#@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 + post + few + posts + many + posts + other + posts + + + plural.count.media + + NSStringLocalizedFormatKey + %#@media_count@ + media_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 media + few + %ld media + many + %ld media + other + %ld media + + + plural.count.post + + NSStringLocalizedFormatKey + %#@post_count@ + post_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 post + few + %ld posts + many + %ld posts + other + %ld posts + + + plural.count.favorite + + NSStringLocalizedFormatKey + %#@favorite_count@ + favorite_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 favorite + 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 reply + few + %ld replies + many + %ld replies + other + %ld replies + + + plural.count.vote + + NSStringLocalizedFormatKey + %#@vote_count@ + vote_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 vote + few + %ld votes + many + %ld votes + other + %ld votes + + + plural.count.voter + + NSStringLocalizedFormatKey + %#@voter_count@ + voter_count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 voter + few + %ld voters + many + %ld voters + other + %ld voters + + + 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 following + few + %ld following + many + %ld following + other + %ld following + + + 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 + 1 year left + few + %ld years left + many + %ld years left + other + %ld years left + + + date.month.left + + NSStringLocalizedFormatKey + %#@count_month_left@ + count_month_left + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + ld + one + 1 months left + 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/Localization/StringsConvertor/input/uk.lproj/app.json b/Localization/StringsConvertor/input/uk.lproj/app.json new file mode 100644 index 000000000..80b0882d9 --- /dev/null +++ b/Localization/StringsConvertor/input/uk.lproj/app.json @@ -0,0 +1,702 @@ +{ + "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": "Sign In", + "sign_up": "Sign Up", + "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" + }, + "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" + }, + "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.", + "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": { + "placeholder": "Search servers", + "search_servers_or_enter_url": "Search servers 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..." + }, + "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" + }, + "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" + }, + "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" + } + }, + "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" + } + } +} diff --git a/Localization/StringsConvertor/input/uk.lproj/ios-infoPlist.json b/Localization/StringsConvertor/input/uk.lproj/ios-infoPlist.json new file mode 100644 index 000000000..c6db73de0 --- /dev/null +++ b/Localization/StringsConvertor/input/uk.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" +} diff --git a/Localization/StringsConvertor/input/vi.lproj/app.json b/Localization/StringsConvertor/input/vi.lproj/app.json index 5d6df6910..b857399b3 100644 --- a/Localization/StringsConvertor/input/vi.lproj/app.json +++ b/Localization/StringsConvertor/input/vi.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "Bỏ ẩn", "unmute_user": "Bỏ ẩn %s", "muted": "Đã ẩn", - "edit_info": "Chỉnh sửa" + "edit_info": "Chỉnh sửa", + "show_reblogs": "Hiện đăng lại", + "hide_reblogs": "Ẩn đăng lại" }, "timeline": { "filtered": "Bộ lọc", @@ -198,7 +200,7 @@ "user_blocking_warning": "Bạn không thể xem trang %s\ncho tới khi bạn bỏ chặn họ.\nHọ sẽ thấy trang của bạn như thế này.", "blocked_warning": "Bạn không thể xem trang người này\ncho tới khi họ bỏ chặn bạn.", "user_blocked_warning": "Bạn không thể xem trang %s\ncho tới khi họ bỏ chặn bạn.", - "suspended_warning": "Người dùng đã bị vô hiệu hóa.", + "suspended_warning": "Người này đã bị vô hiệu hóa.", "user_suspended_warning": "%s đã bị vô hiệu hóa." } } @@ -236,7 +238,7 @@ }, "label": { "language": "NGÔN NGỮ", - "users": "NGƯỜI DÙNG", + "users": "NGƯỜI", "category": "PHÂN LOẠI" }, "input": { @@ -261,7 +263,7 @@ "duplicate_prompt": "Tên người dùng đã tồn tại." }, "display_name": { - "placeholder": "tên hiển thị" + "placeholder": "biệt danh" }, "email": { "placeholder": "email" @@ -392,7 +394,7 @@ "visibility": { "public": "Công khai", "unlisted": "Hạn chế", - "private": "Riêng tư", + "private": "Chỉ người theo dõi", "direct": "Nhắn riêng" }, "auto_complete": { @@ -441,20 +443,28 @@ }, "relationship_action_alert": { "confirm_mute_user": { - "title": "Ẩn người dùng", + "title": "Ẩn người này", "message": "Xác nhận ẩn %s" }, "confirm_unmute_user": { - "title": "Bỏ ẩn người dùng", + "title": "Bỏ ẩn người này", "message": "Xác nhận bỏ ẩn %s" }, "confirm_block_user": { - "title": "Chặn người dùng", + "title": "Chặn người này", "message": "Xác nhận chặn %s" }, "confirm_unblock_user": { - "title": "Bỏ chặn người dùng", + "title": "Bỏ chặn người này", "message": "Xác nhận bỏ chặn %s" + }, + "confirm_show_reblogs": { + "title": "Hiện đăng lại", + "message": "Xác nhận hiện đăng lại" + }, + "confirm_hide_reblogs": { + "title": "Ẩn đăng lại", + "message": "Xác nhận ẩn đăng lại" } }, "accessibility": { @@ -485,13 +495,13 @@ "search": { "title": "Tìm kiếm", "search_bar": { - "placeholder": "Tìm hashtag và người dùng", + "placeholder": "Tìm hashtag và mọi người", "cancel": "Hủy bỏ" }, "recommend": { "button_text": "Xem tất cả", "hash_tag": { - "title": "Xu hướng trên Mastodon", + "title": "Nổi bật trên Mastodon", "description": "Những hashtag đang được sử dụng nhiều nhất", "people_talking": "%s người đang thảo luận" }, @@ -504,7 +514,7 @@ "searching": { "segment": { "all": "Tất cả", - "people": "Người dùng", + "people": "Mọi người", "hashtags": "Hashtag", "posts": "Tút" }, @@ -684,6 +694,9 @@ "new_in_mastodon": "Mới trên Mastodon", "multiple_account_switch_intro_description": "Chuyển đổi giữa nhiều tài khoản bằng cách đè giữ nút tài khoản.", "accessibility_hint": "Nhấn hai lần để bỏ qua" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json index 90dbfc60e..7f3703b8a 100644 --- a/Localization/StringsConvertor/input/zh-Hans.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hans.lproj/app.json @@ -180,7 +180,9 @@ "unmute": "取消静音", "unmute_user": "取消静音 %s", "muted": "已静音", - "edit_info": "编辑" + "edit_info": "编辑", + "show_reblogs": "Show Reblogs", + "hide_reblogs": "Hide Reblogs" }, "timeline": { "filtered": "已过滤", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "解除屏蔽帐户", "message": "确认取消屏蔽 %s" + }, + "confirm_show_reblogs": { + "title": "Show Reblogs", + "message": "Confirm to show reblogs" + }, + "confirm_hide_reblogs": { + "title": "Hide Reblogs", + "message": "Confirm to hide reblogs" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "新功能", "multiple_account_switch_intro_description": "按住个人资料标签按钮,即可在多个账户之间进行切换。", "accessibility_hint": "双击关闭此向导" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} diff --git a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json index b146a2942..ae497109e 100644 --- a/Localization/StringsConvertor/input/zh-Hant.lproj/app.json +++ b/Localization/StringsConvertor/input/zh-Hant.lproj/app.json @@ -37,7 +37,7 @@ "confirm": "登出" }, "block_domain": { - "title": "真的非常確定封鎖整個 %s 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳帳戶能滿足需求了。您將不能看到來自此網域的內容。您來自該網域的跟隨者也將被移除。", + "title": "真的非常確定要封鎖整個 %s 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳號能滿足需求了。您將不能看到來自此網域的內容。您來自該網域的跟隨者也將被移除。", "block_entire_domain": "封鎖網域" }, "save_photo_failure": { @@ -180,7 +180,9 @@ "unmute": "取消靜音", "unmute_user": "取消靜音 %s", "muted": "已靜音", - "edit_info": "編輯" + "edit_info": "編輯", + "show_reblogs": "顯示轉嘟", + "hide_reblogs": "隱藏轉嘟" }, "timeline": { "filtered": "已過濾", @@ -455,6 +457,14 @@ "confirm_unblock_user": { "title": "取消封鎖", "message": "確認將 %s 取消封鎖" + }, + "confirm_show_reblogs": { + "title": "顯示轉嘟", + "message": "確認顯示轉嘟" + }, + "confirm_hide_reblogs": { + "title": "隱藏轉嘟", + "message": "確認隱藏轉嘟" } }, "accessibility": { @@ -684,6 +694,9 @@ "new_in_mastodon": "Mastodon 新功能", "multiple_account_switch_intro_description": "按住個人檔案按鈕以於多個帳號間切換。", "accessibility_hint": "點兩下以關閉此設定精靈" + }, + "bookmark": { + "title": "Bookmarks" } } -} \ No newline at end of file +} From b5943d48cfe2bbb4ea4f8c939f4ced5d8e4b39e1 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Wed, 9 Nov 2022 07:37:37 +0100 Subject: [PATCH 26/31] Generate new localized strings --- MastodonIntent/sv.lproj/Intents.strings | 2 +- MastodonIntent/vi.lproj/Intents.strings | 2 +- .../Generated/Strings.swift | 8 +- .../Resources/ar.lproj/Localizable.strings | 7 + .../Resources/ca.lproj/Localizable.strings | 7 + .../Resources/ckb.lproj/Localizable.strings | 7 + .../Resources/de.lproj/Localizable.strings | 103 +++++++------ .../de.lproj/Localizable.stringsdict | 30 ++-- .../Resources/en.lproj/Localizable.strings | 19 +-- .../Resources/es.lproj/Localizable.strings | 7 + .../Resources/eu.lproj/Localizable.strings | 7 + .../Resources/fi.lproj/Localizable.strings | 7 + .../Resources/fr.lproj/Localizable.strings | 19 ++- .../Resources/gd.lproj/Localizable.strings | 140 +++++++++--------- .../gd.lproj/Localizable.stringsdict | 24 +-- .../Resources/gl.lproj/Localizable.strings | 7 + .../Resources/it.lproj/Localizable.strings | 7 + .../Resources/ja.lproj/Localizable.strings | 7 + .../Resources/kab.lproj/Localizable.strings | 9 +- .../Resources/ku.lproj/Localizable.strings | 7 + .../Resources/nl.lproj/Localizable.strings | 7 + .../Resources/ru.lproj/Localizable.strings | 7 + .../Resources/sv.lproj/Localizable.strings | 33 +++-- .../sv.lproj/Localizable.stringsdict | 6 +- .../Resources/th.lproj/Localizable.strings | 7 + .../Resources/tr.lproj/Localizable.strings | 27 ++-- .../tr.lproj/Localizable.stringsdict | 2 +- .../Resources/vi.lproj/Localizable.strings | 29 ++-- .../zh-Hans.lproj/Localizable.strings | 7 + .../zh-Hant.lproj/Localizable.strings | 9 +- 30 files changed, 353 insertions(+), 207 deletions(-) diff --git a/MastodonIntent/sv.lproj/Intents.strings b/MastodonIntent/sv.lproj/Intents.strings index 526e495d2..793922506 100644 --- a/MastodonIntent/sv.lproj/Intents.strings +++ b/MastodonIntent/sv.lproj/Intents.strings @@ -38,7 +38,7 @@ "ehFLjY" = "Endast följare"; -"gfePDu" = "Publicering misslyckades. ${failureReason}"; +"gfePDu" = "Kunde inte publicera. ${failureReason}"; "k7dbKQ" = "Inlägget har publicerats."; diff --git a/MastodonIntent/vi.lproj/Intents.strings b/MastodonIntent/vi.lproj/Intents.strings index a95337317..80c01c640 100644 --- a/MastodonIntent/vi.lproj/Intents.strings +++ b/MastodonIntent/vi.lproj/Intents.strings @@ -30,7 +30,7 @@ "ayoYEb-dYQ5NN" = "${content}, Công khai"; -"ayoYEb-ehFLjY" = "${content}, Riêng tư"; +"ayoYEb-ehFLjY" = "${content}, Chỉ người theo dõi"; "dUyuGg" = "Đăng lên Mastodon"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift index 52ed59c09..0ee85cdc8 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift +++ b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift @@ -291,8 +291,6 @@ public enum L10n { return L10n.tr("Localizable", "Common.Controls.Status.UserRepliedTo", String(describing: p1)) } public enum Actions { - /// Bookmark - public static let bookmark = L10n.tr("Localizable", "Common.Controls.Status.Actions.Bookmark") /// Favorite public static let favorite = L10n.tr("Localizable", "Common.Controls.Status.Actions.Favorite") /// Hide @@ -311,8 +309,6 @@ public enum L10n { public static let showVideoPlayer = L10n.tr("Localizable", "Common.Controls.Status.Actions.ShowVideoPlayer") /// Tap then hold to show menu public static let tapThenHoldToShowMenu = L10n.tr("Localizable", "Common.Controls.Status.Actions.TapThenHoldToShowMenu") - /// Unbookmark - public static let unbookmark = L10n.tr("Localizable", "Common.Controls.Status.Actions.Unbookmark") /// Unfavorite public static let unfavorite = L10n.tr("Localizable", "Common.Controls.Status.Actions.Unfavorite") /// Undo reblog @@ -412,7 +408,7 @@ public enum L10n { } } public enum Bookmark { - /// Your Bookmarks + /// Bookmarks public static let title = L10n.tr("Localizable", "Scene.Bookmark.Title") } public enum Compose { @@ -716,7 +712,7 @@ public enum L10n { public enum ConfirmHideReblogs { /// Confirm to hide reblogs public static let message = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message") - /// Hide reblogs + /// Hide Reblogs public static let title = L10n.tr("Localizable", "Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title") } public enum ConfirmMuteUser { diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings index 3814c14a7..9ecfa450e 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ar.lproj/Localizable.strings @@ -68,11 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "تَحريرُ المَعلُومات"; "Common.Controls.Friendship.Follow" = "مُتابَعَة"; "Common.Controls.Friendship.Following" = "مُتابَع"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "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.Unblock" = "رفع الحَظر"; "Common.Controls.Friendship.UnblockUser" = "رفع الحَظر عن %@"; "Common.Controls.Friendship.Unmute" = "رفع الكتم"; @@ -149,6 +151,7 @@ "Scene.AccountList.AddAccount" = "إضافَةُ حِساب"; "Scene.AccountList.DismissAccountSwitcher" = "تجاهُل مبدِّل الحِساب"; "Scene.AccountList.TabBarHint" = "المِلَفُّ المُحدَّدُ حالِيًّا: %@. اُنقُر نَقرًا مُزدَوَجًا مَعَ الاِستِمرارِ لِإظهارِ مُبدِّلِ الحِساب"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "إضافة مُرفَق"; "Scene.Compose.Accessibility.AppendPoll" = "اضافة استطلاع رأي"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "منتقي الرموز التعبيرية المُخصَّص"; @@ -253,8 +256,12 @@ "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.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.ConfirmUnblockUser.Message" = "تأكيدُ رَفع الحَظرِ عَن %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "رَفعُ الحَظرِ عَنِ الحِساب"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "أكِّد لرفع الكتمْ عن %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings index 5e11b147a..1e691f8a9 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ca.lproj/Localizable.strings @@ -68,11 +68,13 @@ Comprova la teva connexió a Internet."; "Common.Controls.Friendship.EditInfo" = "Edita"; "Common.Controls.Friendship.Follow" = "Segueix"; "Common.Controls.Friendship.Following" = "Seguint"; +"Common.Controls.Friendship.HideReblogs" = "Amaga els impulsos"; "Common.Controls.Friendship.Mute" = "Silencia"; "Common.Controls.Friendship.MuteUser" = "Silencia %@"; "Common.Controls.Friendship.Muted" = "Silenciat"; "Common.Controls.Friendship.Pending" = "Pendent"; "Common.Controls.Friendship.Request" = "Petició"; +"Common.Controls.Friendship.ShowReblogs" = "Mostra els impulsos"; "Common.Controls.Friendship.Unblock" = "Desbloqueja"; "Common.Controls.Friendship.UnblockUser" = "Desbloqueja %@"; "Common.Controls.Friendship.Unmute" = "Deixa de silenciar"; @@ -149,6 +151,7 @@ El teu perfil els sembla així."; "Scene.AccountList.AddAccount" = "Afegir compte"; "Scene.AccountList.DismissAccountSwitcher" = "Descartar el commutador de comptes"; "Scene.AccountList.TabBarHint" = "Perfil actual seleccionat: %@. Toca dues vegades i manté el dit per a mostrar el commutador de comptes"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Afegeix Adjunt"; "Scene.Compose.Accessibility.AppendPoll" = "Afegir enquesta"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector d'Emoji Personalitzat"; @@ -253,8 +256,12 @@ carregat a Mastodon."; "Scene.Profile.Header.FollowsYou" = "Et segueix"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirma per a bloquejar %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloqueja el Compte"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirma per a amagar els impulsos"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Amaga Impulsos"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Confirma per a silenciar %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Silencia el Compte"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirma per a mostrar els impulsos"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Mostra els Impulsos"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Confirma per a desbloquejar %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Desbloqueja el Compte"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Confirma deixar de silenciar a %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings index 3653f3810..053211f28 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ckb.lproj/Localizable.strings @@ -68,11 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "دەستکاری"; "Common.Controls.Friendship.Follow" = "شوێنی بکەوە"; "Common.Controls.Friendship.Following" = "شوێنی دەکەویت"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "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.Unblock" = "ئاستەنگی مەکە"; "Common.Controls.Friendship.UnblockUser" = "%@ ئاستەنگ مەکە"; "Common.Controls.Friendship.Unmute" = "بێدەنگی مەکە"; @@ -149,6 +151,7 @@ "Scene.AccountList.AddAccount" = "هەژمارێک زیاد بکە"; "Scene.AccountList.DismissAccountSwitcher" = "پێڕستی هەژمارەکان دابخە"; "Scene.AccountList.TabBarHint" = "هەژماری ئێستا: %@. دوو جا دەستی پیا بنێ بۆ کردنەوەی پێڕستی هەژمارەکان."; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "پێوەکراوی پێوە بکە"; "Scene.Compose.Accessibility.AppendPoll" = "دەنگدان زیاد بکە"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "هەڵبژێری ئیمۆجی"; @@ -252,8 +255,12 @@ "Scene.Profile.Header.FollowsYou" = "Follows You"; "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.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.ConfirmUnblockUser.Message" = "دڵنیا ببەوە بۆ لابردنی ئاستەنگی %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "ئاستەنگی مەکە"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "دڵنیا ببەوە بۆ بێدەنگنەکردنی %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings index 3b1622945..0a78adc48 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.strings @@ -68,11 +68,13 @@ Bitte überprüfe deine Internetverbindung."; "Common.Controls.Friendship.EditInfo" = "Information bearbeiten"; "Common.Controls.Friendship.Follow" = "Folgen"; "Common.Controls.Friendship.Following" = "Folge Ich"; +"Common.Controls.Friendship.HideReblogs" = "Reblogs ausblenden"; "Common.Controls.Friendship.Mute" = "Stummschalten"; "Common.Controls.Friendship.MuteUser" = "%@ stummschalten"; "Common.Controls.Friendship.Muted" = "Stummgeschaltet"; "Common.Controls.Friendship.Pending" = "In Warteschlange"; "Common.Controls.Friendship.Request" = "Anfragen"; +"Common.Controls.Friendship.ShowReblogs" = "Reblogs anzeigen"; "Common.Controls.Friendship.Unblock" = "Blockierung aufheben"; "Common.Controls.Friendship.UnblockUser" = "Blockierung von %@ aufheben"; "Common.Controls.Friendship.Unmute" = "Nicht mehr stummschalten"; @@ -149,6 +151,7 @@ Dein Profil sieht für diesen Benutzer auch so aus."; "Scene.AccountList.AddAccount" = "Konto hinzufügen"; "Scene.AccountList.DismissAccountSwitcher" = "Dialog zum Wechseln des Kontos schließen"; "Scene.AccountList.TabBarHint" = "Aktuell ausgewähltes Profil: %@. Doppeltippen dann gedrückt halten, um den Kontoschalter anzuzeigen"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Anhang hinzufügen"; "Scene.Compose.Accessibility.AppendPoll" = "Umfrage hinzufügen"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Benutzerdefinierter Emojiwähler"; @@ -200,7 +203,7 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "E-Mail-Client öffnen"; "Scene.ConfirmEmail.OpenEmailApp.Title" = "Überprüfe deinen Posteingang."; "Scene.ConfirmEmail.Subtitle" = "Schaue kurz in dein E-Mail-Postfach und tippe den Link an, den wir dir gesendet haben."; -"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Tap the link we emailed to you to verify your account"; +"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Schaue kurz in dein E-Mail-Postfach und tippe den Link an, den wir dir gesendet haben"; "Scene.ConfirmEmail.Title" = "Noch eine letzte Sache."; "Scene.Discovery.Intro" = "Dies sind die Beiträge, die in deiner Umgebung auf Mastodon beliebter werden."; "Scene.Discovery.Tabs.Community" = "Community"; @@ -208,25 +211,25 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.Discovery.Tabs.Hashtags" = "Hashtags"; "Scene.Discovery.Tabs.News" = "Nachrichten"; "Scene.Discovery.Tabs.Posts" = "Beiträge"; -"Scene.Familiarfollowers.FollowedByNames" = "Followed by %@"; -"Scene.Familiarfollowers.Title" = "Followers you familiar"; +"Scene.Familiarfollowers.FollowedByNames" = "Gefolgt von %@"; +"Scene.Familiarfollowers.Title" = "Follower, die dir bekannt vorkommen"; "Scene.Favorite.Title" = "Deine Favoriten"; -"Scene.FavoritedBy.Title" = "Favorited By"; +"Scene.FavoritedBy.Title" = "Favorisiert von"; "Scene.Follower.Footer" = "Follower von anderen Servern werden nicht angezeigt."; -"Scene.Follower.Title" = "follower"; +"Scene.Follower.Title" = "Follower"; "Scene.Following.Footer" = "Wem das Konto folgt wird von anderen Servern werden nicht angezeigt."; -"Scene.Following.Title" = "following"; -"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location"; -"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button"; +"Scene.Following.Title" = "Folgende"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Zum Scrollen nach oben tippen und zum vorherigen Ort erneut tippen"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo-Button"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Neue Beiträge anzeigen"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Offline"; "Scene.HomeTimeline.NavigationBarState.Published" = "Veröffentlicht!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Beitrag wird veröffentlicht..."; "Scene.HomeTimeline.Title" = "Startseite"; -"Scene.Notification.FollowRequest.Accept" = "Accept"; -"Scene.Notification.FollowRequest.Accepted" = "Accepted"; -"Scene.Notification.FollowRequest.Reject" = "reject"; -"Scene.Notification.FollowRequest.Rejected" = "Rejected"; +"Scene.Notification.FollowRequest.Accept" = "Akzeptieren"; +"Scene.Notification.FollowRequest.Accepted" = "Akzeptiert"; +"Scene.Notification.FollowRequest.Reject" = "Ablehnen"; +"Scene.Notification.FollowRequest.Rejected" = "Abgelehnt"; "Scene.Notification.Keyobard.ShowEverything" = "Alles anzeigen"; "Scene.Notification.Keyobard.ShowMentions" = "Erwähnungen anzeigen"; "Scene.Notification.NotificationDescription.FavoritedYourPost" = "hat deinen Beitrag favorisiert"; @@ -250,11 +253,15 @@ 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.Header.FollowsYou" = "Follows You"; +"Scene.Profile.Header.FollowsYou" = "Folgt dir"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Bestätige %@ zu blockieren"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Konto blockieren"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Reblogs ausblenden"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Bestätige %@ stumm zu schalten"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Konto stummschalten"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Reblogs anzeigen"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Bestätige %@ zu entsperren"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Konto entsperren"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Bestätige um %@ nicht mehr stummzuschalten"; @@ -264,7 +271,7 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.Profile.SegmentedControl.Posts" = "Beiträge"; "Scene.Profile.SegmentedControl.PostsAndReplies" = "Beiträge und Antworten"; "Scene.Profile.SegmentedControl.Replies" = "Antworten"; -"Scene.RebloggedBy.Title" = "Reblogged By"; +"Scene.RebloggedBy.Title" = "Geteilt von"; "Scene.Register.Error.Item.Agreement" = "Vereinbarung"; "Scene.Register.Error.Item.Email" = "E-Mail"; "Scene.Register.Error.Item.Locale" = "Sprache"; @@ -297,7 +304,7 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.Register.Input.Password.Require" = "Anforderungen an dein Passwort:"; "Scene.Register.Input.Username.DuplicatePrompt" = "Dieser Benutzername ist vergeben."; "Scene.Register.Input.Username.Placeholder" = "Benutzername"; -"Scene.Register.LetsGetYouSetUpOnDomain" = "Let’s get you set up on %@"; +"Scene.Register.LetsGetYouSetUpOnDomain" = "Okay, lass uns mit %@ anfangen"; "Scene.Register.Title" = "Erzähle uns von dir."; "Scene.Report.Content1" = "Gibt es noch weitere Beiträge, die du der Meldung hinzufügen möchtest?"; "Scene.Report.Content2" = "Gibt es etwas, was die Moderatoren über diese Meldung wissen sollten?"; @@ -307,38 +314,38 @@ kann nicht auf Mastodon hochgeladen werden."; "Scene.Report.SkipToSend" = "Ohne Kommentar abschicken"; "Scene.Report.Step1" = "Schritt 1 von 2"; "Scene.Report.Step2" = "Schritt 2 von 2"; -"Scene.Report.StepFinal.BlockUser" = "Block %@"; -"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?"; -"Scene.Report.StepFinal.MuteUser" = "Mute %@"; -"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked."; -"Scene.Report.StepFinal.Unfollow" = "Unfollow"; -"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@"; -"Scene.Report.StepFinal.Unfollowed" = "Unfollowed"; -"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience."; -"Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "While we review this, you can take action against %@"; -"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted."; -"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?"; -"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4"; -"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it"; -"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see"; -"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules"; -"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else"; -"Scene.Report.StepOne.ItsSpam" = "It’s spam"; -"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies"; -"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match"; -"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4"; -"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories"; -"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?"; -"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?"; -"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?"; -"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules"; -"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?"; -"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply"; -"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4"; -"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it"; -"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply"; -"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4"; -"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?"; +"Scene.Report.StepFinal.BlockUser" = "%@ blockieren"; +"Scene.Report.StepFinal.DontWantToSeeThis" = "Du willst das nicht mehr sehen?"; +"Scene.Report.StepFinal.MuteUser" = "%@ stummschalten"; +"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "Du wirst die Beiträge von diesem Konto nicht sehen. Das Konto wird nicht in der Lage sein, deine Beiträge zu sehen oder dir zu folgen. Die Person hinter dem Konto wird wissen, dass du das Konto blockiert hast."; +"Scene.Report.StepFinal.Unfollow" = "Entfolgen"; +"Scene.Report.StepFinal.UnfollowUser" = "%@ entfolgen"; +"Scene.Report.StepFinal.Unfollowed" = "Entfolgt"; +"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "Wenn du etwas auf Mastodon nicht sehen willst, kannst du den Nutzer aus deiner Erfahrung streichen."; +"Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "Während wir dies überprüfen, kannst du gegen %@ vorgehen"; +"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "Du wirst die Beiträge vom Konto nicht mehr sehen. Das Konto kann dir immer noch folgen, und die Person hinter dem Konto wird deine Beiträge sehen können und nicht wissen, dass du sie stummgeschaltet hast."; +"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Gibt es etwas anderes, was wir wissen sollten?"; +"Scene.Report.StepFour.Step4Of4" = "Schritt 4 von 4"; +"Scene.Report.StepOne.IDontLikeIt" = "Mir gefällt das nicht"; +"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "Das ist etwas, das man nicht sehen möchte"; +"Scene.Report.StepOne.ItViolatesServerRules" = "Es verstößt gegen Serverregeln"; +"Scene.Report.StepOne.ItsSomethingElse" = "Das ist was anderes"; +"Scene.Report.StepOne.ItsSpam" = "Das ist Spam"; +"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Bösartige Links, gefälschtes Engagement oder wiederholte Antworten"; +"Scene.Report.StepOne.SelectTheBestMatch" = "Wähle die passende Kategorie"; +"Scene.Report.StepOne.Step1Of4" = "Schritt 1 von 4"; +"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "Das Problem passt nicht in die Kategorien"; +"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "Was stimmt mit diesem Konto nicht?"; +"Scene.Report.StepOne.WhatsWrongWithThisPost" = "Was stimmt mit diesem Beitrag nicht?"; +"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "Was ist los mit %@?"; +"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Du weißt, welche Regeln verletzt werden"; +"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Gibt es Beiträge, die diesen Bericht unterstützen?"; +"Scene.Report.StepThree.SelectAllThatApply" = "Alles Zutreffende auswählen"; +"Scene.Report.StepThree.Step3Of4" = "Schritt 3 von 4"; +"Scene.Report.StepTwo.IJustDon’tLikeIt" = "Das gefällt mir einfach nicht"; +"Scene.Report.StepTwo.SelectAllThatApply" = "Alles Zutreffende auswählen"; +"Scene.Report.StepTwo.Step2Of4" = "Schritt 2 von 4"; +"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Welche Regeln werden verletzt?"; "Scene.Report.TextPlaceholder" = "Zusätzliche Kommentare eingeben oder einfügen"; "Scene.Report.Title" = "%@ melden"; "Scene.Report.TitleReport" = "Melden"; @@ -379,7 +386,7 @@ kann nicht auf Mastodon hochgeladen werden."; "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" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Nach Server suchen oder URL eingeben"; "Scene.ServerPicker.Label.Category" = "KATEGORIE"; "Scene.ServerPicker.Label.Language" = "SPRACHE"; "Scene.ServerPicker.Label.Users" = "BENUTZER"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict index 3ea0fd0e3..c6a8a4297 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/de.lproj/Localizable.stringsdict @@ -21,7 +21,7 @@ a11y.plural.count.input_limit_exceeds NSStringLocalizedFormatKey - Eingabelimit überschritten %#@character_count@ + Zeichenanzahl um %#@character_count@ überschritten character_count NSStringFormatSpecTypeKey @@ -37,7 +37,7 @@ a11y.plural.count.input_limit_remains NSStringLocalizedFormatKey - Eingabelimit eingehalten %#@character_count@ + Noch %#@character_count@ übrig character_count NSStringFormatSpecTypeKey @@ -72,9 +72,9 @@ NSStringFormatValueTypeKey ld one - Followed by %1$@, and another mutual + Gefolgt von %1$@ und einer weiteren Person, der du folgst other - Followed by %1$@, and %ld mutuals + Gefolgt von %1$@ und %ld weiteren Personen, denen du folgst plural.count.metric_formatted.post @@ -104,9 +104,9 @@ NSStringFormatValueTypeKey ld one - 1 media + 1 Datei other - %ld media + %ld Dateien plural.count.post @@ -200,7 +200,7 @@ NSStringFormatValueTypeKey ld one - 1 Wähler + 1 Wähler:in other %ld Wähler @@ -216,9 +216,9 @@ NSStringFormatValueTypeKey ld one - 1 Mensch spricht + Eine Person redet other - %ld Leute reden + %ld Personen reden plural.count.following @@ -360,7 +360,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Jahr + vor einem Jahr other vor %ld Jahren @@ -376,7 +376,7 @@ NSStringFormatValueTypeKey ld one - vor 1 M + vor einem Monat other vor %ld Monaten @@ -392,7 +392,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Tag + vor einem Tag other vor %ld Tagen @@ -408,7 +408,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Stunde + vor einer Stunde other vor %ld Stunden @@ -424,7 +424,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Minute + vor einer Minute other vor %ld Minuten @@ -440,7 +440,7 @@ NSStringFormatValueTypeKey ld one - vor 1 Sekunde + vor einer Sekunde other vor %ld Sekuden diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings index 6917eb0c7..5375a81af 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings @@ -68,18 +68,17 @@ Please check your internet connection."; "Common.Controls.Friendship.EditInfo" = "Edit Info"; "Common.Controls.Friendship.Follow" = "Follow"; "Common.Controls.Friendship.Following" = "Following"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Mute"; "Common.Controls.Friendship.MuteUser" = "Mute %@"; "Common.Controls.Friendship.Muted" = "Muted"; "Common.Controls.Friendship.Pending" = "Pending"; "Common.Controls.Friendship.Request" = "Request"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Unblock"; "Common.Controls.Friendship.UnblockUser" = "Unblock %@"; "Common.Controls.Friendship.Unmute" = "Unmute"; "Common.Controls.Friendship.UnmuteUser" = "Unmute %@"; -"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; -"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; - "Common.Controls.Keyboard.Common.ComposeNewPost" = "Compose New Post"; "Common.Controls.Keyboard.Common.OpenSettings" = "Open Settings"; "Common.Controls.Keyboard.Common.ShowFavorites" = "Show Favorites"; @@ -107,8 +106,6 @@ Please check your internet connection."; "Common.Controls.Status.Actions.TapThenHoldToShowMenu" = "Tap then hold to show menu"; "Common.Controls.Status.Actions.Unfavorite" = "Unfavorite"; "Common.Controls.Status.Actions.Unreblog" = "Undo reblog"; -"Common.Controls.Status.Actions.Bookmark" = "Bookmark"; -"Common.Controls.Status.Actions.Unbookmark" = "Unbookmark"; "Common.Controls.Status.ContentWarning" = "Content Warning"; "Common.Controls.Status.MediaContentWarning" = "Tap anywhere to reveal"; "Common.Controls.Status.Poll.Closed" = "Closed"; @@ -154,7 +151,7 @@ Your profile looks like this to them."; "Scene.AccountList.AddAccount" = "Add Account"; "Scene.AccountList.DismissAccountSwitcher" = "Dismiss Account Switcher"; "Scene.AccountList.TabBarHint" = "Current selected profile: %@. Double tap then hold to show account switcher"; -"Scene.Bookmark.Title" = "Your Bookmarks"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Add Attachment"; "Scene.Compose.Accessibility.AppendPoll" = "Add Poll"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Custom Emoji Picker"; @@ -259,16 +256,16 @@ uploaded to Mastodon."; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Confirm to mute %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Mute Account"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Confirm to unblock %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Unblock Account"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Confirm to unmute %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Unmute Account"; -"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; -"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; -"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; -"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide reblogs"; "Scene.Profile.SegmentedControl.About" = "About"; "Scene.Profile.SegmentedControl.Media" = "Media"; "Scene.Profile.SegmentedControl.Posts" = "Posts"; @@ -447,4 +444,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 0e6ba2582..47ed11bb9 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/es.lproj/Localizable.strings @@ -68,11 +68,13 @@ Por favor, revise su conexión a internet."; "Common.Controls.Friendship.EditInfo" = "Editar Info"; "Common.Controls.Friendship.Follow" = "Seguir"; "Common.Controls.Friendship.Following" = "Siguiendo"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Silenciar"; "Common.Controls.Friendship.MuteUser" = "Silenciar a %@"; "Common.Controls.Friendship.Muted" = "Silenciado"; "Common.Controls.Friendship.Pending" = "Pendiente"; "Common.Controls.Friendship.Request" = "Solicitud"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Desbloquear"; "Common.Controls.Friendship.UnblockUser" = "Desbloquear a %@"; "Common.Controls.Friendship.Unmute" = "Desmutear"; @@ -149,6 +151,7 @@ Tu perfil se ve así para él."; "Scene.AccountList.AddAccount" = "Añadir cuenta"; "Scene.AccountList.DismissAccountSwitcher" = "Descartar el selector de cuentas"; "Scene.AccountList.TabBarHint" = "Perfil seleccionado actualmente: %@. Haz un doble toque y mantén pulsado para mostrar el selector de cuentas"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Añadir Adjunto"; "Scene.Compose.Accessibility.AppendPoll" = "Añadir Encuesta"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector de Emojis Personalizados"; @@ -254,8 +257,12 @@ pulsa en el enlace para confirmar tu cuenta."; "Scene.Profile.Header.FollowsYou" = "Te sigue"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirmar para bloquear a %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloquear cuenta"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Confirmar para silenciar %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Silenciar cuenta"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Confirmar para desbloquear a %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Desbloquear cuenta"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Confirmar para dejar de silenciar a %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings index aad4ad238..e2be3068d 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/eu.lproj/Localizable.strings @@ -68,11 +68,13 @@ Egiaztatu Interneteko konexioa."; "Common.Controls.Friendship.EditInfo" = "Editatu informazioa"; "Common.Controls.Friendship.Follow" = "Jarraitu"; "Common.Controls.Friendship.Following" = "Jarraitzen"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Mututu"; "Common.Controls.Friendship.MuteUser" = "Mututu %@"; "Common.Controls.Friendship.Muted" = "Mutututa"; "Common.Controls.Friendship.Pending" = "Zain"; "Common.Controls.Friendship.Request" = "Eskaera"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Desblokeatu"; "Common.Controls.Friendship.UnblockUser" = "Desblokeatu %@"; "Common.Controls.Friendship.Unmute" = "Desmututu"; @@ -149,6 +151,7 @@ Zure profilak itxura hau du berarentzat."; "Scene.AccountList.AddAccount" = "Gehitu kontua"; "Scene.AccountList.DismissAccountSwitcher" = "Baztertu kontu-aldatzailea"; "Scene.AccountList.TabBarHint" = "Unean hautatutako profila: %@. Ukitu birritan, ondoren eduki sakatuta kontu-aldatzailea erakusteko"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Gehitu eranskina"; "Scene.Compose.Accessibility.AppendPoll" = "Gehitu inkesta"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Emoji pertsonalizatuen hautatzailea"; @@ -253,8 +256,12 @@ Mastodonera igo."; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Berretsi %@ blokeatzea"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blokeatu kontua"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Berretsi %@ mututzea"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Mututu kontua"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Berretsi %@ desblokeatzea"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Desblokeatu kontua"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Berretsi %@ desmututzea"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings index 3987e7749..fbf48fa83 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/fi.lproj/Localizable.strings @@ -68,11 +68,13 @@ Tarkista internet-yhteytesi."; "Common.Controls.Friendship.EditInfo" = "Muokkaa profiilia"; "Common.Controls.Friendship.Follow" = "Seuraa"; "Common.Controls.Friendship.Following" = "Seurataan"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Mykistä"; "Common.Controls.Friendship.MuteUser" = "Mykistä %@"; "Common.Controls.Friendship.Muted" = "Mykistetty"; "Common.Controls.Friendship.Pending" = "Pyydetty"; "Common.Controls.Friendship.Request" = "Pyydä"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Poista esto"; "Common.Controls.Friendship.UnblockUser" = "Unblock %@"; "Common.Controls.Friendship.Unmute" = "Poista mykistys"; @@ -149,6 +151,7 @@ Profiilisi näyttää tältä hänelle."; "Scene.AccountList.AddAccount" = "Lisää tili"; "Scene.AccountList.DismissAccountSwitcher" = "Sulje tilin vaihtaja"; "Scene.AccountList.TabBarHint" = "Nykyinen valittu profiili: %@. Kaksoisnapauta ja pidä sitten painettuna näytääksesi tilin vaihtajan"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Lisää liite"; "Scene.Compose.Accessibility.AppendPoll" = "Lisää kysely"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Mukautettu emojivalitsin"; @@ -253,8 +256,12 @@ uploaded to Mastodon."; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Confirm to mute %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Mute Account"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Confirm to unblock %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Unblock Account"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Vahvista, että haluat poistaa mykistyksen tililtä %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings index 5e0b9be61..03efc3549 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/fr.lproj/Localizable.strings @@ -17,13 +17,13 @@ Veuillez vérifier votre accès à Internet."; "Common.Alerts.PublishPostFailure.Title" = "La publication a échoué"; "Common.Alerts.SavePhotoFailure.Message" = "Veuillez activer la permission d'accès à la photothèque pour enregistrer la photo."; "Common.Alerts.SavePhotoFailure.Title" = "Échec de l'enregistrement de la photo"; -"Common.Alerts.ServerError.Title" = "Erreur du serveur"; +"Common.Alerts.ServerError.Title" = "Erreur serveur"; "Common.Alerts.SignOut.Confirm" = "Se déconnecter"; "Common.Alerts.SignOut.Message" = "Voulez-vous vraiment vous déconnecter ?"; "Common.Alerts.SignOut.Title" = "Se déconnecter"; "Common.Alerts.SignUpFailure.Title" = "Échec de l'inscription"; "Common.Alerts.VoteFailure.PollEnded" = "Le sondage est terminé"; -"Common.Alerts.VoteFailure.Title" = "Le vote n’a pas pu être enregistré"; +"Common.Alerts.VoteFailure.Title" = "Échec du vote"; "Common.Controls.Actions.Add" = "Ajouter"; "Common.Controls.Actions.Back" = "Retour"; "Common.Controls.Actions.BlockDomain" = "Bloquer %@"; @@ -68,11 +68,13 @@ Veuillez vérifier votre accès à Internet."; "Common.Controls.Friendship.EditInfo" = "Éditer les infos"; "Common.Controls.Friendship.Follow" = "Suivre"; "Common.Controls.Friendship.Following" = "Suivi"; +"Common.Controls.Friendship.HideReblogs" = "Masquer les Reblogs"; "Common.Controls.Friendship.Mute" = "Masquer"; "Common.Controls.Friendship.MuteUser" = "Ignorer %@"; "Common.Controls.Friendship.Muted" = "Masqué"; "Common.Controls.Friendship.Pending" = "En attente"; "Common.Controls.Friendship.Request" = "Requête"; +"Common.Controls.Friendship.ShowReblogs" = "Afficher les Reblogs"; "Common.Controls.Friendship.Unblock" = "Débloquer"; "Common.Controls.Friendship.UnblockUser" = "Débloquer %@"; "Common.Controls.Friendship.Unmute" = "Ne plus ignorer"; @@ -149,6 +151,7 @@ Votre profil ressemble à ça pour lui."; "Scene.AccountList.AddAccount" = "Ajouter un compte"; "Scene.AccountList.DismissAccountSwitcher" = "Rejeter le commutateur de compte"; "Scene.AccountList.TabBarHint" = "Profil sélectionné actuel: %@. Double appui puis maintenez enfoncé pour afficher le changement de compte"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Joindre un document"; "Scene.Compose.Accessibility.AppendPoll" = "Ajouter un Sondage"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Sélecteur d’émojis personnalisés"; @@ -211,11 +214,11 @@ téléversé sur Mastodon."; "Scene.Familiarfollowers.FollowedByNames" = "Suivi·e par %@"; "Scene.Familiarfollowers.Title" = "Abonné·e·s que vous connaissez"; "Scene.Favorite.Title" = "Vos favoris"; -"Scene.FavoritedBy.Title" = "Favorited By"; +"Scene.FavoritedBy.Title" = "Favoris par"; "Scene.Follower.Footer" = "Les abonné·e·s issus des autres serveurs ne sont pas affiché·e·s."; "Scene.Follower.Title" = "abonné·e"; "Scene.Following.Footer" = "Les abonnés issus des autres serveurs ne sont pas affichés."; -"Scene.Following.Title" = "following"; +"Scene.Following.Title" = "abonnement"; "Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Appuyez pour faire défiler vers le haut et appuyez à nouveau vers l'emplacement précédent"; "Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Bouton logo"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Voir les nouvelles publications"; @@ -253,8 +256,12 @@ téléversé sur Mastodon."; "Scene.Profile.Header.FollowsYou" = "Vous suit"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirmer le blocage de %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloquer le compte"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirmer pour masquer les reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Masquer les Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Êtes-vous sûr de vouloir mettre en sourdine %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Masquer le compte"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirmer pour afficher les reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Afficher les Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Confirmer le déblocage de %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Débloquer le compte"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Êtes-vous sûr de vouloir désactiver la sourdine de %@"; @@ -264,7 +271,7 @@ téléversé sur Mastodon."; "Scene.Profile.SegmentedControl.Posts" = "Publications"; "Scene.Profile.SegmentedControl.PostsAndReplies" = "Messages et réponses"; "Scene.Profile.SegmentedControl.Replies" = "Réponses"; -"Scene.RebloggedBy.Title" = "Reblogged By"; +"Scene.RebloggedBy.Title" = "Reblogué par"; "Scene.Register.Error.Item.Agreement" = "Accord"; "Scene.Register.Error.Item.Email" = "Courriel"; "Scene.Register.Error.Item.Locale" = "Lieu"; @@ -313,7 +320,7 @@ téléversé sur Mastodon."; "Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "Ils ne seront plus en mesure de suivre ou de voir vos messages, mais iels peuvent voir s’iels ont été bloqué·e·s."; "Scene.Report.StepFinal.Unfollow" = "Se désabonner"; "Scene.Report.StepFinal.UnfollowUser" = "Ne plus suivre %@"; -"Scene.Report.StepFinal.Unfollowed" = "Unfollowed"; +"Scene.Report.StepFinal.Unfollowed" = "Non-suivi"; "Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "Quand vous voyez quelque chose que vous n’aimez pas sur Mastodon, vous pouvez retirer la personne de votre expérience."; "Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "Pendant que nous étudions votre requête, vous pouvez prendre des mesures contre %@"; "Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "Vous ne verrez plus leurs messages ou leurs partages dans votre flux personnel. Iels ne sauront pas qu’iels ont été mis en sourdine."; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings index 1bb94dc2c..2d1964d81 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.strings @@ -1,11 +1,11 @@ "Common.Alerts.BlockDomain.BlockEntireDomain" = "Bac an àrainn"; -"Common.Alerts.BlockDomain.Title" = "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn %@ a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiod sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud agus thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh."; +"Common.Alerts.BlockDomain.Title" = "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn %@ a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiodh sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud agus thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh."; "Common.Alerts.CleanCache.Message" = "Chaidh %@ a thasgadan fhalamhachadh."; "Common.Alerts.CleanCache.Title" = "Falamhaich an tasgadan"; "Common.Alerts.Common.PleaseTryAgain" = "Feuch ris a-rithist."; "Common.Alerts.Common.PleaseTryAgainLater" = "Feuch ris a-rithist an ceann greis."; "Common.Alerts.DeletePost.Message" = "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?"; -"Common.Alerts.DeletePost.Title" = "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?"; +"Common.Alerts.DeletePost.Title" = "Sguab às am post"; "Common.Alerts.DiscardPostContent.Message" = "Dearbh tilgeil air falbh susbaint a’ phuist a sgrìobh thu."; "Common.Alerts.DiscardPostContent.Title" = "Tilg air falbh an dreachd"; "Common.Alerts.EditProfileFailure.Message" = "Cha b’ urrainn dhuinn a’ pròifil a dheasachadh. Feuch ris a-rithist."; @@ -66,13 +66,15 @@ Thoir sùil air a’ cheangal agad ris an eadar-lìon."; "Common.Controls.Friendship.BlockUser" = "Bac %@"; "Common.Controls.Friendship.Blocked" = "’Ga bhacadh"; "Common.Controls.Friendship.EditInfo" = "Deasaich"; -"Common.Controls.Friendship.Follow" = "Lean air"; +"Common.Controls.Friendship.Follow" = "Lean"; "Common.Controls.Friendship.Following" = "’Ga leantainn"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "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.Unblock" = "Dì-bhac"; "Common.Controls.Friendship.UnblockUser" = "Dì-bhac %@"; "Common.Controls.Friendship.Unmute" = "Dì-mhùch"; @@ -149,6 +151,7 @@ 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.Compose.Accessibility.AppendAttachment" = "Cuir ceanglachan ris"; "Scene.Compose.Accessibility.AppendPoll" = "Cuir cunntas-bheachd ris"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Roghnaichear nan Emoji gnàthaichte"; @@ -199,9 +202,8 @@ a luchdadh suas gu Mastodon."; "Scene.ConfirmEmail.OpenEmailApp.Mail" = "Post"; "Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "Fosgail cliant puist-d"; "Scene.ConfirmEmail.OpenEmailApp.Title" = "Thoir sùil air a’ bhogsa a-steach agad."; -"Scene.ConfirmEmail.Subtitle" = "Tha sinn air post-d a chur gu %@, -thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; -"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Tap the link we emailed to you to verify your account"; +"Scene.ConfirmEmail.Subtitle" = "Thoir gnogag air a’ cheangal a chuir sinn thugad air a’ phost-d airson an cunntas agad a dhearbhadh."; +"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Thoir gnogag air a’ cheangal a chuir sinn thugad air a’ phost-d airson an cunntas agad a dhearbhadh"; "Scene.ConfirmEmail.Title" = "Aon rud eile."; "Scene.Discovery.Intro" = "Seo na postaichean fèillmhor ’nad cheàrnaidh de Mhastodon."; "Scene.Discovery.Tabs.Community" = "Coimhearsnachd"; @@ -209,25 +211,25 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Discovery.Tabs.Hashtags" = "Tagaichean hais"; "Scene.Discovery.Tabs.News" = "Naidheachdan"; "Scene.Discovery.Tabs.Posts" = "Postaichean"; -"Scene.Familiarfollowers.FollowedByNames" = "Followed by %@"; -"Scene.Familiarfollowers.Title" = "Followers you familiar"; +"Scene.Familiarfollowers.FollowedByNames" = "’Ga leantainn le %@"; +"Scene.Familiarfollowers.Title" = "Luchd-leantainn aithnichte"; "Scene.Favorite.Title" = "Na h-annsachdan agad"; -"Scene.FavoritedBy.Title" = "Favorited By"; +"Scene.FavoritedBy.Title" = "’Na annsachd aig"; "Scene.Follower.Footer" = "Cha dèid luchd-leantainn o fhrithealaichean eile a shealltainn."; -"Scene.Follower.Title" = "follower"; -"Scene.Following.Footer" = "Cha dèid cò air a leanas tu air frithealaichean eile a shealltainn."; -"Scene.Following.Title" = "following"; -"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location"; -"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button"; +"Scene.Follower.Title" = "neach-leantainn"; +"Scene.Following.Footer" = "Cha dèid cò a leanas tu air frithealaichean eile a shealltainn."; +"Scene.Following.Title" = "’ga leantainn"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Thoir gnogag a sgroladh dhan bhàrr is thoir gnogag a-rithist a dhol dhan ionad roimhe"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Putan an t-suaicheantais"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Seall na postaichean ùra"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Far loidhne"; "Scene.HomeTimeline.NavigationBarState.Published" = "Chaidh fhoillseachadh!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "A’ foillseachadh a’ phuist…"; "Scene.HomeTimeline.Title" = "Dachaigh"; -"Scene.Notification.FollowRequest.Accept" = "Accept"; -"Scene.Notification.FollowRequest.Accepted" = "Accepted"; -"Scene.Notification.FollowRequest.Reject" = "reject"; -"Scene.Notification.FollowRequest.Rejected" = "Rejected"; +"Scene.Notification.FollowRequest.Accept" = "Gabh ris"; +"Scene.Notification.FollowRequest.Accepted" = "Air a ghabhail ris"; +"Scene.Notification.FollowRequest.Reject" = "diùlt"; +"Scene.Notification.FollowRequest.Rejected" = "Chaidh a dhiùltadh"; "Scene.Notification.Keyobard.ShowEverything" = "Seall a h-uile càil"; "Scene.Notification.Keyobard.ShowMentions" = "Seall na h-iomraidhean"; "Scene.Notification.NotificationDescription.FavoritedYourPost" = "– is annsa leotha am post agad"; @@ -235,7 +237,7 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Notification.NotificationDescription.MentionedYou" = "– ’s iad air iomradh a thoirt ort"; "Scene.Notification.NotificationDescription.PollHasEnded" = "thàinig cunntas-bheachd gu crìoch"; "Scene.Notification.NotificationDescription.RebloggedYourPost" = "– ’s iad air am post agad a bhrosnachadh"; -"Scene.Notification.NotificationDescription.RequestToFollowYou" = "iarrtas leantainn ort"; +"Scene.Notification.NotificationDescription.RequestToFollowYou" = "iarrtas leantainn"; "Scene.Notification.Title.Everything" = "A h-uile rud"; "Scene.Notification.Title.Mentions" = "Iomraidhean"; "Scene.Preview.Keyboard.ClosePreview" = "Dùin an ro-shealladh"; @@ -251,11 +253,15 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Profile.Fields.AddRow" = "Cuir ràgh ris"; "Scene.Profile.Fields.Placeholder.Content" = "Susbaint"; "Scene.Profile.Fields.Placeholder.Label" = "Leubail"; -"Scene.Profile.Header.FollowsYou" = "Follows You"; +"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.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.ConfirmUnblockUser.Message" = "Dearbh dì-bhacadh %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Dì-bhac an cunntas"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Dearbh dì-mhùchadh %@"; @@ -265,7 +271,7 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Profile.SegmentedControl.Posts" = "Postaichean"; "Scene.Profile.SegmentedControl.PostsAndReplies" = "Postaichean ’s freagairtean"; "Scene.Profile.SegmentedControl.Replies" = "Freagairtean"; -"Scene.RebloggedBy.Title" = "Reblogged By"; +"Scene.RebloggedBy.Title" = "’Ga bhrosnachadh le"; "Scene.Register.Error.Item.Agreement" = "Aonta"; "Scene.Register.Error.Item.Email" = "Post-d"; "Scene.Register.Error.Item.Locale" = "Sgeama ionadail"; @@ -298,8 +304,8 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Register.Input.Password.Require" = "Feumaidh am facal-faire agad co-dhiù:"; "Scene.Register.Input.Username.DuplicatePrompt" = "Tha an t-ainm-cleachdaiche seo aig cuideigin eile."; "Scene.Register.Input.Username.Placeholder" = "ainm-cleachdaiche"; -"Scene.Register.LetsGetYouSetUpOnDomain" = "Let’s get you set up on %@"; -"Scene.Register.Title" = "Innis dhuinn mu do dhèidhinn."; +"Scene.Register.LetsGetYouSetUpOnDomain" = "’Gad rèiteachadh air %@"; +"Scene.Register.Title" = "’Gad rèiteachadh air %@"; "Scene.Report.Content1" = "A bheil post sam bith eile ann a bu mhiann leat cur ris a’ ghearan?"; "Scene.Report.Content2" = "A bheil rud sam bith ann a bu mhiann leat innse dha na maoir mun ghearan seo?"; "Scene.Report.ReportSentTitle" = "Mòran taing airson a’ ghearain, bheir sinn sùil air."; @@ -308,43 +314,43 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Report.SkipToSend" = "Cuir gun bheachd ris"; "Scene.Report.Step1" = "Ceum 1 à 2"; "Scene.Report.Step2" = "Ceum 2 à 2"; -"Scene.Report.StepFinal.BlockUser" = "Block %@"; -"Scene.Report.StepFinal.DontWantToSeeThis" = "Don’t want to see this?"; -"Scene.Report.StepFinal.MuteUser" = "Mute %@"; -"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked."; -"Scene.Report.StepFinal.Unfollow" = "Unfollow"; -"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@"; -"Scene.Report.StepFinal.Unfollowed" = "Unfollowed"; -"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience."; -"Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "While we review this, you can take action against %@"; -"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "You won’t see their posts or reblogs in your home feed. They won’t know they’ve been muted."; -"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "Is there anything else we should know?"; -"Scene.Report.StepFour.Step4Of4" = "Step 4 of 4"; -"Scene.Report.StepOne.IDontLikeIt" = "I don’t like it"; -"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "It is not something you want to see"; -"Scene.Report.StepOne.ItViolatesServerRules" = "It violates server rules"; -"Scene.Report.StepOne.ItsSomethingElse" = "It’s something else"; -"Scene.Report.StepOne.ItsSpam" = "It’s spam"; -"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Malicious links, fake engagement, or repetetive replies"; -"Scene.Report.StepOne.SelectTheBestMatch" = "Select the best match"; -"Scene.Report.StepOne.Step1Of4" = "Step 1 of 4"; -"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "The issue does not fit into other categories"; -"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "What's wrong with this account?"; -"Scene.Report.StepOne.WhatsWrongWithThisPost" = "What's wrong with this post?"; -"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "What's wrong with %@?"; -"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "You are aware that it breaks specific rules"; -"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "Are there any posts that back up this report?"; -"Scene.Report.StepThree.SelectAllThatApply" = "Select all that apply"; -"Scene.Report.StepThree.Step3Of4" = "Step 3 of 4"; -"Scene.Report.StepTwo.IJustDon’tLikeIt" = "I just don’t like it"; -"Scene.Report.StepTwo.SelectAllThatApply" = "Select all that apply"; -"Scene.Report.StepTwo.Step2Of4" = "Step 2 of 4"; -"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Which rules are being violated?"; +"Scene.Report.StepFinal.BlockUser" = "Bac %@"; +"Scene.Report.StepFinal.DontWantToSeeThis" = "Nach eil thu airson seo fhaicinn?"; +"Scene.Report.StepFinal.MuteUser" = "Mùch %@"; +"Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "Chan urrainn dhaibh ’gad leantainn is chan fhaic iad na postaichean agad tuilleadh ach chì iad gun deach am bacadh."; +"Scene.Report.StepFinal.Unfollow" = "Na lean tuilleadh"; +"Scene.Report.StepFinal.UnfollowUser" = "Na lean %@ tuilleadh"; +"Scene.Report.StepFinal.Unfollowed" = "Chan eil thu ’ga leantainn tuilleadh"; +"Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "Nuair a chì thu rudeigin nach toigh leat air Mastodon, ’s urrainn dhut an neach a chumail fad air falbh uat."; +"Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "Fhad ’s a bhios sinn a’ toirt sùil air, seo nas urrainn dhut dèanamh an aghaidh %@"; +"Scene.Report.StepFinal.YouWontSeeTheirPostsOrReblogsInYourHomeFeedTheyWontKnowTheyVeBeenMuted" = "Chan fhaic thu na postaichean aca is dè a bhrosnaich iad air inbhir na dachaigh agad tuilleadh. Cha bhi fios aca gun do mhùch thu iad."; +"Scene.Report.StepFour.IsThereAnythingElseWeShouldKnow" = "A bheil rud sam bith eile a bu toigh leat innse dhuinn?"; +"Scene.Report.StepFour.Step4Of4" = "Ceum 4 à 4"; +"Scene.Report.StepOne.IDontLikeIt" = "Cha toigh leam e"; +"Scene.Report.StepOne.ItIsNotSomethingYouWantToSee" = "Chan eil thu airson seo fhaicinn"; +"Scene.Report.StepOne.ItViolatesServerRules" = "Tha e a’ briseadh riaghailtean an fhrithealaiche"; +"Scene.Report.StepOne.ItsSomethingElse" = "’S rud eile a tha ann"; +"Scene.Report.StepOne.ItsSpam" = "’S e spama a th’ ann"; +"Scene.Report.StepOne.MaliciousLinksFakeEngagementOrRepetetiveReplies" = "Ceanglaichean droch-rùnach, conaltradh fuadain no an dearbh fhreagairt a-rithist ’s a-rithist"; +"Scene.Report.StepOne.SelectTheBestMatch" = "Tagh a’ mhaids as fheàrr"; +"Scene.Report.StepOne.Step1Of4" = "Ceum 1 à 4"; +"Scene.Report.StepOne.TheIssueDoesNotFitIntoOtherCategories" = "Chan eil na roinnean-seòrsa eile iomchaidh dhan chùis"; +"Scene.Report.StepOne.WhatsWrongWithThisAccount" = "Dè tha ceàrr leis an cunntas seo?"; +"Scene.Report.StepOne.WhatsWrongWithThisPost" = "Dè tha ceàrr leis a’ phost seo?"; +"Scene.Report.StepOne.WhatsWrongWithThisUsername" = "Dè tha ceàrr le %@?"; +"Scene.Report.StepOne.YouAreAwareThatItBreaksSpecificRules" = "Mhothaich thu gu bheil e a’ briseadh riaghailtean sònraichte"; +"Scene.Report.StepThree.AreThereAnyPostsThatBackUpThisReport" = "A bheil postaichean sam bith ann a tha ’nam fianais dhan ghearan seo?"; +"Scene.Report.StepThree.SelectAllThatApply" = "Tagh a h-uile gin a tha iomchaidh"; +"Scene.Report.StepThree.Step3Of4" = "Ceum 3 à 4"; +"Scene.Report.StepTwo.IJustDon’tLikeIt" = "’S ann nach toigh leam e"; +"Scene.Report.StepTwo.SelectAllThatApply" = "Tagh a h-uile gin a tha iomchaidh"; +"Scene.Report.StepTwo.Step2Of4" = "Ceum 2 à 4"; +"Scene.Report.StepTwo.WhichRulesAreBeingViolated" = "Dè na riaghailtean a tha ’gam briseadh?"; "Scene.Report.TextPlaceholder" = "Sgrìobh no cuir ann beachdan a bharrachd"; "Scene.Report.Title" = "Dèan gearan mu %@"; "Scene.Report.TitleReport" = "Dèan gearan"; -"Scene.Search.Recommend.Accounts.Description" = "Saoil am bu toigh leat leantainn air na cunntasan seo?"; -"Scene.Search.Recommend.Accounts.Follow" = "Lean air"; +"Scene.Search.Recommend.Accounts.Description" = "Saoil am bu toigh leat na cunntasan seo a leantainn?"; +"Scene.Search.Recommend.Accounts.Follow" = "Lean"; "Scene.Search.Recommend.Accounts.Title" = "Cunntasan a chòrdas riut ma dh’fhaoidte"; "Scene.Search.Recommend.ButtonText" = "Seall na h-uile"; "Scene.Search.Recommend.HashTag.Description" = "Tagaichean hais le aire orra an-dràsta"; @@ -379,20 +385,20 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "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 no gabh pàirt san fhear agad fhèin…"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.Placeholder" = "Lorg frithealaiche"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Lorg frithealaiche 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" = "Tagh coimhearsnachd stèidhichte air d’ ùidhean no an roinn-dùthcha agad no tè choitcheann."; -"Scene.ServerPicker.SubtitleExtend" = "Tagh coimhearsnachd stèidhichte air d’ ùidhean no an roinn-dùthcha agad no tè choitcheann. Tha gach coimhearsnachd ’ga stiùireadh le buidheann no neach gu neo-eisimeileach."; -"Scene.ServerPicker.Title" = "Tagh frithealaiche sam bith."; +"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.Title" = "Tha cleachdaichean Mhastodon air iomadh frithealaiche eadar-dhealaichte."; "Scene.ServerRules.Button.Confirm" = "Gabhaidh mi ris"; "Scene.ServerRules.PrivacyPolicy" = "poileasaidh prìobhaideachd"; "Scene.ServerRules.Prompt" = "Ma leanas tu air adhart, bidh thu fo bhuaidh teirmichean seirbheise is poileasaidh prìobhaideachd %@."; -"Scene.ServerRules.Subtitle" = "Shuidhich rianairean %@ na riaghailtean seo."; +"Scene.ServerRules.Subtitle" = "Tha na riaghailtean seo ’gan stèidheachadh is a chur an gnìomh leis na maoir aig %@."; "Scene.ServerRules.TermsOfService" = "teirmichean na seirbheise"; -"Scene.ServerRules.Title" = "Riaghailt bhunasach no dhà."; +"Scene.ServerRules.Title" = "Riaghailtean bunasach."; "Scene.Settings.Footer.MastodonDescription" = "’S e bathar-bog le bun-tùs fosgailte a th’ ann am Mastodon. ’S urrainn dhut aithris a dhèanamh air duilgheadasan air GitHub fo %@ (%@)"; "Scene.Settings.Keyboard.CloseSettingsWindow" = "Dùin uinneag nan roghainnean"; "Scene.Settings.Section.Appearance.Automatic" = "Fèin-obrachail"; @@ -410,11 +416,11 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Settings.Section.LookAndFeel.UseSystem" = "Cleachd coltas an t-siostaim"; "Scene.Settings.Section.Notifications.Boosts" = "Nuair a bhrosnaicheas iad post uam"; "Scene.Settings.Section.Notifications.Favorites" = "Nuair as annsa leotha am post agam"; -"Scene.Settings.Section.Notifications.Follows" = "Nuair a leanas iad orm"; +"Scene.Settings.Section.Notifications.Follows" = "Nuair a leanas iad mi"; "Scene.Settings.Section.Notifications.Mentions" = "Nuair a bheir iad iomradh orm"; "Scene.Settings.Section.Notifications.Title" = "Brathan"; "Scene.Settings.Section.Notifications.Trigger.Anyone" = "Airson duine sam bith, cuir brath thugam"; -"Scene.Settings.Section.Notifications.Trigger.Follow" = "Airson daoine air a leanas mi, cuir brath thugam"; +"Scene.Settings.Section.Notifications.Trigger.Follow" = "Airson daoine a leanas mi, cuir brath thugam"; "Scene.Settings.Section.Notifications.Trigger.Follower" = "Airson luchd-leantainn, cuir brath thugam"; "Scene.Settings.Section.Notifications.Trigger.Noone" = "Na cuir brath thugam idir"; "Scene.Settings.Section.Notifications.Trigger.Title" = " "; @@ -428,7 +434,7 @@ thoir gnogag air a’ chunntas a dhearbhadh a’ chunntais agad."; "Scene.Settings.Section.SpicyZone.Signout" = "Clàraich a-mach"; "Scene.Settings.Section.SpicyZone.Title" = "Gnìomhan"; "Scene.Settings.Title" = "Roghainnean"; -"Scene.SuggestionAccount.FollowExplain" = "Nuair a leanas tu air cuideigin, chì thu na puist aca air inbhir na dachaigh agad."; +"Scene.SuggestionAccount.FollowExplain" = "Nuair a leanas tu cuideigin, chì thu na puist aca air inbhir na dachaigh agad."; "Scene.SuggestionAccount.Title" = "Lorg daoine a leanas tu"; "Scene.Thread.BackTitle" = "Post"; "Scene.Thread.Title" = "Post le %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict index f041677fa..d0ccb5f41 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gd.lproj/Localizable.stringsdict @@ -88,13 +88,13 @@ NSStringFormatValueTypeKey ld one - Followed by %1$@, and another mutual + ’Ga leantainn le %1$@ ’s %ld eile an cumantas two - Followed by %1$@, and %ld mutuals + ’Ga leantainn le %1$@ ’s %ld eile an cumantas few - Followed by %1$@, and %ld mutuals + ’Ga leantainn le %1$@ ’s %ld eile an cumantas other - Followed by %1$@, and %ld mutuals + ’Ga leantainn le %1$@ ’s %ld eile an cumantas plural.count.metric_formatted.post @@ -128,13 +128,13 @@ NSStringFormatValueTypeKey ld one - 1 media + %ld mheadhan two - %ld media + %ld mheadhan few - %ld media + %ld meadhanan other - %ld media + %ld meadhan plural.count.post @@ -308,13 +308,13 @@ NSStringFormatValueTypeKey ld one - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn two - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn few - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn other - Tha %ld a’ leantainn air + Tha %ld ’ga leantainn date.year.left diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings index dfb88a006..c76089221 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/gl.lproj/Localizable.strings @@ -68,11 +68,13 @@ Comproba a conexión a internet."; "Common.Controls.Friendship.EditInfo" = "Editar info"; "Common.Controls.Friendship.Follow" = "Seguir"; "Common.Controls.Friendship.Following" = "Seguindo"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Acalar"; "Common.Controls.Friendship.MuteUser" = "Acalar a %@"; "Common.Controls.Friendship.Muted" = "Acalada"; "Common.Controls.Friendship.Pending" = "Pendente"; "Common.Controls.Friendship.Request" = "Solicitar"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Desbloquear"; "Common.Controls.Friendship.UnblockUser" = "Desbloquear a %@"; "Common.Controls.Friendship.Unmute" = "Non Acalar"; @@ -149,6 +151,7 @@ Así se ve o teu perfil."; "Scene.AccountList.AddAccount" = "Engadir conta"; "Scene.AccountList.DismissAccountSwitcher" = "Desbotar intercambiador de contas"; "Scene.AccountList.TabBarHint" = "Perfil seleccionado: %@. Dobre toque e manter para mostrar o intercambiador de contas"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Engadir anexo"; "Scene.Compose.Accessibility.AppendPoll" = "Engadir enquisa"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selector emoji personalizado"; @@ -253,8 +256,12 @@ ser subido a Mastodon."; "Scene.Profile.Header.FollowsYou" = "Séguete"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirma o bloqueo de %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Bloquear Conta"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Confirma Acalar a %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Acalar conta"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Confirma o desbloqueo de %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Desbloquear Conta"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Confirma restablecer a %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings index cff8374cf..c83cb7458 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/it.lproj/Localizable.strings @@ -68,11 +68,13 @@ Per favore verifica la tua connessione internet."; "Common.Controls.Friendship.EditInfo" = "Modifica info"; "Common.Controls.Friendship.Follow" = "Segui"; "Common.Controls.Friendship.Following" = "Stai seguendo"; +"Common.Controls.Friendship.HideReblogs" = "Nascondi le condivisioni"; "Common.Controls.Friendship.Mute" = "Silenzia"; "Common.Controls.Friendship.MuteUser" = "Silenzia %@"; "Common.Controls.Friendship.Muted" = "Silenziato"; "Common.Controls.Friendship.Pending" = "In attesa"; "Common.Controls.Friendship.Request" = "Richiesta"; +"Common.Controls.Friendship.ShowReblogs" = "Mostra le condivisioni"; "Common.Controls.Friendship.Unblock" = "Sblocca"; "Common.Controls.Friendship.UnblockUser" = "Sblocca %@"; "Common.Controls.Friendship.Unmute" = "Riattiva"; @@ -149,6 +151,7 @@ Il tuo profilo sembra questo per loro."; "Scene.AccountList.AddAccount" = "Aggiungi account"; "Scene.AccountList.DismissAccountSwitcher" = "Ignora il cambio account"; "Scene.AccountList.TabBarHint" = "Profilo corrente selezionato: %@. Doppio tocco e tieni premuto per mostrare il cambio account"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Aggiungi allegato"; "Scene.Compose.Accessibility.AppendPoll" = "Aggiungi sondaggio"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Selettore Emoji personalizzato"; @@ -253,8 +256,12 @@ caricato su Mastodon."; "Scene.Profile.Header.FollowsYou" = "Ti segue"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confermi di bloccare %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blocca account"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Conferma di nascondere le condivisioni"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Nascondi le condivisioni"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Confermi di silenziare %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Silenzia account"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Conferma di mostrare le condivisioni"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Mostra le condivisioni"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Conferma per sbloccare %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Sblocca account"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Confermi di riattivare %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings index de61ef1d9..080624f06 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ja.lproj/Localizable.strings @@ -68,11 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "編集"; "Common.Controls.Friendship.Follow" = "フォロー"; "Common.Controls.Friendship.Following" = "フォロー中"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "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.Unblock" = "ブロックを解除"; "Common.Controls.Friendship.UnblockUser" = "%@のブロックを解除"; "Common.Controls.Friendship.Unmute" = "ミュートを解除"; @@ -145,6 +147,7 @@ "Scene.AccountList.AddAccount" = "アカウントを追加"; "Scene.AccountList.DismissAccountSwitcher" = "アカウント切替画面を閉じます"; "Scene.AccountList.TabBarHint" = "現在のアカウント: %@. ダブルタップしてアカウント切替画面を表示します"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "アタッチメントの追加"; "Scene.Compose.Accessibility.AppendPoll" = "投票を追加"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "カスタム絵文字ピッカー"; @@ -248,8 +251,12 @@ "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.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.ConfirmUnblockUser.Message" = "%@のブロックを解除しますか?"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "アカウントのブロックを解除"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "%@をミュートしますか?"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings index 4db503495..1339af4cf 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/kab.lproj/Localizable.strings @@ -68,11 +68,13 @@ Ma ulac aɣilif, senqed tuqqna-inek internet."; "Common.Controls.Friendship.EditInfo" = "Ẓreg talɣut"; "Common.Controls.Friendship.Follow" = "Ḍfeṛ"; "Common.Controls.Friendship.Following" = "Yettwaḍfar"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Sgugem"; "Common.Controls.Friendship.MuteUser" = "Sgugem %@"; "Common.Controls.Friendship.Muted" = "Yettwasgugem"; "Common.Controls.Friendship.Pending" = "Yegguni"; "Common.Controls.Friendship.Request" = "Tuttra"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Serreḥ"; "Common.Controls.Friendship.UnblockUser" = "Serreḥ i %@"; "Common.Controls.Friendship.Unmute" = "Kkes asgugem"; @@ -149,6 +151,7 @@ Akka i as-d-yettban umaɣnu-inek."; "Scene.AccountList.AddAccount" = "Rnu amiḍan"; "Scene.AccountList.DismissAccountSwitcher" = "Sefsex abeddel n umiḍan"; "Scene.AccountList.TabBarHint" = "Amaɣnu amiran yettwafernen: %@. Sit berdayen syen teǧǧeḍ aḍad-ik·im i uskan abeddel n umiḍan"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Rnu taceqquft yeddan"; "Scene.Compose.Accessibility.AppendPoll" = "Rnu asenqed"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Amefran n yimujiten udmawanen"; @@ -225,7 +228,7 @@ Ad d-yettwasali ɣef Mastodon."; "Scene.HomeTimeline.Title" = "Agejdan"; "Scene.Notification.FollowRequest.Accept" = "Accept"; "Scene.Notification.FollowRequest.Accepted" = "Accepted"; -"Scene.Notification.FollowRequest.Reject" = "reject"; +"Scene.Notification.FollowRequest.Reject" = "agi"; "Scene.Notification.FollowRequest.Rejected" = "Rejected"; "Scene.Notification.Keyobard.ShowEverything" = "Sken yal taɣawsa"; "Scene.Notification.Keyobard.ShowMentions" = "Sken tisedmirin"; @@ -253,8 +256,12 @@ Ad d-yettwasali ɣef Mastodon."; "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"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Sentem asgugem i %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Sgugem amiḍan"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Sentem tukksa n usgugem i %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Kkes asewḥel i umiḍan"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Sentem tukksa n usgugem i %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings index 6c323adfe..a72543a3e 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ku.lproj/Localizable.strings @@ -68,11 +68,13 @@ Jkx girêdana înternetê xwe kontrol bike."; "Common.Controls.Friendship.EditInfo" = "Zanyariyan serrast bike"; "Common.Controls.Friendship.Follow" = "Bişopîne"; "Common.Controls.Friendship.Following" = "Dişopîne"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Bêdeng bike"; "Common.Controls.Friendship.MuteUser" = "%@ bêdeng bike"; "Common.Controls.Friendship.Muted" = "Bêdengkirî"; "Common.Controls.Friendship.Pending" = "Tê nirxandin"; "Common.Controls.Friendship.Request" = "Daxwaz bike"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Astengiyê rake"; "Common.Controls.Friendship.UnblockUser" = "%@ asteng neke"; "Common.Controls.Friendship.Unmute" = "Bêdeng neke"; @@ -149,6 +151,7 @@ Profîla te ji wan ra wiha xuya dike."; "Scene.AccountList.AddAccount" = "Ajimêr tevlî bike"; "Scene.AccountList.DismissAccountSwitcher" = "Guherkera ajimêrê paş guh bike"; "Scene.AccountList.TabBarHint" = "Profîla hilbijartî ya niha: %@. Du caran bitikîne û paşê dest bide ser da ku guhêrbara ajimêr were nîşandan"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Pêvek tevlî bike"; "Scene.Compose.Accessibility.AppendPoll" = "Rapirsî tevlî bike"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Hilbijêrê emojî yên kesanekirî"; @@ -254,8 +257,12 @@ girêdanê bitikne da ku ajimêra xwe bidî piştrastkirin."; "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"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Ji bo bêdengkirina %@ bipejirîne"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Ajimêrê bêdeng bike"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Ji bo rakirina astengkirinê %@ bipejirîne"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Astengiyê li ser ajimêr rake"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Ji bo vekirina bêdengkirinê %@ bipejirîne"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings index cea8ce7e7..3bcc33bf5 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/nl.lproj/Localizable.strings @@ -67,11 +67,13 @@ "Common.Controls.Friendship.EditInfo" = "Bewerken"; "Common.Controls.Friendship.Follow" = "Volgen"; "Common.Controls.Friendship.Following" = "Gevolgd"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Negeren"; "Common.Controls.Friendship.MuteUser" = "Negeer %@"; "Common.Controls.Friendship.Muted" = "Genegeerd"; "Common.Controls.Friendship.Pending" = "In afwachting"; "Common.Controls.Friendship.Request" = "Verzoeken"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Deblokkeer"; "Common.Controls.Friendship.UnblockUser" = "Deblokkeer %@"; "Common.Controls.Friendship.Unmute" = "Niet langer negeren"; @@ -144,6 +146,7 @@ Uw profiel ziet er zo uit voor hen."; "Scene.AccountList.AddAccount" = "Voeg account toe"; "Scene.AccountList.DismissAccountSwitcher" = "Annuleer account wisselen"; "Scene.AccountList.TabBarHint" = "Huidige geselecteerde profiel: %@. Dubbel-tik en houd vast om account te wisselen"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Bijlage Toevoegen"; "Scene.Compose.Accessibility.AppendPoll" = "Peiling Toevoegen"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Eigen Emojikiezer"; @@ -248,8 +251,12 @@ klik op de link om uw account te bevestigen."; "Scene.Profile.Header.FollowsYou" = "Follows You"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Bevestig om %@ te blokkeren"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Blokkeer account"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Bevestig om %@ te negeren"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Negeer account"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Bevestig om %@ te deblokkeren"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Deblokkeer Account"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Bevestig om %@ te negeren"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings index 8b5adf626..0513a955b 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/ru.lproj/Localizable.strings @@ -68,11 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "Изменить"; "Common.Controls.Friendship.Follow" = "Подписаться"; "Common.Controls.Friendship.Following" = "В подписках"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "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.Unblock" = "Разблокировать"; "Common.Controls.Friendship.UnblockUser" = "Разблокировать %@"; "Common.Controls.Friendship.Unmute" = "Убрать из игнорируемых"; @@ -157,6 +159,7 @@ "Scene.AccountList.AddAccount" = "Add Account"; "Scene.AccountList.DismissAccountSwitcher" = "Dismiss Account Switcher"; "Scene.AccountList.TabBarHint" = "Current selected profile: %@. Double tap then hold to show account switcher"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Прикрепить файл"; "Scene.Compose.Accessibility.AppendPoll" = "Добавить опрос"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Меню пользовательских эмодзи"; @@ -264,8 +267,12 @@ "Scene.Profile.Header.FollowsYou" = "Подписан(а) на вас"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "Confirm to block %@"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Block Account"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Confirm to mute %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Mute Account"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Confirm to unblock %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Unblock Account"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Убрать %@ из игнорируемых?"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings index 51b18d908..849d88284 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.strings @@ -9,7 +9,7 @@ "Common.Alerts.DiscardPostContent.Message" = "Bekräfta för att slänga inläggsutkast."; "Common.Alerts.DiscardPostContent.Title" = "Släng utkast"; "Common.Alerts.EditProfileFailure.Message" = "Kan inte redigera profil. Var god försök igen."; -"Common.Alerts.EditProfileFailure.Title" = "Profilredigering misslyckades"; +"Common.Alerts.EditProfileFailure.Title" = "Kunde inte redigera profil"; "Common.Alerts.PublishPostFailure.AttachmentsMessage.MoreThanOneVideo" = "Det går inte att bifoga mer än en video."; "Common.Alerts.PublishPostFailure.AttachmentsMessage.VideoAttachWithPhoto" = "Det går inte att bifoga en video till ett inlägg som redan innehåller bilder."; "Common.Alerts.PublishPostFailure.Message" = "Det gick inte att publicera inlägget. @@ -68,11 +68,13 @@ Kontrollera din internetanslutning."; "Common.Controls.Friendship.EditInfo" = "Redigera info"; "Common.Controls.Friendship.Follow" = "Följ"; "Common.Controls.Friendship.Following" = "Följer"; +"Common.Controls.Friendship.HideReblogs" = "Dölj puffar"; "Common.Controls.Friendship.Mute" = "Tysta"; "Common.Controls.Friendship.MuteUser" = "Tysta %@"; "Common.Controls.Friendship.Muted" = "Tystad"; "Common.Controls.Friendship.Pending" = "Väntande"; "Common.Controls.Friendship.Request" = "Följ"; +"Common.Controls.Friendship.ShowReblogs" = "Visa knuffar"; "Common.Controls.Friendship.Unblock" = "Avblockera"; "Common.Controls.Friendship.UnblockUser" = "Avblockera %@"; "Common.Controls.Friendship.Unmute" = "Avtysta"; @@ -92,18 +94,18 @@ Kontrollera din internetanslutning."; "Common.Controls.Keyboard.Timeline.ReplyStatus" = "Svara på inlägg"; "Common.Controls.Keyboard.Timeline.ToggleContentWarning" = "Växla innehållsvarning"; "Common.Controls.Keyboard.Timeline.ToggleFavorite" = "Växla favorit på inlägg"; -"Common.Controls.Keyboard.Timeline.ToggleReblog" = "Växla ompostning på inlägg"; +"Common.Controls.Keyboard.Timeline.ToggleReblog" = "Växla puff på inlägg"; "Common.Controls.Status.Actions.Favorite" = "Favorit"; "Common.Controls.Status.Actions.Hide" = "Dölj"; "Common.Controls.Status.Actions.Menu" = "Meny"; -"Common.Controls.Status.Actions.Reblog" = "Omposta"; +"Common.Controls.Status.Actions.Reblog" = "Puffa"; "Common.Controls.Status.Actions.Reply" = "Svara"; "Common.Controls.Status.Actions.ShowGif" = "Visa GIF"; "Common.Controls.Status.Actions.ShowImage" = "Visa bild"; "Common.Controls.Status.Actions.ShowVideoPlayer" = "Visa videospelare"; "Common.Controls.Status.Actions.TapThenHoldToShowMenu" = "Tryck och håll ned för att visa menyn"; "Common.Controls.Status.Actions.Unfavorite" = "Ta bort favorit"; -"Common.Controls.Status.Actions.Unreblog" = "Ångra ompostning"; +"Common.Controls.Status.Actions.Unreblog" = "Ångra puff"; "Common.Controls.Status.ContentWarning" = "Innehållsvarning"; "Common.Controls.Status.MediaContentWarning" = "Tryck var som helst för att visa"; "Common.Controls.Status.Poll.Closed" = "Stängd"; @@ -118,7 +120,7 @@ Kontrollera din internetanslutning."; "Common.Controls.Status.Tag.Mention" = "Omnämn"; "Common.Controls.Status.Tag.Url" = "URL"; "Common.Controls.Status.TapToReveal" = "Tryck för att visa"; -"Common.Controls.Status.UserReblogged" = "%@ ompostade"; +"Common.Controls.Status.UserReblogged" = "%@ puffade"; "Common.Controls.Status.UserRepliedTo" = "Svarade på %@"; "Common.Controls.Status.Visibility.Direct" = "Endast omnämnda användare kan se detta inlägg."; "Common.Controls.Status.Visibility.Private" = "Endast deras följare kan se detta inlägg."; @@ -149,6 +151,7 @@ Din profil ser ut så här för dem."; "Scene.AccountList.AddAccount" = "Lägg till konto"; "Scene.AccountList.DismissAccountSwitcher" = "Stäng kontoväxlare"; "Scene.AccountList.TabBarHint" = "Nuvarande vald profil: %@. Dubbeltryck och håll för att visa kontoväxlare"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Lägg till bilaga"; "Scene.Compose.Accessibility.AppendPoll" = "Lägg till omröstning"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Anpassad emoji-väljare"; @@ -223,17 +226,17 @@ laddas upp till Mastodon."; "Scene.HomeTimeline.NavigationBarState.Published" = "Publicerat!"; "Scene.HomeTimeline.NavigationBarState.Publishing" = "Publicerar inlägget..."; "Scene.HomeTimeline.Title" = "Hem"; -"Scene.Notification.FollowRequest.Accept" = "Accept"; -"Scene.Notification.FollowRequest.Accepted" = "Accepted"; -"Scene.Notification.FollowRequest.Reject" = "reject"; -"Scene.Notification.FollowRequest.Rejected" = "Rejected"; +"Scene.Notification.FollowRequest.Accept" = "Godkänn"; +"Scene.Notification.FollowRequest.Accepted" = "Godkänd"; +"Scene.Notification.FollowRequest.Reject" = "avvisa"; +"Scene.Notification.FollowRequest.Rejected" = "Avvisad"; "Scene.Notification.Keyobard.ShowEverything" = "Visa allt"; "Scene.Notification.Keyobard.ShowMentions" = "Visa omnämningar"; "Scene.Notification.NotificationDescription.FavoritedYourPost" = "favoriserade ditt inlägg"; "Scene.Notification.NotificationDescription.FollowedYou" = "följde dig"; "Scene.Notification.NotificationDescription.MentionedYou" = "nämnde dig"; "Scene.Notification.NotificationDescription.PollHasEnded" = "omröstningen har avslutats"; -"Scene.Notification.NotificationDescription.RebloggedYourPost" = "ompostade ditt inlägg"; +"Scene.Notification.NotificationDescription.RebloggedYourPost" = "puffade ditt inlägg"; "Scene.Notification.NotificationDescription.RequestToFollowYou" = "begär att följa dig"; "Scene.Notification.Title.Everything" = "Allting"; "Scene.Notification.Title.Mentions" = "Omnämningar"; @@ -250,11 +253,15 @@ 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.Header.FollowsYou" = "Follows You"; +"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"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Bekräfta för att dölja puffar"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Dölj puffar"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Bekräfta för att tysta %@"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Tysta konto"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Bekräfta för att visa puffar"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Visa puffar"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Bekräfta för att avblockera %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Avblockera konto"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Bekräfta för att avtysta %@"; @@ -264,7 +271,7 @@ laddas upp till Mastodon."; "Scene.Profile.SegmentedControl.Posts" = "Inlägg"; "Scene.Profile.SegmentedControl.PostsAndReplies" = "Inlägg och svar"; "Scene.Profile.SegmentedControl.Replies" = "Svar"; -"Scene.RebloggedBy.Title" = "Ompostat av"; +"Scene.RebloggedBy.Title" = "Puffat av"; "Scene.Register.Error.Item.Agreement" = "Avtal"; "Scene.Register.Error.Item.Email" = "E-post"; "Scene.Register.Error.Item.Locale" = "Språk"; @@ -410,7 +417,7 @@ laddas upp till Mastodon."; "Scene.Settings.Section.Notifications.Boosts" = "Ompostar mitt inlägg"; "Scene.Settings.Section.Notifications.Favorites" = "Favoriserar mitt inlägg"; "Scene.Settings.Section.Notifications.Follows" = "Följer mig"; -"Scene.Settings.Section.Notifications.Mentions" = "Omnämner mig"; +"Scene.Settings.Section.Notifications.Mentions" = "Nämner mig"; "Scene.Settings.Section.Notifications.Title" = "Notiser"; "Scene.Settings.Section.Notifications.Trigger.Anyone" = "alla"; "Scene.Settings.Section.Notifications.Trigger.Follow" = "någon jag följer"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict index 27ef9fb53..048af4732 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/sv.lproj/Localizable.stringsdict @@ -90,7 +90,7 @@ one inlägg other - inläggen + inlägg plural.count.media @@ -152,9 +152,9 @@ NSStringFormatValueTypeKey ld one - %ld ompostning + %ld puff other - %ld ompostningar + %ld puffar plural.count.reply diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings index f29e08d82..15514928c 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/th.lproj/Localizable.strings @@ -68,11 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "แก้ไขข้อมูล"; "Common.Controls.Friendship.Follow" = "ติดตาม"; "Common.Controls.Friendship.Following" = "กำลังติดตาม"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "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.Unblock" = "เลิกปิดกั้น"; "Common.Controls.Friendship.UnblockUser" = "เลิกปิดกั้น %@"; "Common.Controls.Friendship.Unmute" = "เลิกซ่อน"; @@ -149,6 +151,7 @@ "Scene.AccountList.AddAccount" = "เพิ่มบัญชี"; "Scene.AccountList.DismissAccountSwitcher" = "ปิดตัวสลับบัญชี"; "Scene.AccountList.TabBarHint" = "โปรไฟล์ที่เลือกในปัจจุบัน: %@ แตะสองครั้งแล้วกดค้างไว้เพื่อแสดงตัวสลับบัญชี"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "เพิ่มไฟล์แนบ"; "Scene.Compose.Accessibility.AppendPoll" = "เพิ่มการสำรวจความคิดเห็น"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "ตัวเลือกอีโมจิที่กำหนดเอง"; @@ -253,8 +256,12 @@ "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.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.ConfirmUnblockUser.Message" = "ยืนยันเพื่อเลิกปิดกั้น %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "เลิกปิดกั้นบัญชี"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "ยืนยันเพื่อเลิกซ่อน %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings index 814969c39..eec4a2940 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.strings @@ -67,11 +67,13 @@ "Common.Controls.Friendship.EditInfo" = "Bilgiyi Düzenle"; "Common.Controls.Friendship.Follow" = "Takip et"; "Common.Controls.Friendship.Following" = "Takip ediliyor"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "Common.Controls.Friendship.Mute" = "Sessize al"; "Common.Controls.Friendship.MuteUser" = "Sustur %@"; "Common.Controls.Friendship.Muted" = "Susturuldu"; "Common.Controls.Friendship.Pending" = "Bekliyor"; "Common.Controls.Friendship.Request" = "İstek"; +"Common.Controls.Friendship.ShowReblogs" = "Show Reblogs"; "Common.Controls.Friendship.Unblock" = "Engeli kaldır"; "Common.Controls.Friendship.UnblockUser" = "%@ kişisinin engelini kaldır"; "Common.Controls.Friendship.Unmute" = "Susturmayı kaldır"; @@ -148,6 +150,7 @@ Bu kişiye göre profiliniz böyle gözüküyor."; "Scene.AccountList.AddAccount" = "Hesap Ekle"; "Scene.AccountList.DismissAccountSwitcher" = "Hesap Değiştiriciyi Kapat"; "Scene.AccountList.TabBarHint" = "Şu anki seçili profil: %@. Hesap değiştiriciyi göstermek için iki kez dokunun ve basılı tutun"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Dosya Ekle"; "Scene.Compose.Accessibility.AppendPoll" = "Anket Ekle"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Özel Emoji Seçici"; @@ -199,7 +202,7 @@ yüklenemiyor."; "Scene.ConfirmEmail.OpenEmailApp.OpenEmailClient" = "E-posta İstemcisini Aç"; "Scene.ConfirmEmail.OpenEmailApp.Title" = "Gelen kutunuzu kontrol edin."; "Scene.ConfirmEmail.Subtitle" = "Hesabınızı doğrulamak için size e-postayla gönderdiğimiz bağlantıya dokunun."; -"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Tap the link we emailed to you to verify your account"; +"Scene.ConfirmEmail.TapTheLinkWeEmailedToYouToVerifyYourAccount" = "Hesabınızı doğrulamak için size e-postayla gönderdiğimiz bağlantıya dokunun"; "Scene.ConfirmEmail.Title" = "Son bir şey."; "Scene.Discovery.Intro" = "Bunlar, Mastodon'un köşesinde ilgi çeken gönderilerdir."; "Scene.Discovery.Tabs.Community" = "Topluluk"; @@ -212,11 +215,11 @@ yüklenemiyor."; "Scene.Favorite.Title" = "Favorilerin"; "Scene.FavoritedBy.Title" = "Favorited By"; "Scene.Follower.Footer" = "Diğer sunucudaki takipçiler gösterilemiyor."; -"Scene.Follower.Title" = "follower"; +"Scene.Follower.Title" = "takipçi"; "Scene.Following.Footer" = "Diğer sunucudaki takip edilenler gösterilemiyor."; -"Scene.Following.Title" = "following"; +"Scene.Following.Title" = "takip"; "Scene.HomeTimeline.NavigationBarState.Accessibility.LogoHint" = "Tap to scroll to top and tap again to previous location"; -"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Button"; +"Scene.HomeTimeline.NavigationBarState.Accessibility.LogoLabel" = "Logo Düğmesi"; "Scene.HomeTimeline.NavigationBarState.NewPosts" = "Yeni gönderiler gör"; "Scene.HomeTimeline.NavigationBarState.Offline" = "Çevrimdışı"; "Scene.HomeTimeline.NavigationBarState.Published" = "Yayınlandı!"; @@ -249,11 +252,15 @@ yüklenemiyor."; "Scene.Profile.Fields.AddRow" = "Satır Ekle"; "Scene.Profile.Fields.Placeholder.Content" = "İçerik"; "Scene.Profile.Fields.Placeholder.Label" = "Etiket"; -"Scene.Profile.Header.FollowsYou" = "Follows You"; +"Scene.Profile.Header.FollowsYou" = "Seni takip ediyor"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "%@ engellemeyi onayla"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Hesabı Engelle"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Confirm to hide reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Hide Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "%@ susturmak için onaylayın"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Hesabı sustur"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Confirm to show reblogs"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Show Reblogs"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "%@ engellemeyi kaldırmayı onaylayın"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Hesabın Engelini Kaldır"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "%@ susturmasını kaldırmak için onaylayın"; @@ -266,7 +273,7 @@ yüklenemiyor."; "Scene.RebloggedBy.Title" = "Reblogged By"; "Scene.Register.Error.Item.Agreement" = "Anlaşma"; "Scene.Register.Error.Item.Email" = "E-posta"; -"Scene.Register.Error.Item.Locale" = "Locale"; +"Scene.Register.Error.Item.Locale" = "Yerel"; "Scene.Register.Error.Item.Password" = "Parola"; "Scene.Register.Error.Item.Reason" = "Sebep"; "Scene.Register.Error.Item.Username" = "Kullanıcı adı"; @@ -296,7 +303,7 @@ yüklenemiyor."; "Scene.Register.Input.Password.Require" = "Parolanızda en azından şunlar olmalı:"; "Scene.Register.Input.Username.DuplicatePrompt" = "Bu kullanıcı adı alınmış."; "Scene.Register.Input.Username.Placeholder" = "kullanıcı adı"; -"Scene.Register.LetsGetYouSetUpOnDomain" = "Let’s get you set up on %@"; +"Scene.Register.LetsGetYouSetUpOnDomain" = "%@ için kurulumunuzu yapalım"; "Scene.Register.Title" = "%@ için kurulumunuzu yapalım"; "Scene.Report.Content1" = "Bu rapora eklemek istediğiniz başka gönderiler var mı?"; "Scene.Report.Content2" = "Bu rapor hakkında moderatörlerin bilmesi gerektiği bir şey var mı?"; @@ -308,10 +315,10 @@ yüklenemiyor."; "Scene.Report.Step2" = "Adım 2/2"; "Scene.Report.StepFinal.BlockUser" = "Block %@"; "Scene.Report.StepFinal.DontWantToSeeThis" = "Bunu görmek istemiyor musunuz?"; -"Scene.Report.StepFinal.MuteUser" = "Mute %@"; +"Scene.Report.StepFinal.MuteUser" = "Sustur %@"; "Scene.Report.StepFinal.TheyWillNoLongerBeAbleToFollowOrSeeYourPostsButTheyCanSeeIfTheyveBeenBlocked" = "They will no longer be able to follow or see your posts, but they can see if they’ve been blocked."; "Scene.Report.StepFinal.Unfollow" = "Takibi bırak"; -"Scene.Report.StepFinal.UnfollowUser" = "Unfollow %@"; +"Scene.Report.StepFinal.UnfollowUser" = "Takipten çık %@"; "Scene.Report.StepFinal.Unfollowed" = "Unfollowed"; "Scene.Report.StepFinal.WhenYouSeeSomethingYouDontLikeOnMastodonYouCanRemoveThePersonFromYourExperience." = "When you see something you don’t like on Mastodon, you can remove the person from your experience."; "Scene.Report.StepFinal.WhileWeReviewThisYouCanTakeActionAgainstUser" = "While we review this, you can take action against %@"; @@ -378,7 +385,7 @@ yüklenemiyor."; "Scene.ServerPicker.EmptyState.FindingServers" = "Mevcut sunucular aranıyor..."; "Scene.ServerPicker.EmptyState.NoResults" = "Sonuç yok"; "Scene.ServerPicker.Input.Placeholder" = "Toplulukları ara"; -"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Search servers or enter URL"; +"Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Sunucuları ara ya da bir bağlantı gir"; "Scene.ServerPicker.Label.Category" = "KATEGORİ"; "Scene.ServerPicker.Label.Language" = "DİL"; "Scene.ServerPicker.Label.Users" = "KULLANICILAR"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict index 3da12ee4e..29df92c2b 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/tr.lproj/Localizable.stringsdict @@ -234,7 +234,7 @@ one 1 takip edilen other - %ld takip edilen + %ld takip plural.count.follower diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings index b3be7f302..14f36c7e7 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/vi.lproj/Localizable.strings @@ -68,11 +68,13 @@ Vui lòng kiểm tra kết nối mạng."; "Common.Controls.Friendship.EditInfo" = "Chỉnh sửa"; "Common.Controls.Friendship.Follow" = "Theo dõi"; "Common.Controls.Friendship.Following" = "Đang theo dõi"; +"Common.Controls.Friendship.HideReblogs" = "Ẩn đăng lại"; "Common.Controls.Friendship.Mute" = "Ẩn"; "Common.Controls.Friendship.MuteUser" = "Ẩn %@"; "Common.Controls.Friendship.Muted" = "Đã ẩn"; "Common.Controls.Friendship.Pending" = "Đang chờ"; "Common.Controls.Friendship.Request" = "Yêu cầu"; +"Common.Controls.Friendship.ShowReblogs" = "Hiện đăng lại"; "Common.Controls.Friendship.Unblock" = "Bỏ chặn"; "Common.Controls.Friendship.UnblockUser" = "Bỏ chặn %@"; "Common.Controls.Friendship.Unmute" = "Bỏ ẩn"; @@ -135,7 +137,7 @@ cho tới khi họ bỏ chặn bạn."; cho tới khi bạn bỏ chặn họ. Họ sẽ thấy trang của bạn như thế này."; "Common.Controls.Timeline.Header.NoStatusFound" = "Không tìm thấy tút"; -"Common.Controls.Timeline.Header.SuspendedWarning" = "Người dùng đã bị vô hiệu hóa."; +"Common.Controls.Timeline.Header.SuspendedWarning" = "Người này đã bị vô hiệu hóa."; "Common.Controls.Timeline.Header.UserBlockedWarning" = "Bạn không thể xem trang %@ cho tới khi họ bỏ chặn bạn."; "Common.Controls.Timeline.Header.UserBlockingWarning" = "Bạn không thể xem trang %@ @@ -149,6 +151,7 @@ Họ sẽ thấy trang của bạn như thế này."; "Scene.AccountList.AddAccount" = "Thêm tài khoản"; "Scene.AccountList.DismissAccountSwitcher" = "Bỏ qua chuyển đổi tài khoản"; "Scene.AccountList.TabBarHint" = "Đang dùng tài khoản: %@. Nhấn hai lần và giữ để đổi sang tài khoản khác"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "Thêm media"; "Scene.Compose.Accessibility.AppendPoll" = "Tạo bình chọn"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "Chọn emoji"; @@ -187,7 +190,7 @@ tải lên Mastodon."; "Scene.Compose.Title.NewPost" = "Viết tút"; "Scene.Compose.Title.NewReply" = "Viết trả lời"; "Scene.Compose.Visibility.Direct" = "Nhắn riêng"; -"Scene.Compose.Visibility.Private" = "Riêng tư"; +"Scene.Compose.Visibility.Private" = "Chỉ người theo dõi"; "Scene.Compose.Visibility.Public" = "Công khai"; "Scene.Compose.Visibility.Unlisted" = "Hạn chế"; "Scene.ConfirmEmail.Button.OpenEmailApp" = "Mở ứng dụng email"; @@ -252,13 +255,17 @@ tải lên Mastodon."; "Scene.Profile.Fields.Placeholder.Label" = "Nhãn"; "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 dùng"; +"Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "Chặn người này"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Message" = "Xác nhận ẩn đăng lại"; +"Scene.Profile.RelationshipActionAlert.ConfirmHideReblogs.Title" = "Ẩn đăng lại"; "Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Message" = "Xác nhận ẩn %@"; -"Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Ẩn người dùng"; +"Scene.Profile.RelationshipActionAlert.ConfirmMuteUser.Title" = "Ẩn người này"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Message" = "Xác nhận hiện đăng lại"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "Hiện đăng lại"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "Xác nhận bỏ chặn %@"; -"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Bỏ chặn người dùng"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "Bỏ chặn người này"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "Xác nhận bỏ ẩn %@"; -"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Bỏ ẩn người dùng"; +"Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Title" = "Bỏ ẩn người này"; "Scene.Profile.SegmentedControl.About" = "Giới thiệu"; "Scene.Profile.SegmentedControl.Media" = "Media"; "Scene.Profile.SegmentedControl.Posts" = "Tút"; @@ -286,7 +293,7 @@ tải lên Mastodon."; "Scene.Register.Error.Special.UsernameInvalid" = "Tên người dùng chỉ có thể chứa các ký tự chữ và số và dấu gạch dưới"; "Scene.Register.Error.Special.UsernameTooLong" = "Tên người dùng không thể dài hơn 30 ký tự"; "Scene.Register.Input.Avatar.Delete" = "Xóa"; -"Scene.Register.Input.DisplayName.Placeholder" = "tên hiển thị"; +"Scene.Register.Input.DisplayName.Placeholder" = "biệt danh"; "Scene.Register.Input.Email.Placeholder" = "email"; "Scene.Register.Input.Invite.RegistrationUserInviteRequest" = "Vì sao bạn muốn tham gia?"; "Scene.Register.Input.Password.Accessibility.Checked" = "đã ổn"; @@ -348,15 +355,15 @@ tải lên Mastodon."; "Scene.Search.Recommend.ButtonText" = "Xem tất cả"; "Scene.Search.Recommend.HashTag.Description" = "Những hashtag đang được sử dụng nhiều nhất"; "Scene.Search.Recommend.HashTag.PeopleTalking" = "%@ người đang thảo luận"; -"Scene.Search.Recommend.HashTag.Title" = "Xu hướng trên Mastodon"; +"Scene.Search.Recommend.HashTag.Title" = "Nổi bật trên Mastodon"; "Scene.Search.SearchBar.Cancel" = "Hủy bỏ"; -"Scene.Search.SearchBar.Placeholder" = "Tìm hashtag và người dùng"; +"Scene.Search.SearchBar.Placeholder" = "Tìm hashtag và mọi người"; "Scene.Search.Searching.Clear" = "Xóa"; "Scene.Search.Searching.EmptyState.NoResults" = "Không có kết quả"; "Scene.Search.Searching.RecentSearch" = "Tìm kiếm gần đây"; "Scene.Search.Searching.Segment.All" = "Tất cả"; "Scene.Search.Searching.Segment.Hashtags" = "Hashtag"; -"Scene.Search.Searching.Segment.People" = "Người dùng"; +"Scene.Search.Searching.Segment.People" = "Mọi người"; "Scene.Search.Searching.Segment.Posts" = "Tút"; "Scene.Search.Title" = "Tìm kiếm"; "Scene.ServerPicker.Button.Category.Academia" = "học thuật"; @@ -382,7 +389,7 @@ tải lên Mastodon."; "Scene.ServerPicker.Input.SearchServersOrEnterUrl" = "Tìm 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 DÙ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.Title" = "Mastodon gồm nhiều máy chủ với thành viên riêng."; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings index 62117499d..8e5de6b52 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hans.lproj/Localizable.strings @@ -68,11 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "编辑"; "Common.Controls.Friendship.Follow" = "关注"; "Common.Controls.Friendship.Following" = "正在关注"; +"Common.Controls.Friendship.HideReblogs" = "Hide Reblogs"; "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.Unblock" = "解除屏蔽"; "Common.Controls.Friendship.UnblockUser" = "解除屏蔽 %@"; "Common.Controls.Friendship.Unmute" = "取消静音"; @@ -149,6 +151,7 @@ "Scene.AccountList.AddAccount" = "添加账户"; "Scene.AccountList.DismissAccountSwitcher" = "关闭账户切换页面"; "Scene.AccountList.TabBarHint" = "当前账户:%@。 双击并按住来打开账户切换页面"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "添加附件"; "Scene.Compose.Accessibility.AppendPoll" = "添加投票"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "自定义表情选择器"; @@ -253,8 +256,12 @@ "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.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.ConfirmUnblockUser.Message" = "确认取消屏蔽 %@"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "解除屏蔽帐户"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "确认取消静音 %@"; diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings index 10fd6837a..f97926795 100644 --- a/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings +++ b/MastodonSDK/Sources/MastodonLocalization/Resources/zh-Hant.lproj/Localizable.strings @@ -1,5 +1,5 @@ "Common.Alerts.BlockDomain.BlockEntireDomain" = "封鎖網域"; -"Common.Alerts.BlockDomain.Title" = "真的非常確定封鎖整個 %@ 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳帳戶能滿足需求了。您將不能看到來自此網域的內容。您來自該網域的跟隨者也將被移除。"; +"Common.Alerts.BlockDomain.Title" = "真的非常確定要封鎖整個 %@ 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳號能滿足需求了。您將不能看到來自此網域的內容。您來自該網域的跟隨者也將被移除。"; "Common.Alerts.CleanCache.Message" = "成功清除 %@ 快取。"; "Common.Alerts.CleanCache.Title" = "清除快取"; "Common.Alerts.Common.PleaseTryAgain" = "請再試一次。"; @@ -68,11 +68,13 @@ "Common.Controls.Friendship.EditInfo" = "編輯"; "Common.Controls.Friendship.Follow" = "跟隨"; "Common.Controls.Friendship.Following" = "跟隨中"; +"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" = "顯示轉嘟"; "Common.Controls.Friendship.Unblock" = "解除封鎖"; "Common.Controls.Friendship.UnblockUser" = "解除封鎖 %@"; "Common.Controls.Friendship.Unmute" = "取消靜音"; @@ -145,6 +147,7 @@ "Scene.AccountList.AddAccount" = "新增帳號"; "Scene.AccountList.DismissAccountSwitcher" = "關閉帳號切換器"; "Scene.AccountList.TabBarHint" = "目前已選擇的個人檔案:%@。點兩下然後按住以顯示帳號切換器"; +"Scene.Bookmark.Title" = "Bookmarks"; "Scene.Compose.Accessibility.AppendAttachment" = "新增附件"; "Scene.Compose.Accessibility.AppendPoll" = "新增投票"; "Scene.Compose.Accessibility.CustomEmojiPicker" = "自訂 emoji 選擇器"; @@ -248,8 +251,12 @@ "Scene.Profile.Header.FollowsYou" = "跟隨了您"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Message" = "確認將 %@ 封鎖"; "Scene.Profile.RelationshipActionAlert.ConfirmBlockUser.Title" = "封鎖"; +"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" = "確認顯示轉嘟"; +"Scene.Profile.RelationshipActionAlert.ConfirmShowReblogs.Title" = "顯示轉嘟"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Message" = "確認將 %@ 取消封鎖"; "Scene.Profile.RelationshipActionAlert.ConfirmUnblockUser.Title" = "取消封鎖"; "Scene.Profile.RelationshipActionAlert.ConfirmUnmuteUser.Message" = "確認將 %@ 取消靜音"; From 81094c6676e9d24fcf3b4c9569afeed817f5233f Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Wed, 9 Nov 2022 12:23:38 +0100 Subject: [PATCH 27/31] Add a little documentation on how to L10n (#539) --- Localization/README.md | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/Localization/README.md b/Localization/README.md index ac32319cc..9bdbae360 100644 --- a/Localization/README.md +++ b/Localization/README.md @@ -1,23 +1,34 @@ # Localization [![Crowdin](https://badges.crowdin.net/mastodon-for-ios/localized.svg)](https://crowdin.com/project/mastodon-for-ios) -Mastodon localization template file +We use Crowdin for translations and some automation. +## How to contribute -## How to contribute? +### Help with translations -Please use the [Crodwin](https://crowdin.com/project/mastodon-for-ios) to contribute. If your language is not in the list. Please feel free to open the issue. +Head over [Crowdin][crowdin-mastodon-ios] for that. To help with translations, select your language and translate :-) If your language is not in the list, please feel free to [open a topic on Crowdin](crowdin-mastodon-ios-discussions). -## How to maintains +Please note: You need to have an account on Crowdin to help with translations. -The project use a script to generate Xcode localized strings files. +### Add new strings -```zsh -// enter workdir -cd Mastodon +This is mainly for developers. -// merge PR from Crowdin bot +1. Add new strings in `Localization/app.json` **and** the `Localizable.strings` for English. +2. Run `swiftgen` to generate the `Strings.swift`-file **or** have Xcode build the app (`swiftgen` is a Build phase, too). +3. Use `import MastodonLocalization` and its (new) `L10n`-enum and its properties where ever you need them in the app. +4. Once the updated `Localization/app.json` hits `develop`, it gets synced to Crowdin, where people can help with translations. `Localization/app.json` must be a valid json. -// update resource -./update_localization.sh -``` \ No newline at end of file +## How to update translations + +If there are new translations, Crowdin pushes new commits to a branch called `l10n_develop` and creates a new Pull Request. Both, the branch and the PR might be updated once an hour. The project itself uses a script to generate the various `Localizable.strings`-files etc. for Xcode. + +To add new strings, the workflow is as follows: + +1. Merge the PR with `l10n_develop` into `develop`. +2. Run `update.localization.sh` +3. Commit the changes and push `develop`. + +[crowdin-mastodon-ios]: https://crowdin.com/project/mastodon-for-ios +[crowdin-mastodon-ios-discussions]: https://crowdin.com/project/mastodon-for-ios/discussions \ No newline at end of file From 5589ad0b61f774b8222b242977eaed4f49110b66 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Wed, 9 Nov 2022 12:25:17 +0100 Subject: [PATCH 28/31] Fix typo (#539) --- Localization/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Localization/README.md b/Localization/README.md index 9bdbae360..93bf290bc 100644 --- a/Localization/README.md +++ b/Localization/README.md @@ -24,11 +24,11 @@ This is mainly for developers. If there are new translations, Crowdin pushes new commits to a branch called `l10n_develop` and creates a new Pull Request. Both, the branch and the PR might be updated once an hour. The project itself uses a script to generate the various `Localizable.strings`-files etc. for Xcode. -To add new strings, the workflow is as follows: +To update or add new translations, the workflow is as follows: -1. Merge the PR with `l10n_develop` into `develop`. -2. Run `update.localization.sh` +1. Merge the PR with `l10n_develop` into `develop`. It's usually called `New Crowdin Updates` +2. Run `update.localization.sh` on your computer. 3. Commit the changes and push `develop`. [crowdin-mastodon-ios]: https://crowdin.com/project/mastodon-for-ios -[crowdin-mastodon-ios-discussions]: https://crowdin.com/project/mastodon-for-ios/discussions \ No newline at end of file +[crowdin-mastodon-ios-discussions]: https://crowdin.com/project/mastodon-for-ios/discussions From fcf38a15d69a7659882eb823a5257806109db0bd Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Wed, 9 Nov 2022 07:35:06 -0500 Subject: [PATCH 29/31] =?UTF-8?q?Revert=20"Consistently=20handle=20?= =?UTF-8?q?=E2=80=9CA11y=E2=80=9D=20key"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit d96f189980917992d9b832d5dd9251893792dc04. --- .../StringsConvertor/Sources/StringsConvertor/Parser.swift | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift b/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift index c355493fe..ba9750cd4 100644 --- a/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift +++ b/Localization/StringsConvertor/Sources/StringsConvertor/Parser.swift @@ -43,12 +43,7 @@ extension Parser { .map { switch keyStyle { case .infoPlist: return $0 - case .swiftgen: - if $0 == "a11y" { - return "A11y" - } else { - return $0.capitalized - } + case .swiftgen: return $0.capitalized } } .joined() From d14966792a6d60d948685e976cb60beaf267273c Mon Sep 17 00:00:00 2001 From: woxtu Date: Thu, 10 Nov 2022 01:50:04 +0900 Subject: [PATCH 30/31] Fix typos --- Documentation/Snapshot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/Snapshot.md b/Documentation/Snapshot.md index 7140f7a0b..857c1b586 100644 --- a/Documentation/Snapshot.md +++ b/Documentation/Snapshot.md @@ -14,7 +14,7 @@ We use `xcodebuild` CLI tool to trigger UITest. Set the `name` in `-destination` option to add device for snapshot. For example: `-destination 'platform=iOS Simulator,name=iPad Pro (12.9-inch) (5th generation)' \` -You can list the avaiable simulator: +You can list the available simulators: ```zsh # list the destinations xcodebuild \ From 287aa7a2db088d779dcc76c1954baa2281f32813 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Thevenet Date: Wed, 9 Nov 2022 21:18:15 +0100 Subject: [PATCH 31/31] Update app.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## EASY FIX Typo fix & consistency 😉 --- Localization/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Localization/app.json b/Localization/app.json index 8867385e2..c5a3dac74 100644 --- a/Localization/app.json +++ b/Localization/app.json @@ -138,7 +138,7 @@ }, "meta_entity": { "url": "Link: %s", - "hashtag": "Hastag %s", + "hashtag": "Hashtag: %s", "mention": "Show Profile: %s", "email": "Email address: %s" },