我有一个angulerjs / grunt / gettext / node.js应用程序。我已经生成了pot文件但是如何让我的程序自动翻译?我看到你可以使用pootle,zanata等上传它们,但是没有找到足够的在线帮助。提前谢谢
答案 0 :(得分:0)
我不知道Pootle或Zanata。但是,一旦你有.json格式的翻译文件,我会告诉你一种基于用户代理自动翻译的方法。
您可以像这样以角度提供Lang服务: http://jsfiddle.net/e5nhttcf/
module.factory('Lang',['$q', '$http', function($q){
var lang = {};
lang.literals = {};
lang.current = navigator.language;
lang.getLiterals = function(){
var deferred = $q.defer();
$http.get(location.origin + "/getlang/"+lang.current).success(function(data, status, headers, config){
if(data){
lang.literals = data;
deferred.resolve();
}
});
return deferred.promise;
};
return lang;
}
}]);
首先,在初始化应用程序时调用getLiterals。
然后,您只需要在控制器中注入工厂并将文字分配给局部变量。然后在html中你有一个本地化文字的引用:
<div> {{literals.greetings}} </div>
注意:我没有测试代码,仅用作参考