Rumah >pembangunan bahagian belakang >tutorial php >phpmaster | Lokalisasi Aplikasi PHP Bahagian 1: Okt 2011 - SitePoint
Pengguna Internet global terus berkembang, dan ramai pengguna ingin melayari kandungan anda dalam bahasa ibunda mereka. Anda mungkin berfikir bahawa hanya terjemahan yang sangat baik diperlukan untuk melengkapkan terjemahan antara muka pengguna laman web, tetapi cabaran yang lebih besar terletak pada kod latar belakang menulis. Proses penyetempatan perisian tradisional adalah rumit dan rawan kesilapan, mengakibatkan kekeliruan dalam kod. Sesetengah pemaju juga menggunakan versi kod yang berlainan untuk kawasan yang berbeza, yang menjadikan pengurusan codebase hampir mustahil.
GettExt adalah alat sumber terbuka yang sangat baik yang memudahkan proses dan membolehkan anda memberi tumpuan kepada penulisan kod, sementara penterjemah bertanggungjawab untuk mengendalikan fail diterjemahkan secara individu dalam bahasa sasaran. Menguasai PHP GetText, memperluaskan pengaruh global aplikasi akan menjadi angin! Siri artikel ini akan mengajar anda bagaimana untuk melokalkan aplikasi PHP anda menggunakan GetText. Bahagian pertama akan memperkenalkan gettext dengan cepat. Atas dasar ini, bahagian -bahagian berikutnya akan menjelaskan cara menangani pelbagai domain terjemahan, bentuk jamak, dan juga bagaimana untuk mengautomasikan sebahagian daripada proses penyetempatan.
Persekitaran penyediaan
Sebelum memulakan pembelajaran, pastikan persekitaran ditubuhkan dengan betul, yang membantu menguji langkah -langkah kandungan pembelajaran demi langkah. Berikut adalah senarai pemasangan:
Apa pun platform anda, untuk menggunakan GetText dari PHP, anda perlu memasang Perpustakaan Gettext dan sambungan PHP yang disambungkan ke perpustakaan. Pengguna Ubuntu/Debian boleh menggunakan apt-get, dan pengguna fedora/centos/redhat boleh menggunakan yum untuk memasang perpustakaan gettext. Jika anda menggunakan sistem seperti Unix yang lain, sila layari www.gnu.org/s/getText untuk mendapatkan salinan getText yang serasi dengan platform anda. Pengguna Windows boleh memuat turun fail executable terkini dari gnuwin32.sourceforge.net/packages/gettext.htm dan pasangnya. Selepas memasang perpustakaan, anda perlu mengaktifkan lanjutan PHP GetText dengan mengedit php.ini dan menambah garis:
<code># Windows用户 extension=php_gettext.dll # *nix用户 extension=gettext.so</code>
Kemudian, pasangkan poedit yang akan digunakan kemudian. Anda boleh memuat turun salinan di www.poedit.net.
"Hello World" dari GetText
Di direktori akar web anda, buat direktori kotak pasir yang dipanggil testi18n untuk latihan getText (i18n bermaksud pengantarabangsaan). Dalam direktori testi18n, buat hierarki berikut:
Seterusnya, pastikan PoEdit berfungsi dengan baik pada platform anda. Mulakan program dan pilih "Fail"> "Direktori Baru" dari bar menu atas. Dalam tetingkap Tetapan, isikan maklumat berikut dan buat sementara waktu langkau bidang bentuk jamak:
<code># Windows用户 extension=php_gettext.dll # *nix用户 extension=gettext.so</code>simpan mesej.po dan tutupnya, kemudian buka semula dalam poedit. Dalam PoEdit, pilih Fail> Simpan atau klik entri "Simpan Direktori" di bar ikon. Alasan kami menyimpan fail PO dalam poedit adalah bahawa mereka perlu disusun menjadi format khas yang tersedia untuk getText. Selepas menyimpan di PoEdit, anda akan melihat bahawa fail baru dengan nama yang sama dibuat dalam direktori yang sama, tetapi dengan lanjutan .mo. Jika anda ingin terus mengubahsuai dan menyimpan fail PO menggunakan editor teks biasa, anda perlu menyusun dengan perintah pocompile. Jika anda menggunakan poEdit, tiada langkah penyusunan tambahan diperlukan kerana ia secara automatik akan menyusun fail apabila anda menyimpannya.
kembali ke direktori testi18n dan buat fail bernama test-locale.php dengan kod berikut:
<code># 测试标记1 msgid "HELLO_WORLD" msgstr "Hello World!" # 测试标记2 msgid "TEST_TRANSLATION" msgstr "Testing translation..."</code>Buka testi18n/test-locale.php dalam penyemak imbas anda. Jika semuanya dipasang dengan betul dan berfungsi dengan baik, anda akan melihat "Hello World" di halaman.
Ringkasan
Anda mempunyai banyak pilihan apabila melokalkan aplikasi PHP anda. Kami memilih untuk menggunakan Perpustakaan GNU Gettext dan lanjutan PHPnya, cara yang kuat dan mudah untuk "betul" melokalkan permohonan anda! Dalam bahagian ini, anda melihat apa yang anda perlukan untuk memasang sambungan gettext dan php, menggunakan poedit secara ringkas, dan mencetuskan minat anda dengan skrip Hello World yang mudah. Bahagian kedua akan didasarkan pada ini untuk mengetahui lebih lanjut mengenai GetText;
gambar dari sgame / shutterstock
(Berikut adalah bahagian FAQ, diselaraskan mengikut kandungan asal, dan ciptaan pseudo-asal dibuat)
Soalan Lazim mengenai Penyetempatan Aplikasi PHP
Apakah kepentingan penyetempatan aplikasi PHP?
Aplikasi PHP setempat adalah penting untuk perniagaan yang ingin menjangkau pengguna di seluruh dunia. Ia melibatkan menterjemahkan antara muka pengguna dan elemen lain yang kelihatan dari aplikasi perisian ke dalam bahasa yang berbeza. Proses ini bukan sahaja meningkatkan pengalaman pengguna, tetapi juga memperluaskan liputan pasaran aplikasi. Dengan melokalkan aplikasi PHP anda, anda boleh memenuhi keperluan pengguna yang berbeza, dengan itu meningkatkan asas pengguna dan pendapatan yang berpotensi.
Bagaimana lokalisasi PHP berfungsi?
lokalisasi PHP melibatkan menggunakan fungsi dan perpustakaan tertentu untuk menterjemahkan teks dalam aplikasi. Kaedah yang paling biasa ialah menggunakan GettExt, sebuah perpustakaan yang kuat yang membolehkan anda membungkus rentetan dalam fungsi yang akan diterjemahkannya mengikut tetapan locale pengguna. Ini melibatkan membuat fail .po untuk setiap bahasa yang mengandungi semua terjemahan.
Apakah langkah -langkah untuk melaksanakan penyetempatan PHP?
Melaksanakan penyetempatan PHP melibatkan beberapa langkah. Pertama, anda perlu memasang dan mengkonfigurasi Perpustakaan Gettext dalam persekitaran PHP anda. Seterusnya, anda perlu membungkus semua rentetan dalam aplikasi yang anda ingin diterjemahkan menggunakan fungsi gettext. Kemudian anda perlu membuat fail .po untuk setiap bahasa yang anda ingin menyokong dan menterjemahkan semua rentetan dalam fail tersebut. Akhirnya, anda perlu menyusun fail .po ini ke dalam fail .mo, yang merupakan fail binari dan getText boleh membacanya.
Apakah cabaran -cabaran aplikasi PHP?
Pelokatan aplikasi PHP boleh mencabar kerana beberapa sebab. Pertama, menterjemahkan semua rentetan dalam aplikasi boleh memakan masa, terutamanya apabila aplikasi itu besar dan kompleks. Kedua, mengekalkan terjemahan boleh menjadi sukar, terutamanya apabila mengemas kini atau menambah ciri baru ke aplikasi anda. Ketiga, berurusan dengan kehalusan jamak, jantina, dan lain -lain tatabahasa dalam bahasa yang berbeza boleh menjadi rumit.
Bagaimana menangani nombor jamak dalam penyetempatan PHP?
Fungsi Ngette boleh digunakan untuk memproses nombor jamak dalam penyetempatan PHP. Fungsi ini menerima tiga parameter: bentuk tunggal, bentuk jamak, dan bilangan rentetan. Ia kemudian mengembalikan borang yang betul berdasarkan nombor. Sebagai contoh, NgettEtext ("One Apple", "Banyak epal", $ nombor) mengembalikan "satu epal" jika nombor $ adalah 1, jika tidak "banyak epal".
Bagaimana untuk menguji aplikasi PHP setempat saya?
Anda boleh menguji aplikasi PHP setempat anda dengan menukar locale pada pelayan atau dalam kod PHP dan kemudian menyemak jika rentetan diterjemahkan dengan betul. Anda juga harus menguji susun atur dan reka bentuk aplikasi dalam bahasa yang berbeza, kerana sesetengah bahasa mungkin memerlukan lebih banyak ruang atau mempunyai arah bacaan yang berbeza.
Bolehkah saya menggunakan terjemahan mesin untuk penyetempatan php?
Walaupun terjemahan mesin boleh menterjemahkan rentetan anda dengan cepat dan mudah, tidak disyorkan untuk penyetempatan PHP. Terjemahan mesin sering tidak mempunyai ketepatan dan kesedaran konteks yang diperlukan untuk penyetempatan perisian. Adalah lebih baik untuk menggunakan penterjemah profesional atau perkhidmatan setempat untuk memastikan kualiti terjemahan.
Bagaimana Mengurus Terjemahan Permohonan PHP Saya?
Anda boleh menggunakan sistem pengurusan platform atau terjemahan setempat untuk menguruskan terjemahan aplikasi PHP. Alat ini membolehkan anda menyimpan, mengurus dan mengemas kini terjemahan di lokasi pusat. Mereka juga menyediakan ciri -ciri seperti memori terjemahan, alat glosari dan kolaborasi untuk membantu anda memudahkan proses penyetempatan.
Apakah peranan fail.po dan .mo dalam penyetempatan PHP?
.po dan .mo fail memainkan peranan penting dalam penyetempatan PHP. Fail .po adalah fail teks yang mengandungi rentetan asal dan terjemahannya. Mereka boleh dibaca manusia dan boleh diedit menggunakan editor teks atau editor fail .po. Sebaliknya, fail .mo adalah fail binari yang boleh dibaca mesin. Mereka dihasilkan oleh fail .po dan digunakan oleh getText untuk menterjemahkan rentetan dalam aplikasi.
Bolehkah saya menyetempatkan permohonan php saya ke mana -mana bahasa?
Ya, anda boleh menyetempatkan aplikasi PHP anda ke mana -mana bahasa yang GetText menyokong. Walau bagaimanapun, anda perlu mempunyai terjemahan bahasa itu untuk semua rentetan dalam aplikasi. Di samping itu, anda perlu mempertimbangkan nuansa budaya dan linguistik setiap bahasa untuk memastikan kualiti penyetempatan.
Atas ialah kandungan terperinci phpmaster | Lokalisasi Aplikasi PHP Bahagian 1: Okt 2011 - SitePoint. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!