Inhalt
Einen neuen Eintrag machen
- Ein neues Literal wird in der Razor-Quelle mit
@Loc.Localize(key)referenziert, oder in einem*.csfile mit_loc.Localize(key), siehe z.B.Areas/Identity/Pages/Account/Manage**/**ChangePassword.cshtml.cs. - Nun kann man eine CSV-Datei erzeugen, die alle Eintragungen aus den vorhandenen
*.resxDateien enthält und am Ende die neuen 'Localize(key)'-Vorkommen hinzufügt (siehe CSV-Datei erzeugen). Die CSV-Datei wird dann mit z.B. Excel editiert. In der ersten Spalte der Datei steht der key. In der 2. Spalte die deutsche "Übersetzung", die man bei den neu hinzugekommenen keys händisch vornimmt. - Wenn alles fertig editiert ist, exportiert man die Datei wiederum ins CSV-Format.
- Die Einträge für alle anderen resx-Dateien werden automatisch erzeugt, inklusive einer automatischen Übersetzung. Die Erzeugung übernimmt das Tool '
ResxMake'. Es gibt einen Hilfetext aus, wenn es ohne Argumente aufgerufen wird. Siehe CSV-Datei einlesen. -
ResxMakenimmt den Text in der deutschen resx-Datei als "Master" und erzeugt dann englische, französische, portugiesische und arabische Übersetzungen. Schon vorhandene Übersetzungen verändert es nicht. Wenn eine neue automatische Übersetzung erzwungen werden soll, muss man die jeweilige Übersetzung löschen.
ResxMake wird mit Visual Studio erzeugt und liegt dann im jeweiligen bin Ordner. Beispiel:
Projects/chemselect/ResxMake/bin/Debug/net7.0/ResxMake
Beispiele
Hilfe
$> ./ResxMake
usage: ResxMake [Options] <basedir>
Options are
-c print CSV-file to stdout
-C <csvfile> read CSV-file from stdin
-h print help
-n do not overwrite original file
-g do not use google service
<basedir> i.e. /Projects/chemselect/ChemSelectUI
<csvfile> separator is ';'
CSV-Datei erzeugen
$> ./ResxMake -c /Users/frankhintsch/Projects/chemselect/ChemSelectUI > translation.csv
CSV-Datei einlesen und Resx Dateien erzeugen oder aktualisieren
$> ./ResxMake -C translation.csv /Users/frankhintsch/Projects/chemselect/ChemSelectUI
Resx-Dateien aktualisieren
$> ./ResxMake /Users/frankhintsch/Projects/chemselect/ChemSelectUI