diff --git a/Localization/Localizable.stringsdict b/Localization/Localizable.stringsdict
index 46b79deb2..cd97825f4 100644
--- a/Localization/Localizable.stringsdict
+++ b/Localization/Localizable.stringsdict
@@ -71,21 +71,23 @@
a11y.plural.count.characters_left
NSStringLocalizedFormatKey
- %#@character_count@
+ %#@character_count@ left
character_count
NSStringFormatSpecTypeKey
NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ ld
zero
- no characters left
+ no characters
one
- 1 character left
+ 1 character
few
- %ld characters left
+ %ld characters
many
- %ld characters left
+ %ld characters
other
- %ld characters left
+ %ld characters
plural.count.followed_by_and_mutual
diff --git a/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict b/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict
index bdcae6ac9..297e6675a 100644
--- a/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict
+++ b/Localization/StringsConvertor/input/en.lproj/Localizable.stringsdict
@@ -50,6 +50,28 @@
%ld characters
+ a11y.plural.count.characters_left
+
+ NSStringLocalizedFormatKey
+ %#@character_count@ left
+ character_count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ ld
+ zero
+ no characters
+ one
+ 1 character
+ few
+ %ld characters
+ many
+ %ld characters
+ other
+ %ld characters
+
+
plural.count.followed_by_and_mutual
NSStringLocalizedFormatKey
diff --git a/Localization/StringsConvertor/input/en.lproj/app.json b/Localization/StringsConvertor/input/en.lproj/app.json
index a965b23ae..69b71b0e9 100644
--- a/Localization/StringsConvertor/input/en.lproj/app.json
+++ b/Localization/StringsConvertor/input/en.lproj/app.json
@@ -405,7 +405,9 @@
"custom_emoji_picker": "Custom Emoji Picker",
"enable_content_warning": "Enable Content Warning",
"disable_content_warning": "Disable Content Warning",
- "post_visibility_menu": "Post Visibility Menu"
+ "post_visibility_menu": "Post Visibility Menu",
+ "post_options": "Post Options",
+ "posting_as": "Posting as %s"
},
"keyboard": {
"discard_post": "Discard Post",
diff --git a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift
index 52ed59c09..d6a2d2579 100644
--- a/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift
+++ b/MastodonSDK/Sources/MastodonLocalization/Generated/Strings.swift
@@ -435,6 +435,12 @@ public enum L10n {
public static let disableContentWarning = L10n.tr("Localizable", "Scene.Compose.Accessibility.DisableContentWarning")
/// Enable Content Warning
public static let enableContentWarning = L10n.tr("Localizable", "Scene.Compose.Accessibility.EnableContentWarning")
+ /// Posting as %@
+ public static func postingAs(_ p1: Any) -> String {
+ return L10n.tr("Localizable", "Scene.Compose.Accessibility.PostingAs", String(describing: p1))
+ }
+ /// Post Options
+ public static let postOptions = L10n.tr("Localizable", "Scene.Compose.Accessibility.PostOptions")
/// Post Visibility Menu
public static let postVisibilityMenu = L10n.tr("Localizable", "Scene.Compose.Accessibility.PostVisibilityMenu")
/// Remove Poll
@@ -1262,6 +1268,10 @@ public enum L10n {
public enum A11y {
public enum Plural {
public enum Count {
+ /// Plural format key: "%#@character_count@ left"
+ public static func charactersLeft(_ p1: Int) -> String {
+ return L10n.tr("Localizable", "a11y.plural.count.characters_left", p1)
+ }
/// Plural format key: "Input limit exceeds %#@character_count@"
public static func inputLimitExceeds(_ p1: Int) -> String {
return L10n.tr("Localizable", "a11y.plural.count.input_limit_exceeds", p1)
diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings
index 6917eb0c7..494d49fdc 100644
--- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings
+++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.strings
@@ -160,7 +160,9 @@ Your profile looks like this to them.";
"Scene.Compose.Accessibility.CustomEmojiPicker" = "Custom Emoji Picker";
"Scene.Compose.Accessibility.DisableContentWarning" = "Disable Content Warning";
"Scene.Compose.Accessibility.EnableContentWarning" = "Enable Content Warning";
+"Scene.Compose.Accessibility.PostOptions" = "Post Options";
"Scene.Compose.Accessibility.PostVisibilityMenu" = "Post Visibility Menu";
+"Scene.Compose.Accessibility.PostingAs" = "Posting as %@";
"Scene.Compose.Accessibility.RemovePoll" = "Remove Poll";
"Scene.Compose.Attachment.AttachmentBroken" = "This %@ is broken and can’t be
uploaded to Mastodon.";
diff --git a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.stringsdict b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.stringsdict
index bdcae6ac9..297e6675a 100644
--- a/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.stringsdict
+++ b/MastodonSDK/Sources/MastodonLocalization/Resources/en.lproj/Localizable.stringsdict
@@ -50,6 +50,28 @@
%ld characters
+ a11y.plural.count.characters_left
+
+ NSStringLocalizedFormatKey
+ %#@character_count@ left
+ character_count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ ld
+ zero
+ no characters
+ one
+ 1 character
+ few
+ %ld characters
+ many
+ %ld characters
+ other
+ %ld characters
+
+
plural.count.followed_by_and_mutual
NSStringLocalizedFormatKey
diff --git a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift
index ac1a56b20..b7f01e64a 100644
--- a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift
+++ b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift
@@ -87,16 +87,14 @@ struct ComposeContentToolbarView: View {
Text("\(remains)")
.foregroundColor(Color(isOverflow ? UIColor.systemRed : UIColor.secondaryLabel))
.font(.system(size: isOverflow ? 18 : 16, weight: isOverflow ? .medium : .regular))
- // TODO: i18n (a11y.plural.count.characters_left)
- .accessibilityLabel("\(remains) characters left")
+ .accessibilityLabel(L10n.A11y.Plural.Count.charactersLeft(remains))
}
.padding(.leading, 4) // 4 + 12 = 16
.padding(.trailing, 16)
.frame(height: ComposeContentToolbarView.toolbarHeight)
.background(Color(viewModel.backgroundColor))
.accessibilityElement(children: .contain)
- // TODO: i18n (scene.compose.accessibility.post_options)
- .accessibilityLabel("Post Options")
+ .accessibilityLabel(L10n.Scene.Compose.Accessibility.postOptions)
}
}
diff --git a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentView.swift b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentView.swift
index b48f4e060..98b55018f 100644
--- a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentView.swift
+++ b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentView.swift
@@ -148,8 +148,7 @@ extension ComposeContentView {
Spacer()
}
.accessibilityElement(children: .ignore)
- // TODO: i18n (scene.compose.accessibility.posting_as)
- .accessibilityLabel("Posting as \([viewModel.name.string, viewModel.username].joined(separator: ", "))")
+ .accessibilityLabel(L10n.Scene.Compose.Accessibility.postingAs([viewModel.name.string, viewModel.username].joined(separator: ", ")))
}
}