Cyrillic chars in Belgium's i18n and CLocale data files

Hello all,

I am a developer for an international web app which uses the Yii framework. Ive noticed that when my application is requested in the Belgian locale ("be"), the CLocale class makes use of a file which contains Cyrillic characters for abbreviations for currency, months, and all of the other settings provided by i18n.

My Belgian audience is quite confused as to why their month abbreviations are in Cyrillic characters.

The official languages for Belgium are Dutch, French, and German, all which use Latin characters, none of which use Cyrillic characters. I was assuming this was a technical oversight on Yii’s behalf at first, and that the original developers of Yii used an atypical country code standard for the filenaming convention for i18v/data files. This is not the case, and the correct CLocale::datapath is always chosen for Belgium, “be.php”.

I then assumed it was a bug, but havent found any information denoting it as such, or documenting the issue at all. I am currently running Yii 1.8, so I assumed this might be something fixed in Yii 1.10. I downloaded 1.10, and unfortunately, "../framework/i18n/data/be.php" is the same data, with Cyrillic alphabet characters for month representations, etc.

I have been searching online, on the Yii documentation, and through this forum, for related issues, but have come up with nothing so far. I cant imagine my app is the first to encounter this problem. Can anyone explain to me why Belgium’s data file contains non Belgian language characters (and more importantly, Cyrillic alphabet chars), and how to alleviate this issue?

Hmmm there’s technically no Belgian language. It’s generally either French or Dutch, while German is also an official language. And as a matter of fact, bg.php is… for Bulgarian :)

Anyway, the localization files you need to call are

  • fr_be.php

  • nl_be.php

  • en_be.php

  • de_be.php

PS Btw it’s i18n and not i18v

TYVM, bennouna, Ive corrected the typos in my original post. The file in question is certainly: "../framework/i18n/data/be.php"

And also thanks for shedding light on the other existing files for country codes. I have already overridden my app’s Application class, and can factor in a switch for “be” to use whichever file my content team deems most appropriate, for the getDateFormatter() call.

However, just to satisfy my curiosity, what country would "be.php" represent? Since none of the Belgian languages have alphabets with Cyrillic characters, why would this file contain them? I havent yet stumbled across a country-code standard that denotes "be" as anything except Belgium.

Would anyone know which country coding standard i18n uses?

Be: Belarusian

i18n is rather language than countries. It’s I guess the ISO 639-1 codes

Thanks a lot for all the insight. This does make sense to me now. I hope this thread helps anyone else simply using the string "be" to represent the Belgian locale whom also may have an issue with Date/Time formatting.