M image/assets/lang/Deutsch.json => image/assets/lang/Deutsch.json +3 -1
@@ 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": "<text>Du meditierst seit<br />",
+ "app_meditation_countdown_desc": "Beginnt in"
}
M image/assets/lang/Espanol.json => image/assets/lang/Espanol.json +3 -1
@@ 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": "<text>Has meditado por<br />",
+ "app_meditation_countdown_desc": "Empieza en"
}
M image/assets/lang/Francais.json => image/assets/lang/Francais.json +3 -1
@@ 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": "<text>Vous a vez médité pendant<br />",
+ "app_meditation_countdown_desc": "Début dans"
}
M image/assets/lang/Polski.json => image/assets/lang/Polski.json +4 -1
@@ 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": "<text>Medytowałeś przez<br />",
+ "app_meditation_countdown_desc": "Startuje za"
}
M products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp => products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp +1 -1
@@ 91,7 91,7 @@ namespace app::meditation
timer->stop();
const auto elapsed = std::chrono::duration_cast<std::chrono::minutes>(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));
M products/BellHybrid/apps/common/include/common/LanguageUtils.hpp => products/BellHybrid/apps/common/include/common/LanguageUtils.hpp +2 -0
@@ 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
M products/BellHybrid/apps/common/src/LanguageUtils.cpp => products/BellHybrid/apps/common/src/LanguageUtils.cpp +35 -12
@@ 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