Home

Awesome

PolyglotUnity

[<img src="http://i2.photobucket.com/albums/y39/karmis/Polyglot/parrot_medium_zpsomejqg3q.png" />]

A Unity3d plugin for Polyglot Localization, which is a project that translates games to many languages. This plugin makes it possible to automatically download the polyglot master spreadsheet and a custom game specific spreadsheet and parses it in a unity project.

https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/

Unity Version

Works with Unity 4.x, 5.x, 2017.x and 2018.x

Tested with several Unity Versions

Feedback

We would 😍 to hear your opinion about this library. Please file an issue if there's something you would like to see improved.

If you use this library and are happy with it consider sending out a tweet mentioning @agens. This library is made with love by Skjalg S. Mæhre.

<img src="http://static.agens.no/images/agens_logo_w_slogan_avenir_medium.png" width="340" />(http://agens.no/)

First, you need to Configurate the Localization.

You do this by selecting the Configurate menu item from within Unity. This will create the Localization asset for you if it is not set up yet and then select it.

alt tag

Then you can specify the localization settings for the project.

alt tag

Finally you can add Localized Text components to your Text objects

alt tag

Theres also a Language Dropdown script that automatically populates a Dropdown with the available languages

alt tag

Create your own custom spreadsheet

Duplicate the polyglot master sheet and remove all the keys from line 7. The importer parses everything line after the term "polyglot", "PolyMaster" or "BEGIN".

alt tag

Add Sheet and docs id to the Localization Configuration

alt tag

Current Features

Additional info for TextMeshPro integration

To use Polyglot with TextMeshPro from the Unity Package Manager (upm) you will need to add the dependency manually to the assembly definition files.

Versions tested:

Open PolyglotScripts.asmdef and PolyglotEditor.asmdef in a text editor and manually add the dependency to Unity.TextMeshPro.

Your files should look like this:

PolyglotScripts.asmdef

{
    "name": "Polyglot.Scripts",
    "references": ["Unity.TextMeshPro"],
    "optionalUnityReferences": [],
    "includePlatforms": [],
    "excludePlatforms": [],
    "allowUnsafeCode": false
}

PolyglotEditor.asmdef

{
    "name": "Polyglot.Editor",
    "references": [
        "Polyglot.Scripts",
        "Unity.TextMeshPro"
    ],
    "includePlatforms": [
        "Editor"
    ],
    "excludePlatforms": []
}

This makes the scripts find the dependency of TextMeshPro.