gpt4 book ai didi

javascript - 如何在基于 angularjs 的项目中动态更改 uploadcare 小部件中的语言环境

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:34:29 25 4
gpt4 key购买 nike

我正在使用 uploadcare widget在我基于 angularjs 的应用程序中。我将这个小部件集成为 Angular Directive(指令)。

文档说,我应该设置全局变量来更改语言环境:

<script>
UPLOADCARE_LOCALE = 'ru';
</script>

但是我对angular不是很熟悉。所以,我不知道如何动态地做到这一点。

我很乐意提供任何帮助。

更新


我尝试将 $rootScope 添加到我的 uploadcare 指令并在那里设置 UPLOADCARE_LOCALE 变量:

angular.module("project").directive 'projectUploadcare', ($uploadcare, $rootScope) ->
restrict: 'E'
replace: true
template: '''
<span>
<span class="uploadcare-preview"></span>
<input type="hidden">
</span>
'''
link: (scope, element, attrs) ->
$rootScope.UPLOADCARE_LOCALE = 'ru'
... other code ...

但这并没有帮助。

最佳答案

所有全局设置在页面加载时读取一次。 Locale是全局设置,不能为特定小部件覆盖。但是according to source有一个 hack 允许在运行时重建翻译。

首先,您需要获取内部 Uploadcare API。

var internalUploadcare;
uploadcare.plugin(function(internal) {
internalUploadcare = internal;
});

然后您可以使用内部internalUploadcare.locale.rebuild 方法来重建区域设置。第三步是重新初始化页面上现有的小部件。例如:

$('#uploader').html(
$('#uploader input:eq(0)')
);
uploadcare.initialize($('#uploader'));

全部相加:http://jsbin.com/comone/1/watch

关于javascript - 如何在基于 angularjs 的项目中动态更改 uploadcare 小部件中的语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24430520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com