Back to homepage
Lua library documentation of Locale; for making your Lua scripts translatable
Updated Thu, 03 May 2018 18:14:02 +0100 by Wuzzy

Lua library: Locale

This library allows you to translate strings and should be used whenever a script has text. It loads the appropriate locale file and check automatically.


Returns the localised string of text or, if it is not found, it returns text .

In order for your text to be taken by the string collection tools (so the string becomes available for translation), you have to follow a few simple syntax rules:

  • text must be entirely a literal string
  • The text must be enclosed in double quotes
  • You must use the exact character sequence “ loc(" ” to initiate the text, no spaces in between are permitted

Valid example: AddCaption(loc("Hello World")) -- Displays “Hello World” translated into your language

These are all incorrect usages of the loc function: local l l = loc( "Hello World") -- Contains space l = loc ("Hello World") -- Contains space l = loc('Hello World') -- Not double quotes local str = "Hello World" l = loc(str) -- Not a literal string, only use this if you use this together with `loc_noop` l = loc(str .. ", how are you?") -- Only partially a literal string

Note these examples do not violate Lua syntax, it is in your responsibility to follow the syntax rules listed above.


Just returns text . This function has the same syntax as loc . Like for loc , the text will be collected to be made available for translation.

You can use this function if you want a make a string available for translation but don't want the string to be translated right now. This can come in handy if you need to store strings in variables and want do something like loc(variable_name) later.