Download the PHP package jrmajor/fluent without Composer
On this page you can find all versions of the php package jrmajor/fluent. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jrmajor/fluent
More information about jrmajor/fluent
Files in jrmajor/fluent
Package fluent
Short Description Fluent localization system for PHP
License MIT
Homepage https://github.com/jrmajor/fluent-php
Informations about the package fluent
jrmajor/fluent
A PHP implementation of the Project Fluent, a localization system designed by Mozilla to unleash the expressive power of the natural language.
Read the Fluent Syntax Guide or try it out in the Fluent Playground to learn more about the syntax.
You may install this package via Composer: composer require jrmajor/fluent
.
Use jrmajor/laravel-fluent to integrate Fluent translations into your Laravel application.
Usage
Parsing
$strict
constructor argument defaults to false
. In strict mode syntax errors result in a ParserException
. Otherwise, they are ignored and represented in AST by Junk
.
Message formatting
FluentBundle
is single-language store of translation resources. Its constructor accepts following arguments:
string $locale
: Locale to instantiate locale-specific formatters (e.g. en-US, pl, zh-Hant-TW, fr-CA).bool $strict = false
: See handling errors.bool $useIsolating = true
: Specifying whether to use Unicode isolation marks (FSI, PDI) for bidirectional interpolations.bool $allowOverrides = false
: Allow overriding existing messages and terms.
Adding resources
Translations can be added to bundle using addResource()
or addFtl()
methods. The first one accepts FluentResource
object returned by the parser, while the second one accepts a raw FTL string.
`
If $allowOverrides
is null
, bundle default will be used.
If bundle is in strict mode, $ftl
parsing will be also done in strict mode.
Formatting messages
message()
method accepts an id of a message as a first parameter and message arguments as named parameters. It returns null
for missing messages.
For attributes, you may use “dot” notation:
Message arguments may be passed as named arguments or as an associative array:
Handling errors
By default, all resolver exceptions are ignored and can be obtained using popErrors()
method. It returns an array of exceptions and clears exception cache, which means the next time you call it, it will return only new errors.
All resolver exceptions extend ResolverException
. In strict mode they would be thrown right away in message()
call.