Jump to content

Module:I18n/doc

විකිපීඩියා වෙතින්

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 uselang parameter. Extra numbered parameters can be supplied for substitution into the datastore message.
Parameters:
frame Frame table from invocation. (table)
frame.args Metatable containing arguments. (table)
frame.args[1] ROOTPAGENAME of i18n submodule. (string)
frame.args[2] Key of i18n message. (string)
frame.args.lang Default language of message. (string; optional)
Error: 'missing arguments in i18n.getMsg' (line 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.loadI18n(name, i18n_arg) (function)
Given an i18n table instantiates the values (deprecated)
Parameters:
name name of module with i18n (string)
i18n_arg existing i18n (table)
i18n.loadI18nFrame(name, i18n_arg) (function)
Loads an i18n for a specific frame (deprecated)
Parameters:
name name of module with i18n (string)
i18n_arg existing i18n (table)
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 the msg 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:
opts Message configuration or key. (string|table)
opts.key Message key to return from the datastore. (string; optional)
opts.args Arguments to substitute into the message ($n). (table; optional)
opts.sources Source names to limit to (see Data:fromSources). (table; optional)
opts.lang Temporary language to use (see Data:inLang). (table; optional)
... Arguments to substitute into the message ($n). (string; optional)
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:
parameter Parameter's key in the datastore (string)
args Arguments to find the parameter in (table)
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 next Data:msg call.
Returns: Datastore instance. (Data)
Data:inContentLang() (function)
Temporary datastore language setter to wgContentLanguage. Only affects the next Data: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

"https://si.wikipedia.org/w/index.php?title=Module:I18n/doc&oldid=740030" වෙතින් සම්ප්‍රවේශනය කෙරිණි