Blame README.md

rpm-build 393af8
# iso-codes
rpm-build 393af8
rpm-build 393af8
https://salsa.debian.org/iso-codes-team/iso-codes
rpm-build 393af8
rpm-build 393af8
This project provides lists of various ISO standards (e.g. country,
rpm-build 393af8
language, language scripts, and currency names) in one place, rather
rpm-build 393af8
than repeated in many programs throughout the system.
rpm-build 393af8
rpm-build 393af8
Currently there are lists of languages and countries embedded in
rpm-build 393af8
several different programs, which leads to dozens of lists of
rpm-build 393af8
200 languages, translated into more than 90 languages ... not
rpm-build 393af8
very efficient.
rpm-build 393af8
rpm-build 393af8
With this project, we create a single "gettext domain" for every
rpm-build 393af8
supported ISO standard which contains the translations of
rpm-build 393af8
that domain. It is easy for a programmer to re-use those
rpm-build 393af8
translations instead of maintaining their own translation
rpm-build 393af8
infrastructure. Moreover, the programmer does not need to follow
rpm-build 393af8
changes in the ISO standard and will not work with outdated
rpm-build 393af8
information.
rpm-build 393af8
rpm-build 393af8
To use this translation infrastructure, the programmer just needs
rpm-build 393af8
to call `dgettext()` in their program.
rpm-build 393af8
rpm-build 393af8
Example:
rpm-build 393af8
rpm-build 393af8
```
rpm-build 393af8
dgettext("iso_639-2", "French")
rpm-build 393af8
```
rpm-build 393af8
rpm-build 393af8
will return the translation for "French", depending on the
rpm-build 393af8
current locale.
rpm-build 393af8
rpm-build 393af8
Furthermore, this project provides the ISO standards as JSON files
rpm-build 393af8
to be used by other applications as well. All those JSON files
rpm-build 393af8
are stored in the directory "/usr/share/iso-codes/json".
rpm-build 393af8
rpm-build 393af8
# Status of translations
rpm-build 393af8
rpm-build 393af8
Below you can see the current translation status, with the two most
rpm-build 393af8
important gettext domains listed first (countries and languages).
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-3166-1/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-639-2/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
The other gettext domains are also useful, but probably
rpm-build 393af8
not as important as the first two.
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-4217/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-3166-2/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-3166-3/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-639-3/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-639-5/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
[![Translation status](https://hosted.weblate.org/widgets/iso-codes/-/iso-15924/287x66-white.png)](https://hosted.weblate.org/engage/iso-codes/?utm_source=widget)
rpm-build 393af8
rpm-build 393af8
# NEWS
rpm-build 393af8
rpm-build 393af8
* A new ISO standard has been included, ISO 3166-3. The gettext
rpm-build 393af8
  domain is called `iso_3166-3`. Basically, this is a split of the
rpm-build 393af8
  old domain `iso_3166` into `iso_3166-1` and `iso_3166-3`, because
rpm-build 393af8
  the old domain `iso_3166` contained both standards. However, the
rpm-build 393af8
  standard ISO 3166-3 was more or less inaccessible.
rpm-build 393af8
* The standard ISO 4217 (currency names) now includes only the
rpm-build 393af8
  currently used currencies. Entries of withdrawn currencies are
rpm-build 393af8
  no longer included.
rpm-build 393af8
* The standard ISO 639-5 now includes only the language families
rpm-build 393af8
  which are part of the official standard. The previously
rpm-build 393af8
  included languages were not part of the standard and have been
rpm-build 393af8
  removed. This reduced the number of language families from
rpm-build 393af8
  about 1900 to about 110.
rpm-build 393af8
* The XML files are **deprecated** and should not be used for new
rpm-build 393af8
  projects. However, they are kept in sync with the JSON data
rpm-build 393af8
  for now.
rpm-build 393af8
* The gettext domains have been renamed to better match the
rpm-build 393af8
  actual ISO number:
rpm-build 393af8
  - ISO 639-2: Renamed from `iso_639` to `iso_639-2`
rpm-build 393af8
  - ISO 639-3: Renamed from `iso_639_3` to `iso_639-3`
rpm-build 393af8
  - ISO 639-5: Renamed from `iso_639_5` to `iso_639-5`
rpm-build 393af8
  - ISO 3166-1: Renamed from `iso_3166` to `iso_3166-1`
rpm-build 393af8
  - ISO 3166-2: Renamed from `iso_3166_2` to `iso_3166-2`
rpm-build 393af8
rpm-build 393af8
  All previously used gettext domains are linked to the new
rpm-build 393af8
  domain names, so that this transition should be smooth for
rpm-build 393af8
  programs using those domain names.
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 639-2
rpm-build 393af8
rpm-build 393af8
This lists the 2-letter and 3-letter language codes and language
rpm-build 393af8
names. The official ISO 639-2 maintenance agency is the Library of
rpm-build 393af8
Congress. The gettext domain is "iso_639-2".
rpm-build 393af8
rpm-build 393af8
<http://www.loc.gov/standards/iso639-2/>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 639-3
rpm-build 393af8
rpm-build 393af8
This is a further development of ISO 639-2, see above. All codes
rpm-build 393af8
of ISO 639-2 are included in ISO 639-3. ISO 639-3 attempts to
rpm-build 393af8
provide as complete an enumeration of languages as possible,
rpm-build 393af8
including living, extinct, ancient, and constructed languages,
rpm-build 393af8
whether major or minor, written or unwritten. The gettext
rpm-build 393af8
domain is "iso_639-3". The official ISO 639-3 maintenance agency
rpm-build 393af8
is SIL International.
rpm-build 393af8
rpm-build 393af8
<http://www.sil.org/iso639-3/>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 639-5
rpm-build 393af8
rpm-build 393af8
This standard is highly incomplete list of alpha-3 codes
rpm-build 393af8
for language families and groups. The official ISO 639-5 maintenance
rpm-build 393af8
agency is the Library of Congress. The gettext domain is "iso_639-5".
rpm-build 393af8
rpm-build 393af8
<http://www.loc.gov/standards/iso639-5/>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 3166-1
rpm-build 393af8
rpm-build 393af8
This lists the 2-letter country code and "short" country name. The
rpm-build 393af8
official ISO 3166-1 maintenance agency is ISO. The gettext domain is
rpm-build 393af8
"iso_3166-1".
rpm-build 393af8
rpm-build 393af8
<http://www.iso.org/iso/country_codes>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 3166-2
rpm-build 393af8
rpm-build 393af8
The ISO 3166 standard includes a "Country Subdivision Code",
rpm-build 393af8
giving a code for the names of the principal administrative
rpm-build 393af8
subdivisions of the countries coded in ISO 3166. The official
rpm-build 393af8
ISO 3166-2 maintenance agency is ISO. The gettext domain is
rpm-build 393af8
"iso_3166-2".
rpm-build 393af8
rpm-build 393af8
<http://www.iso.org/iso/country_codes>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 3166-3
rpm-build 393af8
rpm-build 393af8
The ISO 3166-3 standard defines codes for country names which
rpm-build 393af8
have been removed from ISO 3166-1. The official ISO 3166-3
rpm-build 393af8
maintenance agency is ISO. The gettext domain is "iso_3166-3".
rpm-build 393af8
rpm-build 393af8
<http://www.iso.org/iso/country_codes>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 4217
rpm-build 393af8
rpm-build 393af8
This lists the currency codes and names. The official ISO 4217
rpm-build 393af8
maintenance agency is the Swiss Association for Standardization.
rpm-build 393af8
The gettext domain is "iso_4217".
rpm-build 393af8
rpm-build 393af8
<http://www.currency-iso.org/en/home.html>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
## ISO 15924
rpm-build 393af8
rpm-build 393af8
This lists the language scripts names. The official ISO 15924
rpm-build 393af8
maintenance agency is the Unicode Consortium. The gettext
rpm-build 393af8
domain is "iso_15924".
rpm-build 393af8
rpm-build 393af8
<http://unicode.org/iso15924/>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
# Tracking updates to the various ISO standards
rpm-build 393af8
rpm-build 393af8
Below is a list of websites we use to check for updates to the
rpm-build 393af8
standards.
rpm-build 393af8
rpm-build 393af8
ISO 639-2:
rpm-build 393af8
<http://www.loc.gov/standards/iso639-2/php/code_changes.php>
rpm-build 393af8
rpm-build 393af8
ISO 639-3:
rpm-build 393af8
<http://www-01.sil.org/iso639-3/changes.asp>
rpm-build 393af8
rpm-build 393af8
ISO 639-5:
rpm-build 393af8
<http://www.loc.gov/standards/iso639-5/changes.php>
rpm-build 393af8
rpm-build 393af8
ISO 3166-1, ISO 3166-2, and ISO 3166-3:
rpm-build 393af8
<http://www.iso.org/iso/country_codes>
rpm-build 393af8
rpm-build 393af8
ISO 4217:
rpm-build 393af8
<http://www.currency-iso.org/en/home/tables/table-a1.html>
rpm-build 393af8
rpm-build 393af8
ISO-15924:
rpm-build 393af8
<http://unicode.org/iso15924/codechanges.html>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
# Adding or updating translations
rpm-build 393af8
rpm-build 393af8
The iso-codes project uses the Weblate translation service
rpm-build 393af8
as the primary way of managing translations.
rpm-build 393af8
You can find more information about this on the website:
rpm-build 393af8
rpm-build 393af8
<https://hosted.weblate.org/projects/iso-codes/>
rpm-build 393af8
rpm-build 393af8
You can also send your translation as a bug report against the package
rpm-build 393af8
iso-codes to the Debian Bug Tracking System. You can either send an email
rpm-build 393af8
or use the tool reportbug. More details are on this website:
rpm-build 393af8
rpm-build 393af8
<https://bugs.debian.org/>
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
# Reporting a bug
rpm-build 393af8
rpm-build 393af8
If you find a bug in iso-codes, there are several ways to contact us.
rpm-build 393af8
rpm-build 393af8
* Salsa issues
rpm-build 393af8
rpm-build 393af8
  <https://salsa.debian.org/iso-codes-team/iso-codes/issues>
rpm-build 393af8
rpm-build 393af8
  This system can be accessed via webbrowser.
rpm-build 393af8
* Debian Bug Tracking System
rpm-build 393af8
rpm-build 393af8
  <https://bugs.debian.org/>
rpm-build 393af8
rpm-build 393af8
  This system can be accessed via e-mail.
rpm-build 393af8
rpm-build 393af8
rpm-build 393af8
# Developing using pkgconfig
rpm-build 393af8
rpm-build 393af8
A pkgconfig file has been included to aid developing with this
rpm-build 393af8
project. You can detect the prefix where the translations have
rpm-build 393af8
been placed using
rpm-build 393af8
rpm-build 393af8
```
rpm-build 393af8
$ pkg-config --variable=prefix iso-codes
rpm-build 393af8
/usr
rpm-build 393af8
```
rpm-build 393af8
rpm-build 393af8
You can detect which gettext domains have been installed using
rpm-build 393af8
rpm-build 393af8
```
rpm-build 393af8
$ pkg-config --variable=domains iso-codes
rpm-build 393af8
iso_639-2 iso_639-3 iso_639-5 iso_3166-1 iso_3166-2 iso_3166-3 iso_4217 iso_15924
rpm-build 393af8
```