Un outil puissant qui offre la possibilité de traduire du texte à la volée, ce qui peut être utile lors du développement de Restapi avec un multilinguisme
dotnet add package OftobTech.AppLocalizator
ou via Nuget Tools dans Visual Studio
Créer un dossier Lang dans la racine du projet publié
À l'intérieur de ce dossier, vous pouvez créer des fichiers de traduction, par exemple
en.txt
jp.txt
ar.txt
Alors vous ne pouvez pas utiliser ces outils dans le code
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]
....Chaque phrase traduite doit se terminer par une transition vers une nouvelle ligne, le séparateur de texte pour la traduction et le texte traduit est un côlon
La bibliothèque prend également en charge une configuration minimale, ce qui vous permet de configurer la langue par défaut et l'emplacement du dossier avec des fichiers de traduction par rapport au projet.
Si le fichier de configuration n'a pas été créé, le par défaut est pris:
# 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 Vous pouvez créer manuellement les données de fichier à l'aide du chemin suivant config/lang.conf
Ou appelez la construction suivante:
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Config . PublishConfig ( ) ;Qui créera automatiquement la configuration par défaut
Pour modifier la langue pendant l'exécution du programme, vous devez appeler la méthode setLang(string lang)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) ;Il peut également être appelé à chaque fois avant la traduction (il convient de considérer que la dernière langue exposée est rappelée)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) . Compile ( "[Text to transalete]" ) ; Pour traduire les chaînes avec des paramètres dans le fichier de traduction, vous devez intégrer des paramètres dans la chaîne de traduction, cela se fait en emballage un identifiant de paramètres dans des supports bouclés Exemple:
Hello : Hello {parametr_1} {parametr_2} Pour traduire une telle chaîne dans la méthode de compilation, l'attribut pour remplacer transmet un objet par le type Dictionary<string, string> , où la clé est l'identifiant de paramètre (sans supports bouclés) et la valeur doit être remplacée par
Exemple
using OftobTech . AppLocalizator ;
var params = new Dictionary < string , string > ( ) {
{ "parametr_1" , "beautiful" } ,
{ "parametr_2" , "world!" } ,
}
T . setLang ( item . DeviceLanguage ) . Compile ( "Hello" , params ) ; La bibliothèque prend en charge 2 modes de traduction en mode normal et en synchronisation, en mode normal, si aucune chaîne appropriée n'a été trouvée dans les fichiers de traduction, la chaîne qui a été transmise est renvoyée, en mode strict, si la chaîne de traduction n'est pas trouvée, null sera renvoyé
Exemple
using OftobTech . AppLocalizator ;
T . Compile ( "[Text to transalete]" , true ) ;
/// OR
T . Compile ( "[Text to transalete]" , params , true ) ; Il y a des cas où il est nécessaire d'ajouter ou de mettre à jour les fichiers linguistiques, mais vous ne pouvez pas redémarrer l'application, alors la méthode Updatelangs () peut venir à votre aide, ce qui vous permet de mettre à jour les traductions dans la mémoire de l'application à la volée
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;