Difference between revisions of "LuaAPI/wesnoth"
(Split from LuaAPI) |
(→wesnoth.text_domain: Add example translatable string and also categorize this page) |
||
Line 34: | Line 34: | ||
<syntaxhighlight lang=lua> | <syntaxhighlight lang=lua> | ||
− | local _ = wesnoth.textdomain "wesnoth" | + | local _ = wesnoth.textdomain "example" |
+ | wesnoth.alert(_ "This is an example translated string!") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | [[Category: Lua Reference]] |
Revision as of 23:30, 3 June 2018
The wesnoth module contains most of the core Wesnoth API. It is always loaded and available.
Contents
wesnoth.dofile
- wesnoth.dofile(file_path [, ...]) → ...
Loads and executes a file. The rules for locating the files are the same as for WML files, except that they require a .lua extension instead of .cfg. Any extra parameters to dofile are forwarded to the script (which can access them via the special ... variable), and dofile returns all the values returned by the script.
wesnoth.require
- wesnoth.require(module) → module_contents
Returns the contents of the specified module, loading it if necessary. The module can either be a simple name or a file path similar to that used by wesnoth.dofile. In addition, the .lua extension will automatically be appended if necessary. The module script is invoked with no arguments, and wesnoth.require then passes back its first return value, discarding any additional ones. If the module is a directory, then all lua files are loaded, and a table containing the resulting modules is returned, with the keys being the filenames minus the .lua extension.
wesnoth.require returns nil on failure, for example if it could not locate the module. If it did locate the module, but the module did not return anything (or returned nil), then wesnoth.require returns an empty table with a metatable that raises an error on any attempt to access it.
wesnoth.read_file
- wesnoth.read_file(file_path) → file_contents
Loads a file into memory and returns it as a string. The rules for locating the files are the same as for WML files, but with no requirements on file extension. If the path points to a directory, it instead returns a table containing a list of directory entries, sorted alphabetically with directories grouped at the beginning. In this case, there is also an ndirs member which contains the number of entries that are directories, allowing you to easily skip the directories if you wish.
wesnoth.have_file
- wesnoth.have_file(file_path[, only_as_regular_file]) → boolean
Checks if a file exists. The rules for locating the files are the same as for WML files. Using the second parameter, you can distinguish regular files from directories.
wesnoth.text_domain
- wesnoth.textdomain(domain) → textdomain_constructor
Returns a callable userdata that can be used to construct translatable strings. A typical use is:
local _ = wesnoth.textdomain "example"
wesnoth.alert(_ "This is an example translated string!")