云客Drupal源码分析之前端js中的翻译

本文是《云客Drupal源码分析》系列的一部分,探讨Drupal 8前端JS中的翻译方法,包括Drupal.t()和Drupal.formatPlural()。文章介绍了翻译数据的来源、翻译原理和翻译数据文件的生成过程,以及翻译数据在页面缓存中的影响和潜在问题。
摘要由CSDN通过智能技术生成

从本主题开始《云客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:代表选项,比如指定上下文,该方法内部使用单数翻译方法

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值