我正在使用Angular Translate。這是翻譯一個字符串的最簡單方法,其中一個單詞必須根據單數還是複數變化?像「添加10分」和「添加1分」?角度翻譯:如何處理單數和複數單詞?
1
A
回答
1
角度翻譯已經具備此功能。本頁有說明和示例:http://angular-translate.github.io/docs/#/guide/14_pluralization
+0
我遇到過這個文檔,但無法看到我如何將它轉換成我的需求。你能給我一個小例子嗎? – dhrm 2015-03-19 11:36:47
0
從頁面示例中,我嘗試過使用「消息格式」,但添加插值操作會使我的代碼無法工作。問題是在這一行:
$translateProvider.addInterpolation('$translateMessageFormatInterpolation');
雖然這不是最優雅的方式得到它,它的工作原理:
app.js
var app = angular.module('myApp', ['pascalprecht.translate']);
app.config(['$translateProvider', function ($translateProvider) {
$translateProvider.preferredLanguage('en');
//$translateProvider.addInterpolation('$translateMessageFormatInterpolation');
$translateProvider.translations('en', {
POINTS1: '{{val}} point added',
POINTSN:'{{val}} points added',
POINTS: '{NUM, select, one{point} morethanone{points}} added.'
});
$translateProvider.translations('es', {
POINTS1: '{{val}} punto añadido',
POINTSN:'{{val}} puntos añadidos',
POINTS: '{NUM, select, one{punto} morethanone{puntos} añadidos.'
});
}]);
app.controller('Ctrl', ['$translate', '$scope', function ($translate, $scope) {
$scope.points = 10;
$scope.one_point = function() {
return points === 1;
};
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};
}]);
的index.html
<!doctype html>
<html ng-app="myApp">
<head>
<!--script src="http://getbootstrap.com/2.3.2/assets/js/bootstrap-dropdown.js"></script-->
<script src="http://rawgithub.com/SlexAxton/messageformat.js/master/messageformat.js"></script>
<script src="http://rawgithub.com/SlexAxton/messageformat.js/master/locale/de.js"></script>
<script src="http://rawgithub.com/SlexAxton/messageformat.js/master/locale/fr.js"></script>
<script src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
<script src="http://rawgithub.com/angular/bower-angular-cookies/master/angular-cookies.min.js"></script>
<script src="http://rawgithub.com/angular-translate/bower-angular-translate/master/angular-translate.min.js"></script>
<script src="http://rawgithub.com/angular-translate/bower-angular-translate-interpolation-messageformat/master/angular-translate-interpolation-messageformat.min.js"></script>
<script src="http://rawgithub.com/angular-translate/bower-angular-translate-storage-cookie/master/angular-translate-storage-cookie.min.js"></script>
<script src="http://rawgithub.com/angular-translate/bower-angular-translate-storage-local/master/angular-translate-storage-local.min.js"></script>
<script src="http://rawgithub.com/angular-translate/bower-angular-translate-loader-static-files/master/angular-translate-loader-static-files.min.js"></script>
<script src="http://rawgithub.com/angular-translate/bower-angular-translate-handler-log/master/angular-translate-handler-log.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<div ng-controller="Ctrl">
<div ng-show="Ctrl.one_point()">
<p translate="POINTS1" translate-values="{ val: {{points}} }"></p>
</div>
<div ng-show="!Ctrl.one_point()">
<p translate="POINTSN" translate-values="{ val: {{points}} }"></p>
</div>
<button ng-click="changeLanguage('es')" translate="BUTTON_LANG_ES"></button>
<button ng-click="changeLanguage('en')" translate="BUTTON_LANG_EN"></button>
</div>
</body>
</html>
相關問題
- 1. 如何在翻轉的Y軸角度處理翻譯矩陣
- 2. Django翻譯複數和單數形式的單詞的奇怪行爲
- 3. 如何修復在翻譯網頁上顯示翻譯鍵的角度翻譯?
- 4. 角度翻譯 - 翻譯翻譯值attr
- 5. WordPress WooCommerce單詞不翻譯
- 6. 如何從java翻譯器中獲取翻譯的單詞?
- 7. 角度翻譯和分頁
- 8. 如何通過百度翻譯多個單詞/句子
- 9. 如何處理用UISearchBar和UITableView在單詞中搜索單詞?
- 10. 試圖解決單詞和翻譯的數據庫模型?
- 11. 如何處理翻譯PSEUDO_LANGUAGE和Xcode
- 12. Django法語翻譯 - 如何處理翻譯字符串中的單引號?
- 13. 翻譯角度數據表頭
- 14. 角度翻譯十進制數
- 15. 角度翻譯:翻譯動態值
- 16. 角度翻譯更新翻譯表
- 17. 如何加載JSON數組以翻譯AngularJS網頁與角度翻譯
- 18. 如何從谷歌翻譯詞組中獲取單詞?
- 19. 如何使用翻譯斗篷修復角度翻譯FOUC問題?
- 20. AngularJS翻譯:如何處理鏈接的表單文本?
- 21. NEST ElasticSearch複數和單數搜索詞
- 22. 單詞在線動態數據處理
- 23. 如何使用角度翻譯翻譯頁面標題的值?
- 24. 如何禁用角度翻譯警告?
- 25. 如何在用戶選擇網站中的單詞時翻譯單詞?
- 26. 用引用引號翻譯的單詞翻譯
- 27. Joomla翻譯文件不會翻譯所有單詞
- 28. 將每個單詞翻譯成句子
- 29. 號碼翻譯最多999999999到單詞
- 30. 如何規範化數據庫表中有複數和單數的單詞?
你可以隨時嘗試更多的你像「添加點數:5」這樣的通信消息。也許這不是你想要的解決方案,但它很粗糙,準備就緒。 – 2015-03-19 10:21:27