ISO 639-PHP中的可靠查找资源 Intl扩展使用RFC4646语言标记

ISO 639-PHP中的可靠查找资源 Intl扩展使用RFC4646语言标记,php,standards,iso,intl,Php,Standards,Iso,Intl,在PHP中,特别是在 区域设置使用RFC4646语言标记进行标识 RFC4646已弃用 我之所以提到这一点,是因为有人反对赞成 我本打算使用将ISO 639代码翻译成各自的语言名称(例如,英语翻译成英语)。虽然这不是必需的,但拥有可用的功能将是有益的 ISO 639经常变化 639种语言代码由各自的注册机构积极维护和修改。这也不是一个假设性的问题,请看下面的例子 现在不推荐使用的language标记的使用让我有点担心维护的活跃程度;2009年发布,这几乎不是一个前沿标准 问题: intl使用的

在PHP中,特别是在

区域设置使用RFC4646语言标记进行标识

RFC4646已弃用 我之所以提到这一点,是因为有人反对赞成

我本打算使用将ISO 639代码翻译成各自的语言名称(例如,英语翻译成英语)。虽然这不是必需的,但拥有可用的功能将是有益的

ISO 639经常变化 639种语言代码由各自的注册机构积极维护和修改。这也不是一个假设性的问题,请看下面的例子

现在不推荐使用的language标记的使用让我有点担心维护的活跃程度;2009年发布,这几乎不是一个前沿标准

问题:
  • intl使用的ISO-639语言代码是否定期更新
  • intl是否可以作为ISO 639的权威查找资源?
    • 如果没有,是否有权威的PHP ISO 639查找资源

    • 除其他外,intl扩展依赖ICU提供语言代码。ICU版本存储在常量
      PHP\u ICU\u version
      中。ICU本身依赖于Unicode通用语言环境数据存储库(CLDR),正如您在Locale类中引用的同一文档中所述:“CLDR在[Unicode标准附录]#35中使用的扩展(由ICU继承)是有效的,并在ICU正常使用的任何地方使用。”

      intl扩展依赖于ICU提供语言代码,除其他外。ICU版本存储在常量
      PHP\u ICU\u version
      中。ICU本身依赖于Unicode通用语言环境数据存储库(CLDR),正如您在Locale类中引用的同一文档中所述:“CLDR在[Unicode标准附录]#35中使用的扩展(由ICU继承)是有效的,并在ICU正常使用的任何地方使用。”

      intl扩展依赖于ICU提供语言代码,除其他外。ICU版本存储在常量
      PHP\u ICU\u version
      中。然而,我不熟悉ICU如何存储语言代码,除了它可能依赖于Unicode公共区域设置日期存储库(CLDR)。@PeterO。ICU积极维护公共变更日志,
      PHP\u ICU\u版本
      常量将为我提供适当的跟踪手段,以确保intl提供最新信息。所以,稍微夸张一下,我接受你的评论作为答案。标准的时代与使用的特定代码无关,更不用说它们被翻译成各种语言了(这是你的具体问题)。参考RFC 4646或5646不是最佳实践——更好的引文应该是“IETF BCP 47”。您会注意到,两个RFC都被指定为“BCP 47”。@StevenR.Loomis我指的是RFC,因为intl文档指的是RFC 4646(不是BCP 47)。不管怎样,标准明确;639-3和639-5代码的引入非常重要。简单地说,RFC4646中描述的标记不再是详尽的。所以我的问题有什么问题?@PeterTòmasScott我的意思是你提到的PHP Intl文档应该参考BCP 47,而不是RFC。比RFC时代更令人担忧的是:*是否纳入了ISO 639的更新?*本地化数据是何时更新的?*本地化数据是如何收集和审查的?如前所述,ICU/CLDR引入更新的ISO代码并定期更新本地化数据。因此,让我们从ICU版本开始回答您的问题。尽管如此,CLDR并没有全面翻译所有有效的ISO-639语言标识符。总结:你的问题很好,文档应该更清晰。intl扩展依赖于ICU提供语言代码等。ICU版本存储在常量
      PHP\u ICU\u version
      中。然而,我不熟悉ICU如何存储语言代码,除了它可能依赖于Unicode公共区域设置日期存储库(CLDR)。@PeterO。ICU积极维护公共变更日志,
      PHP\u ICU\u版本
      常量将为我提供适当的跟踪手段,以确保intl提供最新信息。所以,稍微夸张一下,我接受你的评论作为答案。标准的时代与使用的特定代码无关,更不用说它们被翻译成各种语言了(这是你的具体问题)。参考RFC 4646或5646不是最佳实践——更好的引文应该是“IETF BCP 47”。您会注意到,两个RFC都被指定为“BCP 47”。@StevenR.Loomis我指的是RFC,因为intl文档指的是RFC 4646(不是BCP 47)。不管怎样,标准明确;639-3和639-5代码的引入非常重要。简单地说,RFC4646中描述的标记不再是详尽的。所以我的问题有什么问题?@PeterTòmasScott我的意思是你提到的PHP Intl文档应该参考BCP 47,而不是RFC。比RFC时代更令人担忧的是:*是否纳入了ISO 639的更新?*本地化数据是何时更新的?*本地化数据是如何收集和审查的?如前所述,ICU/CLDR引入更新的ISO代码并定期更新本地化数据。因此,让我们从ICU版本开始回答您的问题。尽管如此,CLDR并没有全面翻译所有有效的ISO-639语言标识符。总结:你的Q很好,文档应该更清晰。