Entiti mempunyai bidang drupal hosting

Mengenai medan berbilang bahasa

bidang entiti secara asal melaksanakan sokongan berbilang bahasa. Bahasa yang berkaitan dengan bidang yang bergantung kepada beberapa faktor termasuk jika terjemahan didayakan dan kaedah terjemahan yang dipilih (cth untuk entiti nod, sama ada nod penterjemahan atau terjemahan lapangan).

Sebelum melihat sokongan bahasa bidang tertentu, ia adalah penting untuk mengetahui kemungkinan konfigurasi entiti yang berbeza. Bagi entiti nod, jenis kandungan boleh dikonfigurasikan seperti berikut:

Entiti mempunyai bidang drupal hosting mempunyai
  • modul Locale dilumpuhkan
  • Tiada tugasan bahasa
  • tiada terjemahan
  • modul Locale didayakan
    • tugasan bahasa
    • tiada terjemahan
    • Tempat-tempat kejadian dan terjemahan kandungan modul yang diaktifkan
      • tugasan bahasa
      • Terjemahan melalui kaedah nod terjemahan (multiple nod)
      • Tempat-tempat kejadian dan terjemahan Entity modul yang diaktifkan
        • tugasan bahasa
        • Terjemahan melalui kaedah terjemahan bidang (satu node)
        • Untuk mengetahui lebih lanjut mengenai kedua-dua kaedah terjemahan, lihat dokumentasi yang menterjemahkan kandungan ke dalam bahasa yang berbeza. Ambil perhatian bahawa modul penterjemahan kandungan hanya mengendalikan entiti nod, jadi entiti teras lain mesti menggunakan modul terjemahan Entity untuk terjemahan.

          Seperti yang kita lihat, konfigurasi entiti akan menjejaskan apa bahasa boleh diberikan kepada bidang dan juga apa LANGUAGE_NONE yang sentiasa ada (und) bermaksud untuk setiap kes.

          Pengendalian bidang berbilang bahasa

          Fields melaksanakan sokongan berbilang bahasa dengan mengadakan pelbagai nilai dalam pelbagai bidang. Semua medan menggunakan struktur berikut:

          Berikut adalah beberapa contoh:

          Apabila berurusan dengan entiti, adalah penting untuk memahami apa bahasa dan bahasa bidang entiti bersesuaian bagi setiap konfigurasi entiti. Bagi entiti nod, rajah berikut memberikan gambaran peringkat tinggi nilai bahasa mungkin dan kegunaan yang berbeza LANGUAGE_NONE (und).

          Satu lagi cara untuk berfikir tentang bahasa medan nod digambarkan dalam carta aliran berikut.

          senario ini diterangkan dengan lebih terperinci di bawah.

          modul Locale dilumpuhkan

          Secara lalai satu tapak-bahasa dalam bahasa Inggeris tanpa modul Locale dibolehkan menggunakan LANGUAGE_NONE sebagai $ langcode itu. dan selalu ada hanya satu variasi bahasa bagi setiap bidang.

          Tempat-tempat kejadian dan terjemahan kandungan modul yang diaktifkan

          Dengan Locale teras dan modul terjemahan kandungan yang aktif, bidang tidak akan mempunyai maklumat bahasa mereka sendiri, dan LANGUAGE_NONE digunakan untuk menunjukkan bahawa kita tidak mempunyai bahasa bidang dinyatakan. Entiti keseluruhan dengan semua sifat-sifat dan bidang diandaikan mempunyai kod bahasa entiti yang diberikan (konsep).

          Tempat-tempat kejadian dan terjemahan Entity modul yang diaktifkan

          Bidang terjemahan adalah boleh pasang, tetapi pelaksanaan hanya diketahui ialah Entity modul penterjemahan menyumbang yang menyediakan antara muka pengguna untuk membolehkan terjemahan bidang untuk entiti dan untuk menukar translatability pada bidang.

          Entiti mempunyai bidang drupal hosting untuk entiti nod, sama ada nod

          Apabila kita membolehkan terjemahan lapangan, satu bidang yang tidak mempunyai terjemahan yang aktif akan sentiasa menggunakan LANGUAGE_NONE. dan tiada nilai-nilai bahasa lain akan hadir. Maksud ini adalah berbeza daripada di atas. Ia bermakna bahawa bidang akan mempunyai nilai yang sama di semua terjemahan. Ini juga dikenali sebagai medan berkongsi. The $ entiti> nilai langcode akan berterusan untuk mewakili bahasa sifat-sifat entiti, seperti pengarang dan status, serta menandakan bahasa asalnya bahawa entiti itu disimpan dengan. maklumat yang boleh berguna untuk tujuan kebenaran dan aliran kerja.

          Untuk medan dengan terjemahan yang aktif, pelbagai varian nilai mungkin boleh didapati dalam mana-mana bahasa yang aktif.

          (Bidang Diterjemahkan tidak perlu mempunyai varian dimasukkan dengan LANGUAGE_NONE. Jika itu adalah di sana, ia adalah bug dalam salah satu mengendalikan data modul.)

          bidang API berbilang bahasa

          Bahasa yang tersedia untuk bidang tertentu dikembalikan oleh field_available_languages ​​(). yang abstrak logik di atas.

          Sama ada bidang yang diterjemahkan boleh ditentukan dengan memanggil field_is_translatable () secara langsung.

          Jika anda berminat untuk melihat ke atas sama ada jenis entiti telah sokongan terjemahan bidang dilaksanakan oleh salah satu modul yang diaktifkan (dalam kes penggunaan yang paling biasa yang entity_translation modul didayakan dan Jenis entiti ini dikonfigurasi dengannya untuk menyokong terjemahan lapangan), penggunaan field_has_translation_handler () kepada jenis entiti.

          Memandangkan struktur entiti mengandungi semua versi bahasa yang berbeza bidang apabila terjemahan bidang digunakan, kita perlu untuk dibuat mereka untuk paparan. The field_language () fungsi boleh digunakan untuk menentukan bahasa paparan untuk bidang dilampirkan kepada entiti yang diberikan. Yang mengendalikan logik fallback ditakrifkan oleh pengendali untuk memilih bahasa yang betul setiap medan untuk paparan. Fungsi field_get_items () boleh digunakan untuk kembali nilai medan dalam bahasa tersebut.

          Apabila bertindak bagi bidang, secara lalai, _field_invoke () dan bidang-bidang proses _field_invoke_multiple () dalam semua bahasa yang tersedia. Mereka membolehkan untuk menghadkan operasi untuk bahasa tertentu atau satu set bahasa.

          Fungsi entity_language () boleh digunakan untuk mendapatkan semula bahasa entiti dengan cara yang generik. Nilai yang dikembalikan oleh entity_language () adalah nilai disyorkan untuk diluluskan sebagai parameter $ langcode fungsi field_attach_form (), apabila logik dilaksanakan tidak jelas menentukan yang lain.

          Menonton video ini!

          Artikel berkaitan

          bidang Boolean jenis drupal hostingMelampirkan bidang data adat kepada entiti Drupal. API Field membolehkan medan data adat yang akan dikenakan kepada entiti Drupal dan menjaga menyimpan, memuatkan, penyuntingan, dan menjadikan data lapangan ....
          Lihat bidang nilai drupal hostingMengembalikan lokasi renderable untuk nilai medan tunggal. Parameter $ ENTITY_TYPE. Jenis $ entiti; cth 'Node' atau 'pengguna'. $ Entiti. Entiti yang mengandungi medan untuk dipaparkan. Mesti sekurang-kurangnya ...
          Field contoh drupal hostingApabila kita pergi ke / / / jenis / / artikel / bidang admin jalan struktur mengurus dan menggunakan Tambah pilihan bidang baru atau Tambah pilihan bidang yang sedia ada, adakah itu mencipta medan atau mencipta medan kejadian atau melampirkan bidang ...
          Galeri mudah modul drupal hostingModul ini menyediakan integrasi antara Juicebox HTML5 perpustakaan Galeri responsif yang popular dan Drupal. Juicebox adalah dalam pelbagai cara pengganti Simpleviewer dan menawarkan berkuasa ...
          Webfm modul drupal hostingSaya sedang mewujudkan arkib laman web yang akan membolehkan pengguna untuk memuat naik pelbagai jenis kandungan media termasuk video, audio, imej, dokumen dan teks. Saya mahu menjadikan ia mudah bagi pengguna untuk ...