Package Data | |
---|---|
Maintainer Username: | clusteramaryllis |
Maintainer Contact: | clusteramaryllis77@gmail.com (Clusteramaryllis) |
Package Create Date: | 2015-01-28 |
Package Last Update: | 2016-03-01 |
Home Page: | https://packagist.org/packages/clusteramaryllis/gettext |
Language: | PHP |
License: | GPL-2.0 |
Last Refreshed: | 2024-11-11 15:24:42 |
Package Statistics | |
---|---|
Total Downloads: | 653 |
Monthly Downloads: | 1 |
Daily Downloads: | 1 |
Total Stars: | 4 |
Total Watchers: | 2 |
Total Forks: | 5 |
Total Open Issues: | 0 |
Laravel 5.2 Installation
Add the composer repository to your composer.json file:
"require": {
"clusteramaryllis/gettext": "1.3.x"
}
And run composer update
. Once finished, register via service provider in config/app.php
in the providers
array:
'providers' => [
// ...
Clusteramaryllis\Gettext\GettextServiceProvider::class,
]
You can also provide static syntax via facade in the aliases
array:
'aliases' => [
// ...
'Gettext' => Clusteramaryllis\Gettext\Facades\Gettext::class,
]
Publish the configuration file (optional) (will create on config/gettext.php
) :
php artisan vendor:publish
Available commands
gettext:create
=> Generate new .po file
gettext:update
=> Update existing .po file
Available options
Check with php artisan gettext:create --help
or php artisan gettext:update --help
Example
php artisan gettext:create --sources="app/Http/Controllers, resources/views" --destination="resources/locale" --locale="en_US"
This will generate .po files in resources/locale/en_US/LC_MESSAGES/messages.po
& will scan any string that utilize php-gettext function on app/Http/Controllers
& resources/views
Once done, you can easily translate your application using tools such as PoEdit.
Simple usage
view
with strings wrapped with Gettext
method or helper<!-- resources\views\welcome.blade.php -->
{!! __('Welcome to main page') !!}
config/gettext.php
on languages arraylanguages => [
// ...,
'sv' => [
'locale' => 'sv_SE',
'encoding' => 'utf-8',
'plural_forms' => "nplurals=2; plural=(n != 1);",
]
]
php artisan gettext:create
. This will generate .po file inresources\locale\sv_SE\LC_MESSAGES\messages.po
& ready to scan translated string in app\Http\Controllers
& resources\views
(Default option).
Open the .po file with PoEdit or any similar editors. In PoEdit you need to click update to populate the table with the scanned strings. After that, you can start begin translating.
Simple routes test
Route::get('/', function() {
Gettext::bindTextDomain('messages', base_path('resources/locale'));
Gettext::textDomain('messages');
Gettext::setLocale(LC_ALL, 'sv_SE.utf-8');
return view('welcome');
});
Available methods
Methods | Helper shortcut ------- | --------------- Gettext::setLocale | _setlocale Gettext::bindTextDomain | _bindtextdomain Gettext::bindTextDomainCodeset | _bind_text_domain_codeset Gettext::textDomain | _textdomain Gettext::getText | __ Gettext::nGetText | _n Gettext::dGetText | _d Gettext::dNGetText | _dn Gettext::dCGetText | _dc Gettext::dCNGetText | _dcn Gettext::pGetText | _p Gettext::dPGetText | _dp Gettext::dCPGetText | _dcp Gettext::nPGetText | _np Gettext::dNPGetText | _dnp Gettext::dCNPGetText | _dcnp
More detailed method & their parameters can be seen here.
This package is inspired by laravel-gettext by Nicolás Daniel Palumbo for .po files creation & utilize php-gettext package by Danilo Segan.