Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在基于angularjs的项目中动态更改uploadcare小部件中的区域设置_Javascript_Angularjs_File Upload_Locale_Uploadcare - Fatal编程技术网

Javascript 如何在基于angularjs的项目中动态更改uploadcare小部件中的区域设置

Javascript 如何在基于angularjs的项目中动态更改uploadcare小部件中的区域设置,javascript,angularjs,file-upload,locale,uploadcare,Javascript,Angularjs,File Upload,Locale,Uploadcare,我在基于angularjs的应用程序中使用。我将这个小部件集成为angular指令 文档中说,我应该设置全局变量以更改语言环境: <script> UPLOADCARE_LOCALE = 'ru'; </script> UPLOADCARE_LOCALE='ru'; 但我不太熟悉这个词。所以,我不知道如何动态地进行 我很高兴能得到任何帮助 更新 我尝试将$rootScope添加到我的uploadcare指令中,并在其中设置uploadcare\u LOCA

我在基于angularjs的应用程序中使用。我将这个小部件集成为angular指令

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

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

UPLOADCARE_LOCALE='ru';
但我不太熟悉这个词。所以,我不知道如何动态地进行

我很高兴能得到任何帮助

更新


我尝试将$rootScope添加到我的uploadcare指令中,并在其中设置uploadcare\u 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 ...
angular.module(“project”).directive“projectUploadcare”,($uploadcare,$rootScope)->
限制:“E”
替换:正确
模板:“”
'''
链接:(范围、元素、属性)->
$rootScope.UPLOADCARE\u区域设置='ru'
... 其他代码。。。

但是它没有帮助。

手动使用

UPLOADCARE_LOCALE_TRANSLATIONS = {
  errors: {
    'portrait': 'Landscape images only'  // message for widget
  },
  dialog: {tabs: {preview: {error: {
    'portrait': {  // messages for dialog's error page
      title: 'No portrait images are allowed.',
      text: 'We are sorry but image should be landscape.',
      back: 'Back'
    }
  } } } }
};
是的:

UPLOADCARE_LOCALE = 'en';
只需确保在之前设置此变量


但这与AngularJS无关

所有全局设置都是在页面加载时读取一次的。是全局设置,无法覆盖特定小部件。但有一种黑客可以在运行时重建翻译

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

var internalUploadcare;
uploadcare.plugin(function(internal) {
  internalUploadcare = internal;
});
然后您可以使用internal
internalUploadcare.locale.rebuild
方法来重建区域设置。第三步是重新初始化页面上现有的小部件。例如:

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

加起来:

不,你误解了我。我不想对区域设置进行自定义。我只想在我的应用程序中更改它(例如,从“en”改为“ru”)。因此,请尝试我回答的第二部分,以澄清-您的目标是在不重新加载页面的情况下动态更改前端的区域设置吗?@davidas!对不起,如果我的解释不太清楚的话。非常感谢!你真的帮了我()