Remove an iOS app localization

前端 未结 5 1777
清酒与你
清酒与你 2021-02-07 08:43

In Bombr 1.2 I added a half-assed French localization, over time adding more strings to localize I\'ve decided to drop the French localization. In Bombr 1.2.1 I removed the

5条回答
  •  栀梦
    栀梦 (楼主)
    2021-02-07 09:16

    So I landed on this question, but with some specific criteria:

    • I want to remove the base development language (English)
    • I want to keep the localized language (French)

    None of the above answers worked and I couldn't find anything better on Stack Overflow. Eventually I found this gem: XCode: Remove localizations on build.

    I develop in English, so the entire base of the app is in the English localisation. I then translated it into Finnish for the first release, but the intention was to only release the Finnish content and not the English.

    Setting up a small script during a final Build phase works wonders to strip unwanted localisations:

    #Remove english
    rm -r "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/en.lproj"
    # Remove base (iOS 9)
    rm -r "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Base.lproj"
    

    Then I had some runtime errors because some Storyboard files were localized and located in the Base.lproj folder. I worked around this by doing the following:

    • Un-localized those Storyboards (unchecked all languages) and then "Moved to trash"
    • Dragged the Storyboards from the trash back into the project. (Basically moving the Storyboards from Base.lproj folder – which the script would delete – to the project folder.)

    Note: none of these Storyboards were actually localized (the .strings files were all empty). All the translations were properly set in code using NSLocalizedString.

提交回复
热议问题