Drupal翻译jquery

时间:2018-04-20 09:09:58

标签: jquery drupal translation drupal-8

我正在尝试使用Drupals翻译。的 '/管理/配置/区域/翻译'即可。 当我使用底部的代码时,单词显示在列表中,我可以指定翻译。

但是当我在jQuery代码中使用变量时,我收到了错误。

无法读取未定义的属性't'

也许我需要定义t?或包括它? 我正在使用Drupal 8

Doc:https://www.drupal.org/docs/7/api/localization-api/translating-strings-in-javascript

;(function ($, Drupal) {
    $(function () {

    function addLeadForm(){
        var title = Drupal.t("Fill to get demoversion");
        var firstName = Drupal.t("firstname");
        var lastName = Drupal.t("lastname");
        var email = Drupal.t("email");

   });
})(jQuery);

由于

1 个答案:

答案 0 :(得分:3)

我猜您忘了在*.libraries.yml中添加正确的依赖项。

来自menu_ui.js的示例:

(function ($, Drupal) {
  Drupal.behaviors.menuUiDetailsSummaries = {
    attach: function attach(context) {
      $(context).find('.menu-link-form').drupalSetSummary(function (context) {
        var $context = $(context);
        if ($context.find('.js-form-item-menu-enabled input').is(':checked')) {
          return Drupal.checkPlain($context.find('.js-form-item-menu-title input').val());
        }

        return Drupal.t('Not in menu');
      });
    }
  };

以及相应的menu_ui.libraries.yml

drupal.menu_ui:
  version: VERSION
  js:
    menu_ui.js: {}
  dependencies:
    - core/jquery
    - core/drupal
    - core/drupal.form