Translator
class Translator extends NamespacedItemResolver implements Translator (View source)
Traits
Properties
protected array | $parsed | A cache of the parsed items. |
from NamespacedItemResolver |
static protected array | $macros | The registered string macros. |
from Macroable |
protected Loader | $loader | The loader implementation. |
|
protected string | $locale | The default locale being used by the translator. |
|
protected string | $fallback | The fallback locale used by the translator. |
|
protected array | $loaded | The array of loaded translation groups. |
|
protected MessageSelector | $selector | The message selector. |
Methods
Parse a key into namespace, group, and item.
Parse an array of basic segments.
Parse an array of namespaced segments.
Set the parsed value of a key.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Determine if a translation exists for a given locale.
Determine if a translation exists.
Get the translation for the given key.
Get the proper locale for a choice operation.
Retrieve a language line out the loaded array.
Make the place-holder replacements on a line.
Sort the replacements array.
Add translation lines to the given locale.
Load the specified language group.
Determine if the given group has been loaded.
Add a new namespace to the loader.
Add a new JSON path to the loader.
Get the array of locales to be checked.
Get the message selector instance.
Get the default locale being used.
Get the default locale being used.
Set the default locale.
Get the fallback locale being used.
Set the fallback locale being used.
Set the loaded translation groups.
Details
array
parseKey(string $key)
Parse a key into namespace, group, and item.
protected array
parseBasicSegments(array $segments)
Parse an array of basic segments.
protected array
parseNamespacedSegments(string $key)
Parse an array of namespaced segments.
void
setParsedKey(string $key, array $parsed)
Set the parsed value of a key.
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks if macro is registered.
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
void
__construct(Loader $loader, string $locale)
Create a new translator instance.
bool
hasForLocale(string $key, string|null $locale = null)
Determine if a translation exists for a given locale.
bool
has(string $key, string|null $locale = null, bool $fallback = true)
Determine if a translation exists.
mixed
get(string $key, array $replace = [], string|null $locale = null, bool $fallback = true)
Get the translation for the given key.
string
choice(string $key, Countable|int|array $number, array $replace = [], string|null $locale = null)
Get a translation according to an integer value.
protected string
localeForChoice(string|null $locale)
Get the proper locale for a choice operation.
protected string|array|null
getLine(string $namespace, string $group, string $locale, string $item, array $replace)
Retrieve a language line out the loaded array.
protected string
makeReplacements(string $line, array $replace)
Make the place-holder replacements on a line.
protected array
sortReplacements(array $replace)
Sort the replacements array.
void
addLines(array $lines, string $locale, string $namespace = '*')
Add translation lines to the given locale.
void
load(string $namespace, string $group, string $locale)
Load the specified language group.
protected bool
isLoaded(string $namespace, string $group, string $locale)
Determine if the given group has been loaded.
void
addNamespace(string $namespace, string $hint)
Add a new namespace to the loader.
void
addJsonPath(string $path)
Add a new JSON path to the loader.
protected array
localeArray(string|null $locale)
Get the array of locales to be checked.
MessageSelector
getSelector()
Get the message selector instance.
void
setSelector(MessageSelector $selector)
Set the message selector instance.
Loader
getLoader()
Get the language line loader implementation.
string
locale()
Get the default locale being used.
string
getLocale()
Get the default locale being used.
void
setLocale(string $locale)
Set the default locale.
string
getFallback()
Get the fallback locale being used.
void
setFallback(string $fallback)
Set the fallback locale being used.
void
setLoaded(array $loaded)
Set the loaded translation groups.