Ser*_*gey 4 javascript locale file-upload angularjs uploadcare
我在基于angularjs的应用程序中使用uploadcare小部件.我将这个小部件集成为angular指令.
文档说,我应该设置全局变量来改变语言环境:
<script>
UPLOADCARE_LOCALE = 'ru';
</script>
Run Code Online (Sandbox Code Playgroud)
但我对角度不太熟悉.所以,我不知道它是如何动态的.
我会很高兴得到任何帮助.
更新
我尝试将$ 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 ...
Run Code Online (Sandbox Code Playgroud)
但它没有帮助.
在页面加载时读取所有全局设置一次.区域设置是全局设置,不能覆盖特定小部件.但根据消息来源,有一个hack允许人们在运行时重建翻译.
首先,您需要获取内部的Uploadcare API.
var internalUploadcare;
uploadcare.plugin(function(internal) {
internalUploadcare = internal;
});
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用内部internalUploadcare.locale.rebuild方法来重建区域设置.第三步是重新初始化页面上现有的小部件.例如:
$('#uploader').html(
$('#uploader input:eq(0)')
);
uploadcare.initialize($('#uploader'));
Run Code Online (Sandbox Code Playgroud)
全部加在一起:http://jsbin.com/comone/1/watch
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |