Closed coldKingdom closed 9 years ago
might want to ask you first, what version did you use of this package?
Sorry, I use 1.1.0.
Whoops, sorry. It should be fixed on 1.1.1
well if you change locale in app.php
,
to change language you can use e.g.
set_locale(LC_ALL, \Config::get('app.locale'));
It's alright :)
Seems to be working now, except that I don't get the Swedish language to be loaded. I have translated all the strings and saved it, tried restarting Apache for caching issues. But no luck.
Any ideas? :)
I tried some sample
1) create view on: resources/views/test.blade.php
{!! _('We have e-mailed your password reset link!') !!}
2) run php artisan vendor:publish
to publish the config
3) add some locale in config/gettext.php
in languages array
'languages' => [
'en' => [
'locale' => 'en_US',
'encoding' => 'utf-8',
'plural_forms' => "nplurals=2; plural=(n != 1);",
],
'sv' => [
'locale' => 'sv_SE', // usually use IDLanguage_IDCountry format like suggested in phptal.org/manual/en/split/gettext.html
'encoding' => 'utf-8',
'plural_forms' => "nplurals=2; plural=(n != 1);",
],
],
4) run php artisan gettext:create --sources="resources\views"
. This will generate .po files in
resources\locale\en_US\LC_MESSAGES\messages.po
resources\locale\sv_SE\LC_MESSAGES\messages.po
& scan files on resources/views directory.
5) I usually edit .po files using PoEdit (clicking update, start translating, and save). It will generate .mo file in the same place.
6) simple test in my route
Route::get('lang/{id}', function($id) {
$lang = Config::get('gettext.languages.'.$id);
set_locale(LC_ALL, $lang['locale'].'.'.$lang['encoding']); // e.g. sv_SE.utf-8
bindtextdomain('messages', base_path('resources/locale')); // locate to correct path
textdomain('messages'); // set default domain
return view('test');
});
7) seems working
This test is on WINDOWS machine. Should be working on UNIX also since Unit Test passing on travis.
Thank you very much!
I really appreciate your help. For a newbie like me, it's not really obvious to set bindtextdomain and textdomain, didn't even realize set_locale existed before I looked in your tests. :)
It would be nice to add these explanations to the readme file.
Good work!
Hello!
I'm sorry for probably being stupid, but how do I change the language?
I have set the language to 'sv' in app.php, but it's still in English. Trying to do a set_locale results in undefined function.
Thank you in advance!