You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需页面重载为$translateProvider动态添加英文JSON翻译条目?

动态添加AngularJS $translate英文翻译条目(无需刷新页面)

你在config阶段通过$translateProvider初始化了英文语言包,要在运行时动态追加新的翻译条目,需要使用运行时的$translate服务,而非config阶段的$translateProvider。

具体实现步骤:

  1. 在需要添加翻译的控制器或服务中注入$translate服务
  2. 准备好要追加的新翻译JSON对象
  3. 调用$translate.translations()方法,传入目标语言、新翻译对象,并设置第三个参数为true(表示合并而非覆盖原有翻译)

代码示例:

假设你要追加的新翻译条目是:

const newEnTranslations = {
  'PROFILE_TITLE': 'User Profile',
  'SETTINGS_LABEL': 'Account Settings'
};

在控制器中执行添加操作:

app.controller('SomeController', ['$translate', function($translate) {
  // 可在用户操作触发后执行,比如按钮点击、异步请求完成后
  function addNewTranslations() {
    // 第三个参数true:合并新翻译到现有en语言包,而非替换原内容
    $translate.translations('en', newEnTranslations, true);
  }

  // 调用方法完成翻译追加
  addNewTranslations();
}]);

关键说明:

  • 第三个参数true是核心:如果不传或设为false,新翻译会直接覆盖原有的translate_EN内容,设为true才是追加合并
  • 添加完成后无需刷新页面,直接就能在模板或代码中使用新的翻译键(比如{{ 'PROFILE_TITLE' | translate }})
  • 后续切换语言再切回英文,新添加的翻译依然有效,因为已经合并到语言包中

内容的提问来源于stack exchange,提问作者RedTenZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:45:28