# DEFAULT LANGUAGE / LOCALE SETTING

This setting controls the default language for text displayed to users in the AyaNova user interface.

Users can choose to override this setting in their user account by choosing an another language.

It will also be used for some messages that originate at the server and are not associated with a particular user where applicable.

## Default

If no language is specified or AyaNova can't find the language specified in the database then AyaNova defaults to English locale "en".

## Built in language values

In addition to user defined or customized languages, AyaNova comes with 4 "stock" languages built in and accepts a range of values for selecting the stock language.
You can use the ISO two letter country code or the English name of the language or that languages own name for the language.

Valid settings:

| LANGUAGE | VALID SETTINGS |
| ----- | ------------------------------ |
| English | "en", "English"  |
| French | "fr", "French", "Français"  |
| German | "de", "German", "Deutsch"  |
| Spanish | "es", "Spanish", "Español"  |

## Custom language values

AyaNova allows for customized languages and this setting should be the exact name of a custom locale that exists within AyaNova if not using a built in language.

## Setting

AyaNova expects the language setting to be provided by an environment variable or command line parameter named

`AYANOVA_DEFAULT_LANGUAGE`

The value specified should be a string containing one of the stock valid settings in the table above or the name of a custom locale, for example:
`French`
or
`AcmeWidgetsCustomLocale`

Example command line parameter

`dotnet run --AYANOVA_DEFAULT_LANGUAGE="ES"`

Example environment variable

Windows

`set "AYANOVA_DEFAULT_LANGUAGE=DE"`

Linux / MAC

`export AYANOVA_DEFAULT_LANGUAGE="MyCustomLocale"`

If both a command line parameter and an environment variable are set the command line parameter takes precedence.
