我在相当大的Angular项目上使用angular-translate。我将项目分为多个模块以使其更易于管理,但是无法分解每个模块的翻译字符串。
例如,我有模块A和B,其中B是A的子模块。有一些与模块A覆盖的HTML有关的字符串,它们位于’/json/localization/A/en.json’中。同样,我在’/json/localization/B/en.json’中放置了与B有关的字符串。首先,我使用angular-
translate的$ translationProvider将B的en.json加载到模块B中。然后,我也使用$
translationProvider加载模块A的en.json。问题在于,加载A的字符串会覆盖B的字符串,并且它们会丢失。
使用angular-translate,有没有一种方法可以加载每个模块的字符串而不进行覆盖,或者父模块是否必须从单个en.json加载所有字符串?
这是我如何加载翻译字符串的示例(在coffeescript中):
my_module.config(['$translateProvider', ($translateProvider) ->
$translateProvider.useStaticFilesLoader
prefix: '/json/localization/A/'
suffix: '.json'
$translateProvider.preferredLanguage 'en'
])
angular-
translate支持异步加载部分语言文件。所有部分都将每种语言合并为一个词典。官方文档可以在这里找到:http : //angular-
translate.github.io/docs/#/guide/12_asynchronous-loading
它支持为指向模块化语言文件的url模板应用模板:
$translateProvider.useLoader('$translatePartialLoader', {
urlTemplate: '/i18n/{part}/{lang}.json'
});
在控制器内部,您可以添加语言模块并刷新数据绑定,如下所示:
angular.module('contact')
.controller('ContactCtrl',
function ($scope, $translatePartialLoader, $translate) {
$translatePartialLoader.addPart('contact');
$translate.refresh();
});
当然,也可以在路线的解析阶段中涵盖部分加载
另外,您也可以考虑构建自己的自定义加载器功能。http://angular-
translate.github.io/docs/#/guide/13_custom-loaders
这提供了将所需的语言模块结合在一起的全部灵活性。例如,您可以执行以下操作:
app.factory('customLoader', function ($http, $q) {
// return loaderFn
return function (options) {
var deferred = $q.defer();
var data = {
'TEXT': 'Fooooo'
};
$http.get('nls/moduleA/en.json').success(function(moduleA){
angular.extend(data, moduleA);
$http.get('nls/moduleB/en.json').success(function(moduleB){
angular.extend(data, moduleB);
deferred.resolve(data);
});
});
return deferred.promise;
};
});
简介 深度翻译(英文名:Deepin Translator)是deepin 团队为开发的一款强大的翻译软件。 深度翻译提供数十种语言互译,支持划出和取词,同时还支持图片取词,简洁的外观和操作,为您提供从所未有的翻译体验。 深度翻译是一款自由软件,遵循自由软件基金会发布的 GNU 通用公共许可证第三版。 目前最新版本为1.0版本。 特性 *多种语言互翻,支持有道、Google、星际译王 *离线可以使
我正在用Django做一个中文博客。我用中文写所有我能控制的东西,如文章文本,博客标题,博客导航,评论和联系人表单的标签标签。我唯一不能控制的是表单提交错误,如“此字段是必需的。”,“输入有效的电子邮件地址。”。因为我使用django评论框架和表单库来制作我的评论表单和联系人表单,我不知道如何将英文版替换成中文版。 为什么django翻译一些错误消息而忽略其他错误消息? 如果django不能自动翻
翻译是一门非常强调实践并依赖练习的手艺活,这本书是作者从翻译“票友”出发,走“野路”逐渐成长为翻译“熟手”的经验总结。 不同于传统的正经教材,这本书更强调实践经验。全书分三部分:翻译概论让大家对翻译有个全面的了解,译文讲习详细剖析热心网友提供的译文习作,实战经验好比软件开发中的设计模式,它讲解各种常见搭配、句型的处理之道,告诉读者:遇到这类问题,照着做就好了。
我有一个从xml文档中读取数据的程序。在这个xml文档中,一些属性包含特殊字符,如“\n”、“t”等。 有没有一种简单的方法可以将所有这些字符串替换为实际的字符,或者我必须像下面的例子一样为每个字符手动替换? 手动示例: 编辑: 我正在寻找某种方法来处理字符串,就像这样的转义字符串(尽管我知道这是行不通的)
翻译 & 本地化 Docusaurus允许使用 Crowdin 轻松实现翻译功能。 以英文撰写的文档文件将上传到 Crowdin,由社区内的用户进行翻译。 使用英文字符串编写的顶层页面可以通过在 <translate> 标签中包装要翻译的任何字符串来翻译。 其他标题和标签也将被找到并正确翻译。 Docusaurus 翻译配置 要用 Docusaurus 生成用于翻译的示例文件,请使用命令行参数 t
您可使用 Google Translate™ 应用程式翻译词组: 按下侧边电源按钮打开应用程式菜单,找到并轻触Translate(翻译)。 您将看到翻译源语言与目标语言这两种语言。您可通过轻触某一语言的名称来更改语言。 轻触“麦克风”图标并说出您想翻译的词组。 译文将显示在屏幕上。