我如何知道与给定区域相对应的测量单位?

我如何知道与给定区域相对应的测量单位?,第1张

概述我想以与语言环境相关的方式显示长度,即:显示当前语言环境的正确度量单位的长度.我知道LC_MEASUREMENT是我需要使用的,但我该如何使用它? GNU gettext没有给我任何与LC_MEASUREMENT一起使用的东西.我查看了一些天气小程序的来源,它们都要求您在首选项窗口中手动输入您的单位(Kelvin,Fahrenheit或Celsius). 在我看来,任何人都不会使用该环境变量,但我 我想以与语言环境相关的方式显示长度,即:显示当前语言环境的正确度量单位的长度.我知道LC_MEASUREMENT是我需要使用的,但我该如何使用它?

GNU gettext没有给我任何与LC_MEASUREMENT一起使用的东西.我查看了一些天气小程序的来源,它们都要求您在首选项窗口中手动输入您的单位(Kelvin,Fahrenheit或Celsius).

在我看来,任何人都不会使用该环境变量,但我真的很想用它来提供更好的用户体验.也许,是否存在将区域设置名称映射到相应测量单位的免费(如在自由中)数据库?

仅供参考:我的申请是用C语言写的.

解决方法 据我所知,C标准和GNU gettext没有提供任何方式来了解一个国家使用的测量单位,没有第三方图书馆可以完成这项工作,也没有现成的数据库(免费或专有) .

但是,根据CIA – The World Factbook:

At this time,only three countrIEs – Burma,liberia,and the US – have not adopted the International System of Units (SI,or metric system) as their official system of weights and measures.

因此,即使没有数据库或第三方库,编写自己的代码也相当容易.您只需要特殊情况三个LC_MEASUREMENT值(或者更好的是,三个模式,因为其中一些国家/地区只有一种语言):

> Burma(语言代码模式:* _MM)使用Burmese system;
> Liberia(语言代码模式:* _LR)使用Imperial system;
> United States(语言代码模式:* _US)使用类似于Imperial的customary system.
>所有其他国家/地区使用International System of Units.

更新:所有这些国家都处于转换为公制系统(SI)的(缓慢)过程中.这可能是为什么没有人打扰写一些库,代码片段或数据库的另一个原因.

总结

以上是内存溢出为你收集整理的我如何知道与给定区域相对应的测量单位?全部内容,希望文章能够帮你解决我如何知道与给定区域相对应的测量单位?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1230736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存