C++ 如何本地化具有“格式”的文本;[-][&x2B;]Xh Xmin“;

C++ 如何本地化具有“格式”的文本;[-][&x2B;]Xh Xmin“;,c++,c++11,time,localization,C++,C++11,Time,Localization,我以秒为单位接收时间,我需要提供格式为“[+][-]Xh Xmin”的复合文本,其中X是范围为01-59的数字。问题是系统有多个区域设置(我可以访问当前区域设置),这意味着必须根据当前系统语言调整“h”和“min”缩写 想到的第一个解决方案是手工翻译,并对所有可能的缩写进行硬编码。然后使用映射查找翻译。但当然,这是一个容易出错、耗时的解决方案,而且总体而言并不是一个优雅的解决方案。 我认为可能的解决方案包括使用类似于标准库或boost中的std::get_time()或任何其他依赖于语言环境的时

我以秒为单位接收时间,我需要提供格式为“[+][-]Xh Xmin”的复合文本,其中X是范围为01-59的数字。问题是系统有多个区域设置(我可以访问当前区域设置),这意味着必须根据当前系统语言调整“h”和“min”缩写

想到的第一个解决方案是手工翻译,并对所有可能的缩写进行硬编码。然后使用映射查找翻译。但当然,这是一个容易出错、耗时的解决方案,而且总体而言并不是一个优雅的解决方案。 我认为可能的解决方案包括使用类似于标准库或boost中的
std::get_time()
或任何其他依赖于语言环境的时间相关函数

提供的时间值10小时25分钟的预期结果为:
使用语言环境en_GB“+10小时25分钟”
使用区域设置ruчru“+10ч25чч 使用locale ja_JP-我甚至不知道,必须进行研究并学习一些规则(这也是为什么手工翻译是不可取的解决方案)