diff --git a/language/Chinese (Simple)/strings.po b/language/Chinese_(Simple)/strings.po similarity index 100% rename from language/Chinese (Simple)/strings.po rename to language/Chinese_(Simple)/strings.po diff --git a/language/Chinese (Traditional)/strings.po b/language/Chinese_(Traditional)/strings.po similarity index 100% rename from language/Chinese (Traditional)/strings.po rename to language/Chinese_(Traditional)/strings.po diff --git a/language/French (Canada)/strings.po b/language/French_(Canada)/strings.po similarity index 100% rename from language/French (Canada)/strings.po rename to language/French_(Canada)/strings.po diff --git a/language/Portuguese (Brazil)/strings.po b/language/Portuguese_(Brazil)/strings.po similarity index 100% rename from language/Portuguese (Brazil)/strings.po rename to language/Portuguese_(Brazil)/strings.po diff --git a/language/Serbian (Cyrillic)/strings.po b/language/Serbian_(Cyrillic)/strings.po similarity index 100% rename from language/Serbian (Cyrillic)/strings.po rename to language/Serbian_(Cyrillic)/strings.po diff --git a/language/Spanish (Mexico)/strings.po b/language/Spanish_(Mexico)/strings.po similarity index 100% rename from language/Spanish (Mexico)/strings.po rename to language/Spanish_(Mexico)/strings.po diff --git a/makefile b/makefile index 47c3fef617d..74260dff20a 100644 --- a/makefile +++ b/makefile @@ -1244,6 +1244,7 @@ clean: genieclean GEN_FOLDERS := $(GENDIR)/$(TARGET)/layout/ $(GENDIR)/$(TARGET)/$(SUBTARGET)/ +rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) LAYOUTS=$(wildcard $(SRC)/$(TARGET)/layout/*.lay) ifneq (,$(wildcard src/osd/$(OSD)/$(OSD).mak)) @@ -1262,6 +1263,7 @@ genie: $(GENIE) generate: \ genie \ $(GEN_FOLDERS) \ + $(patsubst %.po,%.mo,$(call rwildcard, language/, *.po)) \ $(patsubst $(SRC)/%.lay,$(GENDIR)/%.lh,$(LAYOUTS)) \ $(SRC)/devices/cpu/m68000/m68kops.cpp @@ -1276,6 +1278,10 @@ else $(SILENT) $(MAKE) -C $(SRC)/devices/cpu/m68000 CC="$(CC)" CXX="$(CXX)" endif +%.mo: %.po + @echo Converting translation $<... + $(SILENT) msgfmt --check --output-file $@ $< + #------------------------------------------------- # Regression tests #------------------------------------------------- @@ -1431,55 +1437,4 @@ translation: $(SILENT) msgmerge -U "language/Turkish/strings.po" mame.pot $(SILENT) msgmerge -U "language/Ukrainian/strings.po" mame.pot $(SILENT) msgmerge -U "language/Vietnamese/strings.po" mame.pot - $(SILENT) msgfmt --check --output-file "language/Afrikaans/strings.mo" "language/Afrikaans/strings.po" - $(SILENT) msgfmt --check --output-file "language/Albanian/strings.mo" "language/Albanian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Arabic/strings.mo" "language/Arabic/strings.po" - $(SILENT) msgfmt --check --output-file "language/Basque/strings.mo" "language/Basque/strings.po" - $(SILENT) msgfmt --check --output-file "language/Belarusian/strings.mo" "language/Belarusian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Bosnian/strings.mo" "language/Bosnian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Bulgarian/strings.mo" "language/Bulgarian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Burmese/strings.mo" "language/Burmese/strings.po" - $(SILENT) msgfmt --check --output-file "language/Catalan/strings.mo" "language/Catalan/strings.po" - $(SILENT) msgfmt --check --output-file "language/Chinese (Simple)/strings.mo" "language/Chinese (Simple)/strings.po" - $(SILENT) msgfmt --check --output-file "language/Chinese (Traditional)/strings.mo" "language/Chinese (Traditional)/strings.po" - $(SILENT) msgfmt --check --output-file "language/Croatian/strings.mo" "language/Croatian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Czech/strings.mo" "language/Czech/strings.po" - $(SILENT) msgfmt --check --output-file "language/Danish/strings.mo" "language/Danish/strings.po" - $(SILENT) msgfmt --check --output-file "language/Dutch/strings.mo" "language/Dutch/strings.po" - $(SILENT) msgfmt --check --output-file "language/English/strings.mo" "language/English/strings.po" - $(SILENT) msgfmt --check --output-file "language/Estonian/strings.mo" "language/Estonian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Finnish/strings.mo" "language/Finnish/strings.po" - $(SILENT) msgfmt --check --output-file "language/French/strings.mo" "language/French/strings.po" - $(SILENT) msgfmt --check --output-file "language/French (Canada)/strings.mo" "language/French (Canada)/strings.po" - $(SILENT) msgfmt --check --output-file "language/Georgian/strings.mo" "language/Georgian/strings.po" - $(SILENT) msgfmt --check --output-file "language/German/strings.mo" "language/German/strings.po" - $(SILENT) msgfmt --check --output-file "language/Greek/strings.mo" "language/Greek/strings.po" - $(SILENT) msgfmt --check --output-file "language/Hebrew/strings.mo" "language/Hebrew/strings.po" - $(SILENT) msgfmt --check --output-file "language/Hindi/strings.mo" "language/Hindi/strings.po" - $(SILENT) msgfmt --check --output-file "language/Hungarian/strings.mo" "language/Hungarian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Indonesian/strings.mo" "language/Indonesian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Italian/strings.mo" "language/Italian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Japanese/strings.mo" "language/Japanese/strings.po" - $(SILENT) msgfmt --check --output-file "language/Korean/strings.mo" "language/Korean/strings.po" - $(SILENT) msgfmt --check --output-file "language/Latvian/strings.mo" "language/Latvian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Lithuanian/strings.mo" "language/Lithuanian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Macedonian/strings.mo" "language/Macedonian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Norwegian/strings.mo" "language/Norwegian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Persian/strings.mo" "language/Persian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Polish/strings.mo" "language/Polish/strings.po" - $(SILENT) msgfmt --check --output-file "language/Portuguese/strings.mo" "language/Portuguese/strings.po" - $(SILENT) msgfmt --check --output-file "language/Portuguese (Brazil)/strings.mo" "language/Portuguese (Brazil)/strings.po" - $(SILENT) msgfmt --check --output-file "language/Romanian/strings.mo" "language/Romanian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Russian/strings.mo" "language/Russian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Serbian/strings.mo" "language/Serbian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Serbian (Cyrillic)/strings.mo" "language/Serbian (Cyrillic)/strings.po" - $(SILENT) msgfmt --check --output-file "language/Slovak/strings.mo" "language/Slovak/strings.po" - $(SILENT) msgfmt --check --output-file "language/Slovenian/strings.mo" "language/Slovenian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Spanish/strings.mo" "language/Spanish/strings.po" - $(SILENT) msgfmt --check --output-file "language/Spanish (Mexico)/strings.mo" "language/Spanish (Mexico)/strings.po" - $(SILENT) msgfmt --check --output-file "language/Swedish/strings.mo" "language/Swedish/strings.po" - $(SILENT) msgfmt --check --output-file "language/Thai/strings.mo" "language/Thai/strings.po" - $(SILENT) msgfmt --check --output-file "language/Turkish/strings.mo" "language/Turkish/strings.po" - $(SILENT) msgfmt --check --output-file "language/Ukrainian/strings.mo" "language/Ukrainian/strings.po" - $(SILENT) msgfmt --check --output-file "language/Vietnamese/strings.mo" "language/Vietnamese/strings.po" - + \ No newline at end of file diff --git a/src/emu/language.cpp b/src/emu/language.cpp index d7135eda408..e5e224b891c 100644 --- a/src/emu/language.cpp +++ b/src/emu/language.cpp @@ -37,7 +37,9 @@ void load_translation(emu_options &m_options) { g_translation.clear(); emu_file file(m_options.language_path(), OPEN_FLAG_READ); - if (file.open(m_options.language(), PATH_SEPARATOR "strings.mo") == FILERR_NONE) + auto name = std::string(m_options.language()); + strreplace(name, " ", "_"); + if (file.open(name.c_str(), PATH_SEPARATOR "strings.mo") == FILERR_NONE) { UINT64 size = file.size(); UINT32 *buffer = global_alloc_array(UINT32, size / 4 + 1); diff --git a/src/emu/ui/custui.cpp b/src/emu/ui/custui.cpp index bb76598f3a9..4793f10d904 100644 --- a/src/emu/ui/custui.cpp +++ b/src/emu/ui/custui.cpp @@ -32,8 +32,10 @@ ui_menu_custom_ui::ui_menu_custom_ui(running_machine &machine, render_container for (int x = 0; (dirent = path.next()) != nullptr; ++x) if (dirent->type == ENTTYPE_DIR && strcmp(dirent->name, ".") != 0 && strcmp(dirent->name, "..") != 0) { - m_lang.push_back(dirent->name); - if (strcmp(dirent->name, lang) == 0) + auto name = std::string(dirent->name); + strreplace(name, "_", " "); + m_lang.push_back(name); + if (strcmp(name.c_str(), lang) == 0) m_currlang = cnt; ++cnt; }