diff options
| -rw-r--r-- | modules/ECMQmLoader.cpp.in | 7 | ||||
| -rw-r--r-- | tests/ECMPoQmToolsTest/check.cmake.in | 6 | 
2 files changed, 11 insertions, 2 deletions
| diff --git a/modules/ECMQmLoader.cpp.in b/modules/ECMQmLoader.cpp.in index 12a2d146..f636ecc4 100644 --- a/modules/ECMQmLoader.cpp.in +++ b/modules/ECMQmLoader.cpp.in @@ -65,7 +65,12 @@ namespace {          QLocale locale = QLocale::system();          if (locale.name() != QStringLiteral("en")) {              if (!loadTranslation(locale.name())) { -                loadTranslation(locale.bcp47Name()); +                if (!loadTranslation(locale.bcp47Name())) { +                    const int i = locale.name().indexOf(QLatin1Char('_')); +                    if (i > 0) { +                        loadTranslation(locale.name().left(i)); +                    } +                }              }          }      } diff --git a/tests/ECMPoQmToolsTest/check.cmake.in b/tests/ECMPoQmToolsTest/check.cmake.in index aeef8e42..26320584 100644 --- a/tests/ECMPoQmToolsTest/check.cmake.in +++ b/tests/ECMPoQmToolsTest/check.cmake.in @@ -58,16 +58,20 @@ endif()  if("@CMAKE_SYSTEM_NAME@" STREQUAL "Linux")      set(exp_output_catalog_en "english text:english plural form 5")      set(exp_output_catalog_de "german text:german plural form 5") +    # no de_AT translation -> should fall back to de +    set(exp_output_catalog_de_AT "${exp_output_catalog_de}")      # no french translation provided -> english fallback      set(exp_output_catalog_fr "${exp_output_catalog_en}")      set(exp_output_catalog2_en "2nd english text:2nd english plural form 5")      set(exp_output_catalog2_de "2nd german text:2nd german plural form 5") +    # no de_AT translation -> should fall back to de +    set(exp_output_catalog2_de_AT "${exp_output_catalog2_de}")      # no french translation provided -> english fallback      set(exp_output_catalog2_fr "${exp_output_catalog2_en}")      function(check_translations name exec catalog_name) -        foreach(lang en de fr) +        foreach(lang en de de_AT fr)              execute_process(                  COMMAND "${CMAKE_COMMAND}" -E env "XDG_DATA_DIRS=${ACTUAL_TREE}/share"                      LANGUAGE=${lang} "${exec}" | 
