summaryrefslogtreecommitdiffstats
path: root/docs/release/src/frontend/mame/language.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'docs/release/src/frontend/mame/language.cpp')
-rw-r--r--docs/release/src/frontend/mame/language.cpp42
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);
+}