leodido/langcode-conv

Convert language codes to any available format

Fund package maintenance!
leodido

v0.3.0 2021-07-14 14:50 UTC

This package is auto-updated.

Last update: 2024-04-14 20:39:38 UTC


README

Latest Stable Version Build Status Coverage

This library, based on conversio library, is aimed to convert every existing language code to any format you want. No matter which format the input language code is.

Details

The available output formats are:

  1. name

    The international (often english) name of the language

  2. native

    The language name written in native representation/s

  3. iso639-1

    The ISO 639-1 (two-letters code) language representation

  4. iso639-2/t

    The ISO 639-2/T (three-letters code for terminology applications) language representation

  5. iso639-2/b

    The ISO 639-2/B (three-letters code, for bibliographic applications) language representation

  6. iso639-3

    The ISO 639-3 (same as ISO 639-2/T except that for the macrolanguages) language representation

Currently 184 languages are fully supported.

Examples

First of all you need to create the conversion adapter and its options class.

use Conversio\Conversion;
use Conversio\Adapter\LanguageCode;
use Conversio\Adapter\Options\LanguageCode;
// ...
$adapter = new LanguageCode();
$options = new LanguageCodeOptions();

Then, you can pass it to the Conversion class constructor (from conversio library):

$converter = new Conversion($adapter);
$converter->setAdapterOptions($options);

Or, compactly:

$converter = new Conversion(['adapter' => $adapter, 'options' => $options]);

Finally we need to specify the desired output format (see above the supported formats) of the conversion and perform it.

$options->setOutput('native');
// ISO 639-1 => NATIVE
$converter->filter('it'); // italiano

Which ouputs, in this case italiano.

Have fun, try other language codes (e.g., vie, tam).

// ISO 639-2/T => NATIVE
$converter->filter('vie'); // tiếng việt
$converter->filter('tam'); // தமிழ்
// ISO 639-3 => NATIVE
$converter->filter('yid + 2'); // ייִדיש
// ISO 639-3 => NAME
$options->setOutput('name');
$converter->filter('vie'); // vietnamese
$converter->filter('tam'); // tamil
$converter->filter('yid + 2'); // yiddish

Installation

Add leodido/langcode-conv to your composer.json.

{
   "require": {
       "leodido/langcode-conv": "v0.3.0"
   }
}

References

Analytics