Module:I18n/doc
Appearance
| This is a documentation subpage for Module:I18n (see that page for the module itself). It contains usage information, categories and other content that is not part of the original module page. |
| This module depends on the following other modules: |
| Description | Library for message storage in Lua datastores. |
|---|---|
| Author(s) |
|
| Updated | November 9, 2026 (12 hours ago) |
| Dependencies | |
| Using code by | Cqm |
I18n library for message storage in Lua datastores. The module is designed to enable message separation from modules & templates. It has support for handling language fallbacks. This module is a Lua port of wikia:dev:I18n-js and i18n modules that can be loaded by it are editable through wikia:dev:I18nEdit.
On Wikimedia projects, i18n messages are editable through Data:i18n/ subpages on Wikimedia Commons.
Documentation
Package items
i18n.getMsg( frame )(function)- Localized message getter by key. Can be used to fetch messages in a specific language code through
uselangparameter. Extra numbered parameters can be supplied for substitution into the datastore message. - Parameters:
- Error: 'missing arguments in i18n.getMsg' (line 271)
- Returns: I18n message in localised language. (string)
i18n.loadMessages( ... )(function)- I18n message datastore loader.
- Parameter:
...ROOTPAGENAME/path for target i18n submodules. (string) - Error: 'no source supplied to i18n.loadMessages' (line 322)
- Returns: I18n datastore instance. (table)
- Usage:
require('Module:I18n').loadMessages('1', '2') i18n.getLang()(function)- Language code getter. Can validate a template's language code through
uselangparameter. - Returns: Language code. (string)
i18n.loadI18n( name, i18n_arg )(function)- Given an i18n table instantiates the values (deprecated)
- Parameters:
i18n.loadI18nFrame( name, i18n_arg )(function)- Loads an i18n for a specific frame (deprecated)
- Parameters:
i18n.main( frame )(function)- Wrapper for the module.
- Parameter:
frameFrame invocation object. (table) - Returns: Module output in template context. (string)
- Usage:
{{#invoke:i18n|main}} _i18n.isWikitext( msg )(function)- Checks whether a message contains unprocessed wikitext. Used to optimise message getter by not preprocessing pure text.
- Parameter:
msgMessage to check. (string) - Returns: Whether the message contains wikitext. (boolean)
Data
I18n datastore class. This is used to control language translation and access to individual messages. The datastore instance provides language and message getter-setter methods, which can be used to internationalize Lua modules. The language methods (any ending in Lang) are all chainable.
Data:msg( opts, ... )(function)- Datastore message getter utility. This method returns localized messages from the datastore corresponding to a
key. These messages may have$nparameters, which can be replaced by optional argument strings supplied by themsgcall. - This function supports named arguments. The named argument syntax is more versatile despite its verbosity; it can be used to select message language & source(s).
- Parameters:
- Error: 'missing arguments in Data:msg' (line 115)
- Returns: Localised datastore message or
'<key>'. (string) - Usage:
ds:msg{ key = 'message-name', lang = '', args = {...}, sources = {} }
ds:msg('message-name', ...)
Data:parameter( parameter, args )(function)- Datastore template parameter getter utility. This method, given a table of arguments, tries to find a parameter's localized name in the datastore and returns its value, or nil if not present.
- This method always uses the wiki's content language.
- Parameters:
- Error: 'missing arguments in Data:parameter' (line 176)
- Returns: Parameter's value or nil if not present (string|nil)
Data:fromSource( ... )(function)- Datastore temporary source setter to a specificed subset of datastores. By default, messages are fetched from the datastore in the same order of priority as
i18n.loadMessages. - Parameter:
...Source name(s) to use. (string) - Returns: Datastore instance. (Data)
Data:getLang()(function)- Datastore default language getter.
- Returns: Default language to serve datastore messages in. (string)
Data:useUserLang()(function)- Datastore language setter to
wgUserLanguage. - Returns: Datastore instance. (Data)
- Note: Scribunto only registers
wgUserLanguagewhen an invocation is at the top of the call stack. Data:useContentLang()(function)- Datastore language setter to
wgContentLanguage. - Returns: Datastore instance. (Data)
Data:useLang( code )(function)- Datastore language setter to specificed language.
- Parameter:
codeLanguage code to use. (string) - Returns: Datastore instance. (Data)
Data:inUserLang()(function)- Temporary datastore language setter to
wgUserLanguage. The datastore language reverts to the default language in the nextData:msgcall. - Returns: Datastore instance. (Data)
Data:inContentLang()(function)- Temporary datastore language setter to
wgContentLanguage. Only affects the nextData:msgcall. - Returns: Datastore instance. (Data)
Data:inLang( code )(function)- Temporary datastore language setter to a specificed language. Only affects the next
Data:msgcall. - Parameter:
codeLanguage code to use. (string) - Returns: Datastore instance. (Data)
See also
Documentation above is auto generated