Uma ferramenta poderosa que oferece a capacidade de traduzir o texto em tempo real, o que pode ser útil ao desenvolver Restapi com multilinguismo
dotnet add package OftobTech.AppLocalizator
ou via Nuget Tools no Visual Studio
Crie pasta Lang na raiz do projeto publicado
Dentro desta pasta, você pode criar arquivos de tradução, por exemplo
en.txt
jp.txt
ar.txt
Então você não pode usar essas ferramentas no código
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;
var message = T . Compile ( "[Text to transalete]" ) ;
Console . WriteLine ( message ) ;[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
....Cada frase traduzida deve terminar com uma transição para uma nova linha, o separador de texto para a tradução e o texto traduzido é um cólon
A biblioteca também suporta configuração mínima, que permite configurar o idioma padrão e a localização da pasta com arquivos de tradução em relação ao projeto.
Se o arquivo de configuração não tiver sido criado, o padrão será levado:
# The default language will be used if it
# was not passed an additional parameter when using the library
DefaultLang: en
# The address of the language files can be either relative or absolute
LangsFilesPath: Langs Você pode criar manualmente os dados do arquivo usando o seguinte caminho config/lang.conf
Ou ligue para a seguinte construção:
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Config . PublishConfig ( ) ;Que criará automaticamente a configuração padrão
Para alterar o idioma durante a execução do programa, você precisa chamar o método setLang(string lang)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) ;Também pode ser chamado todas as vezes antes da tradução (vale a pena considerar que a última linguagem exposta é lembrada)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) . Compile ( "[Text to transalete]" ) ; Para traduzir strings com parâmetros no arquivo de tradução, você precisa incorporar parâmetros na sequência de tradução, isso é feito envolvendo algum identificador de parâmetros nos colchetes de categoria Exemplo:
Hello : Hello {parametr_1} {parametr_2} Para traduzir essa string para o método de compilação, o atributo de substituição passa um objeto com o Dictionary<string, string> type, onde a chave é o identificador de parâmetro (sem colchetes encaracolados) e o valor precisa ser substituído por
Exemplo
using OftobTech . AppLocalizator ;
var params = new Dictionary < string , string > ( ) {
{ "parametr_1" , "beautiful" } ,
{ "parametr_2" , "world!" } ,
}
T . setLang ( item . DeviceLanguage ) . Compile ( "Hello" , params ) ; A biblioteca suporta 2 modos de tradução Modo e tempo normais, no modo normal, se nenhuma série adequada foi encontrada nos arquivos de tradução, a sequência que foi passada será retornada, no modo rigoroso, se a sequência de tradução não for encontrada, o nulo será retornado
Exemplo
using OftobTech . AppLocalizator ;
T . Compile ( "[Text to transalete]" , true ) ;
/// OR
T . Compile ( "[Text to transalete]" , params , true ) ; Há casos em que há necessidade de adicionar ou atualizar arquivos de idioma, mas você não pode reiniciar o aplicativo, o método UpdateLangs () pode chegar em seu auxílio, o que permite atualizar traduções na memória do aplicativo na mosca
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;