Taiwan, Province of China

Hi @wielang,

I ask because we also changed our approach to language/currency/country databases; in OJS/OMP 3.1.2 and prior, we maintained our own lists, periodically synchronized from the Debian iso-codes database. Starting with OJS/OPS/OMP 3.2, we’re using the php-isocodes library.

Fundamentally, both approaches rely on the ISO3166 standard, which acknowledges that the naming of Taiwan is disputed.

We’re hesitant to diverge from the ISO3166 standard – not specifically because of Taiwan’s situation, but because it’s a bit of a Pandora’s Box. Instead, we’ve been sticking to the standard, but pointing out where the changes would need to be made to change the list. Among bad options, this seems like the most manageable.

For OJS/OMP 3.1.2 and older, the lists are maintained in lib/pkp/locale/en_US/countries.xml (with en_US for the U.S. English locale, in this case).

For OJS/OPS/OMP 3.2 and newer, the lists are maintained in lib/pkp/lib/vendor/sokil/php-isocodes/databases/iso_3166-1.json for English and sokil/php-isocodes/messages/xx/LC_MESSAGES/3166-1.mo / .po (where xx is the language code) for other languages. The .mo and .po files are Gettext files. There’s information on updating/rebuilding the database here: GitHub - sokil/php-isocodes: PHP library providing ISO codes with localization: country (ISO 3166-1), subdivision (ISO 3166-2), language (ISO 639-3), currency (ISO 4217) and scripts (ISO 15924)

Thanks,
Alec Smecher
Public Knowledge Project Team

1 Like