从本主题开始《云客Drupal源码分析》系列将连续发布和前端js相关的内容,如果您对JavaScript还不熟悉或者需要来一次系统性的整理回顾,在此云客为您准备了以下资料:
《PHP开发者的JavaScript快速文档》
首发于爱码文档汇(nowicode.com),您也可以到云客的博客阅读,该篇资料全文6万字,A4页面45页,简明系统的介绍了js相关知识,由于从Drupal8.4开始核心为每一个js文件加入了对应的ES6版本,因此该资料也全面补充介绍了ES6,该资料对比了php和js语言,是针对php开发者而写的,在继续阅读本系列前强烈推荐您阅读。
前端js使用翻译:
本系列已经讲述了php程序和twig模板中的翻译如何处理,请见本系列的以下主题:
《国际化Internationalization:核心翻译系统》
《twig服务》
在前端的js程序中可以使用以下方法进行翻译:
Drupal.t(str, args, options):
返回单数翻译,参数解释如下:
str:为要翻译的字符串
args:为可选的翻译参数,一个对象,属性名的第一个字符有特殊含义,如果是“@”那么意指属性值是一个原始文本,里面不会存在标签,将先用Drupal.checkPlain(str);处理后再替换;如果是“!”那么代表属性值是安全的,将直接替换;如果既不是“@”也不是“!”,那么将被Drupal.theme('placeholder', args[key])处理后再替换
options:为选项参数,其context属性可以指定翻译上下文
Drupal.formatPlural(count, singular, plural, args, options):
复数翻译,参数含义如下:
count:代表传递的数量
singular:代表单数时的字符串
plural:代表复数时的字符串
args:代表需要替换的额外占位符,和单数翻译中的含义一样,内部属性名不用使用“@count”,该属性名被保留来存放参数count的值
options:代表选项,比如指定上下文,该方法内部使用单数翻译方法