VuFind API Documentation

ExtendedIni
in package
implements FileLoaderInterface

Handles the language loading and language file parsing

Tags
category

VuFind

author

Demian Katz demian.katz@villanova.edu

license

http://opensource.org/licenses/gpl-2.0.php GNU General Public License

link

Main Site

Interfaces, Classes, Traits and Enums

FileLoaderInterface

Table of Contents

$aliasDomains  : array<string|int, mixed>
Loaded TextDomains used for resolving aliases.
$aliases  : array<string|int, mixed>
Map of translation aliases.
$fallbackLocales  : array<string|int, string>
Fallback locales to use for language strings missing from selected file.
$loadedAliasFiles  : array<string|int, mixed>
List of loaded alias configuration files.
$loadedFiles  : array<string|int, mixed>
List of files loaded during the current run -- avoids infinite loops and duplicate loading.
$pathStack  : array<string|int, mixed>
List of directories to search for language files.
$reader  : ExtendedIniReader
Helper for reading .ini files from disk.
$useAliases  : bool
Is aliasing enabled?
__construct()  : mixed
Constructor
addToPathStack()  : void
Add additional directories to the path stack.
disableAliases()  : void
Disable aliasing functionality.
enableAliases()  : void
Enable aliasing functionality.
getLanguageFilename()  : string
Get the language file name for a language and domain
load()  : TextDomain
Load method defined by FileLoaderInterface.
applyAliases()  : void
Apply loaded aliases to the provided TextDomain.
checkAndMarkLoadedFile()  : bool
Check if a file has already been loaded; mark it loaded if it is not already.
loadLanguageFile()  : TextDomain
Search the path stack for language files and merge them together.
loadLanguageLocale()  : TextDomain
Load the language file for a given locale and domain.
loadParentData()  : TextDomain
Support method for loadLanguageFile: retrieve parent data.
markAndLoadAliases()  : void
Load an alias configuration (if not already loaded) and mark it loaded.
normalizeAlias()  : array<string|int, string>
Expand an alias string into an array (either [textdomain, key] or just [key]).
resetAliases()  : void
Reset all collected alias data.
resetLoadedFiles()  : void
Reset the loaded file list.
resolveAlias()  : string|null
Resolve a single alias (or return null if it cannot be resolved)

Properties

$aliasDomains

Loaded TextDomains used for resolving aliases.

protected array<string|int, mixed> $aliasDomains = []

$aliases

Map of translation aliases.

protected array<string|int, mixed> $aliases = []

$fallbackLocales

Fallback locales to use for language strings missing from selected file.

protected array<string|int, string> $fallbackLocales

$loadedAliasFiles

List of loaded alias configuration files.

protected array<string|int, mixed> $loadedAliasFiles = []

$loadedFiles

List of files loaded during the current run -- avoids infinite loops and duplicate loading.

protected array<string|int, mixed> $loadedFiles = []

$pathStack

List of directories to search for language files.

protected array<string|int, mixed> $pathStack

$useAliases

Is aliasing enabled?

protected bool $useAliases = true

Methods

__construct()

Constructor

public __construct([array<string|int, mixed> $pathStack = [] ][, string|array<string|int, string> $fallbackLocales = null ][, ExtendedIniReader $reader = null ]) : mixed
Parameters
$pathStack : array<string|int, mixed> = []

List of directories to search for language files.

$fallbackLocales : string|array<string|int, string> = null

Fallback locale(s) to use for language strings missing from selected file.

$reader : ExtendedIniReader = null

Helper for reading .ini files from disk.

Return values
mixed

addToPathStack()

Add additional directories to the path stack.

public addToPathStack(array<string|int, mixed>|string $pathStack) : void
Parameters
$pathStack : array<string|int, mixed>|string

Path stack addition(s).

Return values
void

disableAliases()

Disable aliasing functionality.

public disableAliases() : void
Return values
void

enableAliases()

Enable aliasing functionality.

public enableAliases() : void
Return values
void

getLanguageFilename()

Get the language file name for a language and domain

public getLanguageFilename(string $locale, string $domain) : string
Parameters
$locale : string

Locale name

$domain : string

Text domain (if any)

Return values
string

load()

Load method defined by FileLoaderInterface.

public load(string $locale, string $filename) : TextDomain
Parameters
$locale : string

Locale to read from language file

$filename : string

Relative base path for language file (used for loading text domains; optional)

Tags
throws
InvalidArgumentException
Return values
TextDomain

applyAliases()

Apply loaded aliases to the provided TextDomain.

protected applyAliases(TextDomain $data, string $currentLocale, string $currentDomain) : void
Parameters
$data : TextDomain

Text domain to update

$currentLocale : string

The locale currently being loaded

$currentDomain : string

The name of the text domain currently being loaded

Return values
void

checkAndMarkLoadedFile()

Check if a file has already been loaded; mark it loaded if it is not already.

protected checkAndMarkLoadedFile(string $filename) : bool
Parameters
$filename : string

Name of file to check and mark as loaded.

Return values
bool

True if loaded, false if new.

loadLanguageFile()

Search the path stack for language files and merge them together.

protected loadLanguageFile(string $filename, bool $failOnError, string|null $aliasDomain) : TextDomain
Parameters
$filename : string

Name of file to search path stack for.

$failOnError : bool

If true, throw an exception when file not found.

$aliasDomain : string|null

Name of TextDomain for which we should process aliases (or null to skip alias processing)

Tags
throws
RuntimeException
throws
InvalidArgumentException
Return values
TextDomain

loadLanguageLocale()

Load the language file for a given locale and domain.

protected loadLanguageLocale(string $locale, string $domain[, bool $processAliases = false ]) : TextDomain
Parameters
$locale : string

Locale name

$domain : string

Text domain (if any)

$processAliases : bool = false

Should we process alias data?

Return values
TextDomain

loadParentData()

Support method for loadLanguageFile: retrieve parent data.

protected loadParentData(TextDomain $data, string|null $aliasDomain) : TextDomain
Parameters
$data : TextDomain

TextDomain to populate with parent information.

$aliasDomain : string|null

Name of TextDomain for which we should process aliases (or null to skip alias processing)

Return values
TextDomain

markAndLoadAliases()

Load an alias configuration (if not already loaded) and mark it loaded.

protected markAndLoadAliases(string $aliasDomain, string $filename) : void
Parameters
$aliasDomain : string

Domain for which aliases are being loaded

$filename : string

Filename to load

Return values
void

normalizeAlias()

Expand an alias string into an array (either [textdomain, key] or just [key]).

protected normalizeAlias(string $alias) : array<string|int, string>
Parameters
$alias : string

String to parse

Return values
array<string|int, string>

resetAliases()

Reset all collected alias data.

protected resetAliases() : void
Return values
void

resetLoadedFiles()

Reset the loaded file list.

protected resetLoadedFiles() : void
Return values
void

resolveAlias()

Resolve a single alias (or return null if it cannot be resolved)

protected resolveAlias(array<string|int, mixed> $alias, string $defaultDomain, string $locale[, array<string|int, mixed> $breadcrumbs = [] ]) : string|null
Parameters
$alias : array<string|int, mixed>

The [domain, key] or [key] alias array

$defaultDomain : string

The domain to use if $alias does not specify one

$locale : string

The locale currently being loaded

$breadcrumbs : array<string|int, mixed> = []

Previously-resolved aliases (to prevent infinite loops)

Tags
throws
Exception
Return values
string|null

Search results