Ein leistungsstarkes Tool, das die Möglichkeit bietet, Text im laufenden Fliegen zu übersetzen, was bei der Entwicklung von Wiederherstellungen mit mehrsprachiger Mehrsprachigkeit nützlich sein kann
dotnet add package OftobTech.AppLocalizator
oder über Nuget -Tools in Visual Studio
Erstellen Sie Lang -Ordner in Root of veröffentlichtem Projekt
In diesem Ordner können Sie beispielsweise Übersetzungsdateien erstellen
en.txt
jp.txt
ar.txt
Dann können Sie diese Tools im Code nicht verwenden
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]
....Jeder übersetzte Satz muss mit einem Übergang zu einer neuen Zeile enden, der Textabscheider für die Übersetzung und der übersetzte Text ist ein Dickdarm
Die Bibliothek unterstützt außerdem minimale Konfiguration, mit der Sie die Standardsprache und den Speicherort des Ordners mit Übersetzungsdateien relativ zum Projekt konfigurieren können.
Wenn die Konfigurationsdatei nicht erstellt wurde, wird die Standardeinstellung erstellt:
# 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 Sie können die Dateidaten manuell mit der folgenden Pfadkonfiguration config/lang.conf erstellen
Oder rufen Sie die folgende Konstruktion an:
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Config . PublishConfig ( ) ;Dies erstellt automatisch die Standardkonfiguration
Um die Sprache während der Ausführung des Programms zu ändern, müssen Sie die Methode setLang(string lang) aufrufen
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) ;Es kann auch jedes Mal vor der Übersetzung aufgerufen werden (es lohnt sich, zu überlegen, dass die letzte exponierte Sprache in Erinnerung bleibt).
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) . Compile ( "[Text to transalete]" ) ; Um Strings mit Parametern in der Übersetzungsdatei zu übersetzen, müssen Sie Parameter in die Übersetzungszeichenfolge einbetten. Dies erfolgt durch Einwickeln einiger Parameterkennung in Curly -Brackets Beispiel:
Hello : Hello {parametr_1} {parametr_2} Um eine solche Zeichenfolge in die Kompilierungsmethode zu übersetzen, übergibt das Attribut zum Ersetzen ein Objekt mit dem Dictionary<string, string> -Typ, wobei der Schlüssel die Parameterkennung (ohne lockige Klammern) ist und der Wert durch ersetzt werden muss
Beispiel
using OftobTech . AppLocalizator ;
var params = new Dictionary < string , string > ( ) {
{ "parametr_1" , "beautiful" } ,
{ "parametr_2" , "world!" } ,
}
T . setLang ( item . DeviceLanguage ) . Compile ( "Hello" , params ) ; Die Bibliothek unterstützt 2 Übersetzungsmodi Normalmodus und Timing im normalen Modus, wenn in den Übersetzungsdateien keine geeigneten Zeichenfolgen gefunden wurden. Die übergebene Zeichenfolge wird im strengen Modus zurückgegeben, wenn die Übersetzungszeichenfolge nicht gefunden wird, wird Null zurückgegeben
Beispiel
using OftobTech . AppLocalizator ;
T . Compile ( "[Text to transalete]" , true ) ;
/// OR
T . Compile ( "[Text to transalete]" , params , true ) ; Es gibt Fälle, in denen Sprachdateien hinzugefügt oder aktualisiert werden müssen, aber Sie können die Anwendung nicht neu starten. Die Methode updatelangs () kann zu Ihnen Hilfe gelangen, sodass Sie Übersetzungen im Speicher der Anwendung überfliegen können
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;