Download the PHP package leaseweb/gettext-translation-bundle without Composer
On this page you can find all versions of the php package leaseweb/gettext-translation-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download leaseweb/gettext-translation-bundle
More information about leaseweb/gettext-translation-bundle
Files in leaseweb/gettext-translation-bundle
Package gettext-translation-bundle
Short Description Easy to use and native (faster) gettext translation support
License MIT
Homepage http://www.leaseweblabs.com
Informations about the package gettext-translation-bundle
LswGettextTranslationBundle
The LswGettextTranslationBundle adds gettext translation support to your Symfony4 application. It is aimed to be faster and more user-friendly than the built-in translation support of Symfony4.
Requirements
- PHP with gettext support
- Symfony 4+
Installation
Installation is broken down in the following steps:
- Download LswGettextTranslationBundle using composer
- Enable the Bundle
- Install the needed locales
- Set the language in your application
Step 1: Download LswGettextTranslationBundle using composer
Add LswGettextTranslationBundle in your composer.json:
Now tell composer to download the bundle by running the command:
Composer will install the bundle to your project's vendor/leaseweb
directory.
Step 2: Enable the bundle
Enable the bundle in the kernel:
Step 3: Install the needed locales
As described here you can list the locales that you have installed on your (Linux) system with the command 'locale -a'. If you want to support Dutch, English and German you should execute the following commands:
`
More language codes can be found here
Step 4: Set the language in your application
Use the standard $request->setLocale('en');
to set the locale in your application.
Edit the following file to define 2 letter shortcuts for the locales (this is recommended):
Usage
Usage is broken down in the following steps:
- Use gettext (convenience) functions in your code
- Extract the strings from a bundle that need to translated by gettext (.pot file)
- (First time only) Initialize the languages you want to support in the bundle (.po file)
- (Skip first time) Update the language (.po) files with the new gettext template (.pot) file
- Translate the language files using the excellent Poedit application
- Combine all translations into one file (.mo file)
Step 1: Use gettext (convenience) functions in your code
You can use the following functions:
_($text)
Shortcut for gettext_n($textSingular,$textPlural,$n)
Shortcut for ngettext__($format,$args,...)
Shortcut forsprintf(_($format),$args,...))
__n($formatSingular,$formatPlural,$n,$args,...)
Shortcut forsprintf(_n($formatSingular,$formatPlural,$n),$args,...))
Step 2: Extract the strings from a bundle
Use the ./app/console gettext:bundle:extract
command to search a bundle for translation
strings and to store them into a gettext template (.pot) file.
Step 3: (First time only) Initialize the languages you want to support
Use the ./app/console gettext:bundle:initialize
command to copy the gettext template (.pot)
file into the language specific (.po) files.
Step 4: (Skip first time) Update the gettext language (.po) files with the template
Use the Poedit application to load a gettext language (.po) file. Choose the "Update from template" option and point Poedit to the generated gettext template (.pot) file. Review and confirm the changes.
Step 5: Translate the language files using the excellent Poedit application
Use the Poedit application to load a gettext language (.po) file. Translate all missing strings (shown in blue) and check and correct all fuzzy translated strings (shown in yellow).
Step 6: Combine all translation
Use the ./app/console gettext:combine
command combine all gettext language (.po) files into one
compiled gettext (.mo) file.
All versions of gettext-translation-bundle with dependencies
symfony/framework-bundle Version ^2.1|^3.0
twig/twig Version ~1.12
symfony/process Version ^2.5|^3.0