From c595eba5df24d5f6896035a2bd986e8e4b94245c Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 16 Mar 2024 21:11:42 -0500 Subject: [PATCH 1/4] Test localizable.xcstrings Validation action --- .github/workflows/xcstrings.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/xcstrings.yml diff --git a/.github/workflows/xcstrings.yml b/.github/workflows/xcstrings.yml new file mode 100644 index 00000000..25488c04 --- /dev/null +++ b/.github/workflows/xcstrings.yml @@ -0,0 +1,21 @@ +name: XCStrings Validation + +on: + push: + branches: + - main + pull_request: + +jobs: + test: + runs-on: macos-13 + steps: + - uses: actions/checkout@v4 + + - name: Clone SwiftPolyglot + run: git clone https://github.com/appdecostudio/SwiftPolyglot.git + + - name: validate translations + run: | + swift build --package-path ./SwiftPolyglot --configuration release + swift run --package-path ./SwiftPolyglot swiftpolyglot "ca,de,el,es,fi,fr,hi,it,ja,ko,nl,pl,pt-BR,ru,tr,uk,zh-Hans,zh-Hant" --errorOnMissing \ No newline at end of file From aa34f3b10d8d57a9989fd4734b2c4ce364d07af4 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 16 Mar 2024 21:15:05 -0500 Subject: [PATCH 2/4] allow workflow dispatch --- .github/workflows/xcstrings.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/xcstrings.yml b/.github/workflows/xcstrings.yml index 25488c04..07254713 100644 --- a/.github/workflows/xcstrings.yml +++ b/.github/workflows/xcstrings.yml @@ -1,6 +1,7 @@ name: XCStrings Validation on: + workflow_dispatch: push: branches: - main @@ -18,4 +19,4 @@ jobs: - name: validate translations run: | swift build --package-path ./SwiftPolyglot --configuration release - swift run --package-path ./SwiftPolyglot swiftpolyglot "ca,de,el,es,fi,fr,hi,it,ja,ko,nl,pl,pt-BR,ru,tr,uk,zh-Hans,zh-Hant" --errorOnMissing \ No newline at end of file + swift run --package-path ./SwiftPolyglot swiftpolyglot "ca,de,el,es,fi,fr,hi,it,ja,ko,nl,pl,pt-BR,ru,tr,uk,zh-Hans,zh-Hant" --errorOnMissing From c41797897677bd2ba715ec6c60532184937dc4aa Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Sat, 16 Mar 2024 21:18:32 -0500 Subject: [PATCH 3/4] Update xcstrings.yml --- .github/workflows/xcstrings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/xcstrings.yml b/.github/workflows/xcstrings.yml index 07254713..404fe31c 100644 --- a/.github/workflows/xcstrings.yml +++ b/.github/workflows/xcstrings.yml @@ -15,7 +15,7 @@ jobs: - name: Clone SwiftPolyglot run: git clone https://github.com/appdecostudio/SwiftPolyglot.git - + - name: validate translations run: | swift build --package-path ./SwiftPolyglot --configuration release From 88b15b989a805120aef772a40ca39de540628321 Mon Sep 17 00:00:00 2001 From: Matt Kiazyk Date: Fri, 22 Mar 2024 10:09:47 -0500 Subject: [PATCH 4/4] Update missing translations. --- Xcodes/Resources/Localizable.xcstrings | 934 +++++++++++++++++++++++-- 1 file changed, 878 insertions(+), 56 deletions(-) diff --git a/Xcodes/Resources/Localizable.xcstrings b/Xcodes/Resources/Localizable.xcstrings index bef1fb73..2fc5e8e8 100644 --- a/Xcodes/Resources/Localizable.xcstrings +++ b/Xcodes/Resources/Localizable.xcstrings @@ -3,12 +3,90 @@ "strings" : { "" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, "el" : { "stringUnit" : { "state" : "translated", "value" : "" } }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, "tr" : { "stringUnit" : { "state" : "translated", @@ -43,12 +121,84 @@ "value" : "%@" } }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, "el" : { "stringUnit" : { "state" : "translated", "value" : "%@" } }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, "tr" : { "stringUnit" : { "state" : "translated", @@ -64,7 +214,7 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "" + "value" : "%@" } }, "zh-Hant" : { @@ -77,6 +227,18 @@ }, "%@ %@ %@" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, "el" : { "stringUnit" : { "state" : "translated", @@ -89,6 +251,72 @@ "value" : "%1$@ %2$@ %3$@" } }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ %3$@" + } + }, "tr" : { "stringUnit" : { "state" : "translated", @@ -104,7 +332,7 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "" + "value" : "%1$@ %2$@ %3$@" } }, "zh-Hant" : { @@ -3662,12 +3890,84 @@ "value" : "Apple Silicon" } }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, "el" : { "stringUnit" : { "state" : "translated", "value" : "Apple Silicon" } }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Silicon" + } + }, "tr" : { "stringUnit" : { "state" : "translated", @@ -7029,12 +7329,24 @@ "value" : "다운로드" } }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Downloads" + } + }, "pl" : { "stringUnit" : { "state" : "translated", "value" : "Pobieranie" } }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Downloads" + } + }, "ru" : { "stringUnit" : { "state" : "translated", @@ -7357,96 +7669,162 @@ "it" : { "stringUnit" : { "state" : "translated", - "value" : "Inserisci il codice di %d cifre inviato a %@: " + "value" : "Inserisci il codice di %d cifre inviato a %@: " + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$d桁のコードを%2$@に送信したので入力してください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%2$@(으)로 전송된 %1$d 자리 코드를 입력하세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voer de %1$d code in die is verstuurd naar %2$@: " + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź %1$d-cyfrowy kod wysłany do %2$@: " + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insira o código de %1$d dígitos enviado para %2$@: " + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введите %1$d цифровой код, отправленный на %2$@: " + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%2$@ kaynağından gönderilen %1$d rakamlı kodu gir: " + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введіть %1$d-значний код відправлений на %2$@:" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请输入%1$d位代码,已发送到%2$@:" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "請輸入 %1$d 位數密碼,已傳送至 %2$@: " + } + } + } + }, + "Error" : { + "extractionState" : "manual", + "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error" } }, - "ja" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$d桁のコードを%2$@に送信したので入力してください。" + "value" : "Error" } }, - "ko" : { + "el" : { "stringUnit" : { "state" : "translated", - "value" : "%2$@(으)로 전송된 %1$d 자리 코드를 입력하세요." + "value" : "Σφάλμα" } }, - "nl" : { + "en" : { "stringUnit" : { "state" : "translated", - "value" : "Voer de %1$d code in die is verstuurd naar %2$@: " + "value" : "Error" } }, - "pl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź %1$d-cyfrowy kod wysłany do %2$@: " + "value" : "Error" } }, - "pt-BR" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Insira o código de %1$d dígitos enviado para %2$@: " + "value" : "Error" } }, - "ru" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Введите %1$d цифровой код, отправленный на %2$@: " + "value" : "Erreur" } }, - "tr" : { + "hi" : { "stringUnit" : { "state" : "translated", - "value" : "%2$@ kaynağından gönderilen %1$d rakamlı kodu gir: " + "value" : "Error" } }, - "uk" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Введіть %1$d-значний код відправлений на %2$@:" + "value" : "Error" } }, - "zh-Hans" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "请输入%1$d位代码,已发送到%2$@:" + "value" : "Error" } }, - "zh-Hant" : { + "ko" : { "stringUnit" : { "state" : "translated", - "value" : "請輸入 %1$d 位數密碼,已傳送至 %2$@: " + "value" : "Error" } - } - } - }, - "Error" : { - "extractionState" : "manual", - "localizations" : { - "ca" : { + }, + "nl" : { "stringUnit" : { "state" : "translated", "value" : "Error" } }, - "el" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Σφάλμα" + "value" : "Error" } }, - "en" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", "value" : "Error" } }, - "fr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Erreur" + "value" : "Error" } }, "tr" : { @@ -15064,6 +15442,12 @@ "value" : "OK" } }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, "it" : { "stringUnit" : { "state" : "translated", @@ -15722,18 +16106,90 @@ }, "Open In Rosetta" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, "el" : { "stringUnit" : { "state" : "translated", "value" : "Άνοιγμα με Rosetta" } }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, "fr" : { "stringUnit" : { "state" : "translated", "value" : "Ouvrir avec Rosetta" } }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open In Rosetta" + } + }, "tr" : { "stringUnit" : { "state" : "translated", @@ -15998,6 +16454,12 @@ }, "Perform post-install steps" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -16007,53 +16469,185 @@ "el" : { "stringUnit" : { "state" : "translated", - "value" : "Εκτέλεση μετά-εγκαταστατικών βημάτων" + "value" : "Εκτέλεση μετά-εγκαταστατικών βημάτων" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exécuter des étapes post-installation" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perform post-install steps" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yükleme sonrası adımları uygula" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Виконати пост-інсталяційні кроки" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "执行安装后准备步骤" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "執行安裝後步驟" + } + } + } + }, + "Platforms" : { + "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Platforms" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plattformen" + } + }, + "el" : { + "stringUnit" : { + "state" : "translated", + "value" : "Πλατφόρμες" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Platforms" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Platforms" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Platforms" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Platforms" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Exécuter des étapes post-installation" + "value" : "Platforms" } }, - "tr" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Yükleme sonrası adımları uygula" + "value" : "Platforms" } }, - "uk" : { + "ko" : { "stringUnit" : { "state" : "translated", - "value" : "Виконати пост-інсталяційні кроки" + "value" : "Platforms" } }, - "zh-Hans" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "执行安装后准备步骤" + "value" : "Platforms" } }, - "zh-Hant" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "執行安裝後步驟" + "value" : "Platforms" } - } - } - }, - "Platforms" : { - "localizations" : { - "de" : { + }, + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Plattformen" + "value" : "Platforms" } }, - "el" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Πλατφόρμες" + "value" : "Platforms" } }, "tr" : { @@ -16120,6 +16714,12 @@ "value" : "Installed Platforms" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installed Platforms" + } + }, "hi" : { "stringUnit" : { "state" : "translated", @@ -16179,6 +16779,18 @@ "state" : "translated", "value" : "Installed Platforms" } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installed Platforms" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installed Platforms" + } } } }, @@ -18275,6 +18887,18 @@ }, "ShowOpenInRosetta" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show Open In Rosetta option" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show Open In Rosetta option" + } + }, "el" : { "stringUnit" : { "state" : "translated", @@ -18305,6 +18929,12 @@ "value" : "Afficher l'option Ouvrir avec Rosetta" } }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show Open In Rosetta option" + } + }, "it" : { "stringUnit" : { "state" : "translated", @@ -18323,6 +18953,12 @@ "value" : "Show Open In Rosetta option" } }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show Open In Rosetta option" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -18369,6 +19005,18 @@ }, "ShowOpenInRosettaDescription" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open in Rosetta option will show where other \"Open\" functions are available. Note: This will only show for Apple Silicon machines." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open in Rosetta option will show where other \"Open\" functions are available. Note: This will only show for Apple Silicon machines." + } + }, "el" : { "stringUnit" : { "state" : "translated", @@ -18399,6 +19047,12 @@ "value" : "Ouvrir avec Rosetta s'affichera d'autres options \"Ouvrir\" sont disponibles. Note: Uniquement pour les machines Apple Silicon." } }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open in Rosetta option will show where other \"Open\" functions are available. Note: This will only show for Apple Silicon machines." + } + }, "it" : { "stringUnit" : { "state" : "translated", @@ -18417,6 +19071,12 @@ "value" : "Open in Rosetta option will show where other \"Open\" functions are available. Note: This will only show for Apple Silicon machines." } }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open in Rosetta option will show where other \"Open\" functions are available. Note: This will only show for Apple Silicon machines." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -19003,6 +19663,12 @@ "value" : "Support Xcodes" } }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support Xcodes" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -20220,12 +20886,90 @@ }, "Xcode" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, "el" : { "stringUnit" : { "state" : "translated", "value" : "Xcode" } }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcode" + } + }, "tr" : { "stringUnit" : { "state" : "translated", @@ -20254,12 +20998,90 @@ }, "Xcodes" : { "localizations" : { + "ca" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, "el" : { "stringUnit" : { "state" : "translated", "value" : "Xcodes" } }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "hi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xcodes" + } + }, "tr" : { "stringUnit" : { "state" : "translated", @@ -20288,4 +21110,4 @@ } }, "version" : "1.0" -} +} \ No newline at end of file