A internacionalização de aplicativos da web é onipresente e mostro como você pode fazer isso em seu aplicativo com AngularJS.
Por exemplo, temos alguns *.json
arquivos com nossas traduções, mais ou menos assim en_US.json
:
{
"en_US" : {
"HOME": "home",
"GREETINGS": "Hello, how are you?"
....
}
}
Em primeiro lugar, devemos carregar nosso en_US.json
arquivo e arquivos com outras traduções e salvar seu conteúdo na variável. Vou carregá-lo na parte de inicialização do aplicativo da web.
app.js
:
var Lang =
(function() {var json = null;
$.ajax({
'async': false,
'url': "/en_US.json",
success: function (data) {
json = JSON.parse(data);
}
});
return json;
})();
Agora podemos usar Lang
variáveis em qualquer lugar. Vamos criar um AngularJS
filtro. Vamos transformar o conteúdo na tradução necessária.
MyApplication.filter('translate', function (){
return function(input){
//
// Check necessary locale locale
//
// .....
//
// Change locale
//
for (var prop in Lang){
if (prop == input)
// return translation
return Lang[prop];
}
}
});
Agora podemos traduzir facilmente qualquer conteúdo em nosso aplicativo. Use o translate
filtro em seus modelos como:
<div>{{ 'GREETINGS' | translate }}
<p>{{ 'HOME' | translate }}</p>
</div>