PHP Language Code: Get the name of language from code and vice-versa

Recommend this page to a friend!
  Info   Documentation   View files (15)   Download .zip   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 145 All time: 8,905 This week: 273
Version License PHP version Categories
php-language-code 1.1.4MIT/X Consortium ...5.6Localization, PHP 5
Description Author

This class can get the name of language from code and vice-versa.

It can take the code of a language based on ISO 639-1 and returns the respective name in a given language.

The class can also retrieve the language code for a given language name.

The class supports 217 language codes based on ISO 639-1 that are loaded from a JSON file with names for each language.

Innovation Award
PHP Programming Innovation award nominee
October 2017
Number 7
ISO 639-1 is a standard specification for representing language names as a few letters.

The name of each language depends the actual language that you need to express the language name.

Manuel Lemos
Picture of Josantonius
  Performance   Level  
Name: Josantonius is available for providing paid consulting. Contact Josantonius .
Classes: 31 packages by
Country: Spain Spain
Age: ???
All time rank: 139629 in Spain Spain
Week rank: 261 12 in Spain Spain
Innovation award
Innovation award
Nominee: 11x


PHP LanguageCode library

Latest Stable Version Latest Unstable Version License Codacy Badge Total Downloads Travis PSR2 PSR4 CodeCov

Versión en español

List of 217 language codes: ISO 639-1.


This library is supported by PHP versions 5.6 or higher and is compatible with HHVM versions 3.0 or higher.


The preferred way to install this extension is through Composer.

To install PHP LanguageCode library, simply:

$ composer require Josantonius/LanguageCode

The previous command will only install the necessary files, if you prefer to download the entire source code you can use:

$ composer require Josantonius/LanguageCode --prefer-source

You can also clone the complete repository with Git:

$ git clone

Or install it manually:

Download LanguageCode.php and LanguageCodeCollection.php:

$ wget
$ wget

Available Methods

Available methods in this library:

- Get all language codes as array:


# Return (array) ? language codes and language names

- Get language name from language code:


| Attribute | Description | Type | Required | Default | --- | --- | --- | --- | --- | | $languageCode | Language code, e.g. 'es'. | string | Yes | |

# Return (tring|false) ? country name

- Get language code from language name:


| Attribute | Description | Type | Required | Default | --- | --- | --- | --- | --- | | $languageName | Language name, e.g. 'Spanish'. | string | Yes | |

# Return (tring|false) ? language code

Quick Start

To use this library with Composer:

require __DIR__ . '/vendor/autoload.php';

use Josantonius\LanguageCode\LanguageCode;

Or If you installed it manually, use it:

require_once __DIR__ . '/LanguageCode.php';
require_once __DIR__ . '/LanguageCodeCollection.php';

use Josantonius\LanguageCode\LanguageCode;


Example of use for this library:

List in JSON format

Go to the resource.


To run tests you just need composer and to execute the following:

$ git clone

$ cd PHP-LanguageCode

$ composer install

Run unit tests with PHPUnit:

$ composer phpunit

Run PSR2 code standard tests with PHPCS:

$ composer phpcs

Run PHP Mess Detector tests to detect inconsistencies in code style:

$ composer phpmd

Run all previous tests:

$ composer tests


  • [ ] Add new feature.
  • [ ] Improve tests.
  • [ ] Improve documentation.
  • [ ] Refactor code for disabled code style rules. See phpmd.xml and .php_cs.dist.


If you would like to help, please take a look at the list of issues or the To Do checklist.

Pull requests

  • Fork and clone.
  • Run the command `composer install` to install the dependencies. This will also install the dev dependencies.
  • Run the command `composer fix` to excute code standard fixers.
  • Run the tests.
  • Create a branch, commit, push and send me a pull request.


The file structure from this repository was created with PHP-Skeleton.


This project is licensed under MIT license. See the LICENSE file for more info.


2017 - 2018 Josantonius,

If you find it useful, let me know :wink:

You can contact me on Twitter or through my email.

File Role Description
src (2 files)
tests (1 file)
.editorconfig Data Auxiliary data
.php_cs.dist Example Example script
.travis.yml Data Auxiliary data Data Auxiliary data
composer.json Data Auxiliary data Data Auxiliary data
LICENSE Lic. License text
phpcs.xml Data Auxiliary data
phpmd.xml Data Auxiliary data
phpunit.xml Data Auxiliary data Doc. Documentation Doc. Documentation

  Files  /  src  
File Role Description
   LanguageCode.php Class Class source
   LanguageCodeCollection.php Class Class source

  Files  /  tests  
File Role Description
   LanguageCodeTest.php Class Class source

 Version Control Unique User Downloads Download Rankings  
This week:0
All time:8,905
This week:273

For more information send a message to info at phpclasses dot org.