Điểm:-1

Custom translation function

lá cờ ma

I need own translation function in my custom module where i have defined language codes ('en','ja','de'....etc) Now i just wanted to pass word and language code as a parameter and it returns translation of that word according to language code.

I am trying this inside my translation but it doesn't work it is returning 'yes' instead i don't know why.

 $japanese_value = t('yes', array(), array('langcode' => 'ja')); 
 print_r($japanese_value);

And please let me know if there is a better way to do this or any other translation module.

Jaypan avatar
lá cờ de
Điều đó đối với tôi như thể nó sẽ hoạt động. Bạn đã dịch giá trị của _yes_ sang _ã¯ã_ trong hệ thống của mình chưa?
Điểm:0
lá cờ us

yêu cầu t() để dịch chuỗi trong một ngôn ngữ cụ thể là hoàn toàn tốt. Hàm sẽ trả về bản dịch, nếu mô-đun Ngôn ngữ được cài đặt và kích hoạt, đồng thời chuỗi đó có trong trang web; nó không sử dụng dịch vụ từ xa để dịch chuỗi được truyền làm đối số đầu tiên.

Có mặt trong trang web có nghĩa:

  • Bản dịch đã được thêm vào bằng cách sử dụng biểu mẫu trên admin/config/regional/translate

  • Bản dịch đã được nhập bằng biểu mẫu trên admin/config/regional/translate/import

  • Tệp settings.php chứa bản dịch tùy chỉnh trong $conf['locale_custom_strings_ja'] mảng (đối với tiếng Nhật). Ví dụ: mảng sau sẽ cho phép nhận bản dịch tiếng Ý cho Diễn đànnút. (Tôi đã sử dụng tiếng Ý chỉ vì tôi biết cách dịch những từ đó.)

    $conf['locale_custom_strings_it'][''] = mảng(
      'Diễn đàn' => 'Bacheca Discussi',
      'nút' => 'tiếp nối',
    );
    

Lưu ý rằng trong trường hợp sau, mô-đun Cục bộ không cần phải bật.

Rog Boy avatar
lá cờ ma
cảm ơn bạn, tôi muốn hỏi bạn nếu tôi thêm bản dịch vào loại nội dung -> trường ( danh sách (có, không)) -> chỉnh sửa -> dịch ..... có thể gọi một số chức năng để nhận bản dịch từ đó không. ..?
apaderno avatar
lá cờ us
Ý bạn là từ `$conf['locale_custom_strings_ja']`? Điều đó được thực hiện tự động từ Drupal.
Rog Boy avatar
lá cờ ma
quản trị/config/khu vực/dịch/dịch (ở đây tôi có thể thấy bản dịch của có, không)....... bây giờ tôi có giá trị này ở dạng mảng với tên_trường và giá trị (có)...... ......Tôi đang tạo báo cáo bằng mô-đun tùy chỉnh của mình. Tôi chỉ muốn dịch trước khi tạo PDF......... .....vì vậy tôi đang cố gắng tạo hàm để tôi có thể chuyển tên trường đó và giá trị để nhận lại bản dịch ..
Rog Boy avatar
lá cờ ma
sẽ rất biết ơn tôi là người mới và bị mắc kẹt trong nhiệm vụ này từ thứ sáu
apaderno avatar
lá cờ us
Vì vậy, bạn đang cố dịch nội dung của một trường, không phải một chuỗi tĩnh như `'yes'`. Truy xuất giá trị của trường đó và chuyển giá trị đó tới `t()`. Nếu giá trị của trường đó có thể là bất kỳ giá trị nào mà người dùng nhập, thì dù sao thì nó cũng sẽ không hoạt động, vì bạn sẽ cần thêm dưới dạng bản dịch bất kỳ giá trị nào mà người dùng có thể nhập. Hãy nhớ rằng `t()` chỉ có thể cung cấp cho bạn một chuỗi đã dịch nếu có bản dịch của toàn bộ chuỗi. Ví dụ: với *Yes, I know that.* Drupal sẽ không truy xuất bản dịch cho *Yes*, *I*, *know* và *that*.
apaderno avatar
lá cờ us
Dù sao, đây là một câu hỏi khác nên được đăng dưới dạng câu hỏi mới. Nó cũng yêu cầu nhiều chi tiết hơn để được trả lời và việc trả lời qua lại các nhận xét không phải là lý tưởng để trả lời các câu hỏi.
Rog Boy avatar
lá cờ ma
https://drupal.stackexchange.com/questions/304164/get-translation-programmatically-of-field-value-in-specific-language

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.