Pergunta

Eu estou trabalhando em internacionalização de um aplicativo iPhone, e eu estou usando ibtool para extrair a seqüência dos meus arquivos xib para que possam ser traduzido por uma casa localização assim:

ibtool --generate-strings-file BlahBlahView.strings English.lproj/BlahBlahView.xib

O problema com isto é que os .strings arquivo eu acabar com contém todas as cordas contidas no xib quando eu realmente quero o subconjunto que eu realmente se preocupam com a i18n. Existe alguma melhor prática recomendada para lidar com isso? Idealmente, eu gostaria de ser capaz de adicionar algum tipo de anotação no construtor de interface para dizer quer "Este é localizável" ou "Isto não é localizável" e tem ibtool única saída as cordas localizáveis ??quando eu executá-lo.

Obrigado!

Edit: OK, deixe-me expandir os parâmetros um pouco. A solução não precisa usar ibtool somente. Ibtool + alguns dados no + um script shell xib é bom. Enquanto isso funciona!

Foi útil?

Solução

Ibtool é extremamente detalhado em sua saída da corda-arquivos e gera stirngs por object-id, em vez de seqüência de origem único. Este tipo de saída é extremamente útil quando você está tentando re-criar construtor de interface ou de outra forma precisa amplo controle sobre os objetos em seus arquivos xib, mas nem tanto quando você simplesmente deseja localizar o seu software.

Matteo em Digitalwaters.net encontrou uma maneira de converter a saída de ibtool de e para o formato usado pelo nibtool, o seu antecessor, que foi menos poderoso, mas muito mais fácil de usar para a localização. Mais informações aqui .

Eu tenho re-intencionava seus roteiros para agilizar a localização de nosso aplicativo Mac OS X, e eles funcionam bem para mim. Boa sorte:)

Outras dicas

Eu acho que você pode automatizar isso, mas vai dar alguns passos. Você pode extrair propriedades arbitrárias do seu xib usando ibtool, então talvez você poderia definir a tag dos itens não-localizáveis ??para um valor particular (-1, por exemplo), em seguida, extrair as tags e usar isso para filtrar o arquivo de cordas e remover as entradas indesejadas.

veja a página homem por ibtool, em particular, a opção -export.

ibtool faz nem entradas de saída para strings vazias. Assim, por exemplo, se você deixar o texto de uma UILabel vazio, ele não será incluído na saída do ibtool --generate-strings-file. Você pode, então, definir o texto dos elementos do controlador de vista.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top