Una herramienta poderosa que proporciona la capacidad de traducir texto en la mosca, lo que puede ser útil al desarrollar restapi con multilingüismo
dotnet add package OftobTech.AppLocalizator
o a través de Nuget Tools en Visual Studio
Crear carpeta Lang en la raíz del proyecto publicado
Dentro de esta carpeta puede crear archivos de traducción, por ejemplo
en.txt
jp.txt
ar.txt
Entonces no puedes usar estas herramientas en el 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 oración traducida debe terminar con una transición a una nueva línea, el separador de texto para la traducción y el texto traducido es un colon
La biblioteca también admite una configuración mínima, lo que le permite configurar el lenguaje predeterminado y la ubicación de la carpeta con archivos de traducción en relación con el proyecto.
Si no se ha creado el archivo de configuración, se toma el predeterminado:
# 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 Puede crear manualmente los datos del archivo utilizando la siguiente ruta config/lang.conf
O llame a la siguiente construcción:
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Config . PublishConfig ( ) ;Que creará automáticamente la configuración predeterminada
Para cambiar el idioma durante la ejecución del programa, debe llamar al método setLang(string lang)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) ;También se puede llamar cada vez antes de la traducción (vale la pena considerar que el último idioma expuesto es recordado)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) . Compile ( "[Text to transalete]" ) ; Para traducir cadenas con parámetros en el archivo de traducción, debe incrustar los parámetros en la cadena de traducción, esto se hace envolviendo algunos identificadores de parámetros en el ejemplo de corchetes: Ejemplo:
Hello : Hello {parametr_1} {parametr_2} Para traducir dicha cadena en el método de compilación, el atributo para reemplazar pasa un objeto con el tipo de Dictionary<string, string> , donde la clave es el identificador de parámetros (sin soportes rizados) y el valor debe reemplazarse con
Ejemplo
using OftobTech . AppLocalizator ;
var params = new Dictionary < string , string > ( ) {
{ "parametr_1" , "beautiful" } ,
{ "parametr_2" , "world!" } ,
}
T . setLang ( item . DeviceLanguage ) . Compile ( "Hello" , params ) ; La biblioteca admite 2 modos de traducción Modo y sincronización normales, en modo normal, si no se encuentran cadenas adecuadas en los archivos de traducción, la cadena que se aprobó se devuelve, en modo estricto, si no se encuentra la cadena de traducción, se devolverá nulo
Ejemplo
using OftobTech . AppLocalizator ;
T . Compile ( "[Text to transalete]" , true ) ;
/// OR
T . Compile ( "[Text to transalete]" , params , true ) ; Hay casos en los que es necesario agregar o actualizar archivos de idioma, pero no puede reiniciar la aplicación, luego el método UpdateLangs () puede venir en su ayuda, lo que le permite actualizar las traducciones en la memoria de la aplicación en la mosca
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;