chore: Add some translation strings + update helper script (#2328)

* fix: Update translation helper for LVGL changes
Also:
- make paths more OS agnostic
- auto-ignore `untranslated.h` since adding to all translations
- flag required parameter as required

* fix: Add more Label related translatable strings

* chore: Italian translations from @robustini
Also some minor formatting tidyup

* chore: Swedish translation from @ulfhedlund

* chore: Danish translation from @HThuren
This commit is contained in:
Peter Feerick
2022-09-20 12:35:19 +10:00
committed by GitHub
parent 43bb5d2bcd
commit bccae96917
18 changed files with 97 additions and 25 deletions
+10 -4
View File
@@ -267,7 +267,10 @@ class ModelButton : public Button
buffer->clear(COLOR_THEME_PRIMARY2);
if (error) {
buffer->drawText(width() / 2, height() / 2, "(Invalid Model)",
std::string errorMsg = "(";
errorMsg += STR_INVALID_MODEL;
errorMsg += ")";
buffer->drawText(width() / 2, height() / 2, errorMsg.c_str(),
COLOR_THEME_SECONDARY1 | CENTERED);
} else {
GET_FILENAME(filename, BITMAPS_PATH, modelCell->modelBitmap, "");
@@ -276,7 +279,10 @@ class ModelButton : public Button
buffer->drawScaledBitmap(bitmap, 0, 0, width(), height());
delete bitmap;
} else {
buffer->drawText(width() / 2, 56, "(No Picture)",
std::string errorMsg = "(";
errorMsg += STR_NO_PICTURE;
errorMsg += ")";
buffer->drawText(width() / 2, 56, errorMsg.c_str(),
FONT(XXS) | COLOR_THEME_SECONDARY1 | CENTERED);
}
}
@@ -810,7 +816,7 @@ void ModelLabelsWindow::buildBody(FormWindow *window)
});
if (modelslabels.getLabels().size() > 1) {
if (selected != 0) {
menu->addLine("Move Up", [=]() {
menu->addLine(STR_MOVE_UP, [=]() {
modelslabels.moveLabelTo(selected, selected - 1);
std::set<uint32_t> newset;
newset.insert(selected - 1);
@@ -822,7 +828,7 @@ void ModelLabelsWindow::buildBody(FormWindow *window)
});
}
if (selected != (int)modelslabels.getLabels().size() - 1) {
menu->addLine("Move Down", [=]() {
menu->addLine(STR_MOVE_DOWN, [=]() {
modelslabels.moveLabelTo(selected, selected + 1);
std::set<uint32_t> newset;
newset.insert(selected + 1);
+4
View File
@@ -133,6 +133,7 @@ const char STR_LOADINGMODEL[] = TR_LOADINGMODEL;
const char STR_UNLABELEDMODEL[] = TR_UNLABELEDMODEL;
const char STR_NAME[] = TR_NAME;
const char STR_BITMAP[] = TR_BITMAP;
const char STR_NO_PICTURE[] = TR_NO_PICTURE;
const char STR_TIMER[] = TR_TIMER;
const char STR_START[] = TR_START;
const char STR_ELIMITS[] = TR_ELIMITS;
@@ -340,7 +341,10 @@ const char STR_SELECT_MODE[] = TR_SELECT_MODE;
const char STR_CREATE_MODEL[] = TR_CREATE_MODEL;
const char STR_FAVORITE_LABEL[] = TR_FAVORITE_LABEL;
const char STR_NEW_MODEL[] = TR_NEW_MODEL;
const char STR_INVALID_MODEL[] = TR_INVALID_MODEL;
const char STR_EDIT_LABELS[] = TR_EDIT_LABELS;
const char STR_MOVE_UP[] = TR_MOVE_UP;
const char STR_MOVE_DOWN[] = TR_MOVE_DOWN;
const char STR_DUPLICATE_MODEL[] = TR_DUPLICATE_MODEL;
const char STR_COPY_MODEL[] = TR_COPY_MODEL;
const char STR_MOVE_MODEL[] = TR_MOVE_MODEL;
+4
View File
@@ -237,6 +237,7 @@ extern const char STR_LOADINGMODEL[];
extern const char STR_UNLABELEDMODEL[];
extern const char STR_NAME[];
extern const char STR_BITMAP[];
extern const char STR_NO_PICTURE[];
extern const char STR_TIMER[];
extern const char STR_START[];
extern const char STR_ELIMITS[];
@@ -539,7 +540,10 @@ extern const char STR_SELECT_MODE[];
extern const char STR_CREATE_MODEL[];
extern const char STR_FAVORITE_LABEL[];
extern const char STR_NEW_MODEL[];
extern const char STR_INVALID_MODEL[];
extern const char STR_EDIT_LABELS[];
extern const char STR_MOVE_UP[];
extern const char STR_MOVE_DOWN[];
extern const char STR_DUPLICATE_MODEL[];
extern const char STR_COPY_MODEL[];
extern const char STR_MOVE_MODEL[];
+4
View File
@@ -344,6 +344,7 @@
#define TR_INPUTNAME TR("名称", "输入名称")
#define TR_EXPONAME TR("名称", "曲线名称")
#define TR_BITMAP "模型图片"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER TR("计时器", "计时器 ")
#define TR_START "开始"
#define TR_ELIMITS TR("扩展行程", "扩展通道行程")
@@ -637,7 +638,10 @@
#define TR_CREATE_MODEL "创建模型"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -362,6 +362,7 @@
#define TR_INPUTNAME "Název"
#define TR_EXPONAME "Popis"
#define TR_BITMAP "Obrázek"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER "Stopky"
#define TR_START "Start"
#define TR_ELIMITS TR("Limit +25%", "Kanál +/- 125%")
@@ -653,7 +654,10 @@
#define TR_CREATE_MODEL "Nový model"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -344,6 +344,7 @@
#define TR_INPUTNAME TR("Indgang", "Indgang navn")
#define TR_EXPONAME TR("Navn", "Line navn")
#define TR_BITMAP "Model billede"
#define TR_NO_PICTURE "Ingen billede"
#define TR_TIMER TR("Timer", "Timer ")
#define TR_START "Start"
#define TR_ELIMITS TR("Udv.Grænser", "Udvidet grænser")
@@ -637,7 +638,10 @@
#define TR_CREATE_MODEL "Opret model"
#define TR_FAVORITE_LABEL "Favoritter"
#define TR_NEW_MODEL "Ny model"
#define TR_INVALID_MODEL "Ingen billede"
#define TR_EDIT_LABELS "Ret type"
#define TR_MOVE_UP "Ingen billede"
#define TR_MOVE_DOWN "Flyt ned"
#define TR_ENTER_LABEL "Vælg type"
#define TR_LABEL "Type"
#define TR_LABELS "Typer"
+4
View File
@@ -349,6 +349,7 @@
#define TR_INPUTNAME TR("Input", "Input name")
#define TR_EXPONAME TR("Name", "Line name")
#define TR_BITMAP "Modellfoto"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER "Timer"
#define TR_START "Start"
#define TR_ELIMITS TR("Erw. Limit", "Erw. Wege auf 150%")
@@ -636,7 +637,10 @@
#define TR_CREATE_MODEL TR("Neues Modell" , "Neues Modell erstellen")
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -343,6 +343,7 @@
#define TR_INPUTNAME TR("Input", "Input name")
#define TR_EXPONAME TR("Name", "Line name")
#define TR_BITMAP "Model image"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER TR("Timer", "Timer ")
#define TR_START "Start"
#define TR_ELIMITS TR("E.Limits", "Extended limits")
@@ -636,7 +637,10 @@
#define TR_CREATE_MODEL "Create model"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -345,6 +345,7 @@
#define TR_INPUTNAME TR("Entrada", "Nom. entrada")
#define TR_EXPONAME TR("Nom.", "Nombre expo")
#define TR_BITMAP "Imagen modelo"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER TR("Timer", "Timer ")
#define TR_START "Start"
#define TR_ELIMITS TR("E.Límite", "Ampliar límites")
@@ -637,7 +638,10 @@
#define TR_CREATE_MODEL "Crear modelo"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -359,6 +359,7 @@
#define TR_EXPONAME "Expo Name"
#endif
#define TR_BITMAP "Model Image"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER "Timer"
#define TR_START "Start"
#define TR_ELIMITS TR("E.Limits", "Extended Limits")
@@ -651,7 +652,10 @@
#define TR_CREATE_MODEL "Create Model"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -365,6 +365,7 @@
#define TR_INPUTNAME TR("Entrée", "Nom entrée")
#define TR_EXPONAME TR("Nom", "Nom ligne")
#define TR_BITMAP "Image du modèle"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER "Chrono "
#define TR_START "Start"
#define TR_ELIMITS TR("Limites ét.", "Limites étendues")
@@ -656,7 +657,10 @@
#define TR_CREATE_MODEL "Créer modèle"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+20 -16
View File
@@ -336,22 +336,23 @@
#define TR_MENUWHENDONE CENTER "\007" TR_ENTER " Conferma"
#define TR_FREE "Disp."
#define TR_YES "Si"
#define TR_NO "No"
#define TR_YES "Si"
#define TR_NO "No"
#define TR_DELETEMODEL "CANCELLA" BREAKSPACE "MODELLO"
#define TR_COPYINGMODEL "Copia in corso.."
#define TR_MOVINGMODEL "Spostamento..."
#define TR_LOADINGMODEL "Caricamento..."
#define TR_UNLABELEDMODEL "Senza etic."
#define TR_NAME "Nome"
#define TR_MODELNAME TR("Nome Mode.", "Nome Modello")
#define TR_MODELNAME TR("Nome Mode.", "Nome Modello")
#define TR_PHASENAME "Nome Fase"
#define TR_MIXNAME "Nome Mix"
#define TR_INPUTNAME "Nome Ingr."
#define TR_EXPONAME "Nome Expo"
#define TR_EXPONAME "Nome Expo"
#define TR_BITMAP "Immagine"
#define TR_NO_PICTURE "No immagine"
#define TR_TIMER TR("Timer", "Timer ")
#define TR_START "Start"
#define TR_START "Start"
#define TR_ELIMITS TR("Lim. Est.", "Limiti Estesi")
#define TR_ETRIMS TR("Trim Est.", "Trim Estesi")
#define TR_TRIMINC "Passo Trim"
@@ -635,17 +636,20 @@
#define TR_MODELS "Modelli"
#define TR_SELECT_MODE "Seleziona modo"
#define TR_CREATE_MODEL "Crea Modello"
#define TR_FAVORITE_LABEL "Favoriti"
#define TR_NEW_MODEL "Nuovo Modello"
#define TR_EDIT_LABELS "Edita Etichette"
#define TR_ENTER_LABEL "Edita Etichetta"
#define TR_LABEL "Etichetta"
#define TR_LABELS "Etichette"
#define TR_CURRENT_MODEL "Corrente"
#define TR_NEW "Nuovo"
#define TR_NEW_LABEL "Nuova Etichetta"
#define TR_RENAME_LABEL "Rinomina Etichetta"
#define TR_DELETE_LABEL "Cancella Etichetta"
#define TR_FAVORITE_LABEL "Favoriti"
#define TR_NEW_MODEL "Nuovo Modello"
#define TR_INVALID_MODEL "Modello invalido"
#define TR_EDIT_LABELS "Edita Etichette"
#define TR_MOVE_UP "Muovi Su"
#define TR_MOVE_DOWN "Muovi Giù"
#define TR_ENTER_LABEL "Edita Etichetta"
#define TR_LABEL "Etichetta"
#define TR_LABELS "Etichette"
#define TR_CURRENT_MODEL "Corrente"
#define TR_NEW "Nuovo"
#define TR_NEW_LABEL "Nuova Etichetta"
#define TR_RENAME_LABEL "Rinomina Etichetta"
#define TR_DELETE_LABEL "Cancella Etichetta"
#define TR_DUPLICATE_MODEL "Duplica Modello"
#define TR_COPY_MODEL "Copia Modello"
#define TR_MOVE_MODEL "Sposta Modello"
+4
View File
@@ -348,6 +348,7 @@
#define TR_INPUTNAME "Input Naam"
#define TR_EXPONAME "Lijn Naam"
#define TR_BITMAP "Modelafbeelding"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER TR("Timer", "Timer ")
#define TR_START "Start"
#define TR_ELIMITS TR("E.Limits", "Extended Limits")
@@ -642,7 +643,10 @@
#define TR_CREATE_MODEL "Nieuw Model"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -345,6 +345,7 @@
#define TR_INPUTNAME "Wpisz Nazw"
#define TR_EXPONAME "LiniaNazw"
#define TR_BITMAP "Obrazek "
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER TR("Timer", "Timer ")
#define TR_START "Start"
#define TR_ELIMITS TR("Limi+25%", "Kanał +/- 125% ")
@@ -633,7 +634,10 @@
#define TR_CREATE_MODEL "Nowy model"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -347,6 +347,7 @@
#define TR_EXPONAME "Expo Name"
#endif
#define TR_BITMAP "Model Image"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER "Cronom"
#define TR_START "Start"
#define TR_ELIMITS "E.Limits"
@@ -639,7 +640,10 @@
#define TR_CREATE_MODEL "Criar Modelo"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"
+4
View File
@@ -374,6 +374,7 @@
#define TR_INPUTNAME TR("Input","Inputnamn")
#define TR_EXPONAME TR("Namn","Radnamn")
#define TR_BITMAP "Modellikon"
#define TR_NO_PICTURE "Ingen bild"
#define TR_TIMER TR("Timer","Timer ")
#define TR_START "Start"
#define TR_ELIMITS TR("Gränser++","Utökade gränser")
@@ -676,7 +677,10 @@
#define TR_CREATE_MODEL "Skapa modell"
#define TR_FAVORITE_LABEL "Favoriter"
#define TR_NEW_MODEL "Ny modell"
#define TR_INVALID_MODEL "Ogiltig modell"
#define TR_EDIT_LABELS "Redigera etiketter"
#define TR_MOVE_UP "Flytta uppp"
#define TR_MOVE_DOWN "Flytta ner"
#define TR_ENTER_LABEL "Ange etikett"
#define TR_LABEL "Etikett"
#define TR_LABELS "Etiketter"
+7 -5
View File
@@ -6,7 +6,7 @@ import argparse
TRANSLATIONS_PATH = os.path.dirname(os.path.realpath(__file__))
SRC_PATH = os.path.dirname(TRANSLATIONS_PATH)
def add_line(filename, newline, args):
print(filename, newline)
@@ -30,20 +30,22 @@ def add_line(filename, newline, args):
def modify_translations(args):
for filename in glob.glob(TRANSLATIONS_PATH + "/*.h.txt"):
for filename in glob.glob(TRANSLATIONS_PATH + os.sep + "*.h"):
if os.path.basename(filename) == "untranslated.h":
continue
newline = '#define TR_%s%s"%s"' % (args.name, " " * max(1, 28 - len(args.name)), args.value)
add_line(filename, newline, args)
def modify_declaration(args):
newline = 'extern const char STR_%s[];' % args.name
filename = TRANSLATIONS_PATH + "/../translations.h"
filename = SRC_PATH + os.sep+ "translations.h"
add_line(filename, newline, args)
def modify_definition(args):
newline = 'const char STR_%s[] = TR_%s;' % (args.name, args.name)
filename = TRANSLATIONS_PATH + "/../translations.cpp"
filename = SRC_PATH + os.sep + "translations.cpp"
add_line(filename, newline, args)
@@ -51,7 +53,7 @@ def main():
parser = argparse.ArgumentParser(description="Helper to manage translations")
parser.add_argument("--after", required=False, help="String just before the new one")
parser.add_argument("--before", required=False, help="String just after the new one")
parser.add_argument("--name", help="String name")
parser.add_argument("--name", required=True, help="String name")
parser.add_argument("value", help="String value")
args = parser.parse_args()
+4
View File
@@ -343,6 +343,7 @@
#define TR_INPUTNAME TR("名稱", "輸入名稱")
#define TR_EXPONAME TR("名稱", "曲線名稱")
#define TR_BITMAP "模型圖片"
#define TR_NO_PICTURE "No Picture"
#define TR_TIMER TR("計時器", "計時器 ")
#define TR_START "開始"
#define TR_ELIMITS TR("E.Limits", "擴展通道行程")
@@ -636,7 +637,10 @@
#define TR_CREATE_MODEL "創建模型"
#define TR_FAVORITE_LABEL "Favorites"
#define TR_NEW_MODEL "New Model"
#define TR_INVALID_MODEL "Invalid Model"
#define TR_EDIT_LABELS "Edit Labels"
#define TR_MOVE_UP "Move Up"
#define TR_MOVE_DOWN "Move Down"
#define TR_ENTER_LABEL "Enter Label"
#define TR_LABEL "Label"
#define TR_LABELS "Labels"