~aleteoryx/muditaos

c67bd4cf7c2fa9e6eec2bd5bf06f704deae6a391 — Paweł Joński 3 years ago e72ca95
[BH-1540] Meditation translations

Meditation translations
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