LanguageUtil

A singleton utility class to query the language data.

Qualified name:

Wikimedia\LanguageData\LanguageUtil

class LanguageUtil
addLanguage(string $languageCode, array $options)

Adds a language in run time and sets its options as provided. If the target option is provided, the language is defined as a redirect. Other possible options are script (string), regions (array) and autonym (string).

Parameters:
  • $languageCode (string) – New language code.

  • $options (array) – Language properties.

getAutonym(string $languageCode)

Returns the autonym of the language

Parameters:
  • $languageCode (string) – Language code

Returns:

string|bool Autonym of the language or false if the language is unknown

getAutonyms() array

Returns all language codes and corresponding autonyms

Returns:

array – The key is the language code, and the values are corresponding autonym

getDir(string $languageCode)

Return the direction of the language

Parameters:
  • $languageCode (string) – Language code

Returns:

string|bool Returns ‘rtl’ or ‘ltr’. If the language code is unknown, returns false.

getGroupOfScript(string $script) string

Returns the script group of a script or “Other” if it doesn’t belong to any group

Parameters:
  • $script (string) – Name of the script

Returns:

string – Script group name or “Other” if the script doesn’t belong to any group

getLanguages()

Get all the languages. The properties in the returned object are ISO 639 language codes The value of each property is an array that has, [writing system code, [regions list], autonym]

Returns:

stdClass

getLanguagesByScriptGroup(array $languageCodes) array

Return the list of languages passed, grouped by their script group

Parameters:
  • $languageCodes (array) – List of language codes to group

Returns:

array – List of language codes grouped by script group

getLanguagesByScriptGroupInRegion(string $region)

Returns an associative array of languages in a region, grouped by their script

Parameters:
  • $region (string) – Region code

Returns:

LanguageUtil::getLanguagesByScriptGroupInRegions

getLanguagesByScriptGroupInRegions(array $regions) array

Returns an associative array of languages in several regions, grouped by script group

Parameters:
  • $regions (array) – List of strings representing region codes

Returns:

array – Returns an associative array. They key is the script group name, and the value is a list of language codes in that region.

getLanguagesInScript(string $script) array

Returns all languages written in the given script

Parameters:
  • $script (string) – Name of the script

Returns:

array –

getLanguagesInScripts(array $scripts) array

Returns all languages written in the given scripts

Parameters:
  • $scripts (array) – List of strings, each being the name of a script

Returns:

array –

getLanguagesInTerritory(string $territory)

Returns the languages spoken in a territory

Parameters:
  • $territory (string) – Territory code

Returns:

array|bool List of language codes in the territory, or else false if invalid territory is passed

getRegions(string $languageCode)

Returns the regions in which a language is spoken

Parameters:
  • $languageCode (string) – Language code

Returns:

array|bool List of regions or false if language is unknown

getScript(string $languageCode)

Returns the script of the language

Parameters:
  • $languageCode (string) – Language code

Returns:

string|bool Language script or false if the language is unknown

getScriptGroupOfLanguage(string $languageCode) string

Returns the script group of a language. Language belongs to a script, and the script belongs to a script group

Parameters:
  • $languageCode (string) – Language code

Returns:

string – script group name

isKnown(string $languageCode) bool

Checks if a language code is valid

Parameters:
  • $languageCode (string) – Language code

Returns:

bool –

isRedirect(string $languageCode)

Checks if the language is a redirect and returns the target language code

Parameters:
  • $languageCode (string) – Language code

Returns:

string|bool Target language code if it’s a redirect or false if it’s not

isRtl(string $languageCode) bool

Check if a language is right-to-left

Parameters:
  • $languageCode (string) – Language code

Returns:

bool – true if it is an RTL language, else false. Returns false if an unknown language code is passed.

sortByAutonym(array $languageCodes) array

Sort languages by their autonym

Parameters:
  • $languageCodes (array) – List of language codes to sort

Returns:

array – List of sorted language codes returned by their autonym

sortByScriptGroup(array $languageCodes) array

Return the list of languages sorted by their script groups

Parameters:
  • $languageCodes (array) – List of language codes to sort

Returns:

array – Sorted list of strings containing language codes

static get self

Returns an instance of the class that can be used to then call the other methods in the class.

Returns:

self –