IniLikeGroup.escapedValue

Perform locale matching lookup as described in Localized values for keys.

  1. string escapedValue(string key)
  2. string escapedValue(string key, string locale, Flag!"nonLocaleFallback" nonLocaleFallback)
    class IniLikeGroup
    @safe final const nothrow pure
    string
    escapedValue
    (
    string key
    ,
    string locale
    ,
    Flag!"nonLocaleFallback" nonLocaleFallback = Yes.nonLocaleFallback
    )

Parameters

key string

Non-localized key.

locale string

Locale in intereset.

nonLocaleFallback Flag!"nonLocaleFallback"

Allow fallback to non-localized version.

Return Value

Type: string

The escaped localized value associated with key and locale, or the value associated with non-localized key if group does not contain localized value and nonLocaleFallback is true.

Examples

auto lilf = new IniLikeFile;
lilf.addGenericGroup("Entry");
auto group = lilf.group("Entry");
assert(group.groupName == "Entry");
group.setEscapedValue("Name", "Programmer");
group.setEscapedValue("Name[ru_RU]", "Разработчик");
group.setEscapedValue("Name[ru@jargon]", "Кодер");
group.setEscapedValue("Name[ru]", "Программист");
group.setEscapedValue("Name[de_DE@dialect]", "Programmierer"); //just example
group.setEscapedValue("Name[fr_FR]", "Programmeur");
group.setEscapedValue("GenericName", "Program");
group.setEscapedValue("GenericName[ru]", "Программа");
assert(group.escapedValue("Name") == "Programmer");
assert(group.escapedValue("Name", "ru@jargon") == "Кодер");
assert(group.escapedValue("Name", "ru_RU@jargon") == "Разработчик");
assert(group.escapedValue("Name", "ru") == "Программист");
assert(group.escapedValue("Name", "ru_RU.UTF-8") == "Разработчик");
assert(group.escapedValue("Name", "nonexistent locale") == "Programmer");
assert(group.escapedValue("Name", "de_DE@dialect") == "Programmierer");
assert(group.escapedValue("Name", "fr_FR.UTF-8") == "Programmeur");
assert(group.escapedValue("GenericName", "ru_RU") == "Программа");
assert(group.escapedValue("GenericName", "fr_FR") == "Program");
assert(group.escapedValue("GenericName", "fr_FR", No.nonLocaleFallback) is null);

See Also

Meta