Internationalisation
Bundled Plugins API
strings
Provides strings from (potentially) multiple sources, with support for loading from multiple languages.
1
local strs = require("cp.strings").new():fromPlist("/Path/To/Resources/${language}.lproj/MYLocalization.strings")
2
local value = strs:find("en", "AKey")
Copied!
This will load the file for the specified language (replacing ${language} with "en" in the path) and return the value. Note: This will load the file on each request. To have values cached, use the cp.strings module and specify a plist as a source.

Submodules

API Overview

API Documentation

Constructors

new

Signature
cp.strings.new(context) -> cp.strings
Type
Constructor
Description
Creates a new strings instance. You should add sources with the from or fromPlist methods.
Parameters
  • context - The initial context.
Returns
  • The new cp.strings

Methods

context

| Signature | cp.strings:context([context]) -> table | self | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Method | | Description | Gets or sets a context to be set for the strings. This typically includes a language, which | | Parameters |
  • context - A table with values which may be used by the source.
| | Returns |
  • If a new context is provided, the cp.string.source is returned, otherwise the current context table is returned.
|

find

| Signature | cp.strings:find(key[, context[, quiet]) -> string | nil | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Method | | Description | Searches for the specified key, caching the result when found. | | Parameters |
  • key - The key to retrieve from the file.
  • context - Optional table with additional/alternate context.
  • quiet - Optional boolean, defaults to false. If true, no warnings are logged for missing keys.
| | Returns |
  • The value of the key, or nil if not found.
|
| Signature | cp.strings:findInSources(key[, context[, quiet]]) -> string | nil | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Method | | Description | Searches directly in the sources for the specified key. | | Parameters |
  • key - The key to retrieve from the file.
  • context - Optional table with additional/alternate context.
  • quiet - Optional boolean, defaults to false. If true, no warnings are logged for missing keys.
| | Returns |
  • The value of the key, or nil if not found.
|

findKeys

| Signature | cp.strings:findKeys(value[, context]) -> string | nil | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Method | | Description | Searches for the list of keys with a matching value, in the specified language. | | Parameters |
  • value - The value to search for.
  • context - The language code to look for (e.g. "en", or "fr").
| | Returns |
  • The array of keys, or {} if not found.
|
| Signature | cp.strings:findKeysInSources(value[, context]) -> string | nil | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Method | | Description | Searches directly in the sources for the specified key value pattern. | | Parameters |
  • value - The value to search for.
  • context - Optional additional context for the request.
| | Returns |
  • The array of keys, or {} if not found.
|

from

Signature
cp.strings:from(source) -> cp.strings
Type
Method
Description
Adds the source to the strings sources.
Parameters
  • source - The source to add.
Returns
  • The current cp.strings instance.

fromPlist

Signature
cp.strings:fromPlist(pathPattern) -> cp.strings
Type
Method
Description
Convenience method for adding a plist source to the strings instance.
Parameters
  • pathPattern - The path to load from. May contain a special ${language} marker which will be replace with the provided langauge when searching.
Returns
  • The current cp.strings instance.
Last modified 1mo ago