mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-11-26 02:01:02 +00:00
Add localisation plurals (#239)
* Add localisation plurals * Add more languages to plurals * Remove unused localised keys * Update per #225
This commit is contained in:
parent
baa67ae718
commit
97f8dfd74d
14 changed files with 168 additions and 8 deletions
|
@ -8,6 +8,9 @@
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
639CDF9C296AC82F00C35E58 /* SafariRouteur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639CDF9B296AC82F00C35E58 /* SafariRouteur.swift */; };
|
639CDF9C296AC82F00C35E58 /* SafariRouteur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639CDF9B296AC82F00C35E58 /* SafariRouteur.swift */; };
|
||||||
|
7429BCE2297C55D00069A946 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 7429BCE4297C55D00069A946 /* Localizable.stringsdict */; };
|
||||||
|
7429BCE5297C5A750069A946 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 7429BCE4297C55D00069A946 /* Localizable.stringsdict */; };
|
||||||
|
7429BCE6297C5A750069A946 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 7429BCE4297C55D00069A946 /* Localizable.stringsdict */; };
|
||||||
9F24EEB829360C330042359D /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9F24EEB729360C330042359D /* Preview Assets.xcassets */; };
|
9F24EEB829360C330042359D /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9F24EEB729360C330042359D /* Preview Assets.xcassets */; };
|
||||||
9F295540292B6C3400E0E81B /* Timeline in Frameworks */ = {isa = PBXBuildFile; productRef = 9F29553F292B6C3400E0E81B /* Timeline */; };
|
9F295540292B6C3400E0E81B /* Timeline in Frameworks */ = {isa = PBXBuildFile; productRef = 9F29553F292B6C3400E0E81B /* Timeline */; };
|
||||||
9F2A540729699698009B2D7C /* SupportAppView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F2A540629699698009B2D7C /* SupportAppView.swift */; };
|
9F2A540729699698009B2D7C /* SupportAppView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F2A540629699698009B2D7C /* SupportAppView.swift */; };
|
||||||
|
@ -103,6 +106,12 @@
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
639CDF9B296AC82F00C35E58 /* SafariRouteur.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariRouteur.swift; sourceTree = "<group>"; };
|
639CDF9B296AC82F00C35E58 /* SafariRouteur.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariRouteur.swift; sourceTree = "<group>"; };
|
||||||
|
7429BCE3297C55D00069A946 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
|
||||||
|
7429BCE7297C5D010069A946 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = nl; path = nl.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
|
||||||
|
7429BCE8297C5D020069A946 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = de; path = de.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
|
||||||
|
7429BCE9297C5D030069A946 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = es; path = es.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
|
||||||
|
7429BCEB297D65380069A946 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
|
||||||
|
7429BCEC297D65390069A946 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = it; path = it.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
|
||||||
9606B7A1297AD2BB00C1FB75 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
|
9606B7A1297AD2BB00C1FB75 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
9F24EEB729360C330042359D /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
|
9F24EEB729360C330042359D /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
|
||||||
9F29553D292B67B600E0E81B /* Network */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = Network; path = Packages/Network; sourceTree = "<group>"; };
|
9F29553D292B67B600E0E81B /* Network */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = Network; path = Packages/Network; sourceTree = "<group>"; };
|
||||||
|
@ -214,6 +223,14 @@
|
||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
|
7429BCEA297C64CF0069A946 /* Plurals */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
7429BCE4297C55D00069A946 /* Localizable.stringsdict */,
|
||||||
|
);
|
||||||
|
path = Plurals;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
9F2A5417296AB631009B2D7C /* IceCubesNotifications */ = {
|
9F2A5417296AB631009B2D7C /* IceCubesNotifications */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
@ -356,6 +373,7 @@
|
||||||
E9B576C029743F2A00BCE646 /* Localization */ = {
|
E9B576C029743F2A00BCE646 /* Localization */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
7429BCEA297C64CF0069A946 /* Plurals */,
|
||||||
E9B576C529743F4C00BCE646 /* Localizable.strings */,
|
E9B576C529743F4C00BCE646 /* Localizable.strings */,
|
||||||
);
|
);
|
||||||
path = Localization;
|
path = Localization;
|
||||||
|
@ -503,6 +521,7 @@
|
||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
7429BCE5297C5A750069A946 /* Localizable.stringsdict in Resources */,
|
||||||
9F8CA5982979B63D00481E8E /* Localizable.strings in Resources */,
|
9F8CA5982979B63D00481E8E /* Localizable.strings in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
@ -513,6 +532,7 @@
|
||||||
files = (
|
files = (
|
||||||
9FAD858E29743F7400496AB1 /* (null) in Resources */,
|
9FAD858E29743F7400496AB1 /* (null) in Resources */,
|
||||||
9F8CA5972979B61100481E8E /* Localizable.strings in Resources */,
|
9F8CA5972979B61100481E8E /* Localizable.strings in Resources */,
|
||||||
|
7429BCE6297C5A750069A946 /* Localizable.stringsdict in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -523,6 +543,7 @@
|
||||||
9F2A542C296B1177009B2D7C /* glass.caf in Resources */,
|
9F2A542C296B1177009B2D7C /* glass.caf in Resources */,
|
||||||
E9B576C329743F4C00BCE646 /* Localizable.strings in Resources */,
|
E9B576C329743F4C00BCE646 /* Localizable.strings in Resources */,
|
||||||
9FD34823293D06E800DB0EE9 /* Assets.xcassets in Resources */,
|
9FD34823293D06E800DB0EE9 /* Assets.xcassets in Resources */,
|
||||||
|
7429BCE2297C55D00069A946 /* Localizable.stringsdict in Resources */,
|
||||||
9F24EEB829360C330042359D /* Preview Assets.xcassets in Resources */,
|
9F24EEB829360C330042359D /* Preview Assets.xcassets in Resources */,
|
||||||
9FAD85832971BF7200496AB1 /* Secret.plist in Resources */,
|
9FAD85832971BF7200496AB1 /* Secret.plist in Resources */,
|
||||||
9F2A542E296B1CC0009B2D7C /* glass.wav in Resources */,
|
9F2A542E296B1CC0009B2D7C /* glass.wav in Resources */,
|
||||||
|
@ -593,6 +614,19 @@
|
||||||
/* End PBXTargetDependency section */
|
/* End PBXTargetDependency section */
|
||||||
|
|
||||||
/* Begin PBXVariantGroup section */
|
/* Begin PBXVariantGroup section */
|
||||||
|
7429BCE4297C55D00069A946 /* Localizable.stringsdict */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
7429BCE3297C55D00069A946 /* en */,
|
||||||
|
7429BCE7297C5D010069A946 /* nl */,
|
||||||
|
7429BCE8297C5D020069A946 /* de */,
|
||||||
|
7429BCE9297C5D030069A946 /* es */,
|
||||||
|
7429BCEB297D65380069A946 /* zh-Hans */,
|
||||||
|
7429BCEC297D65390069A946 /* it */,
|
||||||
|
);
|
||||||
|
name = Localizable.stringsdict;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
E9B576C529743F4C00BCE646 /* Localizable.strings */ = {
|
E9B576C529743F4C00BCE646 /* Localizable.strings */ = {
|
||||||
isa = PBXVariantGroup;
|
isa = PBXVariantGroup;
|
||||||
children = (
|
children = (
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>timeline-new-posts %lld</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringLocalizedFormatKey</key>
|
||||||
|
<string>%#@timelineNewPosts@</string>
|
||||||
|
<key>timelineNewPosts</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringFormatSpecTypeKey</key>
|
||||||
|
<string>NSStringPluralRuleType</string>
|
||||||
|
<key>NSStringFormatValueTypeKey</key>
|
||||||
|
<string>lld</string>
|
||||||
|
<key>one</key>
|
||||||
|
<string>ein neuer Post</string>
|
||||||
|
<key>other</key>
|
||||||
|
<string>%lld neue Posts</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>timeline-new-posts %lld</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringLocalizedFormatKey</key>
|
||||||
|
<string>%#@timelineNewPosts@</string>
|
||||||
|
<key>timelineNewPosts</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringFormatSpecTypeKey</key>
|
||||||
|
<string>NSStringPluralRuleType</string>
|
||||||
|
<key>NSStringFormatValueTypeKey</key>
|
||||||
|
<string>lld</string>
|
||||||
|
<key>one</key>
|
||||||
|
<string>%lld new post</string>
|
||||||
|
<key>other</key>
|
||||||
|
<string>%lld new posts</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>timeline-new-posts %lld</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringLocalizedFormatKey</key>
|
||||||
|
<string>%#@timelineNewPosts@</string>
|
||||||
|
<key>timelineNewPosts</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringFormatSpecTypeKey</key>
|
||||||
|
<string>NSStringPluralRuleType</string>
|
||||||
|
<key>NSStringFormatValueTypeKey</key>
|
||||||
|
<string>lld</string>
|
||||||
|
<key>one</key>
|
||||||
|
<string>%lld new post</string>
|
||||||
|
<key>other</key>
|
||||||
|
<string>%lld nuevas publicaciones</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>timeline-new-posts %lld</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringLocalizedFormatKey</key>
|
||||||
|
<string>%#@timelineNewPosts@</string>
|
||||||
|
<key>timelineNewPosts</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringFormatSpecTypeKey</key>
|
||||||
|
<string>NSStringPluralRuleType</string>
|
||||||
|
<key>NSStringFormatValueTypeKey</key>
|
||||||
|
<string>lld</string>
|
||||||
|
<key>one</key>
|
||||||
|
<string>%lld new post</string>
|
||||||
|
<key>other</key>
|
||||||
|
<string>%lld nuovi messaggi</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>timeline-new-posts %lld</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringLocalizedFormatKey</key>
|
||||||
|
<string>%#@timelineNewPosts@</string>
|
||||||
|
<key>timelineNewPosts</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringFormatSpecTypeKey</key>
|
||||||
|
<string>NSStringPluralRuleType</string>
|
||||||
|
<key>NSStringFormatValueTypeKey</key>
|
||||||
|
<string>lld</string>
|
||||||
|
<key>one</key>
|
||||||
|
<string>%lld new post</string>
|
||||||
|
<key>other</key>
|
||||||
|
<string>%lld nieuwe posts</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>timeline-new-posts %lld</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringLocalizedFormatKey</key>
|
||||||
|
<string>%#@timelineNewPosts@</string>
|
||||||
|
<key>timelineNewPosts</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSStringFormatSpecTypeKey</key>
|
||||||
|
<string>NSStringPluralRuleType</string>
|
||||||
|
<key>NSStringFormatValueTypeKey</key>
|
||||||
|
<string>lld</string>
|
||||||
|
<key>one</key>
|
||||||
|
<string>%lld new post</string>
|
||||||
|
<key>other</key>
|
||||||
|
<string>%lld 个新嘟文</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -237,7 +237,6 @@
|
||||||
"notifications.tab.mentions" = "Erwähnungen";
|
"notifications.tab.mentions" = "Erwähnungen";
|
||||||
|
|
||||||
// MARK: Package: Timeline
|
// MARK: Package: Timeline
|
||||||
"timeline.n-new-posts %lld" = "%lld neue Posts";
|
|
||||||
"timeline.federated" = "Föderiert";
|
"timeline.federated" = "Föderiert";
|
||||||
"timeline.home" = "Startseite";
|
"timeline.home" = "Startseite";
|
||||||
"timeline.local" = "Lokal";
|
"timeline.local" = "Lokal";
|
||||||
|
|
|
@ -237,7 +237,6 @@
|
||||||
"notifications.tab.mentions" = "Mentions";
|
"notifications.tab.mentions" = "Mentions";
|
||||||
|
|
||||||
// MARK: Package: Timeline
|
// MARK: Package: Timeline
|
||||||
"timeline.n-new-posts %lld" = "%lld new posts";
|
|
||||||
"timeline.federated" = "Federated";
|
"timeline.federated" = "Federated";
|
||||||
"timeline.home" = "Home";
|
"timeline.home" = "Home";
|
||||||
"timeline.local" = "Local";
|
"timeline.local" = "Local";
|
||||||
|
|
|
@ -237,7 +237,6 @@
|
||||||
"notifications.tab.mentions" = "Menciones";
|
"notifications.tab.mentions" = "Menciones";
|
||||||
|
|
||||||
// MARK: Package: Timeline
|
// MARK: Package: Timeline
|
||||||
"timeline.n-new-posts %lld" = "%lld nuevas publicaciones";
|
|
||||||
"timeline.federated" = "Federado";
|
"timeline.federated" = "Federado";
|
||||||
"timeline.home" = "Inicio";
|
"timeline.home" = "Inicio";
|
||||||
"timeline.local" = "Local";
|
"timeline.local" = "Local";
|
||||||
|
|
|
@ -237,7 +237,6 @@
|
||||||
"notifications.tab.mentions" = "Menzioni";
|
"notifications.tab.mentions" = "Menzioni";
|
||||||
|
|
||||||
// MARK: Package: Timeline
|
// MARK: Package: Timeline
|
||||||
"timeline.n-new-posts %lld" = "%lld nuovi messaggi";
|
|
||||||
"timeline.federated" = "Federazione";
|
"timeline.federated" = "Federazione";
|
||||||
"timeline.home" = "Home";
|
"timeline.home" = "Home";
|
||||||
"timeline.local" = "Locale";
|
"timeline.local" = "Locale";
|
||||||
|
|
|
@ -237,9 +237,8 @@
|
||||||
"notifications.tab.mentions" = "Vermeldingen";
|
"notifications.tab.mentions" = "Vermeldingen";
|
||||||
|
|
||||||
// MARK: Package: Timeline
|
// MARK: Package: Timeline
|
||||||
"timeline.n-new-posts %lld" = "%lld nieuwe posts";
|
|
||||||
"timeline.federated" = "Gefedereerd";
|
"timeline.federated" = "Gefedereerd";
|
||||||
"timeline.home" = "Thuis";
|
"timeline.home" = "Startpagina";
|
||||||
"timeline.local" = "Lokaal";
|
"timeline.local" = "Lokaal";
|
||||||
"timeline.n-recent-from-n-participants %lld %lld" = "%lld recente posts van %lld deelnemers";
|
"timeline.n-recent-from-n-participants %lld %lld" = "%lld recente posts van %lld deelnemers";
|
||||||
"timeline.trending" = "Trending";
|
"timeline.trending" = "Trending";
|
||||||
|
|
|
@ -237,7 +237,6 @@
|
||||||
"notifications.tab.mentions" = "提及";
|
"notifications.tab.mentions" = "提及";
|
||||||
|
|
||||||
// MARK: Package: Timeline
|
// MARK: Package: Timeline
|
||||||
"timeline.n-new-posts %lld" = "%lld 个新嘟文";
|
|
||||||
"timeline.federated" = "跨站";
|
"timeline.federated" = "跨站";
|
||||||
"timeline.home" = "主页";
|
"timeline.home" = "主页";
|
||||||
"timeline.local" = "本地";
|
"timeline.local" = "本地";
|
||||||
|
|
|
@ -49,7 +49,7 @@ class TimelineViewModel: ObservableObject, StatusesFetcher {
|
||||||
var pendingStatusesButtonTitle: LocalizedStringKey {
|
var pendingStatusesButtonTitle: LocalizedStringKey {
|
||||||
switch pendingStatusesState {
|
switch pendingStatusesState {
|
||||||
case .stream, .refresh:
|
case .stream, .refresh:
|
||||||
return "timeline.n-new-posts \(pendingStatuses.count)"
|
return "timeline-new-posts \(pendingStatuses.count)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue