Terjemahan bahasa dinamis di php

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 validasi

Atau, 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 diterjemahkan

Kami 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 konfigurasi

use Illuminate\Support\Pluralizer;

* Bootstrap any application services.

Pluralizer::useLanguage('spanish');

0. Anda bebas mengubah nilai ini agar sesuai dengan kebutuhan aplikasi Anda

Anda 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 fasad

use Illuminate\Support\Pluralizer;

* Bootstrap any application services.

Pluralizer::useLanguage('spanish');

2

use 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')) {

9

Menentukan Lokal Saat Ini

Anda dapat menggunakan metode

use Illuminate\Support\Pluralizer;

* Bootstrap any application services.

Pluralizer::useLanguage('spanish');

_4 dan

use Illuminate\Support\Pluralizer;

* Bootstrap any application services.

Pluralizer::useLanguage('spanish');

5 pada fasad

use Illuminate\Support\Pluralizer;

* Bootstrap any application services.

Pluralizer::useLanguage('spanish');

2 untuk menentukan lokal saat ini atau memeriksa apakah lokal adalah nilai yang diberikan

use 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 metode

use 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!',

3

use 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')) {

7. Di dalam direktori ini, harus ada subdirektori untuk setiap bahasa yang didukung oleh aplikasi Anda. Ini adalah pendekatan yang digunakan Laravel untuk mengelola string terjemahan untuk fitur bawaan Laravel seperti pesan kesalahan validasi

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!',

8

Mengambil 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."

4

echo __('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 ada

Jika 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 diberikan

Jika 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."

1

echo __('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')) {

0

Pluralisasi

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 jamak

use Illuminate\Support\Facades\App;

$locale = App::currentLocale();

if (App::isLocale('en')) {

_1

Tentu saja, pluralisasi juga didukung saat menggunakan

use Illuminate\Support\Facades\App;

$locale = App::currentLocale();

if (App::isLocale('en')) {

_2

Anda 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')) {

_3

Setelah 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 dikembalikan

use Illuminate\Support\Facades\App;

$locale = App::currentLocale();

if (App::isLocale('en')) {

_4

Anda juga dapat menentukan atribut placeholder dalam string pluralisasi. Penampung ini dapat diganti dengan meneruskan array sebagai argumen ketiga ke fungsi

echo __('messages.welcome');

4

use Illuminate\Support\Facades\App;

$locale = App::currentLocale();

if (App::isLocale('en')) {

5

Jika Anda ingin menampilkan nilai bilangan bulat yang diteruskan ke fungsi

echo __('messages.welcome');

4, Anda dapat menggunakan placeholder

echo __('messages.welcome');

7 bawaan

use Illuminate\Support\Facades\App;

$locale = App::currentLocale();

if (App::isLocale('en')) {

_6

Mengesampingkan 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');

8

Jadi, misalnya, jika Anda perlu mengganti string terjemahan bahasa Inggris di

echo __('messages.welcome');

9 untuk paket bernama

echo __('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

Bagaimana cara mengimplementasikan penerjemah bahasa di PHP?

Siapkan PHP untuk terjemahan .
Atur bahasa. Mulailah dengan mengatur bahasa yang ingin Anda tampilkan. .
Atur file terjemahan. Beri tahu PHP lokasi terjemahan Anda. .
Tetapkan domain teks. .
Tambahkan markup teks. .
Ekstrak string dengan xgettext. .
Buat file PO awal dengan msginit. .
Terjemahkan file PO. .
Konversi file PO ke MO menggunakan msgfmt

Apa saja tiga 3 jenis utama penerjemah?

Umumnya, ada tiga jenis penerjemah. .
kompiler
penerjemah
perakit

Bagaimana cara menerjemahkan bahasa secara otomatis?

Kontrol bahasa mana yang diterjemahkan Chrome secara otomatis. .
Di ponsel atau tablet Android Anda, buka aplikasi Chrome
Di sebelah kanan bilah alamat, ketuk Lainnya. .
Ketuk Bahasa. .
Ketuk Terjemahkan bahasa ini secara otomatis
Untuk menambahkan bahasa, ketuk Tambahkan bahasa dan pilih bahasa yang akan selalu diterjemahkan

Bagaimana cara membuat situs web multi bahasa di PHP?

Cara Mengaktifkan Dukungan Multi-bahasa ke Situs Web menggunakan PHP .
Menu atau input untuk mengganti bahasa konten
Memuat konten dalam bahasa pembaca secara default
Untuk mengizinkan konfigurasi bahasa default jika bahasa pembaca tidak didukung
Beralih konten statis dan dinamis sesuai bahasa yang dipilih