# cp.strings

Provides strings from (potentially) multiple sources, with support for loading from multiple languages.

local strs = require("cp.strings").new():fromPlist("/Path/To/Resources/${language}.lproj/MYLocalization.strings")
local value = strs:find("en", "AKey")

This will load the file for the specified language (replacing ${language} with "en" in the path) and return the value. Notes: 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

Constructors - API calls which return an object, typically one that offers API methods

  • new

Methods - API calls which can only be made on an object returned by a constructor

  • context
  • find
  • findAllKeys
  • findInSources
  • findKeys
  • findKeysInSources
  • from
  • fromPlist

# 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
Notes None
Examples None
Source src/extensions/cp/strings/init.lua line 198

# 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 provides the default language code, but may have other source-specific properties. Calling this method may may clear caches, etc.
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.
Notes
  • For example:
  • lua</li><li>string:context({language = "fr"}) -- set the default language to French.</li><li>
Examples None
Source src/extensions/cp/strings/init.lua line 34

# 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.
Notes None
Examples None
Source src/extensions/cp/strings/init.lua line 130

# findAllKeys

Signature cp.strings:findAllKeys([context]) -> table
Type Method
Description Searches for all keys in all sources, with the given context.
Parameters
  • context - The intial context to use.
Returns
  • The array of keys, or {} if not found.
Notes None
Examples None
Source src/extensions/cp/strings/init.lua line 185

# findInSources

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.
Notes None
Examples None
Source src/extensions/cp/strings/init.lua line 92

# 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.
Notes
  • Not recommended in production code, as it will potentially be very inefficient.
Examples None
Source src/extensions/cp/strings/init.lua line 167

# findKeysInSources

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.
Notes None
Examples None
Source src/extensions/cp/strings/init.lua line 111

# 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.
Notes None
Examples None
Source src/extensions/cp/strings/init.lua line 63

# 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.
Notes None
Examples None
Source src/extensions/cp/strings/init.lua line 79