Jump to content

Recommended Posts

Posted (edited)

I needed to create a simple i18n library for an open-source project I've worked on last week.

So I made this simple and easy to use.

When translating, you have two options: the first one is to use a global file on the following format:

[language_code]
text_id=Translation
text_with_format=Number: %.2f
text_with_parameter=Hi %s

[another_language_code]
text_id=Tradução
...

The second option is to separate every translation into files named language_code.lng in a folder of your choice. Note that every file on this folder will have the following format:

[language_code]
text_id=Translation
text_with_format=Number: %.2f
text_with_parameter=Hi %s

The language code can be ISO 639-1 (2 chars, like "en", "pt", "es") or culture code (including the country, like "en-US", "pt-BR", "es-ES"). You can use both these formats on the same file/project without any problem.

Finally, use the _() function to get your translation text. It accepts the following syntax:

_($sText_id [, $sPar1 [, $sParn ] ] )

The parameters are optional, but the maximum number of parameters is 32. If you need more than 32 parameters (sure?), please consider splitting your string into multiple ones.

Note that everything is explained on the Example.au3 (see online) and Example.lng (see online) file.

Interesting note (source):

  Quote

I18n - Internationalization - Providing some kind of framework so that you can easily swap out strings, graphics, sounds and other resources and generally handling different conventions of communication.

L10n - Localization - The process of creating a bunch of strings, graphics, sounds etc. so that you can target a specific nationality, language or region.

G11n - Globalization - Doing both Internationalization and Localization steps

 

Download: AutoIt Files

Fork me on Github

Edited by Jefrey

My stuff

  Reveal hidden contents

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...