Как локализовать текст в формате "[-] [+] Xh Xmin" - PullRequest
1 голос
/ 06 июня 2019

Я получаю время в секундах, и мне нужно предоставить составной текст в формате "[+] [-] Xh Xmin", где X - число в диапазоне 01-59.Проблема в том, что система имеет несколько локалей (у меня есть доступ к текущей локали), что означает, что аббревиатуры «h» и «min» должны быть скорректированы в соответствии с текущим языком системы.

Первое решение, которое приходит на ум, - это выполнитьперевод от руки и жесткий код всех возможных сокращений.Затем используйте карту для поиска перевода.Но, конечно, это подвержено ошибкам, отнимает много времени и в целом не является элегантным решением.Я думаю, что возможное решение будет включать использование чего-то похожего на std::get_time() или любую другую зависящую от локали функцию времени из стандартной библиотеки или boost.

Ожидаемый результат для предоставленного значения времени 10 часов и 25 минут будет:
с использованием локали en_GB "+ 10h 25min"
с использованием локали ru_RU "+ 10ч 25мин"
с использованием локали ja_JP - я даже не знаю, должен провести исследование и выучить некоторые правила (это также зачем переводитьот руки это нежелательное решение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...