From 995a78f9da89f7640b76ca5743383b76b3f3b16e Mon Sep 17 00:00:00 2001 From: Terry Yiu <963907+tyiu@users.noreply.github.com> Date: Mon, 2 Jan 2023 14:38:44 -0500 Subject: [PATCH] Export localizations and add transifex.yml config file --- damus.xcodeproj/project.pbxproj | 33 +++++++++++++++++++ damus/en.lproj/InfoPlist.strings | 4 +++ damus/en.lproj/Localizable.strings | Bin 0 -> 6184 bytes damus/es.lproj/InfoPlist.strings | 4 +++ damus/es.lproj/Localizable.strings | Bin 0 -> 6184 bytes damus/es.lproj/Localizable.stringsdict | 42 +++++++++++++++++++++++++ transifex.yml | 22 +++++++++++++ 7 files changed, 105 insertions(+) create mode 100644 damus/en.lproj/InfoPlist.strings create mode 100644 damus/en.lproj/Localizable.strings create mode 100644 damus/es.lproj/InfoPlist.strings create mode 100644 damus/es.lproj/Localizable.strings create mode 100644 damus/es.lproj/Localizable.stringsdict create mode 100644 transifex.yml diff --git a/damus.xcodeproj/project.pbxproj b/damus.xcodeproj/project.pbxproj index 4f99573f..2e2681bf 100644 --- a/damus.xcodeproj/project.pbxproj +++ b/damus.xcodeproj/project.pbxproj @@ -12,6 +12,8 @@ 3169CAED294FCCFC00EE4006 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3169CAEC294FCCFC00EE4006 /* Constants.swift */; }; 31D2E847295218AF006D67F8 /* Shimmer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31D2E846295218AF006D67F8 /* Shimmer.swift */; }; 3A4325A82961E11400BFCD9D /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 3A4325AA2961E11400BFCD9D /* Localizable.stringsdict */; }; + 3AB18056296375CA00FD1BD8 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3AB18052296375CA00FD1BD8 /* InfoPlist.strings */; }; + 3AB18057296375CA00FD1BD8 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3AB18054296375CA00FD1BD8 /* Localizable.strings */; }; 3ACBCB78295FE5C70037388A /* TimeAgoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ACBCB77295FE5C70037388A /* TimeAgoTests.swift */; }; 4C06670128FC7C5900038D2A /* RelayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C06670028FC7C5900038D2A /* RelayView.swift */; }; 4C06670428FC7EC500038D2A /* Kingfisher in Frameworks */ = {isa = PBXBuildFile; productRef = 4C06670328FC7EC500038D2A /* Kingfisher */; }; @@ -166,6 +168,11 @@ 3169CAEC294FCCFC00EE4006 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Constants.swift; path = damus/Util/Constants.swift; sourceTree = SOURCE_ROOT; }; 31D2E846295218AF006D67F8 /* Shimmer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shimmer.swift; sourceTree = ""; }; 3A4325A92961E11400BFCD9D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = ""; }; + 3AB1803D29636FB100FD1BD8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = es; path = es.lproj/Localizable.stringsdict; sourceTree = ""; }; + 3AB18053296375CA00FD1BD8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 3AB18055296375CA00FD1BD8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 3AB18058296377E500FD1BD8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 3AB18059296377E700FD1BD8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 3ACBCB77295FE5C70037388A /* TimeAgoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeAgoTests.swift; sourceTree = ""; }; 4C06670028FC7C5900038D2A /* RelayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayView.swift; sourceTree = ""; }; 4C06670528FCB08600038D2A /* ImageCarousel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCarousel.swift; sourceTree = ""; }; @@ -595,6 +602,8 @@ 4CE6DEE827F7A08100C66700 /* ContentView.swift */, 4CE6DEEA27F7A08200C66700 /* Assets.xcassets */, 4CE6DEEC27F7A08200C66700 /* Preview Content */, + 3AB18052296375CA00FD1BD8 /* InfoPlist.strings */, + 3AB18054296375CA00FD1BD8 /* Localizable.strings */, 3A4325AA2961E11400BFCD9D /* Localizable.stringsdict */, ); path = damus; @@ -731,6 +740,7 @@ knownRegions = ( en, Base, + es, ); mainGroup = 4CE6DEDA27F7A08100C66700; packageReferences = ( @@ -756,7 +766,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 3AB18057296375CA00FD1BD8 /* Localizable.strings in Resources */, 4CE6DEEE27F7A08200C66700 /* Preview Assets.xcassets in Resources */, + 3AB18056296375CA00FD1BD8 /* InfoPlist.strings in Resources */, 4CE6DEEB27F7A08200C66700 /* Assets.xcassets in Resources */, 3A4325A82961E11400BFCD9D /* Localizable.stringsdict in Resources */, ); @@ -947,10 +959,29 @@ isa = PBXVariantGroup; children = ( 3A4325A92961E11400BFCD9D /* en */, + 3AB1803D29636FB100FD1BD8 /* es */, ); name = Localizable.stringsdict; sourceTree = ""; }; + 3AB18052296375CA00FD1BD8 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 3AB18053296375CA00FD1BD8 /* en */, + 3AB18058296377E500FD1BD8 /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 3AB18054296375CA00FD1BD8 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 3AB18055296375CA00FD1BD8 /* en */, + 3AB18059296377E700FD1BD8 /* es */, + ); + name = Localizable.strings; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -958,6 +989,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; @@ -1019,6 +1051,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; diff --git a/damus/en.lproj/InfoPlist.strings b/damus/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..b5e9b532 --- /dev/null +++ b/damus/en.lproj/InfoPlist.strings @@ -0,0 +1,4 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Damus"; +/* Bundle name */ +"CFBundleName" = "damus"; diff --git a/damus/en.lproj/Localizable.strings b/damus/en.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..d0abc3b55c869ae3994cec691dba1a2e4dd3249a GIT binary patch literal 6184 zcmcgwO;6iE5ZyDs!sXHyRiO4-^+2GNDg}z5s8TN|gpj0!7{yM3{`j`^WK(|>%({hDBYb+0zQcVBBc;bo4c_R`_cV*&dJ!$CYQ*^K#@B;> z0_;8aC-EGST9hhV2eLhQLxDKR+%96~Cc>AFDaz`I#oF@OmpPSD6LKrFDx)W4jpkgi zXY}lTIy?5aW%eS9<#r?sHrv!AsA^g3KO@dMzA7=3H0A8Lwxsz%*I&s(Ow#Vw%0l7;$Y`w{rEPSo&Oi1!9UUvday5>k^DkaT>P2Uer0osB@ecyQ*|O zYeTcnb1hngm0jKeEM!k=af?h*s>EVC0W*AB2>m0k+8v9O{uiQ^Iie5k-(Yx*|LotH zje_UW?=$zy#~k@4D_z`8yvNhS*g}EvBsim>je5+$060gzRQU5G<3a{Z) zh3Hw<(-FJ>s$$H(N6Oqc|E@BQe(N)fwbht6o_xa`=aG0sk*D%?p`;J- S4gX=3RftAMVw6@MQ2qzsxb&$2 literal 0 HcmV?d00001 diff --git a/damus/es.lproj/InfoPlist.strings b/damus/es.lproj/InfoPlist.strings new file mode 100644 index 00000000..b5e9b532 --- /dev/null +++ b/damus/es.lproj/InfoPlist.strings @@ -0,0 +1,4 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Damus"; +/* Bundle name */ +"CFBundleName" = "damus"; diff --git a/damus/es.lproj/Localizable.strings b/damus/es.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..d0abc3b55c869ae3994cec691dba1a2e4dd3249a GIT binary patch literal 6184 zcmcgwO;6iE5ZyDs!sXHyRiO4-^+2GNDg}z5s8TN|gpj0!7{yM3{`j`^WK(|>%({hDBYb+0zQcVBBc;bo4c_R`_cV*&dJ!$CYQ*^K#@B;> z0_;8aC-EGST9hhV2eLhQLxDKR+%96~Cc>AFDaz`I#oF@OmpPSD6LKrFDx)W4jpkgi zXY}lTIy?5aW%eS9<#r?sHrv!AsA^g3KO@dMzA7=3H0A8Lwxsz%*I&s(Ow#Vw%0l7;$Y`w{rEPSo&Oi1!9UUvday5>k^DkaT>P2Uer0osB@ecyQ*|O zYeTcnb1hngm0jKeEM!k=af?h*s>EVC0W*AB2>m0k+8v9O{uiQ^Iie5k-(Yx*|LotH zje_UW?=$zy#~k@4D_z`8yvNhS*g}EvBsim>je5+$060gzRQU5G<3a{Z) zh3Hw<(-FJ>s$$H(N6Oqc|E@BQe(N)fwbht6o_xa`=aG0sk*D%?p`;J- S4gX=3RftAMVw6@MQ2qzsxb&$2 literal 0 HcmV?d00001 diff --git a/damus/es.lproj/Localizable.stringsdict b/damus/es.lproj/Localizable.stringsdict new file mode 100644 index 00000000..69fa736a --- /dev/null +++ b/damus/es.lproj/Localizable.stringsdict @@ -0,0 +1,42 @@ + + + + + replying_to_one_and_others + + NSStringLocalizedFormatKey + Replying to %2$@%#@others@ + others + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + zero + + one + & 1 other + other + & %d others + + + replying_to_two_and_others + + NSStringLocalizedFormatKey + Replying to %2$@, %3$@%#@others@ + others + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + zero + + one + & 1 other + other + & %d others + + + + diff --git a/transifex.yml b/transifex.yml new file mode 100644 index 00000000..9541ab70 --- /dev/null +++ b/transifex.yml @@ -0,0 +1,22 @@ +git: + filters: + - filter_type: file + file_format: STRINGS + source_language: en + source_file: damus/en.lproj/InfoPlist.strings + translation_files_expression: damus/.proj/InfoPlist.strings + + - filter_type: file + file_format: STRINGS + source_language: en + source_file: damus/en.lproj/Localizable.strings + translation_files_expression: damus/.proj/Localizable.strings + + - filter_type: file + file_format: STRINGSDICT + source_language: en + source_file: damus/en.lproj/Localizable.stringsdict + translation_files_expression: damus/.proj/Localizable.stringsdict + + settings: + pr_branch_name: tx_translations_