Module:I18n/doc
Appearance
This module depends on the following other modules: |
Description | Library for message storage in Lua datastores. |
---|---|
Author(s) | |
Code source | I18n |
Status | Beta |
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.
Documentation
Package items
i18n.getMsg(frame)
(function)- Localized message getter by key. Can be used to fetch messages in a specific language code through
uselang
parameter. 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' (string; 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
uselang
parameter. - Returns: Language code. (string)
i18n.main(frame)
(function)- Wrapper for the module.
- Parameter:
frame
Frame invocation object. (table) - Returns: Module output in template context. (string)
- Usage: {{i18n}}
_i18n.isWikitext(msg)
(function)- Checks whether a message contains unprocessed wikitext. Used to optimise message getter by not preprocessing pure text.
- Parameter:
msg
Message 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$n
parameters, which can be replaced by optional argument strings supplied by themsg
call. - 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' (string; 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' (string; 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
wgUserLanguage
when 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:
code
Language 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:msg
call. - Returns: Datastore instance. (Data)
Data:inContentLang()
(function)- Temporary datastore language setter to
wgContentLanguage
. Only affects the nextData:msg
call. - Returns: Datastore instance. (Data)
Data:inLang(code)
(function)- Temporary datastore language setter to a specificed language. Only affects the next
Data:msg
call. - Parameter:
code
Language code to use. (string) - Returns: Datastore instance. (Data)
See also