From c67bd4cf7c2fa9e6eec2bd5bf06f704deae6a391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Jo=C5=84ski?= Date: Wed, 6 Jul 2022 10:59:27 +0200 Subject: [PATCH] [BH-1540] Meditation translations Meditation translations --- image/assets/lang/Deutsch.json | 4 +- image/assets/lang/Espanol.json | 4 +- image/assets/lang/Francais.json | 4 +- image/assets/lang/Polski.json | 5 +- .../presenter/MeditationProgressPresenter.cpp | 2 +- .../common/include/common/LanguageUtils.hpp | 2 + .../apps/common/src/LanguageUtils.cpp | 47 ++++++++++++++----- 7 files changed, 51 insertions(+), 17 deletions(-) diff --git a/image/assets/lang/Deutsch.json b/image/assets/lang/Deutsch.json index b87b53cea5f2bcdb67058f72bcdb56fc0c9becfb..872f697d14339132b3a373bb56172f5a42b4ada0 100644 --- a/image/assets/lang/Deutsch.json +++ b/image/assets/lang/Deutsch.json @@ -706,5 +706,7 @@ "app_bell_meditation_settings": "Einstellungen", "app_bell_meditation_start_delay": "Verzögerung starten", "app_bell_meditation_chime_interval_bottom": "der meditation", - "app_bell_meditation_chime_volume": "Glocken-Lautstärke" + "app_bell_meditation_chime_volume": "Glocken-Lautstärke", + "app_meditation_summary": "Du meditierst seit
", + "app_meditation_countdown_desc": "Beginnt in" } diff --git a/image/assets/lang/Espanol.json b/image/assets/lang/Espanol.json index 868c26f5a6d8f3c05e5b2a82df4174cd08633630..a74a118912560b9ccdd39c18e3c2407ecbdb74c0 100644 --- a/image/assets/lang/Espanol.json +++ b/image/assets/lang/Espanol.json @@ -706,5 +706,7 @@ "app_bell_meditation_settings": "Ajustes", "app_bell_meditation_start_delay": "Retraso en el inicio", "app_bell_meditation_chime_interval_bottom": "de la meditación", - "app_bell_meditation_chime_volume": "Volumen del timbre" + "app_bell_meditation_chime_volume": "Volumen del timbre", + "app_meditation_summary": "Has meditado por
", + "app_meditation_countdown_desc": "Empieza en" } diff --git a/image/assets/lang/Francais.json b/image/assets/lang/Francais.json index a282d65a8ea65e2ac4f4cee07639e7b4fb5cbf27..7daa5b62d39c23c463052bb91e2a79490ff5117c 100644 --- a/image/assets/lang/Francais.json +++ b/image/assets/lang/Francais.json @@ -676,5 +676,7 @@ "app_bell_meditation_settings": "Paramètres", "app_bell_meditation_start_delay": "Retard de lancement", "app_bell_meditation_chime_interval_bottom": "de la méditation", - "app_bell_meditation_chime_volume": "Volume du gong intervalle" + "app_bell_meditation_chime_volume": "Volume du gong intervalle", + "app_meditation_summary": "Vous a vez médité pendant
", + "app_meditation_countdown_desc": "Début dans" } diff --git a/image/assets/lang/Polski.json b/image/assets/lang/Polski.json index 66bff3c4484c2db307f95cec63e4416532df9008..db300710e464c0b5d21f651f620d95b601c8e3b2 100644 --- a/image/assets/lang/Polski.json +++ b/image/assets/lang/Polski.json @@ -77,6 +77,7 @@ "common_search": "SZUKAJ", "common_accept": "AKCEPTUJ", "common_minute_lower": "minuta", + "common_minute_lower_accusative": "minutę", "common_minutes_lower": "minuty", "common_minutes_lower_genitive": "minut", "common_minute_short": "min", @@ -724,5 +725,7 @@ "app_bell_meditation_settings": "Ustawienia", "app_bell_meditation_start_delay": "Opóźnienie startu", "app_bell_meditation_chime_interval_bottom": "medytacji", - "app_bell_meditation_chime_volume": "Głośność dzwonka interwału" + "app_bell_meditation_chime_volume": "Głośność dzwonka interwału", + "app_meditation_summary": "Medytowałeś przez
", + "app_meditation_countdown_desc": "Startuje za" } diff --git a/products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp b/products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp index a4b07e82db94b10e55ea25cee41c16fd784bd38d..da1f542ce797f18ce644cb8d787a6340163ee2bd 100644 --- a/products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp +++ b/products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp @@ -91,7 +91,7 @@ namespace app::meditation timer->stop(); const auto elapsed = std::chrono::duration_cast(timer->getElapsed()); const auto summaryText = utils::translate("app_meditation_summary") + std::to_string(elapsed.count()) + " " + - utils::language::getCorrectMinutesNumeralForm(elapsed.count()); + utils::language::getCorrectMinutesAccusativeForm(elapsed.count()); app->switchWindow( gui::window::bell_finished::defaultName, gui::BellFinishedWindowData::Factory::create("big_namaste_W_G", "", summaryText, true, endWindowTimeout)); diff --git a/products/BellHybrid/apps/common/include/common/LanguageUtils.hpp b/products/BellHybrid/apps/common/include/common/LanguageUtils.hpp index 54f5c6c17872def42f2bd8aaf893a1484de972ea..5dc47527b23c111d6f28cc8305a061b091fa3cdf 100644 --- a/products/BellHybrid/apps/common/include/common/LanguageUtils.hpp +++ b/products/BellHybrid/apps/common/include/common/LanguageUtils.hpp @@ -9,4 +9,6 @@ namespace utils::language { auto getCorrectMinutesNumeralForm(std::uint32_t val) -> std::string; auto getCorrectSecondsNumeralForm(std::uint32_t val) -> std::string; + + auto getCorrectMinutesAccusativeForm(std::uint32_t val) -> std::string; } // namespace utils::language diff --git a/products/BellHybrid/apps/common/src/LanguageUtils.cpp b/products/BellHybrid/apps/common/src/LanguageUtils.cpp index ad8e8301ba4cdc20693279318775bcb6f9289851..5686a2dba4666721dff1fc35ef77a102e304d371 100644 --- a/products/BellHybrid/apps/common/src/LanguageUtils.cpp +++ b/products/BellHybrid/apps/common/src/LanguageUtils.cpp @@ -5,10 +5,10 @@ namespace { - std::string transform(const std::uint32_t val, - const std::string &minuteLower, - const std::string &minutesLower, - const std::string &minutesLowerGenitive) + std::string transformNumeral(const std::uint32_t val, + const std::string &minuteLower, + const std::string &minutesLower, + const std::string &minutesLowerGenitive) { if (val == 1) { return minuteLower; @@ -24,23 +24,46 @@ namespace } return minutesLower; } + + std::string transformAccusative(const std::uint32_t val, + const std::string &minuteLower, + const std::string &minuteAccusative, + const std::string &minutesLower, + const std::string &minutesLowerGenitive) + { + if (val == 1 && utils::getDisplayLanguage() == "Polski") { + return minuteAccusative; + } + else { + return transformNumeral(val, minuteLower, minutesLower, minutesLowerGenitive); + } + } } // namespace namespace utils::language { auto getCorrectMinutesNumeralForm(const std::uint32_t val) -> std::string { - return transform(val, - utils::translate("common_minute_lower"), - utils::translate("common_minutes_lower"), - utils::translate("common_minutes_lower_genitive")); + return transformNumeral(val, + utils::translate("common_minute_lower"), + utils::translate("common_minutes_lower"), + utils::translate("common_minutes_lower_genitive")); } auto getCorrectSecondsNumeralForm(const std::uint32_t val) -> std::string { - return transform(val, - utils::translate("common_second_lower"), - utils::translate("common_seconds_lower"), - utils::translate("common_seconds_lower_genitive")); + return transformNumeral(val, + utils::translate("common_second_lower"), + utils::translate("common_seconds_lower"), + utils::translate("common_seconds_lower_genitive")); + } + + auto getCorrectMinutesAccusativeForm(const std::uint32_t val) -> std::string + { + return transformAccusative(val, + utils::translate("common_minute_lower"), + utils::translate("common_minute_lower_accusative"), + utils::translate("common_minutes_lower"), + utils::translate("common_minutes_lower_genitive")); } } // namespace utils::language