0

The International Components for Unicode (ICU) is the underlying library that provides localisation features in various programming languages and environments; I approach this from PHP where the intl extension uses ICU for this purpose.

As I understand it, ICU uses Unicode Common Locale Data Repository (CLDR) for identifying ISO 639 language codes.

Language codes are subject to change

The ISO 639 language codes are actively maintained and have been subject to quite substantial changes over the years; see the change-log for ISO 639-3.

If I am aggressively looking to support internationalisation/localisation features, the implementation of ISO 639 and associated standards becomes important to the requirement specification and delivery of my application. Ensuring that my application can at least identify all valid language codes is important for the delivery of relevant content.

How can I Monitor the ISO 639 Implementation in ICU/CLDR?

The most important aspect to this is simply having a traceable source for updates to the ISO 639 data. So that, if a problem is encountered, I know where to look for upcoming releases and change-logs, where to reports bugs, etc.

When using ICU/CLDR how can I monitor and maintain the ISO 639 implementation?

ketan
  • 19,129
  • 42
  • 60
  • 98
  • Hi! Can you update this to give a more specific use case of what you are trying to do with the ISO-639 code? – Steven R. Loomis Mar 18 '16 at 20:24
  • 1
    @StevenR.Loomis At present the main intention is simply to validate requested languages (and locales); there will likely be a need to display the human readable language name as well (ISO 639 code to name translation). In the future we will need to deliver locale specific content, having an up-to-date implementation of ISO 639 is part of the preparatory works. –  Mar 19 '16 at 19:24
  • @StevenR.Loomis I'm on ICU version 56.1; which is the latest official release. The ICU library seems to only provide language names (as in full display names such as *English*) for `ISO 639-1` and `ISO 639-2` codes. `ISO 639-3` codes that do not have corresponding `-1` and `-2` codes simply return the code (e.g. *hio* returns *hio*). This is the same behaviour as for non existent codes (e.g. *zzz*). **So... does ICU only support parts *1* and *2* of *ISO 639*?** –  Mar 21 '16 at 23:47
  • 1
    is CLDR validity data http://www.unicode.org/reports/tr35/#Validity_Data and http://unicode.org/repos/cldr/tags/latest/common/validity/ helpful here? – Steven R. Loomis Aug 02 '16 at 22:50
  • 1
    I think validity data (above) works. – Steven R. Loomis Oct 01 '16 at 04:53
  • @StevenR.Loomis Thank you –  Oct 01 '16 at 22:20
  • you're welcome! I want to use your Q as the basis for some presentations. Ping me if you want more details. Also I'll get some more detailed answer. – Steven R. Loomis Oct 02 '16 at 05:12
  • see https://cdn.rawgit.com/srl295/srl295-slides/2016-11-02-iuc40-cldradv/index.html#11 for slide-form response to your question :) – Steven R. Loomis Nov 21 '16 at 19:21

0 Answers0