Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyepaduan PHP dan Laravel membolehkan pembangunan aplikasi berbilang bahasa

Penyepaduan PHP dan Laravel membolehkan pembangunan aplikasi berbilang bahasa

WBOY
WBOYasal
2023-06-25 18:46:371723semak imbas

Dengan perkembangan globalisasi, semakin banyak aplikasi perlu menyokong berbilang bahasa untuk memenuhi keperluan pengguna di kawasan dan budaya yang berbeza. Dalam pembangunan aplikasi web, PHP ialah bahasa yang biasa digunakan, dan Laravel ialah rangka kerja yang sangat popular dalam PHP Artikel ini akan memperkenalkan cara menggunakan PHP dan integrasi Laravel untuk mencapai pembangunan aplikasi berbilang bahasa.

1. Mengapa sokongan berbilang bahasa diperlukan

Dalam konteks globalisasi, aplikasi yang hanya menyokong satu bahasa akan mengehadkan skop kumpulan penggunanya. Sebagai contoh, bahasa Inggeris ialah bahasa universal, tetapi bagi pengguna yang tidak memahami bahasa Inggeris, menggunakan aplikasi bahasa Inggeris boleh menyebabkan kesulitan atau kesukaran di samping itu, bahasa yang digunakan oleh pengguna di sesetengah negara atau wilayah mungkin bahasa lain disokong, jadi kumpulan pengguna ini tidak akan dapat menggunakan aplikasi itu.

Untuk memenuhi keperluan pengguna dalam bahasa yang berbeza, adalah perlu untuk membangunkan aplikasi dengan sokongan berbilang bahasa. Dalam aplikasi web, berbilang bahasa biasanya dilaksanakan dengan menyediakan berbilang fail terjemahan pada bahagian hadapan, dan kemudian memuatkan fail terjemahan yang sepadan mengikut pilihan bahasa pengguna untuk mencapai paparan berbilang bahasa. Dalam program PHP, anda boleh menggunakan berbilang kaedah untuk melaksanakan berbilang bahasa, seperti menggunakan permintaan GET atau POST, menggunakan parameter URL, dsb.

2. Cara melaksanakan berbilang bahasa

Jika anda menggunakan PHP asli untuk membangunkan aplikasi, anda perlu mempertimbangkan cara mengendalikan terjemahan setiap halaman untuk mencapai berbilang bahasa. Rangka kerja Laravel mempunyai sokongan berbilang bahasa terbina dalam, dan menggunakan Laravel boleh melaksanakan pelbagai bahasa dengan mudah.

  1. Fail Konfigurasi

Dalam Laravel, fail konfigurasi ialah fail yang menyimpan konfigurasi aplikasi. Fail lang.php boleh dibuat di bawah folder konfigurasi, yang mengandungi terjemahan untuk pelbagai bahasa, seperti berikut:

<?php

return [
    'welcome' => '欢迎',
    'hello' => '你好',
    'learn' => '学习',
    'laravel' => 'Laravel'
];
  1. Penghalaan

Dalam Laravel, penghalaan ialah hubungan pemetaan antara URL dan logik aplikasi. Bahasa yang digunakan boleh ditentukan menggunakan middleware atau parameter permintaan dalam laluan. Contohnya:

Route::get('/welcome/{locale}', function ($locale) {
    App::setLocale($locale);
    return view('welcome');
});

di mana {locale} ialah parameter permintaan yang digunakan untuk menghantar bahasa yang dipilih oleh pengguna. App::setLocale($locale) digunakan untuk menetapkan bahasa yang dipilih kepada bahasa semasa aplikasi.

  1. Pandangan

Dalam Laravel, paparan digunakan untuk memaparkan antara muka aplikasi. Jika anda perlu memaparkan kandungan berbilang bahasa dalam paparan, anda boleh menggunakan ciri pek bahasa yang disediakan oleh Laravel. Contohnya:

{{ __('lang.welcome') }}

Kaedah __ digunakan untuk memanggil terjemahan dalam pakej bahasa, dan lang.welcome ialah kunci yang sepadan untuk dialu-alukan dalam fail terjemahan. Selepas memanggil kaedah __, terjemahan yang sepadan akan dimuatkan secara automatik mengikut bahasa aplikasi semasa. Jika anda perlu menukar bahasa, anda boleh menggunakan kaedah App::setLocale.

3. Contoh Demonstrasi

Di bawah ini kami menggunakan contoh untuk menunjukkan cara melaksanakan pelbagai bahasa dalam Laravel.

  1. Buat aplikasi Laravel

Mula-mula anda perlu mencipta aplikasi Laravel Anda boleh menggunakan arahan cipta-projek komposer untuk mencipta aplikasi Laravel baharu. Contohnya:

composer create-project --prefer-dist laravel/laravel multilingualapp
  1. Konfigurasi bahasa

Buka fail config/app.php dan tambahkan bahasa yang perlu disokong dalam tatasusunan locales, contohnya:

rreee
  1. Buat fail terjemahan

untuk setiap satu dalam direktori sumber/lang Cipta fail terjemahan yang sepadan untuk bahasa, contohnya:
  • resources/lang/en/messages.php
  • resources/lang/es/messages.php
  • resources/lang/fr /messages.php

boleh digunakan dalam setiap Tambah terjemahan bahasa yang sepadan pada fail, contohnya:
    'locales' => ['en', 'es', 'fr'],
  1. Buat laluan berbilang bahasa

Buka fail route/web.php dan buat laluan berbilang bahasa, contohnya:
    <?php
    // resources/lang/en/messages.php
    return [
        'welcome' => 'Welcome to our multilingual app!',
        'about_us' => 'About Us'
    ];
  1. Cipta paparan berbilang bahasa

dalam sumber/ Cipta paparan berbilang bahasa di bawah direktori pandangan, contohnya:
  • resources/views/welcome.blade.php
  • resources/views/about.blade.php

Anda boleh memanggil terjemahan berbilang bahasa melalui pakej bahasa Laravel dalam paparan, contohnya :

Route::get('/{locale}', function ($locale) {
    App::setLocale($locale);
    return view('welcome');
});

Route::get('/{locale}/about', function ($locale) {
    App::setLocale($locale);
    return view('about');
});

Selepas menjalankan aplikasi, tambah kod bahasa yang berbeza dalam URL untuk mencapai paparan berbilang bahasa .

4. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan PHP dan integrasi Laravel untuk mencapai pembangunan aplikasi berbilang bahasa. Laravel menyediakan sokongan berbilang bahasa terbina dalam untuk mengendalikan isu berbilang bahasa dalam fail konfigurasi, laluan dan paparan dengan mudah. Dengan menggunakan Laravel, anda boleh membangunkan aplikasi web yang disokong berbilang bahasa dengan cepat untuk memenuhi keperluan pengguna dalam bahasa yang berbeza. 🎜

Atas ialah kandungan terperinci Penyepaduan PHP dan Laravel membolehkan pembangunan aplikasi berbilang bahasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn