我试图在角度上翻译Ui-grid,但我不能.我只是想翻译columnDefs.
这是我的控制器:
$scope.gridOptions = {
enableSorting: true,
columnDefs: [
{ name: '?????', cellClass: "editCell", cellTemplate: '<i id="editBtn" tooltip-placement="left" tooltip="????? ???????" class="fa fa-eye" ng-click="getExternalScopes().editUser(row.entity.RequestCode)" ></i>', headerClass: 'JobHeader' },
{
name: '?? ???', headerClass: 'cityHeader', field: 'CityCode', editableCellTemplate: self.editableCellTempate,
enableCellEdit: true
},
{ name: '?? ????', field: 'RgnCode' },
{ name: '????? ???????', field: 'RequestCode' },
],
};
Run Code Online (Sandbox Code Playgroud)
我想翻译 name in columnDefs
任何的想法 ?
我正在使用Angular Material和angular-translate.
基本上当使用AM的md-select我有:
<md-select-label>{{ userLanguage ? userLanguage.chosenLanguage: "Choose language"}}</md-select-label>
Run Code Online (Sandbox Code Playgroud)
如果未选择任何选项,则显示选择语言,否则显示所选选项.
最后,我使用angular-translate在我的应用程序的视图中翻译所有标签(例如,在多种语言中选择"选择语言"),如:
{{ 'LB_CHOOSE_LANGUAGE' | translate }}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过以下方式嵌套2个表达式(三元运算符+角度转换过滤器)时:
{{ userLanguage ? userLanguage.chosenLanguage : {{ 'LB_CHOOSE_LANGUAGE' | translate }} }}
Run Code Online (Sandbox Code Playgroud)
我的语法无效:
错误:[$ parse:syntax] http://errors.angularjs.org/1.4.0-rc.2/ $ parse/syntax
关于如何处理嵌套表达式的任何线索?
使用时我遇到UTF8字符问题SanitizeValueStrategy('sanitize').我必须使用它,因为客户端使用语言文件来编辑文本,他可能会使用像<b>或<i>...
我只需要使用json文件进行翻译.客户端不会触摸应用程序代码来更改任何文本.JSON文件:
{
"H1": "Typy dom?",
"NAME": "K?estní"
}
Run Code Online (Sandbox Code Playgroud)
只有在使用角度插值时才会出现问题:
<h1 translate>houseTypes.H1</h1>
Typy dom?
Run Code Online (Sandbox Code Playgroud)
我可以使用这种方法将文本放在元素的主体内部,但这些问题仍然存在于属性中.
<input placeholder="'houseTypes.NAME'|translate"></h1>
Křestní
Run Code Online (Sandbox Code Playgroud)
问题是:
如何才能正确编写UTF8字符,而只在插值中使用JSON静态文件加载器,或者在属性中使用任何其他方式placeholder.
在我的应用程序中,我使用AngularJS模块Pascal Precht(翻译模块).我来给你,因为我不能在我的方法得到myApp.Run的app.js一个翻译的关键.我可以在控制器或视图中执行.但是在项目初始化时无法获得它.它向我展示了关键,而不是通信.
你有解决方案吗?
这是我的代码:
var myApp = angular.module('myApp', ['ngRoute', 'ngAnimate', 'myApp.filters', 'myApp.services', 'myApp.directives', 'pascalprecht.translate']);
// Declare routeProvider
myApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {templateUrl:'partials/connectView.html', controller:'ConnectController'});
$routeProvider.when('/homeView', {templateUrl:'partials/homeView.html', controller:'HomeController'});
}]);
// Declare translateProvider
myApp.config(['$translateProvider', function($translateProvider) {
$translateProvider.useStaticFilesLoader({
prefix: 'res/localization/lang-',
suffix: '.json'
});
$translateProvider.preferredLanguage('fr_FR');
//$translateProvider.preferredLanguage('en_US');
}]);
// Declare Global variables
myApp.run(['$rootScope', '$filter', function($rootScope, $filter) {
$rootScope.list = false;
etc....
//I'm trying to get translate Key but it doesn't work
console.log($filter('translate')('MY_KEY'));
}]);
Run Code Online (Sandbox Code Playgroud)
我的AngularJS版本是1.2.16(最后一个稳定版本).谢谢
我目前正在本地化我的Angular网站,而angular-translate似乎是较小字符串的一个很好的选择.但是我有几个页面有很多静态html内容,如ToS或about页面,我真的不想塞进JSON文件(混合使用html标签等).
那么有没有办法使用angular-translate(甚至没有那个模块)来保存部分视图中的内容(比如/partials/tos-en.html)并根据语言进行交换?
我是编程和角度的新手.我需要使用angular-translate及其'useUrlLoader,因为我的翻译存储在数据库中.$translateProvider.useUrlLoader('foo/bar.json');
$translateProvider.preferredLanguage('en');
虽然使用staticFilesLoader似乎对我来说足够简单,因为我只需要两个带有翻译数据的独立json文件,我无法获得useUrlLoader所期望的内容.据我所知,它期望json包括多种语言翻译(例如英语和德语).无法在任何地方找到此类文件的示例.
我试图使用角度翻译,我有一个最好的练习题.最好的做法是使用键作为字符串,如下所示:
app.config(function($translateProvider) {
$translateProvider.translations('en', {
HEADLINE: 'Hello there, This is my awesome app!',
INTRO_TEXT: 'And it has i18n support!'
});
});
Run Code Online (Sandbox Code Playgroud)
和
<h2>{{ 'HEADLINE' | translate }}</h2>
<p>{{ 'INTRO_TEXT' | translate }}</p>
Run Code Online (Sandbox Code Playgroud)
而不是像:
<h2 ng-bind="'Hello there, This is my awesome app!' | translate"></h2>
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么一种方法最好的做法而不是另一种?使用多语言支持所需的密钥是什么?
在我的离子应用程序中,有一个我需要使用的标签
$translateProvider.useSanitizeValueStrategy('sanitize');
Run Code Online (Sandbox Code Playgroud)
因为翻译字段中有html(translation-fr.js):
"recommendedboard": "Prefer a <span class=\"animateFUN\">SMALL-WAVE</span> board</span>"
Run Code Online (Sandbox Code Playgroud)
但是还有其他一些我需要使用的地方
$translateProvider.useSanitizeValueStrategy('escape');
Run Code Online (Sandbox Code Playgroud)
因为在法语翻译中,有些字母有重音,例如:
"31": "Modèle"
Run Code Online (Sandbox Code Playgroud)
我现在找到的唯一解决方案是使用该null策略.有没有办法同时使用这两种策略,或者为每种翻译指定策略?
我在index.html中有这个:
<meta charset="utf-8">
Run Code Online (Sandbox Code Playgroud)
我检查了翻译fr.js文件:
$ file -bi www/js/dicts/translation-fr.json
text/plain; charset=utf-8
Run Code Online (Sandbox Code Playgroud)
谢谢
有谁知道如何使用jhi-translate转换角度4中的占位符?我已将翻译保存在i18n的Json文件中。
我下面的想法行不通。
placeholder="jhiTranslate='main.form.text'"
Run Code Online (Sandbox Code Playgroud) 我有一个开关小部件,它使用自定义数据属性值来标记自身。
.switch.switch-text .switch-label::before {
right: 1px;
color: #c2cfd6;
content: attr(data-hide);
}
.switch.switch-text .switch-label::after {
left: 1px;
color: #c2cfd6;
content: attr(data-show);
opacity: 0;
}
.switch.switch-text .switch-input:checked ~ .switch-label::before {
opacity: 0;
}
.switch.switch-text .switch-input:checked ~ .switch-label::after {
opacity: 1;
}Run Code Online (Sandbox Code Playgroud)
<label class="switch switch-text switch-pill switch-primary">
<input type="checkbox" class="switch-input" checked>
<span class="switch-label" attr.data-show="{{GLOBALS.ACTIONS.SHOW | translate}}" attr.data-hide="{{GLOBALS.ACTIONS.HIDE | translate}}"></span>
<span class="switch-handle"></span>
</label>Run Code Online (Sandbox Code Playgroud)
但它不起作用。我查看了与类似问题相关的不同答案,但有人说它有效,有人说它无效。如果我用户没有 attr。在前面我无论如何都会收到绑定错误,因为它无法识别该属性。
如何使用角度翻译来翻译自定义属性的值?
angularjs ×8
javascript ×4
angular ×2
ionic ×1
jhipster ×1
json ×1
localization ×1
placeholder ×1
utf-8 ×1