summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJoshua Vandaƫle <joshua@vandaele.software>2025-12-11 03:11:51 +0100
committerJoshua Vandaƫle <joshua@vandaele.software>2026-07-24 03:45:13 +0200
commita30aa5cf36db43c0afc0eef00589a789ef04944a (patch)
treeb690b941e98c0078d6d2385e2d4e8ca84871fc3c /Source/Core
parent20bded80666227d7b76dbf34be046b7739f2f16c (diff)
CMake: Unify translation directories
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinQt/CMakeLists.txt29
-rw-r--r--Source/Core/DolphinQt/Translation.cpp19
2 files changed, 17 insertions, 31 deletions
diff --git a/Source/Core/DolphinQt/CMakeLists.txt b/Source/Core/DolphinQt/CMakeLists.txt
index f4ba46d2f9..bd197b5495 100644
--- a/Source/Core/DolphinQt/CMakeLists.txt
+++ b/Source/Core/DolphinQt/CMakeLists.txt
@@ -582,13 +582,9 @@ if(GETTEXT_MSGFMT_EXECUTABLE)
foreach(po ${LINGUAS})
get_filename_component(lang ${po} NAME_WE)
- if(WIN32)
- set(mo_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Languages)
- set(mo ${mo_dir}/${lang}.mo)
- else()
- set(mo_dir ${CMAKE_CURRENT_BINARY_DIR}/${lang})
- set(mo ${mo_dir}/dolphin-emu.mo)
- endif()
+
+ set(mo_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Languages/${lang})
+ set(mo ${mo_dir}/dolphin-emu.mo)
target_sources(dolphin-emu PRIVATE ${mo})
source_group("Localization\\\\Generated" FILES ${mo})
@@ -599,20 +595,11 @@ if(GETTEXT_MSGFMT_EXECUTABLE)
install(FILES ${mo} DESTINATION share/locale/${lang}/LC_MESSAGES)
endif()
- if(WIN32)
- add_custom_command(OUTPUT ${mo}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
- COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
- DEPENDS ${po}
- )
- else()
- add_custom_command(OUTPUT ${mo}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
- COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none ${po} ${pot_file}
- COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
- DEPENDS ${po}
- )
- endif()
+ add_custom_command(OUTPUT ${mo}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
+ COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
+ DEPENDS ${po}
+ )
endforeach()
endif()
diff --git a/Source/Core/DolphinQt/Translation.cpp b/Source/Core/DolphinQt/Translation.cpp
index 1b93536ac9..8e4339cb2b 100644
--- a/Source/Core/DolphinQt/Translation.cpp
+++ b/Source/Core/DolphinQt/Translation.cpp
@@ -274,18 +274,17 @@ static bool TryInstallTranslator(const QString& exact_language_code)
for (const auto& qlang : FindPossibleLanguageCodes(exact_language_code))
{
std::string lang = qlang.toStdString();
- auto filename =
-#if defined _WIN32
- fmt::format("{}/Languages/{}.mo", File::GetExeDirectory(), lang)
-#elif defined __APPLE__
- fmt::format("{}/Contents/Resources/{}.lproj/dolphin-emu.mo", File::GetBundleDirectory(),
- lang)
-#elif defined LINUX_LOCAL_DEV
- fmt::format("{}/../Source/Core/DolphinQt/{}/dolphin-emu.mo", File::GetExeDirectory(), lang)
+ std::string filename;
+#if defined __APPLE__
+ filename = fmt::format("{}/Contents/Resources/{}.lproj/dolphin-emu.mo",
+ File::GetBundleDirectory(), lang);
#else
- fmt::format("{}/../locale/{}/LC_MESSAGES/dolphin-emu.mo", DATA_DIR, lang)
+ filename = fmt::format("{}/Languages/{}/dolphin-emu.mo", File::GetExeDirectory(), lang);
+#ifndef _WIN32
+ if (!File::Exists(filename))
+ filename = fmt::format("{}/../locale/{}/LC_MESSAGES/dolphin-emu.mo", DATA_DIR, lang);
+#endif
#endif
- ;
auto* translator = new MoTranslator(QApplication::instance());
if (translator->load(filename))