~aleteoryx/muditaos

e22c48489a34708651c7f8c4e167db9dcbd80a3c — Lefucjusz 1 year, 8 months ago 703c7be
[BH-1954] Fix incorrect English form in Focus Timer

Fixed incorrect English form of
"minute" word in copy shown on
focus session summary screen.
M products/BellHybrid/apps/application-bell-focus-timer/presenter/FocusTimerPresenter.cpp => products/BellHybrid/apps/application-bell-focus-timer/presenter/FocusTimerPresenter.cpp +21 -6
@@ 19,10 19,25 @@ namespace
    constexpr auto delayBetweenSessionsTimerName{"betweenSessionTimer"};
    constexpr auto summaryWindowTimeout{std::chrono::seconds{5}};

    std::string createFocusLengthText(std::time_t focusMinutes)
    {
        constexpr auto englishLanguageName = "English";

        auto focusTimeLengthString = std::to_string(focusMinutes) + " ";
        if (utils::getDisplayLanguage() == englishLanguageName) {
            focusTimeLengthString += utils::translate("common_minute_lower");
        }
        else {
            focusTimeLengthString += utils::language::getCorrectMinutesAccusativeForm(focusMinutes);
        }

        return focusTimeLengthString;
    }

    std::string createSummaryText(const std::string &str, const std::string &minutesOfFocus)
    {
        auto parser = gui::text::RichTextParser{};
        const auto result =
        const auto &result =
            parser.parse(str, nullptr, gui::text::RichTextParser::TokenMap({{"$VALUE", minutesOfFocus}}));
        return result->getText();
    }


@@ 108,12 123,12 @@ namespace app::focus
        betweenSessionTimer.stop();

        const auto elapsed        = std::chrono::duration_cast<std::chrono::minutes>(timer->getElapsed());
        const auto minutesInFocus = ((currentTimerPhase == FocusTimerPhase::FocusTime) ? elapsed.count() : 0) +
                                    (allFocusSessionsCount - focusSessionsLeft) * focusSessionDuration.count();
        const auto &sumOfFocusTime =
            std::to_string(minutesInFocus) + " " + utils::language::getCorrectMinutesAccusativeForm(minutesInFocus);
        const auto focusMinutes   = ((currentTimerPhase == FocusTimerPhase::FocusTime) ? elapsed.count() : 0) +
                                  (allFocusSessionsCount - focusSessionsLeft) * focusSessionDuration.count();

        const auto &focusTimeLengthText = createFocusLengthText(focusMinutes);
        const auto &textToComplete = utils::translate("app_bell_focus_summary");
        const auto &summaryText    = createSummaryText(textToComplete, sumOfFocusTime);
        const auto &summaryText         = createSummaryText(textToComplete, focusTimeLengthText);

        app->switchWindow(
            gui::window::bell_finished::defaultName,