From f1ca8e92b70d5aef355c7063f2b6b68fe0c0107b Mon Sep 17 00:00:00 2001 From: Thibaut Schmitt Date: Tue, 30 Sep 2025 16:08:45 +0200 Subject: [PATCH] Remove unwanted lang translation when generated xcStrings catalog --- .../Images/Generator/XcassetsGenerator.swift | 2 -- .../Generator/StringsFileGenerator.swift | 30 ++++++++++--------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Sources/ResgenSwift/Images/Generator/XcassetsGenerator.swift b/Sources/ResgenSwift/Images/Generator/XcassetsGenerator.swift index df6bf29..b54d7ea 100644 --- a/Sources/ResgenSwift/Images/Generator/XcassetsGenerator.swift +++ b/Sources/ResgenSwift/Images/Generator/XcassetsGenerator.swift @@ -186,8 +186,6 @@ class XcassetsGenerator { atomically: false, encoding: .utf8 ) - - print("\(parsedImage.name) -> Generated") } // Success info diff --git a/Sources/ResgenSwift/Strings/Generator/StringsFileGenerator.swift b/Sources/ResgenSwift/Strings/Generator/StringsFileGenerator.swift index df1cb4e..76b2b55 100644 --- a/Sources/ResgenSwift/Strings/Generator/StringsFileGenerator.swift +++ b/Sources/ResgenSwift/Strings/Generator/StringsFileGenerator.swift @@ -175,22 +175,23 @@ enum StringsFileGenerator { guard section.hasOneOrMoreMatchingTags(tags: inputTags) else { return // Go to next section } + print("DOUDOU") + section + .definitions + .forEach { definition in // swiftlint:disable:this closure_body_length + var skipDefinition = false + var isNoTranslation = false - section.definitions.forEach { definition in // swiftlint:disable:this closure_body_length - var skipDefinition = false - var isNoTranslation = false + var localizationTab: [XCStringLocalization] = [] - var localizationTab: [XCStringLocalization] = [] + guard definition.hasOneOrMoreMatchingTags(inputTags: inputTags) else { + return + } - if definition.hasOneOrMoreMatchingTags(inputTags: inputTags) == false { - skipDefinition = true - } + if definition.tags.contains(Stringium.noTranslationTag) { + isNoTranslation = true + } - if definition.tags.contains(Stringium.noTranslationTag) { - isNoTranslation = true - } - - if !skipDefinition { if isNoTranslation { // Search for langs in yaml for lang in langs { @@ -209,7 +210,9 @@ enum StringsFileGenerator { } } else { // Search for langs in twine - for (lang, value) in definition.translations where !value.isEmpty { + for (lang, value) in definition.translations + where langs.contains(lang) && !value.isEmpty { + print("DOUDOU-> generate for \(lang)") let localization = XCStringLocalization( lang: lang, content: XCStringLocalizationLangContent( @@ -236,7 +239,6 @@ enum StringsFileGenerator { xcStringDefinitionTab.append(xcStringDefinition) } - } } let xcStringContainer = XCStringDefinitionContainer(strings: xcStringDefinitionTab)