XCode - Vários alvos, Multiple * internacionalizado nomes *?
-
05-07-2019 - |
Pergunta
Eu tenho um projeto de iPhone internacionalizado. Nos vários arquivos ${lang}.lproj/InfoPlist.strings
Eu tenho uma chave única, CFBundleName = "My App Name"
.
Isso é bom trabalhar para um único alvo, mas não posso fazê-lo funcionar para vários destinos.
Eu gostaria de ter vários arquivos InfoPlistMyApp.strings
traduzido para o alvo principal, além de vários arquivos InfoPlistMyAppLite.strings
para a versão lite. Mas eu não consigo descobrir como configurá-lo. O nome InfoPlist.strings
parece ser gravada na pedra, então não posso substituí-lo dinamicamente.
Todas as idéias?
Solução
Acontece que isso é muito fácil, se trabalhoso. Você pode ter várias InfoPlist.strings, um habilitados-per-alvo, e que cada um pode ser internacionalizada, , desde que cada conjunto é um grupo Xcode diferente .
Configurar uma estrutura de diretórios como esta:
.../AppName/
en.lproj/InfoPlist.strings <-- Contains CFBundleDisplayName
it.lproj/InfoPlist.strings <-- ...
...
.../AppNameLite/
en.lproj/InfoPlist.strings <-- ...
it.lproj/InfoPlist.strings <-- ...
...
importar esses arquivos em grupos Xcode, por isso parece com isso:
Com o botão direito "Groups & Files" (canto superior esquerdo do Xcode) e certifique-se "Membership Target" é visível, então vá através de seus alvos, verificando o o direito conjunto de cordas está habilitado para cada um.