cli arg to load external translation file
This commit is contained in:
@@ -44,6 +44,7 @@ int main(int argc, char *argv[]) {
|
||||
"\t--disable-shaders\tDisable OpenGL shaders (for debugging)\n"
|
||||
"\t--no-debug\t\tDisable internal debug log and output directly to console\n"
|
||||
"\t--disable-blend-modes\tDisable shader-based blending for older GPUs\n"
|
||||
"\t--translation <file>\tSet an external language file to use\n"
|
||||
"\n", argv[0]);
|
||||
return 0;
|
||||
} else if (!strcmp(argv[i], "--fullscreen") || !strcmp(argv[i], "-f")) {
|
||||
@@ -54,6 +55,16 @@ int main(int argc, char *argv[]) {
|
||||
use_internal_logger = false;
|
||||
} else if (!strcmp(argv[i], "--disable-blend-modes")) {
|
||||
disable_blending = true;
|
||||
} else if (!strcmp(argv[i], "--translation")) {
|
||||
if (i + 1 < argc && argv[i + 1][0] != '-') {
|
||||
// load translation file
|
||||
external_translation_file = argv[i + 1];
|
||||
|
||||
i++;
|
||||
} else {
|
||||
printf("[ERROR] No translation file specified\n");
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
printf("[ERROR] Unknown argument '%s'\n", argv[1]);
|
||||
return 1;
|
||||
|
||||
+10
-3
@@ -57,6 +57,9 @@ MainWindow* mainWindow;
|
||||
#define DEFAULT_CSS "QPushButton::checked { background: rgb(25, 25, 25); }"
|
||||
#define OLIVE_FILE_FILTER "Olive Project (*.ove)"
|
||||
|
||||
// load external translation file
|
||||
QString external_translation_file;
|
||||
|
||||
QTimer autorecovery_timer;
|
||||
QString config_fn;
|
||||
bool demoNoticeShown = false;
|
||||
@@ -207,10 +210,14 @@ MainWindow::MainWindow(QWidget *parent, const QString &an) :
|
||||
}
|
||||
|
||||
// load preferred language from file
|
||||
if (!config.language_file.isEmpty()
|
||||
&& QFileInfo::exists(config.language_file)) {
|
||||
QString language_file = external_translation_file.isEmpty() ?
|
||||
config.language_file :
|
||||
external_translation_file;
|
||||
|
||||
if (!language_file.isEmpty()
|
||||
&& QFileInfo::exists(language_file)) {
|
||||
QTranslator* translator = new QTranslator(this);
|
||||
translator->load(config.language_file);
|
||||
translator->load(language_file);
|
||||
QApplication::installTranslator(translator);
|
||||
}
|
||||
|
||||
|
||||
@@ -213,4 +213,7 @@ private:
|
||||
|
||||
extern MainWindow* mainWindow;
|
||||
|
||||
// load external translation file
|
||||
extern QString external_translation_file;
|
||||
|
||||
#endif // MAINWINDOW_H
|
||||
|
||||
Reference in New Issue
Block a user