Monday, May 25, 2015

Contoh penggunaan Facade Lang::

1. Dapatkan terjemahan :

echo Lang::get('message.hello');
 
contoh fail alih bahasa : app/lang/en/message.php 
 
<?php
return array(
    'hello' => 'Hi there',
    'hello2' => 'Hi there, :person',
);
?>
 
echo Lang::get('message.hello2', ['person' => 'Chuck']);
 
hasil :
 
Hi there, Chuck
 
 
- sentiasa set untuk bahasa tertentu dengan atribute ke 3:
 
echo Lang::get('message.hello', array(), 'en');
     
 
 2. Pastikan terjemahan bahawa wujud :

if (Lang::has('message.welcome'))
{
    echo "The welcome message translation exists for the current locale";
}
 
atau
 
if (Lang::has('message.welcome', 'es'))
{
    echo "The welcome message translation exists for Spanish";
}
  

3. Dapatkan terjemahan guna pilihan bilangan :

echo Lang::choice('message.items', 1);

dalam terjemahan mesti guna pipe :

'items' => "There's just one item|You've got multiple items",
 
- dengan place holder :
 
echo Lang::choice('message.items', 3, ['type' => 'widget']);
 
- dengan bahasa tertentu :
 
echo Lange::choice('message.items', 2, [], 'es');
 
- lebih dari 2 pilihan :
 
'items' => "{0} There's none|[1,3] Just a few|[4,Inf] A bunch",
 
 4. Dapatakan locale semasa yang sedang diguna :

 echo Lang::getLocale();

Nota :
Lang::getLocale() - paparkan terjemahan semasa
App::getLocale() - papakan terjemahan yang disetkan semasa load.
Lang::setLocale() - akan ubah terjemahan semasa.


5.     Set Default Locale

Lang::setLocale('es'); // switch to Spanish
 
Nota :
Lang::setLocale() hanya ubah locale semasa.
App::setLocale() ubah configuration dan panggil Lang::setLocale().
locale.changed event akan di panggil.

 

6.  Pecahan Language :
- guna untuk debug

print_r(Lang::parseKey('message.welcome'));
print_r(Lang::parseKey('message.two.part'));
print_r(Lang::parseKey('mypackage::message.two.part'));
 
hasil :
 
Array
(
    [0] => *
    [1] => message
    [2] => welcome
)
Array
(
    [0] => *
    [1] => message
    [2] => two.part
)
Array
(
    [0] => mypackage
    [1] => message
    [2] => two.part
) 

7. Tambah Namespace baru ke Message Loader

$namespace = 'custom';
$path = app_path().'/storage/custom-messages';
Lang::addNamespace($namespace, $path);
 
echo Lang::get('custom::error.test');
 
- ini membenarkan pengguanaan fail bahasa sendiri.
 
 8.     Dapatkan Translation Message Selector

$selector = Lang::getSelector();

$result = $selector->choose('message.key', 3, 'en');
echo $result;
 
 


9.     Set Translation Message Selector

$selector = new MyMessageSelector;
Lang::setSelector($selector);
 

10.   Tangkap perubahan pada Locale

Event::listen('locale.changed', function($locale)
{
    echo "Locale changed to ", $locale;
});
 
nota : akan di panggil oleh App::setLocale() / Lang::setLocale() 

No comments:

Post a Comment