我使用AngularJS和angular-translate进行国际化。但是我的网站上有从数据库加载的产品。由于我想避免制作3个不同的集合并根据语言加载一个集合,我想使用一个并动态翻译内容。
到目前为止,我已经尝试了直截了当的方式,在我的数据库中输入以下内容:
"name" : "{{'product_general' | translate}}",
然而,它只是将其呈现为我网站上的字符串。我的问题有可能解决方案吗?
答案 0 :(得分:1)
尝试仅将占位符存储在数据库中。示例中单引号中的部分:
product_general
从数据库中读取后,将该引用放在视图中,它应该可以正常工作。
在控制器中:
$scope.valueReadFromDb = ...;
在视图中:
{{ valueReadFromDb | translate }}
或者,如果您想在控制器端而不是视图中翻译某些内容,无论出于何种原因,您可以在控制器中注入$ filter并执行以下操作:
var translate = $filter('translate');
$scope.someVariable = translate('PLACEHOLDER');