Manajemen Translation dengan Langman di Laravel


Tidak peduli aplikasi yang dikembangkan menggunakan fitur bahasa tunggal atau multi-bahasa, saya selalu menggunakan translasi (nama resminya adalah localization) pada View Blade Laravel. Alasannya sederhana, memudahkan ketika ada perubahan teks. Karena, bisa jadi, suatu saat bukan programmer lagi yang menangani tampilan teks tersebut, tapi ahli bahasa yang kemampuan pemrogramannya masih sangat rendah. Itulah kenapa, hal yang berhubungan dengan bacaan “manusia”, harus dikelompokkan ke dalam berkas khusus.

Penggunaan Translasi (Localization)

Di awal pengembangan, kita memang direpotkan dengan penggunaan translasi ini. Bagaimana tidak, kita harus membuat berkas baru dalam direktori /resources/lang/{lang}, menambahkan indeks bahasa pada berkas tersebut, kemudian menggunakannya pada Blade. Padahal, dengan menulis raw text pada Blade cukup menghemat waktu banyak.

Menggunakan Translasi

<?php
// resources/lang/en/welcome.php
 
return [
    'heading' => 'Hello',
    'text' => 'Thank you for reading this article.'
];

Dalam view, kita bisa menggunakan fungsi fungsi trans() atau directive @lang .

{{-- resources/views/welcome.blade.php --}}
 
<h1>@lang('welcome.heading')</h1>
<p>@lang('welcome.text').</p>
<p>{{ trans('welcome.text') }}

Tanpa Menggunakan Translasi

{{-- resources/views/welcome.blade.php --}}
 
<h1>Hello</h1>
<p>Thank you for reading this article.</p>

 

Bandingkan, dari dua cara di atas. Ada berapa langkah perbedaanya? Apalagi kalau aplikasi yang dikembangkan mengandung banyak translasi, kita dibuat bolak-balik antar satu berkas ke berkas lainnya hanya untuk menambahkan teks. 😀

Librari Langman

Kini, manajemen translasi sedikit dimudahkan dengan adanya librari Langman. Ada banyak librari serupa tentunya, dengan segala kelebihan dan kekurangan yand dimilikinya.

Librari ini saya pilih karena cukup mudah digunakan pada saat pengembangan. Hanya saja, Langman hanya cocok bagi programmer atau user yang terbiasa dengan bash pada Linux atau OSX. Pasalnya, tidak ada UI khusus yang dapat diakses user awam melalui peramban.

Instalasi

Unduh Langman melalui Composer. Jalankan perintah berikut melalui terminal.

$ composer require themsaid/laravel-langman

Ketika unduhan selesai, buka berkas config/app.php dan tambahkan baris berikut pada indeks providers.

'providers' => [
    /**
     * Custom Providers
     */
    Themsaid\Langman\LangmanServiceProvider::class
],

Publish vendor dengan perintah berikut:

$ php artisan vendor:publish --provider="Themsaid\Langman\LangmanServiceProvider"

Dan Langman siap digunakan.

Jika Langman hanya ingin digunakan pada environment local atau dalam kondisi tertentu, bisa menggunakan loader berikut.

<?php
 
namespace App\Providers;
 
use Illuminate\Support\ServiceProvider;
 
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }
 
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
 
        if (app()->environment() == 'local'){
            $this->app->register(Themsaid\Langman\LangmanServiceProvider::class); 
        }
    }
}

Penggunaan

Jika sudah dimuat, Langman sudah dapat digunakan melalui terminal menggunakan Artisan. berikut beberapa contoh pembuatan, penambahan indeks teks, serta beberapa opsi lainnya.

// menampilkan berkas translasi
$ php artisan langman:show users

Opsi selengkapnya librari Langman dapat dilihat pada repositori pengembangnya, ialah Mohammed Said.

Jadi, lebih produktif mengurus translasi di Laravel menggunakan Langman? 😀

Tak Berkategori

Yugo Purwanto

Pemrogram PHP dan JavaScript yang sedang sibuk mengembangkan aplikasi Glosarium Bahasa Indonesia.

Tinggalkan Balasan