# Internationalization The internationalization is based on files (`i18n/...ini`) which store a key - value set. The key is used in the code and returns the value. The used language is set in `config.php`. The config and the names of each internationalization file is based on [ISO 639-3](https://iso639-3.sil.org/code_tables/639/data). Since sometimes the two char variant is used and it is not always just the first two ones from the ISO 639-3 variant, the format of the constant in the `config.php` is an array. `iso3 => value, iso2 => value` Additional to the usual ini format, there is the possibility to use an existing key as a value. # Available languages + English `iso3 = eng` `iso2 = en` + German `iso3 = deu` `iso2 = de` ## How to create a new language file Lookup the correct [ISO 639-3](https://iso639-3.sil.org/code_tables/639/data) code and create a file with this code and the extenions `.ini`. Save it in the `i18n/` folder. As a base for the key - value sets, use the `eng.ini` file. Add the licencse header and add yourself and the contributors as the creator. Create a PR at [Github](https://github.com/bananas-repos/insipid/blob/master/CONTRIBUTING.md) and have it added to the official package. # Fallback If the configured lang file is not found the `eng.ini` file will be used. Is the key not found in file, the requested key will be returned. # Limitations Setup and some error messages will be in english.