加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 07:34:20 所属栏目:百科 来源:网络整理
导读:我想以与语言环境相关的方式显示长度,即:显示当前语言环境的正确度量单位的长度.我知道LC_MEASUREMENT是我需要使用的,但我该如何使用它? GNU gettext没有给我任何与LC_MEASUREMENT一起使用的东西.我查看了一些天气小程序的来源,它们都要求您在首选项窗口中
我想以与语言环境相关的方式显示长度,即:显示当前语言环境的正确度量单位的长度.我知道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)的(缓慢)过程中.这可能是为什么没有人打扰写一些库,代码片段或数据库的另一个原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读