You can contribute to this project by simply adding or fixing data in
countries.json. Before sending your pull request you
can optionally rebuild the files in the dist
folder using the
countries.php script.
- contributions should contain top-level, static data
- restrain from sending too detailed, regional or changing countries data like financial or economic data (e.g. GDP, population, etc.)
- to ease the diffs, keep the indentation in the master source file (tabs not spaces), one line for short arrays
- accented characters must be encoded in unicode
- all strings must be encoded in UTF-8
If you are modifying countries languages, please note that you need to provide translation of the countries name on the language that you adding. Example:
Before
{
"name": {
"common": "Argentina",
"official": "Argentine Republic",
"native": {
"spa": {
"official": "Rep\u00fablica Argentina",
"common": "Argentina"
}
}
},
"...": "...",
"languages": {
"spa": "Spanish"
}
},
After
{
"name": {
"common": "Argentina",
"official": "Argentine Republic",
"native": {
"grn": { //And here...
"official": "Argentine Republic",
"common": "Argentina"
},
"spa": {
"official": "Rep\u00fablica Argentina",
"common": "Argentina"
}
}
},
"...": "...",
"languages": {
"grn": "Guaran\u00ed", //Added here ↑
"spa": "Spanish"
}
},
Countries data is made available in multiple formats (JSON, CSV, XML, etc.) that are generated by the countries.php script; you can either add a conversion format to it or write it in another language.
To (re)generate the dist
files, execute the following commands in the root directory:
composer install
php countries.php convert