@@ -9,8 +9,11 @@ import Uppy from '@uppy/core'
99import Dashboard from ' @uppy/dashboard'
1010import ImageEditor from ' @uppy/image-editor'
1111import XHRUpload from ' @uppy/xhr-upload'
12+ import { useLexicon } from ' @vuetools/useLexicon'
1213import { onBeforeUnmount , onMounted } from ' vue'
1314
15+ const { _ } = useLexicon ()
16+
1417const props = defineProps ({
1518 productId: {
1619 type: [Number , String ],
@@ -63,7 +66,47 @@ onBeforeUnmount(() => {
6366 }
6467})
6568
69+ const buildUppyLocale = () => {
70+ const isRu = (window .MODx ? .cultureKey || ' en' ).toLowerCase ().startsWith (' ru' )
71+ return {
72+ strings: {
73+ dropPasteFiles: _ (' ms3_gallery_uppy_drop_paste' ),
74+ browse: _ (' ms3_gallery_uppy_browse' ),
75+ browseFiles: _ (' ms3_gallery_uppy_browse_files' ),
76+ browseFolders: _ (' ms3_gallery_uppy_browse_folders' ),
77+ uploadComplete: _ (' ms3_gallery_uppy_upload_complete' ),
78+ uploadFailed: _ (' ms3_gallery_uppy_upload_failed' ),
79+ uploading: _ (' ms3_gallery_uppy_uploading' ),
80+ complete: _ (' ms3_gallery_uppy_complete' ),
81+ cancel: _ (' ms3_gallery_uppy_cancel' ),
82+ remove: _ (' ms3_gallery_uppy_remove' ),
83+ edit: _ (' ms3_gallery_uppy_edit' ),
84+ retry: _ (' ms3_gallery_uppy_retry' ),
85+ addMore: _ (' ms3_gallery_uppy_add_more' ),
86+ xFilesSelected: {
87+ 0 : _ (' ms3_gallery_uppy_x_files_selected_0' ),
88+ 1 : _ (' ms3_gallery_uppy_x_files_selected_1' ),
89+ 2 : _ (' ms3_gallery_uppy_x_files_selected_2' ),
90+ },
91+ uploadXFiles: {
92+ 0 : _ (' ms3_gallery_uppy_upload_x_files_0' ),
93+ 1 : _ (' ms3_gallery_uppy_upload_x_files_1' ),
94+ 2 : _ (' ms3_gallery_uppy_upload_x_files_2' ),
95+ },
96+ },
97+ pluralize: isRu
98+ ? n =>
99+ n % 10 === 1 && n % 100 !== 11
100+ ? 0
101+ : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20 )
102+ ? 1
103+ : 2
104+ : n => (n === 1 ? 0 : 1 ),
105+ }
106+ }
107+
66108const initUppy = () => {
109+ const locale = buildUppyLocale ()
67110 uppy = new Uppy ({
68111 id: ' gallery-uploader' ,
69112 autoProceed: false ,
@@ -74,29 +117,14 @@ const initUppy = () => {
74117 minNumberOfFiles: null ,
75118 allowedFileTypes: props .allowedFileTypes ,
76119 },
77- locale: {
78- strings: {
79- // English localization
80- dropPasteFiles: ' Drop files here or %{browse}' ,
81- browse: ' browse' ,
82- uploadComplete: ' Upload complete' ,
83- uploadFailed: ' Upload failed' ,
84- uploading: ' Uploading...' ,
85- complete: ' Complete' ,
86- cancel: ' Cancel' ,
87- remove: ' Remove' ,
88- edit: ' Edit' ,
89- retry: ' Retry' ,
90- addMore: ' Add more' ,
91- xFilesSelected: {
92- 0 : ' %{smart_count} file selected' ,
93- 1 : ' %{smart_count} files selected' ,
94- 2 : ' %{smart_count} files selected' ,
95- },
96- },
97- },
120+ locale,
98121 })
99122
123+ const noteText = _ (' ms3_gallery_uppy_note_max_size' ).replace (
124+ ' %{maxSize}' ,
125+ formatBytes (props .maxFileSize )
126+ )
127+
100128 uppy .use (Dashboard, {
101129 target: ' #uppy-dashboard' ,
102130 inline: true ,
@@ -105,7 +133,7 @@ const initUppy = () => {
105133 proudlyDisplayPoweredByUppy: false ,
106134 showProgressDetails: true ,
107135 hideUploadButton: false ,
108- note: ` Maximum size: ${ formatBytes ( props . maxFileSize ) } ` ,
136+ note: noteText ,
109137 theme: ' light' ,
110138 })
111139
0 commit comments