PHP library to convert ISO-639-1 code to language name, based on Wikipedia's List of ISO 639-1 codes.
For PHP 8.1 or latest:
composer require matriphe/iso-639
For older PHP version:
composer require matriphe/iso-639:1.3
- PHP 8.0 or higher
- Optional:
ext-mbstring
extension for better multibyte character support
The library will work without the mbstring
extension, but for optimal handling of multibyte characters (like accented characters, Cyrillic, Arabic, etc.) in language names, it's recommended to install the mbstring
extension.
<?php
required 'src/ISO639.php';
//required 'vendor/autoload.php'; // If using composer
$iso = new Matriphe\ISO639\ISO639;
// Get language name from ISO-639-1 code
echo $iso->languageByCode1('en'); // English
echo $iso->languageByCode1('id'); // Indonesian
echo $iso->languageByCode1('jv'); // Javanese
// Get native language name from ISO-639-1 code
echo $iso->nativeByCode1('en'); // English
echo $iso->nativeByCode1('id'); // Bahasa Indonesia
echo $iso->nativeByCode1('jv'); // basa Jawa
// Get native language name from ISO-639-1 code with capitalized
echo $iso->nativeByCode1('en', true); // English
echo $iso->nativeByCode1('id', true); // Bahasa Indonesia
echo $iso->nativeByCode1('jv', true); // Basa Jawa
echo $iso->nativeByCode1('hi', true); // हिन्दी, हिंदी
echo $iso->nativeByCode1('th', true); // ไทย
echo $iso->nativeByCode1('ko', true); // 한국어
echo $iso->nativeByCode1('ja', true); // 日本語 (にほんご)
echo $iso->nativeByCode1('zh', true); // '中文 (Zhōngwén), 汉语, 漢語
echo $iso->nativeByCode1('ru', true); // Русский
echo $iso->nativeByCode1('ar', true); // االعربية
echo $iso->nativeByCode1('vi', true); // Việt Nam
// Get language name from ISO-639-2t code
echo $iso->languageByCode2t('eng'); // English
echo $iso->languageByCode2t('ind'); // Indonesian
echo $iso->languageByCode2t('jav'); // Javanese
// Get native language name from ISO-639-2t code
echo $iso->nativeByCode2t('eng'); // English
echo $iso->nativeByCode2t('ind'); // Bahasa Indonesia
echo $iso->nativeByCode2t('jav'); // basa Jawa
// Get native language name from ISO-639-2t code with capitalized
echo $iso->nativeByCode2t('eng', true); // English
echo $iso->nativeByCode2t('ind', true); // Bahasa Indonesia
echo $iso->nativeByCode2t('jav', true); // Basa Jawa
echo $iso->nativeByCode2t('hin', true); // हिन्दी, हिंदी
echo $iso->nativeByCode2t('tha', true); // ไทย
echo $iso->nativeByCode2t('kor', true); // 한국어
echo $iso->nativeByCode2t('jpn', true); // 日本語 (にほんご)
echo $iso->nativeByCode2t('zho', true); // '中文 (Zhōngwén), 汉语, 漢語
echo $iso->nativeByCode2t('rus', true); // Русский
echo $iso->nativeByCode2t('ara', true); // االعربية
echo $iso->nativeByCode2t('vie', true); // Việt Nam
// Get language name from ISO-639-2b code
echo $iso->languageByCode2b('eng'); // English
echo $iso->languageByCode2b('ind'); // Indonesian
echo $iso->languageByCode2b('jav'); // Javanese
// Get native language name from ISO-639-2b code
echo $iso->nativeByCode2b('eng'); // English
echo $iso->nativeByCode2b('ind'); // Bahasa Indonesia
echo $iso->nativeByCode2b('jav'); // basa Jawa
// Get native language name from ISO-639-2b code with capitalized
echo $iso->nativeByCode2b('eng', true); // English
echo $iso->nativeByCode2b('ind', true); // Bahasa Indonesia
echo $iso->nativeByCode2b('jav', true); // Basa Jawa
echo $iso->nativeByCode2b('hin', true); // हिन्दी, हिंदी
echo $iso->nativeByCode2b('tha', true); // ไทย
echo $iso->nativeByCode2b('kor', true); // 한국어
echo $iso->nativeByCode2b('jpn', true); // 日本語 (にほんご)
echo $iso->nativeByCode2b('chi', true); // '中文 (Zhōngwén), 汉语, 漢語
echo $iso->nativeByCode2b('rus', true); // Русский
echo $iso->nativeByCode2b('ara', true); // االعربية
echo $iso->nativeByCode2b('vie', true); // Việt Nam
// Get language name from ISO-639-3 code
echo $iso->languageByCode3('eng'); // English
echo $iso->languageByCode3('ind'); // Indonesian
echo $iso->languageByCode3('jav'); // Javanese
// Get native language name from ISO-639-3 code
echo $iso->nativeByCode3('eng'); // English
echo $iso->nativeByCode3('ind'); // Bahasa Indonesia
echo $iso->nativeByCode3('jav'); // basa Jawa
// Get native language name from ISO-639-3 code with capitalized
echo $iso->nativeByCode3('eng', true); // English
echo $iso->nativeByCode3('ind', true); // Bahasa Indonesia
echo $iso->nativeByCode3('jav', true); // Basa Jawa
echo $iso->nativeByCode3('hin', true); // हिन्दी, हिंदी
echo $iso->nativeByCode3('tha', true); // ไทย
echo $iso->nativeByCode3('kor', true); // 한국어
echo $iso->nativeByCode3('jpn', true); // 日本語 (にほんご)
echo $iso->nativeByCode3('zho', true); // '中文 (Zhōngwén), 汉语, 漢語
echo $iso->nativeByCode3('rus', true); // Русский
echo $iso->nativeByCode3('ara', true); // االعربية
echo $iso->nativeByCode3('vie', true); // Việt Nam
// Get language array from ISO-639-2b code
echo $iso->getLanguageByIsoCode2b('eng'); // ['en', 'eng', 'eng', 'eng', 'English', 'English']
echo $iso->getLanguageByIsoCode2b('ind'); // ['id', 'ind', 'ind', 'ind', 'Indonesian', 'Bahasa Indonesia']
echo $iso->getLanguageByIsoCode2b('jav'); // ['jv', 'jav', 'jav', 'jav', 'Javanese', 'basa Jawa']
Do as usual contribution on open source projects by creating a pull request!
composer install
composer run-script test
composer run-script lint:fix