Banyak situs dikunjungi oleh pengguna dari seluruh dunia yang lebih memilih bahasa yang berbeda. Bagi para pengguna tersebut, lebih baik menampilkan teks dalam bahasa pilihan mereka sendiri
Kelas ini memberikan solusi yang dapat menghasilkan teks untuk situs dalam berbagai bahasa. Ini menghasilkan JavaScript yang dapat secara dinamis mengubah teks dari bagian halaman tertentu dalam bahasa yang disukai pengguna
Paket Ez PHP Website Translator Script adalah salah satu dari sedikit paket PHP yang baru-baru ini dianggap terkenal karena melakukan sesuatu yang patut diperhatikan
Tujuan dasarnya adalah. Hasilkan JavaScript untuk aplikasi yang diterjemahkan
Berikut ini lebih detail apa fungsinya
Kelas ini dapat menghasilkan JavaScript untuk aplikasi yang diterjemahkan
Itu dapat melintasi direktori mencari file teks dengan semua string teks yang perlu digunakan situs Web
Kelas dapat menghasilkan file JavaScript dengan kode yang dapat dimuat oleh halaman Web, untuk mengganti teks dalam tag HTML untuk menampilkan terjemahan teks halaman ke bahasa saat ini
Terjemahkan halaman web Anda dengan mudah, tidak perlu lagi membuat salinan halaman web Anda dalam berbagai bahasa, hanya satu halaman yang dapat diterjemahkan dengan mudah ke semua bahasa menggunakan kode ini
Kesimpulan
Skrip Penerjemah Situs Web Ez PHP dapat diunduh dari halaman atau diinstal menggunakan alat Komposer PHP dengan mengikuti petunjuk di halaman
Paket ini dianggap terkenal karena mengimplementasikan manfaatnya dengan cara yang patut diperhatikan
Paket PHP yang terkenal sering dianggap inovatif. Jika paket ini juga inovatif, dapat dinominasikan untuk Penghargaan Inovasi PHP dan penulis dapat memenangkan hadiah dan pengakuan untuk berbagi paket inovatif
Jika Anda juga mengembangkan paket terkenal atau inovatif Anda sendiri, pertimbangkan untuk membagikannya, sehingga Anda juga dapat memperoleh lebih banyak visibilitas untuk paket Anda serta hadiah menarik
Fitur pelokalan Laravel menyediakan cara mudah untuk mengambil string dalam berbagai bahasa, memungkinkan Anda dengan mudah mendukung banyak bahasa dalam aplikasi Anda
Laravel menyediakan dua cara untuk mengelola string terjemahan. Pertama, string bahasa dapat disimpan dalam file di dalam direktori
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
7. Di dalam direktori ini, mungkin terdapat subdirektori untuk setiap bahasa yang didukung oleh aplikasi. Ini adalah pendekatan yang digunakan Laravel untuk mengelola string terjemahan untuk fitur bawaan Laravel seperti pesan kesalahan validasiAtau, string terjemahan dapat ditentukan dalam file JSON yang ditempatkan dalam direktori
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
7. Saat menggunakan pendekatan ini, setiap bahasa yang didukung oleh aplikasi Anda akan memiliki file JSON yang sesuai di dalam direktori ini. Pendekatan ini direkomendasikan untuk aplikasi yang memiliki banyak string yang dapat diterjemahkanKami akan membahas setiap pendekatan untuk mengelola string terjemahan dalam dokumentasi ini
Mengonfigurasi Lokal
Bahasa default untuk aplikasi Anda disimpan dalam opsi konfigurasi
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
9 file konfigurasiuse Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
0. Anda bebas mengubah nilai ini agar sesuai dengan kebutuhan aplikasi AndaAnda dapat mengubah bahasa default untuk permintaan HTTP tunggal saat runtime menggunakan metode
use Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
1 yang disediakan oleh fasaduse Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
2use Illuminate\Support\Facades\App;
Route::get('/greeting/{locale}', function ($locale) {
if (! in_array($locale, ['en', 'es', 'fr'])) {
_Anda dapat mengonfigurasi "bahasa cadangan", yang akan digunakan saat bahasa aktif tidak berisi string terjemahan tertentu. Seperti bahasa default, bahasa fallback juga dikonfigurasi dalam file konfigurasi
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
9Menentukan Lokal Saat Ini
Anda dapat menggunakan metode
use Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
_4 danuse Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
5 pada fasaduse Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
2 untuk menentukan lokal saat ini atau memeriksa apakah lokal adalah nilai yang diberikanuse Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
Pluralisasi Bahasa
Anda dapat menginstruksikan "pluralizer" Laravel, yang digunakan oleh Eloquent dan bagian lain dari kerangka kerja untuk mengubah string tunggal menjadi string jamak, untuk menggunakan bahasa selain bahasa Inggris. Ini dapat dilakukan dengan memanggil metode
use Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
7 dalam metodeuse Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
8 dari salah satu penyedia layanan aplikasi Anda. Bahasa pluralizer yang saat ini didukung adalah.use Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
9,'welcome' => 'Welcome to our application!',
0,'welcome' => 'Welcome to our application!',
1,'welcome' => 'Welcome to our application!',
2, dan'welcome' => 'Welcome to our application!',
3use Illuminate\Support\Pluralizer;
* Bootstrap any application services.
Pluralizer::useLanguage('spanish');
Peringatan
Jika Anda menyesuaikan bahasa pluralizer, Anda harus secara eksplisit menentukan model Eloquent Anda
Mendefinisikan String Terjemahan
Menggunakan Tombol Pendek
Biasanya, string terjemahan disimpan dalam file di dalam direktori
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
Semua file bahasa mengembalikan array string yang dikunci. Misalnya
'welcome' => 'Welcome to our application!',
Peringatan
Untuk bahasa yang berbeda berdasarkan wilayah, Anda harus memberi nama direktori bahasa sesuai dengan ISO 15897. Misalnya, "en_GB" harus digunakan untuk bahasa Inggris British daripada "en-gb"
Menggunakan String Terjemahan Sebagai Kunci
Untuk aplikasi dengan sejumlah besar string yang dapat diterjemahkan, mendefinisikan setiap string dengan "kunci pendek" dapat membingungkan saat mereferensikan kunci dalam tampilan Anda dan sulit untuk terus menciptakan kunci untuk setiap string terjemahan yang didukung oleh aplikasi Anda
Untuk alasan ini, Laravel juga menyediakan dukungan untuk mendefinisikan string terjemahan menggunakan terjemahan string "default" sebagai kuncinya. File terjemahan yang menggunakan string terjemahan sebagai kunci disimpan sebagai file JSON di direktori
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
7. Misalnya, jika aplikasi Anda memiliki terjemahan bahasa Spanyol, Anda harus membuat file'welcome' => 'Welcome to our application!',
6"I love programming.": "Me encanta programar."
Konflik Kunci / File
Anda tidak boleh menentukan kunci string terjemahan yang bertentangan dengan nama file terjemahan lainnya. Misalnya, menerjemahkan
'welcome' => 'Welcome to our application!',
_7 untuk lokal "NL" sementara file'welcome' => 'Welcome to our application!',
8 ada tetapi file'welcome' => 'Welcome to our application!',
9 tidak ada akan mengakibatkan penerjemah mengembalikan konten'welcome' => 'Welcome to our application!',
8Mengambil String Terjemahan
Anda dapat mengambil string terjemahan dari file bahasa Anda menggunakan fungsi bantuan ________24______1. Jika Anda menggunakan "kunci pendek" untuk menentukan string terjemahan, Anda harus meneruskan file yang berisi kunci dan kunci itu sendiri ke fungsi
"I love programming.": "Me encanta programar."
1 menggunakan sintaks "dot". Sebagai contoh, mari ambil string terjemahan"I love programming.": "Me encanta programar."
3 dari file bahasa"I love programming.": "Me encanta programar."
4echo __('messages.welcome');
Jika string terjemahan yang ditentukan tidak ada, fungsi
"I love programming.": "Me encanta programar."
1 akan mengembalikan kunci string terjemahan. Jadi, dengan menggunakan contoh di atas, fungsi"I love programming.": "Me encanta programar."
_1 akan mengembalikan"I love programming.": "Me encanta programar."
7 jika string terjemahan tidak adaJika Anda menggunakan , Anda harus meneruskan terjemahan default dari string Anda ke fungsi
"I love programming.": "Me encanta programar."
1;echo __('I love programming.');
Sekali lagi, jika string terjemahan tidak ada, fungsi
"I love programming.": "Me encanta programar."
1 akan mengembalikan kunci string terjemahan yang diberikanJika Anda menggunakan mesin template Blade, Anda dapat menggunakan sintaks gema
echo __('messages.welcome');
0 untuk menampilkan string terjemahan{{ __('messages.welcome') }}
Mengganti Parameter Dalam String Terjemahan
Jika mau, Anda dapat menentukan placeholder dalam string terjemahan Anda. Semua placeholder diawali dengan
echo __('messages.welcome');
1. Misalnya, Anda dapat menentukan pesan selamat datang dengan nama placeholder'welcome' => 'Welcome, :name',
Untuk mengganti placeholder saat mengambil string terjemahan, Anda dapat meneruskan array pengganti sebagai argumen kedua ke fungsi
"I love programming.": "Me encanta programar."
1echo __('messages.welcome', ['name' => 'dayle']);
Jika placeholder Anda berisi semua huruf kapital, atau hanya huruf pertamanya yang dikapitalisasi, nilai yang diterjemahkan akan dikapitalisasi sesuai dengan itu
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
0Pluralisasi
Pluralisasi adalah masalah yang kompleks, karena bahasa yang berbeda memiliki berbagai aturan yang kompleks untuk pluralisasi; . Menggunakan karakter
echo __('messages.welcome');
3, Anda dapat membedakan bentuk string tunggal dan jamakuse Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
_1Tentu saja, pluralisasi juga didukung saat menggunakan
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
_2Anda bahkan dapat membuat aturan pluralisasi yang lebih kompleks yang menentukan string terjemahan untuk beberapa rentang nilai
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
_3Setelah menentukan string terjemahan yang memiliki opsi pluralisasi, Anda dapat menggunakan fungsi
echo __('messages.welcome');
4 untuk mengambil baris untuk "hitungan" tertentu. Dalam contoh ini, karena jumlah lebih besar dari satu, bentuk jamak dari string terjemahan dikembalikanuse Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
_4Anda juga dapat menentukan atribut placeholder dalam string pluralisasi. Penampung ini dapat diganti dengan meneruskan array sebagai argumen ketiga ke fungsi
echo __('messages.welcome');
4use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
5Jika Anda ingin menampilkan nilai bilangan bulat yang diteruskan ke fungsi
echo __('messages.welcome');
4, Anda dapat menggunakan placeholderecho __('messages.welcome');
7 bawaanuse Illuminate\Support\Facades\App;
$locale = App::currentLocale();
if (App::isLocale('en')) {
_6Mengesampingkan File Bahasa Paket
Beberapa paket mungkin dikirimkan dengan file bahasa mereka sendiri. Alih-alih mengubah file inti paket untuk men-tweak baris-baris ini, Anda dapat menimpanya dengan menempatkan file di direktori
echo __('messages.welcome');
8Jadi, misalnya, jika Anda perlu mengganti string terjemahan bahasa Inggris di
echo __('messages.welcome');
9 untuk paket bernamaecho __('I love programming.');
0, Anda harus meletakkan file bahasa di.echo __('I love programming.');
1. Di dalam file ini, Anda sebaiknya hanya menentukan string terjemahan yang ingin Anda timpa. Setiap string terjemahan yang tidak Anda timpa akan tetap dimuat dari file bahasa asli paket