diff options
Diffstat (limited to 'docs/release/src/frontend/mame/language.cpp')
-rw-r--r-- | docs/release/src/frontend/mame/language.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/docs/release/src/frontend/mame/language.cpp b/docs/release/src/frontend/mame/language.cpp new file mode 100644 index 00000000000..3e660130ffd --- /dev/null +++ b/docs/release/src/frontend/mame/language.cpp @@ -0,0 +1,42 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb +/*************************************************************************** + + language.cpp + + Multi-language support. + +***************************************************************************/ + +#include "emu.h" +#include "language.h" + +#include "emuopts.h" +#include "fileio.h" + +#include "corestr.h" + +#include <string> + + +void load_translation(emu_options &m_options) +{ + util::unload_translation(); + + std::string name = m_options.language(); + if (name.empty()) + return; + + strreplace(name, " ", "_"); + strreplace(name, "(", ""); + strreplace(name, ")", ""); + emu_file file(m_options.language_path(), OPEN_FLAG_READ); + if (file.open(name + PATH_SEPARATOR "strings.mo")) + { + osd_printf_error("Error opening translation file %s\n", name); + return; + } + + osd_printf_verbose("Loading translation file %s\n", file.fullpath()); + util::load_translation(file); +} |