Neste vídeo, vamos a aprender a implantar arquivos de tradução XLIFF que se utilizam para localizar toda a interface.
É muito simples: só deve substituir os textos que se encontram na interface por uma referencia a um arquivo externo que contém os textos desejados.
“Isto será da forma “:xliff: e um nome de objeto", por exemplo "bOK" que é a referencia do botão OK. Aqui vemos que o texto mudou de "Finish" a "OK".
Por quê?
Porque na pasta da base na subpasta resources há uma pasta para cada idioma.
Atualmente o sistema está em inglês e dentro desta pasta temos:
- Um arquivo XML que contém
- Além das declarações estandarte, no corpo.
- Certo número de grupos (os grupos não são obrigatórios, mas são úteis para estruturar o arquivo XLIFF).
- E em cada grupo, as unidades de tradução.
Resulta que temos um recurso chamado bOK aonde o texto contido no Target é "OK".
Se mudarmos isto a "Finish" e guardamos o arquivo e voltamos a 4D, o texto "Finish" é substituído.
Podemos provar isto aqui:
- End
- Guardar
- Voltar a 4D e podemos ver "End"
Para todo texto da interface, temos que substituir:
- O texto English
- Pelo texto no idioma desejado.
Na atualidade, estamos no arquivo em.xlf de maneira que todos os textos "target" são nomes em inglês.
Vamos a criar uma entrada para o texto chamada "Add".
O arquivo é guardado. Neste caso, se é substituído o texto por: "xliff:bAdd", recuperamos o texto "Add".
Isto é para a versão em inglês.
Agora vamos a recuperar esta entrada, fechar o arquivo e abrir na pasta French.
Adicionamos a unidade em questão "Ajouter" e guardamos.
Agora imaginemos que queremos trabalhar em um sistema francês.
- Nas preferências do sistema, seja em Mac ou em Windows
- Podemos definir o idioma prioritário
- Aqui podemos ver um aviso de que as mudanças terão efeito a próxima vez que se inicie a aplicação.
Assim que vamos sair de nossa base de prova e começar de novo.
E podemos ver que o texto "Add" foi substituído pela versão francesa (Ajouter).
Se quisermos, podemos:
- Mudar e indicar "um enregistrement"
- Guardar
- Atenção: a atualização não é automática no formulário mostrado devido a que os recursos são carregados quando se carrega o formulário.
- No entanto, se saímos e voltamos à estrutura, o formulário se atualiza com o novo texto.
Agora só devemos criar as outras entradas, "Tout selectionner? Tous les enregistrements?", por exemplo, e aqui indicar que o botão é uma referencia (":xliff:bAll") e temos o texto "Tout selectionner? Tous les enregistrements?".
Agora vamos a voltar ao sistema inglês pelo que necessitamos sair de 4D.
Quando reiniciamos, nos encontramos com o texto anterior, no entanto, no arquivo English, não indicamos a tradução da entrada "bAll" e portanto neste caso, é mostrada a referencia XLIFF.
Assim que temos que:
- Voltar atrás e recuperar o arquivo XLIFF em questão
- Adicionar a entrada "bAll" indicando "All"
- Quando voltamos a 4D, a atualização se realiza.
Um elemento complementário importante na implantação de arquivos XLIFF se refere às cadeias de caracteres nos métodos.
Voltamos ao formulário Test_Variables que criamos e aonde atribuímos valores ao menu pop-up que têm 3 textos aqui.
Podemos:
- Substituir os 3 textos utilizando o comando Get localized string
- Indicar um resname que corresponda no arquivo XLIFF em questão, uma etiqueta no idioma elegido
Aqui vemos o texto "Text1Test" que é:
- "Hello" em inglês
- "Bonjour" em francês.
Vamos a:
- Declarar o array
- Fazer seguimento à atribuição de valores (o array está vazio)
- E quando vamos ler as cadeias correspondentes, o array enche com o conteúdo dos dados do arquivo XLIFF.