Dapatkan drupal bahasa dipilih hosting

Ia adalah mungkin untuk menyesuaikan proses rundingan bahasa kedua-dua untuk bagaimana kita mengesan bahasa pengguna dan juga kepada jenis data yang mereka minta.

API rundingan bahasa adalah berdasarkan dua konsep utama:

  • jenis bahasa. yang menerangkan jenis kemungkinan kandungan yang boleh diterjemahkan
  • penyedia bahasa. yang membolehkan Drupal untuk mengesan bahasa yang ia perlu berkhidmat untuk user (ambil perhatian bahawa pembekal bahasa dipanggil kaedah bahasa dalam Drupal 8)

Mungkir disediakan oleh Drupal

Jenis bahasa

Drupal teras mentakrifkan tiga terbina dalam jenis bahasa:

hosting

Bahasa antara muka Ia adalah bahasa utama di halaman. Ia digunakan untuk membentangkan elemen antara muka pengguna diterjemahkan seperti tajuk, label, teks bantuan, dan mesej. bahasa kandungan ini digunakan untuk memilih di mana bahasa untuk memaparkan kandungan yang boleh didapati dalam lebih daripada satu bahasa (lihat keupayaan berbilang bahasa API Field baru untuk maklumat lanjut). bahasa URL Ini adalah bahasa yang dikaitkan dengan URL. Apabila menjana URL, nilai ini akan digunakan oleh url () sebagai lalai jika tidak ada keutamaan yang jelas disediakan.

jenis bahasa yang berbeza sering berkongsi nilai yang sama, tetapi kemudian mereka boleh mempunyai nilai-nilai bebas jika perlu.

Providers bahasa

Teras termasuk pembekal berikut:

  • URL - Tentukan bahasa dari URL (jalan awalan atau domain).
  • Sesi - Tentukan bahasa dari parameter permintaan / sesi.
  • Pengguna - Ikuti pilihan bahasa pengguna.
  • Browser - Tentukan bahasa dari tetapan bahasa penyemak imbas.
  • bahasa lalai - Gunakan bahasa tapak lalai.

Berikut adalah gambar yang menunjukkan hubungan antara jenis dan pembekal:

Menentukan jenis bahasa

Bermula pada Drupal 7, API bahasa membolehkan menyumbang modul untuk menentukan jenis bahasa tambahan melalui hook_language_types_info () dan mengubah definisi jenis bahasa yang sedia ada melalui hook_language_types_info_alter ().

Sejenis bahasa mungkin boleh dikonfigurasikan atau tetap. Sejenis bahasa dikonfigurasikan muncul dalam Penyelarasan ini> Wilayah dan bahasa> Bahasa> Pengesanan dan laman pemilihan, di mana penyedia bahasa untuk jenis bahasa boleh dikonfigurasikan. Terdapat beberapa jenis bahasa juga tetap yang telah ditentukan terlebih dahulu tetapan (modul ditetapkan) rundingan dan oleh itu, tidak muncul dalam halaman konfigurasi. Berikut adalah coretan kod yang menjadikan bahasa kandungan (yang secara lalai mewarisi nilai-nilai bahasa antara muka ini) dikonfigurasikan:

Setiap jenis bahasa dikonfigurasikan akan mempunyai penukar blok (bebas) bahasa sendiri. Jelas sekali, jika dua jenis bahasa dikonfigurasi dengan cara yang sama, blok penukar bahasa mereka akan menjadi fungsi serupa dan akan bertindak ke atas kedua-dua jenis bahasa.

Dapatkan drupal bahasa dipilih hosting berdasarkan berat pembekal

Dalam Drupal 6.x, terdapat jenis hanya satu bahasa, yang dinamakan hanya bahasa. Semasa pengawalan bahasa tetapan rundingan bahasa yang dipilih digunakan untuk menentukan nilainya. Dalam Drupal 7.x, proses yang sama berlaku bagi setiap jenis bahasa ditakrifkan, lihat drupal_language_initialize () untuk maklumat lanjut.

Menentukan penyedia bahasa adat

Setiap jenis bahasa boleh mempunyai tetapan rundingan bahasa yang berbeza, iaitu setiap jenis bahasa boleh mempunyai satu set yang berbeza kaedah pengesanan bahasa. atau pembekal. diberikan kepadanya.

penyedia bahasa adalah fungsi panggilan balik mudah yang melaksanakan logik tertentu untuk mengembalikan kod bahasa. Sebagai contoh, locale_language_from_url yang () mencari untuk awalan laluan yang sah atau nama domain dalam permintaan URL semasa. Jika pembekal bahasa tidak mengembalikan kod bahasa yang sah, pembekal akan datang yang berkaitan dengan jenis bahasa (berdasarkan berat pembekal) dirujuk. cara ini, konsep fallback adalah umum dan membuka ikatan dari awalan jalan tetap> keutamaan pengguna> tetapan penyemak imbas> skim bahasa lalai digunakan dalam Drupal 6.x.

Juga penyedia bahasa adalah modul boleh ditakrif melalui hook_language_negotiation_info () dan penyedia bahasa definisi boleh diubah melalui hook_language_negotiation_info_alter (). Berikut adalah contoh coretan yang membolehkan awalan jalan diabaikan untuk laluan pentadbiran:

Dalam usaha untuk perubahan di atas dapat dilaksanakan, "Pengesanan bahasa dan pemilihan" borang perlu dikemukakan.

definisi pembekal bahasa mungkin termasuk dua lagi panggilan balas selain pembekal bahasa itu sendiri:

  • Jika pembekal bahasa boleh mengambil kesempatan daripada satu blok penukar bahasa, panggil balik penukar yang akan membolehkan ia kembali pautan suis bahasa yang sesuai dengan logik, lihat locale_language_switcher_url () untuk contoh.
  • Jika pembekal bahasa perlu menulis semula URL, ia boleh menentukan panggil balik url_rewrite yang akan menyediakan logik menulis semula.

Artikel berkaitan

Miglior hosting tema drupalApa yang Drupal? Drupal adalah kandungan sumber platform pengurusan terbuka yang boleh dimuat turun dan digunakan secara percuma. Ia terdiri daripada satu kumpulan teras fail yang standard pada semua pemasangan, ...
Menambah halaman baru dalam hosting drupalTutorial ini akan menunjukkan kepada anda bagaimana untuk menambah halaman baru dan tab menu baru menunjuk ke halaman untuk laman web Drupal anda. Dalam usaha untuk melakukan ini: Log masuk ke antara muka backend Drupal anda; Klik pada...
Tim millwood drupal hostingkeluk pembelajaran adalah terkenal tetapi Tim Millwood berhujah bahawa Drupal tidak begitu menakutkan, dan menunjukkan bagaimana anda boleh menggunakannya untuk membina Pengetahuan lembaga kerja diperlukan. pembangunan web asas dan ...
Tukar jenis medan drupal hostingApabila bekerja dengan imej dalam Drupal 7, anda boleh mengawal jenis imej yang anda mahu untuk dimuat naik untuk setiap jenis kandungan. Mungkin anda mahu menyekat fail ke gif dan jpg fail, atau hanya ...
Buku navigasi blok drupal hostingBagaimana untuk menguruskan blok dalam Drupal Susun atur laman Drupal anda dibahagikan kepada wilayah. Bilangan dan kedudukan kawasan-kawasan ini bergantung kepada tema laman web anda. Kawasan-kawasan ini dihuni oleh ...