Como definir um idioma diferente do inglês como idioma de desenvolvimento e localização Base?

Quando um projeto Xcode do aplicativo iOS é criado recentemente, na configuração do projeto (não alvo), podemos ver que ele possuiUse Base internationalization ativado por padrão e existem 2 arquivos localizados para oDevelopment Language qual éEnglish por padrão (um paraMain.storyboard e um paraLaunchScreen.storyboard, ambos os quais residem noBase.lproj diretório). Veja abaixo a captura de tela:

(Para simplificar, mencionarei apenasMain.storyboard de agora em diante.)

E na seção de localização deMain.storyboarddo lado direito do painel, podemos ver que oBase localização é verificada por padrão e também há umaEnglish localização que está desmarcada por padrão. Veja abaixo a captura de tela:

E no alvoInfo.plist, existe uma chave chamadaLocalization native development region (ou seja,CFBundleDevelopmentRegion) e seu valor padrão éen. Veja abaixo a captura de tela:

Se eu entendi direito, com essas configurações padrão, o desenvolvedor pode escrever em inglês noBase localização deMain.storyboard e deixe oEnglish localização como desmarcada. Se o aplicativo precisar se adaptar a outro idioma, o desenvolvedor poderá adicionar uma localização na configuração de localização do projeto e selecionarMain.storyboard na caixa de diálogo exibida. Veja abaixo a captura de tela:

TomaChinese (Simplified) como exemplo, isso resultará em um diretório recém-criadozh-Hans.lproj com umMain.strings arquivo dentro dele. (Para simplificar, vou me referir a ele comoChinese ao invés deChinese (Simplified).) O desenvolvedor só precisa traduzir as cadeias de inglês dentro deste arquivo para chinês (o recém-criadoMain.strings nozh-Hans.lproj por padrão, todos os textos em inglês duplicados do diretórioMain.storyboard noBase.lproj) Com essas configurações, oLanguage O campo na descrição deste aplicativo na AppStore listará inglês (a partir doBase localização, porque o inglês é odevelopment language) e chinês (doChinese localização). No dispositivo do usuário final, se o idioma do sistema for inglês / chinês (ou inglês / chinês estiver entre o idioma preferido), o aplicativo usará o recurso de idioma correspondente (para inglês, use oBase localização; para chinês, use oChinese localização). Para todas as outras preferências de idioma, o inglês atuará como idioma substituto porqueCFBundleDevelopmentRegion éen, tãoBase localização é usada.

Portanto, minha primeira pergunta será: o entendimento acima está correto? Para resumir, com odevelopment language sendo inglês, não precisamos ativarEnglish localização para arquivos de storyboard. Basta usar oBase localização e escreva inglês diretamente nos arquivos do storyboard. Só precisamos adicionar a localização para outros idiomas que não o inglês. (Na verdade, parece problemático se ativarmos oEnglish localização. E seEnglish localização estiver ativada, precisamos manter os dois textos emBase.lproj/Main.storyboard een.lproj/Main.strings.)

Se o entendimento acima estiver correto, minha segunda pergunta será: como alcançar a internacionalização de maneira inversa? Ou seja, se eu gostaria de usarChinese Enquanto odevelopment language e escreva chinês noBase localização e adicione apenas localização para idiomas diferentes deChinese, é possível e como fazer isso no Xcode? Não consigo encontrar uma maneira de mudar odevelopment language na configuração do projeto, a fim de afirmar que oBase localização no projeto éChinese ao invés deEnglish.

questionAnswers(1)

yourAnswerToTheQuestion