Bánh mì đa ngôn ngữ


7

Tôi cần hiển thị mẩu bánh mì trên trang web khách hàng của mình nhưng yêu cầu phải có hai ngôn ngữ, tôi đã thử một số cách tiếp cận và mô-đun nhưng tất cả chỉ hiển thị mẩu bánh mì trong một ngôn ngữ.

Xin vui lòng, nếu bất cứ ai có ý tưởng về điều này, tôi đánh giá cao sự giúp đỡ của bạn.

Bên cạnh đó, bạn có thể vui lòng giải thích thêm về việc sử dụng bánh mì drupal mặc định tôi nên cài đặt gì để sử dụng chính xác bánh mì không? Tôi có cần Breadcrumb + mô-đun khác không ???

Trân trọng,


Bạn cần cung cấp chi tiết về nơi bạn đang đặt mẩu bánh mì và cách bạn dịch trang web của mình. Điều đó nói rằng, câu trả lời này có thể được sử dụng: drupal.stackexchange.com/questions/59930/ khăn
Patrick Kenny

Cảm ơn Patrick, tôi đang sử dụng phân loại để phân loại nội dung của mình với từ vựng được bản địa hóa và tôi đang sử dụng chế độ xem thuật ngữ phân loại mặc định để hiển thị nội dung được phân loại. Tôi đã cài đặt Breadcrumb dễ dàng nhưng chỉ hiển thị mẩu bánh mì bằng tiếng Anh.
fadifannoun

Hầu hết các mô-đun Breadcrumb trên drupal.org không có khả năng đa ngôn ngữ. Trừ khi một mô-đun liệt kê cụ thể là có hỗ trợ, tôi sẽ cho rằng không có hỗ trợ.
Patrick Kenny

1
Crumbs có một số mức độ khả năng đa ngôn ngữ (chúng tôi đang sử dụng nó với các liên kết menu được dịch, không chắc chắn về từ vựng). Tôi sẽ thử cái đó trước, tạo ra một vấn đề cho những thứ còn thiếu
Bojan Zivanovic

+1 thành vụn. Cho đến nay, điều duy nhất để thực sự làm việc "ngoài luồng" để có được bản dịch bánh mì. Nó dường như cũng là mô-đun tốt nhất để cung cấp một cách tiếp cận có cấu trúc để mã hóa các công thức bánh mì riêng biệt.
Lester Peabody

Câu trả lời:


1

Giả sử bạn muốn mẩu bánh mì của bạn như thế này:

  Home/La Casa >> Node/Nodo >> Friends/Amigos

Bạn có thể ghi đè template_pre process_breadcrumb như vậy:

  function MY_THEME_preprocess_breadcrumb(&$variables)
  {
     $breadcrumbs = &$variables['breadcrumb'];
     foreach($breadcrumbs as &$breadcrumb)
     {
         $breadcrumb .= '/' . locale($breadcrumb, null, 'SP');
     }
   }

Đừng trích dẫn tôi trên các langcodes và điều này sẽ yêu cầu bạn phải cài đặt và kích hoạt mô đun miền địa phương, nhưng nó sẽ xuất ra ví dụ trên Breadcrumb.


1

Tôi đã sử dụng Mô-đun Breadcrumbs tùy chỉnh, nó có khả năng thêm Breadcrumb cho mỗi ngôn ngữ ... Đối với các mẩu bánh mì được tạo tự động dịch có thể được thực hiện trong Bảng dịch chuỗi. Tôi nghĩ rằng Breadcrumb cũng có thể được tạo bằng Path Breadcrumbs


0

Drupal có một số mô-đun đóng góp chính có thể xử lý việc này trong hầu hết các trường hợp. Sử dụng bản dịch giao diện tích hợp và i18n_opes, bạn có thể thêm bản dịch cho nhiều mẩu bánh mì chính trong Cấu hình -> Vùng & Ngôn ngữ -> Giao diện dịch -> Dịch.

Một số mô-đun có thể giúp bạn có được các chuỗi này để bắt đầu. Bạn có thể sử dụng mô-đun potx để kéo tất cả các chuỗi giao diện tích hợp từ các mô-đun đã cài đặt khác, đưa các chuỗi vào bảng loc_source. Sau đó, bạn có thể sử dụng mô-đun l10n_update để tìm kiếm các bản dịch do cộng đồng đóng góp cho các chuỗi này.

Ví dụ, đối với phần cuối cùng của mẩu bánh mì xuất phát từ một nút, Drupal sẽ hiển thị tiêu đề được dịch của nút nếu tìm thấy nó. Đối với Dịch nội dung (dựa trên nút), nút hiển thị tiêu đề của nó trong đường dẫn bánh mì và đối với Dịch thuật thực thể (dựa trên trường), bạn có thể kích hoạt mô-đun tiêu đề để chuyển đổi thuộc tính tiêu đề thành một trường, sau đó có thể được dịch và hiển thị trong vụn bánh mì.


0

Hi vọng điêu nay co ich:

<?php
    //breadcrumb fix
        function THEME_NAME_menu_breadcrumb_alter(&$active_trail, $item) {
            global $language ;
            $lang_name = $language->language;
            $i = 0;
            foreach (array_keys($active_trail) as $key) {
                if($i!=0){
                    $translatedValue = i18n_string_translate(array('menu', 'item', $active_trail[$key]['mlid'], 'title'), $active_trail[$key]['title'], array('langcode' => $lang_name, 'sanitize' => FALSE));
                    $active_trail[$key]['title'] = $translatedValue;
                }
               $i++;
            }
        } 
    ?>

0

Giả sử bạn đang sử dụng i18nmô-đun, bao gồm cả mô hình con i18n_menu, thì cách dịch tin vụn bánh mì đáng tin cậy nhất của bạn sẽ là triển khai hook_menu_breadcrumb_altervà chạy _i18n_menu_link_titlechức năng trên mỗi mục.

Điều này sẽ làm việc:

/**
 *   Implements hook_menu_breadcrumb_alter()
 */
function YOURMODULE_menu_breadcrumb_alter(&$active_trail, $item) {
  foreach ($active_trail as $index => $breadcrumb_item) {
    if (isset($breadcrumb_item['mlid'])) {
      $active_trail[$index]['title'] = _i18n_menu_link_title($breadcrumb_item);
    }
  }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.