Localization (Multi-Language)
Make your app international
Get it from Asset Store - Localization (Multi-Language)
For detailed implementation instructions see the Documentation
Key Features:
- Make your app international by translating it into multiple languages fast and easy.
- Supports all languages supported by Unity. Complete list available here
- All settings are done inside a custom Settings Window.
- Automatically detects the device language and if no translation is available in that language the default language will be used.
- Saves and Loads the last language used.
- Auto Translation implemented inside Settings Window. Automatically translations can be done by a single click inside asset.
- Import/Export translations to .CSV files.
- Works with Unity UI, Text Mesh Pro and nGUI.
- Translations can be done automatically by adding a component to your text or by calling a single line of code.
- Full example scenes included
- All code is available and fully commented
- Works with Unity 2017.1 and above with Free, Plus or Pro license.
- Works on all supported Unity platforms.
Easy setup from a Settings Window:
Code example:
public class SetLanguageExample : MonoBehaviour
{
public Text languageText;
public Text nextText;
public Text prevText;
public Text playText;
public Text exitText;
public Text saveText;
void Start()
{
RefreshTexts();
}
/// <summary>
/// Set localized text for each text field
/// </summary>
void RefreshTexts()
{
languageText.text = GleyLocalization.Manager.GetCurrentLanguage().ToString();
nextText.text = GleyLocalization.Manager.GetText("NextID");//this has the same result as using the enum like bellow
//nextText.text = GleyLocalization.Manager.GetText(WordIDs.NextID);
prevText.text = GleyLocalization.Manager.GetText("PrevID");
//prevText.text = GleyLocalization.Manager.GetText(WordIDs.PrevID);
playText.text = GleyLocalization.Manager.GetText("PlayID");
//playText.text = GleyLocalization.Manager.GetText(WordIDs.PlayID);
exitText.text = GleyLocalization.Manager.GetText("ExitID");
//exitText.text = GleyLocalization.Manager.GetText(WordIDs.ExitID);
saveText.text = GleyLocalization.Manager.GetText("SaveID");
//saveText.text = GleyLocalization.Manager.GetText(WordIDs.SaveID);
}
/// <summary>
/// Assigned from editor. Changes current language to next language
/// </summary>
public void NextLanguage()
{
GleyLocalization.Manager.NextLanguage();
RefreshTexts();
}
/// <summary>
/// Assigned from editor. Changes current language to previous language
/// </summary>
public void PrevLanguage()
{
GleyLocalization.Manager.PreviousLanguage();
RefreshTexts();
}
/// <summary>
/// Save the current selected language
/// </summary>
public void SaveLanguage()
{
GleyLocalization.Manager.SetCurrentLanguage(GleyLocalization.Manager.GetCurrentLanguage());
}
}
For more help watch our tutorial videos:


