Angular-translate:用不同的语言翻译页面的不同部分
Angular-translate: translate different portions of the page with different languages
我正在使用 AngularJS 1.4.x 编写 Web 应用程序,我正在使用“angular-translate”作为本地化库。
该应用程序支持两种语言:英语和法语。
用户可以在这两种语言之间切换,应用程序会相应地进行本地化。
现在我有以下要求:我需要用 "main language" 本地化所有应用程序,假设是英语,但我需要将应用程序的一小部分本地化为其他语言(法语)。
两种语言必须co-exists,比如申请header是英文,但是页面内容是法文,请看附图:
我该怎么做?这个库可以吗?
实现此目的的一种方法是制作您自己的翻译过滤器,它将包装 angular 翻译。
app.filter('mytranslation', ['$translate', '$filter', function($translate, $filter) {
return function(input, lang) {
input = input || '';
var currentLanguage = $translate.use();
$translate.use(lang);
var result = $filter("translate")(input);
$translate.use(currentLanguage);
return result;
}
}])
然后在 html 页面中,您可以将其用作:
<p>German section</p>
{{'HELLO' |我的翻译:'de'}}
这是一个工作示例:https://plnkr.co/edit/pYFo3Wapz12Q6686zrqn?p=preview
我正在使用 AngularJS 1.4.x 编写 Web 应用程序,我正在使用“angular-translate”作为本地化库。
该应用程序支持两种语言:英语和法语。
用户可以在这两种语言之间切换,应用程序会相应地进行本地化。
现在我有以下要求:我需要用 "main language" 本地化所有应用程序,假设是英语,但我需要将应用程序的一小部分本地化为其他语言(法语)。
两种语言必须co-exists,比如申请header是英文,但是页面内容是法文,请看附图:
我该怎么做?这个库可以吗?
实现此目的的一种方法是制作您自己的翻译过滤器,它将包装 angular 翻译。
app.filter('mytranslation', ['$translate', '$filter', function($translate, $filter) {
return function(input, lang) {
input = input || '';
var currentLanguage = $translate.use();
$translate.use(lang);
var result = $filter("translate")(input);
$translate.use(currentLanguage);
return result;
} }])
然后在 html 页面中,您可以将其用作:
<p>German section</p>
{{'HELLO' |我的翻译:'de'}}
这是一个工作示例:https://plnkr.co/edit/pYFo3Wapz12Q6686zrqn?p=preview