diff options
| author | Joshua Vandaƫle <joshua@vandaele.software> | 2025-12-11 03:11:51 +0100 |
|---|---|---|
| committer | Joshua Vandaƫle <joshua@vandaele.software> | 2026-07-24 03:45:13 +0200 |
| commit | a30aa5cf36db43c0afc0eef00589a789ef04944a (patch) | |
| tree | b690b941e98c0078d6d2385e2d4e8ca84871fc3c /Source/Core | |
| parent | 20bded80666227d7b76dbf34be046b7739f2f16c (diff) | |
CMake: Unify translation directories
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinQt/CMakeLists.txt | 29 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Translation.cpp | 19 |
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)) |
