Download the PHP package carica/localize without Composer
On this page you can find all versions of the php package carica/localize. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download carica/localize
More information about carica/localize
Files in carica/localize
Package localize
Short Description Extract and localize messages in PHP applications
License MIT
Informations about the package localize
Carica Localize
Allows to localize messages in a PHP application. It uses the ext/intl
MessageFormatter to
allow ICU message syntax.
The goal is to have a mostly automated way to maintain the localized texts continuously.
Requirements
- PHP >= 8.2
- ext/intl
- ext/dom
- ext/xsl (when using XSL features)
- nikic/php-parser
Define
The library provides functions/templates for different contexts (PHP and XSL at the moment). The arguments are the same.
message
- The message text itself. ICU message syntax is supported.meaning
- A category label for the message. (financial
orfurniture
forbank
)id
- The message identifier (Auto generated frommessage
andmeaning
if not provided.)description
- A description of the message for translators.values
- Placeholder values for the message.
It is mandatory to use string literals for all arguments except the values
.
!DO NOT USE VARIABLES!. The extractor will not work otherwise.
PHP
Use the static call Localize::message
to define your texts.
XSL
You need to register the stream wrapper and the callback function.
The file loader allows your template to import the localize template. The
callback function provides connection to the ext/intl
MessageFormatter.
The message template is {urn:carica:localize}message
. It uses a namespace to
avoid conflicts.
Extract + Merge
Define an extraction for your project as an PHP helper script.
Running the script will generate XLIFF files for the source and each target language in the output directory. If the files exists they will be updated and existing translation in the target language files will be merged.
Load Translations
Add some logic to your PHP/XSL to load the messages for the current language.
PHP
XSL
XLIFF files are XML, so they can be loaded using the document()
function.
{urn:carica:localize}messages-file
helps to compile the message file name.
Translate
For local translations you can use a tool like POEdit.
If you work in a team I suggest taking a look at Weblate. Weblate can connect to your GIT repository.
All versions of localize with dependencies
ext-dom Version *
ext-intl Version *
ext-libxml Version *
nikic/php-parser Version ^4.15