V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
adrianzhang
V2EX  ›  程序员

使用不同的语言类 API 所涉及的语种问题

  •  
  •   adrianzhang · 2015-10-15 23:39:58 +08:00 · 2402 次点击
    这是一个创建于 3328 天前的主题,其中的信息可能已经有所发展或是发生改变。
    发现不同的语言类 API 对于语种的 code 是不一样的,比如 en_US, en-US, en-us, eng-USA, 都是代表美国英语。那么有没有什么方法简单一点给他们都对应起来呢? Python 字典这种方法我知道怎么做,只不过想偷偷懒看看有没有已经造好的轮子。

    各位程序员们有没有人有经验的?
    3 条回复    2015-10-16 12:09:50 +08:00
    AlloVince
        1
    AlloVince  
       2015-10-16 00:35:42 +08:00   ❤️ 3
    解决你的问题可以直接用 http://babel.pocoo.org/

    但是如果你要了解问题后的背景可能需要弄清楚下面的关键词:

    ISO-639
    RFC-4646
    BCP-47
    CLDR
    a358003542
        2
    a358003542  
       2015-10-16 02:58:47 +08:00   ❤️ 2
    最基本的是两个字母的 ISO-639-1 en zh . ....
    然后三个字母常用的是 ISO-639-3 eng zho ...
    adrianzhang
        3
    adrianzhang  
    OP
       2015-10-16 12:09:50 +08:00
    @AlloVince 谢谢!虽然没看懂 babel 怎么把 eng-USA 转换为 en-US ,不过循着你给出的线索查了查,貌似目前没有 python 轮子能方便地达到目的, pycountry 最接近可是还是很不方便,看来需要自己造了。。

    @a358003542 谢谢,发现了 ISO-639 和 ISO-3166 是用来做这个事情的。可恨的是不同的奸商还有不同的标准,比如微软,例如还有某些奸商使用 cmn 而不是 zh 来表示大陆中文。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:01 · PVG 13:01 · LAX 21:01 · JFK 00:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.