World countries in JSON, CSV, XML and YAML. Versions Save

World countries in JSON, CSV, XML and Yaml. Any help is welcome!

v1.7.5

8 years ago

Allow both 2.7 and 3.0 for Symfony

v1.7.4

8 years ago

Build

update Symfony to version 2.7

v1.7.3

9 years ago

Breaking changes

removed Bonaire and Saint Helena, Ascension and Tristan da Cunha from countries.json and moved them respectively in data/bes.divisions.json and data/shn.divisions.json (see #93)

Addition

added new property: International Olympic Committee country code (cioc) added Ascension and Tristan da Cunha to data/shn.divisions.json added Sint Eustatius and Saba to data/bes.divisions.json added Tamil to the list of Indian languages added missing ISO 3166-1 names to altSpellings added sardinian language to Italy added sardinian translation of the Italian name added finish translations added basque language name to Spain

Build

update composer dependencies

Fixes

made Kuwait border Iraq removed Iran from Kuwait borders

Thank you to all the contributors who helped for this release!

v1.7.2

9 years ago

remove src from the ignore list in bower.json fix bugs entry in package.json release v1.7.2

v1.7.1

9 years ago

Breaking changes

removed relevance data, see #41

Addition

added bower.json to make this project available as a Bower package added note about editing languages in CONTRIBUTING.md

Build

renamed CountryData to Converter renamed Converter interface to ConverterInterface

Fixes

fixed data for South Soudan, Bonaire and Curazao fixed spelling in german translation for Egypt removed cca3 code from Kosovo

v1.7.0

9 years ago

Breaking changes

New format for country names.

The country names (property name.native) now contains every native languages. Thus the nativeLanguage property, which used to identify the language code used for the native country names, has been removed.

Before

{
    "name": {
        "common": "Peru",
        "official": "Republic of Peru",
        "native": {
            "common": "Per\u00fa",
            "official": "Rep\u00fablica del Per\u00fa"
        }
    },
    "...": "...",
    "nativeLanguage": "spa",
    "languages": {
        "aym": "Aymara",
        "que": "Quechua",
        "spa": "Spanish"
    }
}

After

{
    "name": {
        "common": "Peru",
        "official": "Republic of Peru",
        "native": {
            "aym": {
                "official": "Piruw Suyu",
                "common": "Piruw"
            },
            "que": {
                "official": "Piruw Ripuwlika",
                "common": "Piruw"
            },
            "spa": {
                "official": "Rep\u00fablica del Per\u00fa",
                "common": "Per\u00fa"
            }
        }
    },
    "...": "...",
    "languages": {
        "aym": "Aymara",
        "que": "Quechua",
        "spa": "Spanish"
    }
}
New format for translations

As proposed by @herrniemand, the format for translations has been updated to include official country names. Hereafter an example for Peru:

Before

{
      "translations": {
        "deu": "Peru",
        "fra": "P\u00e9rou",
        "hrv": "Peru",
        "ita": "Per\u00f9",
        "jpn": "\u30da\u30eb\u30fc",
        "nld": "Peru",
        "por": "Per\u00fa",
        "rus": "\u041f\u0435\u0440\u0443",
        "spa": "Per\u00fa"
    }
}

After

{
    "translations": {
        "deu": {"official": "Republik Peru", "common": "Peru"},
        "fra": {"official": "R\u00e9publique du P\u00e9rou", "common": "P\u00e9rou"},
        "hrv": {"official": "Republika Peru", "common": "Peru"},
        "ita": {"official": "Repubblica del Per\u00f9", "common": "Per\u00f9"},
        "jpn": {"official": "\u30da\u30eb\u30fc\u5171\u548c\u56fd", "common": "\u30da\u30eb\u30fc"},
        "nld": {"official": "Republiek Peru", "common": "Peru"},
        "por": {"official": "Rep\u00fablica do Peru", "common": "Per\u00fa"},
        "rus": {"official": "\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041f\u0435\u0440\u0443", "common": "\u041f\u0435\u0440\u0443"},
        "spa": {"official": "Rep\u00fablica de Per\u00fa", "common": "Per\u00fa"}
    }
}

Addition

add alternative name and spellings for East Timor

Build

A new build system has been introduced by @petert82. The single script is split up into individual files in src/ and the symfony Console component as a dependency, to make it nice and easy to extend the conversion options in future.

To build the dist files, the command is now php countries.php convert.

Updates

change Lithuania currency to EUR change zambian currency to ZMW

Fixes

fix Kosovo calling code fix demonym of Myanmar fix official Swahili name of Kenya

Again, a huge thank you goes to @herrniemand and @petert82 for their ideas and help on this.

v1.6.2

9 years ago

Addition

add landlocked data (as proposed by @romsson) add commands in CONTRIBUTING.md to generate dist files

Fixes

fix Saint-Martin and Saint-Pierre-and-Miquelon mixed up names fix flags ratio fixed Western Sahara names

v1.6.1

9 years ago

Addition

this project is now available on Packagist: https://packagist.org/packages/mledoze/countries add demonym for Antarctica add Countries of the World in showcase list add portuguese country name translations add missing area data added russian language to Azerbaijan

Build

add a yaml converter add processEmptyArrays method for JSON converters refactor loop for fields to keep change PHP_EOL to \n

Fixes

fix DR Congo common name fix afghanistan portuguese translation fix denonym for Mayotte and South Georgia fix names for Kosovo bump version fix Georgia's area remove Armenian language to Azerbaijan

v1.6

9 years ago

Breaking changes

New format for country names.

The name property is now an object containing the common and official names of the country both in english and in the official native language of the country (the language used for this is identified by the new nativeLanguage property; see below).

Before

{
      "name": "Switzerland",
      "nativeName": "Schweiz",
      "..."
}

After

{
    "name": {
        "common": "Switzerland",
        "official": "Swiss Confederation",
        "native": {
            "common": "Schweiz",
            "official": "Schweizerische Eidgenossenschaft"
        }
    },
    "..."
}
New format for country languages.

The language property is now an object where keys are ISO 639-3 codes (alpha 3) and values are the name of the language in english.

The nativeLanguage property contains the ISO 639-3 code of the language used for the native country names.

Before

{   
    "...",
    "language": ["Finnish", "Swedish"],
    "languageCodes": ["fi", "sv"]
    "..."
}

After

{
    "...",
    "nativeLanguage": "fin",
    "languages": {
        "fin": "Finnish",
        "swe": "Swedish"
    },
    "..."
}

The keys in the translations property are ISO 639-3 languages codes as well.

Credits to @herrniemand and @petert82 for the original idea and help on this.

Addition

add official names in english and in the country native language add TLD's for Tailand, Taiwan, Syria, Sri Lanka, South Korea, Singapore, Algeria, Jordan, Morocco, Palestine and Qatar

Build

update the convertArrays function to handle multi dimensionnal arrays

Fixes

fix data for Saint Kitts and Nevis fix demonym for Niger fix broken link in README update examples fix Thailand borders fix Senegal borders

v1.5.1

9 years ago

Fixes

fix data for Israel fix data for Sint Maarten fix data for Saint Martin fix Bolivia borders (PER instead of PRU)