@m3ui-vue/m3ui-vue 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/{MMenuItem-CIDblhtb.js → MMenuItem-DpoEsH91.js} +195 -114
  2. package/dist/MMenuItem-DpoEsH91.js.map +1 -0
  3. package/dist/components/MAlert.vue.d.ts +1 -0
  4. package/dist/components/MButton.vue.d.ts +1 -1
  5. package/dist/components/MCalendar.vue.d.ts +3 -0
  6. package/dist/components/MChip.vue.d.ts +3 -3
  7. package/dist/components/MCommandPalette.vue.d.ts +3 -2
  8. package/dist/components/MConfirmDialog.vue.d.ts +0 -2
  9. package/dist/components/MDataTable.vue.d.ts +8 -2
  10. package/dist/components/MDatePicker.vue.d.ts +2 -0
  11. package/dist/components/MDateRangePicker.vue.d.ts +5 -0
  12. package/dist/components/MDialog.vue.d.ts +1 -0
  13. package/dist/components/MFileUpload.vue.d.ts +15 -1
  14. package/dist/components/MInfiniteScroll.vue.d.ts +7 -5
  15. package/dist/components/MMultiSelect.vue.d.ts +13 -1
  16. package/dist/components/MRichTextEditor.vue.d.ts +28 -1
  17. package/dist/components/MScheduler.vue.d.ts +5 -0
  18. package/dist/components/MSnackbar.vue.d.ts +4 -1
  19. package/dist/components/MSpinner.vue.d.ts +1 -0
  20. package/dist/components/MSpotlightSearch.vue.d.ts +3 -2
  21. package/dist/components/MTable.vue.d.ts +2 -1
  22. package/dist/components/MTimePicker.vue.d.ts +1 -0
  23. package/dist/components/MTour.vue.d.ts +3 -0
  24. package/dist/components/MTransferList.vue.d.ts +19 -3
  25. package/dist/components/MTree.vue.d.ts +1 -1
  26. package/dist/composables/useLocale.d.ts +74 -0
  27. package/dist/index.d.ts +2 -0
  28. package/dist/locales/de.d.ts +2 -0
  29. package/dist/locales/es.d.ts +2 -0
  30. package/dist/locales/fr.d.ts +2 -0
  31. package/dist/locales/index.d.ts +8 -0
  32. package/dist/locales/ja.d.ts +2 -0
  33. package/dist/locales/ko.d.ts +2 -0
  34. package/dist/locales/pt.d.ts +2 -0
  35. package/dist/locales/zh.d.ts +2 -0
  36. package/dist/m3ui-vue.css +1 -1
  37. package/dist/m3ui.js +2734 -2647
  38. package/dist/m3ui.js.map +1 -1
  39. package/dist/plugin.d.ts +3 -1
  40. package/dist/rich-text-editor.d.ts +1 -0
  41. package/dist/rich-text-editor.js +141 -113
  42. package/dist/rich-text-editor.js.map +1 -1
  43. package/dist/styles/palettes.css +660 -0
  44. package/dist/styles.css +1 -1
  45. package/package.json +6 -2
  46. package/src/components/MAlert.vue +5 -1
  47. package/src/components/MCalendar.vue +14 -5
  48. package/src/components/MCommandPalette.vue +11 -7
  49. package/src/components/MConfirmDialog.vue +6 -5
  50. package/src/components/MDataTable.vue +18 -9
  51. package/src/components/MDatePicker.vue +11 -4
  52. package/src/components/MDateRangePicker.vue +15 -5
  53. package/src/components/MDialog.vue +5 -1
  54. package/src/components/MFileUpload.vue +22 -10
  55. package/src/components/MInfiniteScroll.vue +14 -9
  56. package/src/components/MMultiSelect.vue +11 -7
  57. package/src/components/MRichTextEditor.vue +95 -34
  58. package/src/components/MScheduler.vue +12 -4
  59. package/src/components/MSnackbar.vue +8 -1
  60. package/src/components/MSpinner.vue +5 -1
  61. package/src/components/MSpotlightSearch.vue +11 -7
  62. package/src/components/MTable.vue +8 -4
  63. package/src/components/MTimePicker.vue +5 -1
  64. package/src/components/MTour.vue +12 -9
  65. package/src/components/MTransferList.vue +30 -15
  66. package/src/composables/useColorPalette.ts +30 -20
  67. package/src/composables/useLocale.ts +181 -0
  68. package/src/index.ts +2 -0
  69. package/src/locales/de.ts +93 -0
  70. package/src/locales/es.ts +93 -0
  71. package/src/locales/fr.ts +93 -0
  72. package/src/locales/index.ts +8 -0
  73. package/src/locales/ja.ts +93 -0
  74. package/src/locales/ko.ts +93 -0
  75. package/src/locales/pt.ts +93 -0
  76. package/src/locales/zh.ts +93 -0
  77. package/src/plugin.ts +7 -1
  78. package/src/rich-text-editor.ts +1 -0
  79. package/src/styles/palettes.css +660 -0
  80. package/dist/MMenuItem-CIDblhtb.js.map +0 -1
@@ -3,6 +3,9 @@ import { computed, ref } from 'vue'
3
3
  import MIcon from './MIcon.vue'
4
4
  import MIconButton from './MIconButton.vue'
5
5
  import MCheckbox from './MCheckbox.vue'
6
+ import { useLocale } from '../composables/useLocale'
7
+
8
+ const locale = useLocale()
6
9
 
7
10
  export interface TransferItem {
8
11
  value: string | number
@@ -16,7 +19,15 @@ const props = withDefaults(defineProps<{
16
19
  sourceTitle?: string
17
20
  targetTitle?: string
18
21
  filterable?: boolean
19
- }>(), { sourceTitle: 'Disponibles', targetTitle: 'Seleccionados', filterable: false })
22
+ searchPlaceholder?: string
23
+ emptyText?: string
24
+ moveAllRightLabel?: string
25
+ moveRightLabel?: string
26
+ moveLeftLabel?: string
27
+ moveAllLeftLabel?: string
28
+ }>(), {
29
+ filterable: false,
30
+ })
20
31
 
21
32
  const emit = defineEmits<{ 'update:modelValue': [(string | number)[]] }>()
22
33
 
@@ -83,14 +94,14 @@ function moveAllLeft() {
83
94
  <!-- Source list -->
84
95
  <div class="flex min-w-0 flex-1 flex-col overflow-hidden rounded-lg border border-outline-variant">
85
96
  <div class="flex items-center justify-between border-b border-outline-variant bg-surface-container px-3 py-2">
86
- <span class="text-label-large font-medium text-on-surface">{{ sourceTitle }}</span>
97
+ <span class="text-label-large font-medium text-on-surface">{{ sourceTitle ?? locale.available }}</span>
87
98
  <span class="text-label-small text-on-surface-variant">{{ sourceItems.length }}</span>
88
99
  </div>
89
100
  <div v-if="filterable" class="border-b border-outline-variant px-3 py-2">
90
101
  <input
91
102
  v-model="sourceSearch"
92
103
  type="text"
93
- placeholder="Buscar..."
104
+ :placeholder="searchPlaceholder ?? locale.search"
94
105
  class="w-full bg-transparent text-body-medium text-on-surface outline-none placeholder:text-on-surface-variant/50"
95
106
  />
96
107
  </div>
@@ -106,9 +117,11 @@ function moveAllLeft() {
106
117
  <MIcon v-if="item.icon" :name="item.icon" :size="18" class="shrink-0 text-on-surface-variant" />
107
118
  <span class="flex-1 truncate text-body-medium text-on-surface">{{ item.label }}</span>
108
119
  </button>
109
- <p v-if="!sourceItems.length" class="px-3 py-4 text-center text-body-small text-on-surface-variant">
110
- Sin elementos
111
- </p>
120
+ <slot v-if="!sourceItems.length" name="source-empty">
121
+ <p class="px-3 py-4 text-center text-body-small text-on-surface-variant">
122
+ {{ emptyText ?? locale.noItems }}
123
+ </p>
124
+ </slot>
112
125
  </div>
113
126
  </div>
114
127
 
@@ -116,14 +129,14 @@ function moveAllLeft() {
116
129
  <div class="flex flex-col items-center justify-center gap-1">
117
130
  <MIconButton
118
131
  icon="keyboard_double_arrow_right"
119
- label="Mover todos a la derecha"
132
+ :label="moveAllRightLabel ?? locale.moveAllRight"
120
133
  :size="36"
121
134
  :disabled="!sourceItems.length"
122
135
  @click="moveAllRight"
123
136
  />
124
137
  <MIconButton
125
138
  icon="chevron_right"
126
- label="Mover seleccionados a la derecha"
139
+ :label="moveRightLabel ?? locale.moveRight"
127
140
  variant="tonal"
128
141
  :size="36"
129
142
  :disabled="!checkedSource.size"
@@ -131,7 +144,7 @@ function moveAllLeft() {
131
144
  />
132
145
  <MIconButton
133
146
  icon="chevron_left"
134
- label="Mover seleccionados a la izquierda"
147
+ :label="moveLeftLabel ?? locale.moveLeft"
135
148
  variant="tonal"
136
149
  :size="36"
137
150
  :disabled="!checkedTarget.size"
@@ -139,7 +152,7 @@ function moveAllLeft() {
139
152
  />
140
153
  <MIconButton
141
154
  icon="keyboard_double_arrow_left"
142
- label="Mover todos a la izquierda"
155
+ :label="moveAllLeftLabel ?? locale.moveAllLeft"
143
156
  :size="36"
144
157
  :disabled="!targetItems.length"
145
158
  @click="moveAllLeft"
@@ -149,14 +162,14 @@ function moveAllLeft() {
149
162
  <!-- Target list -->
150
163
  <div class="flex min-w-0 flex-1 flex-col overflow-hidden rounded-lg border border-outline-variant">
151
164
  <div class="flex items-center justify-between border-b border-outline-variant bg-surface-container px-3 py-2">
152
- <span class="text-label-large font-medium text-on-surface">{{ targetTitle }}</span>
165
+ <span class="text-label-large font-medium text-on-surface">{{ targetTitle ?? locale.selected }}</span>
153
166
  <span class="text-label-small text-on-surface-variant">{{ targetItems.length }}</span>
154
167
  </div>
155
168
  <div v-if="filterable" class="border-b border-outline-variant px-3 py-2">
156
169
  <input
157
170
  v-model="targetSearch"
158
171
  type="text"
159
- placeholder="Buscar..."
172
+ :placeholder="searchPlaceholder ?? locale.search"
160
173
  class="w-full bg-transparent text-body-medium text-on-surface outline-none placeholder:text-on-surface-variant/50"
161
174
  />
162
175
  </div>
@@ -172,9 +185,11 @@ function moveAllLeft() {
172
185
  <MIcon v-if="item.icon" :name="item.icon" :size="18" class="shrink-0 text-on-surface-variant" />
173
186
  <span class="flex-1 truncate text-body-medium text-on-surface">{{ item.label }}</span>
174
187
  </button>
175
- <p v-if="!targetItems.length" class="px-3 py-4 text-center text-body-small text-on-surface-variant">
176
- Sin elementos
177
- </p>
188
+ <slot v-if="!targetItems.length" name="target-empty">
189
+ <p class="px-3 py-4 text-center text-body-small text-on-surface-variant">
190
+ {{ emptyText ?? locale.noItems }}
191
+ </p>
192
+ </slot>
178
193
  </div>
179
194
  </div>
180
195
  </div>
@@ -7,26 +7,36 @@ export interface Palette {
7
7
  }
8
8
 
9
9
  export const palettes: Palette[] = [
10
- { id: 'purple', label: 'Morado', seed: '#6750A4' },
11
- { id: 'indigo', label: 'Índigo', seed: '#4355B9' },
12
- { id: 'navy', label: 'Marino', seed: '#354BA0' },
13
- { id: 'blue', label: 'Azul', seed: '#005AC1' },
14
- { id: 'cyan', label: 'Cian', seed: '#006874' },
15
- { id: 'teal', label: 'Teal', seed: '#006B5F' },
16
- { id: 'green', label: 'Verde', seed: '#386A20' },
17
- { id: 'lime', label: 'Lima', seed: '#4C6706' },
18
- { id: 'olive', label: 'Oliva', seed: '#636118' },
19
- { id: 'amber', label: 'Ámbar', seed: '#785900' },
20
- { id: 'sand', label: 'Arena', seed: '#715C2E' },
21
- { id: 'orange', label: 'Naranja', seed: '#8B5000' },
22
- { id: 'deep-orange', label: 'Naranja oscuro', seed: '#96480A' },
23
- { id: 'brown', label: 'Marrón', seed: '#6E4C32' },
24
- { id: 'red', label: 'Rojo', seed: '#B82000' },
25
- { id: 'coral', label: 'Coral', seed: '#A03530' },
26
- { id: 'crimson', label: 'Carmesí', seed: '#9C4068' },
27
- { id: 'pink', label: 'Rosa', seed: '#9C4057' },
28
- { id: 'violet', label: 'Violeta', seed: '#7C39A4' },
29
- { id: 'slate', label: 'Pizarra', seed: '#4A6269' },
10
+ { id: 'purple', label: 'Purple', seed: '#6750A4' },
11
+ { id: 'indigo', label: 'Indigo', seed: '#4355B9' },
12
+ { id: 'navy', label: 'Navy', seed: '#354BA0' },
13
+ { id: 'blue', label: 'Blue', seed: '#005AC1' },
14
+ { id: 'cyan', label: 'Cyan', seed: '#006874' },
15
+ { id: 'teal', label: 'Teal', seed: '#006B5F' },
16
+ { id: 'green', label: 'Green', seed: '#386A20' },
17
+ { id: 'lime', label: 'Lime', seed: '#4C6706' },
18
+ { id: 'olive', label: 'Olive', seed: '#636118' },
19
+ { id: 'amber', label: 'Amber', seed: '#785900' },
20
+ { id: 'sand', label: 'Sand', seed: '#715C2E' },
21
+ { id: 'orange', label: 'Orange', seed: '#8B5000' },
22
+ { id: 'deep-orange', label: 'Deep Orange', seed: '#96480A' },
23
+ { id: 'brown', label: 'Brown', seed: '#6E4C32' },
24
+ { id: 'red', label: 'Red', seed: '#B82000' },
25
+ { id: 'coral', label: 'Coral', seed: '#A03530' },
26
+ { id: 'crimson', label: 'Crimson', seed: '#9C4068' },
27
+ { id: 'pink', label: 'Pink', seed: '#9C4057' },
28
+ { id: 'violet', label: 'Violet', seed: '#7C39A4' },
29
+ { id: 'slate', label: 'Slate', seed: '#4A6269' },
30
+ { id: 'graphite', label: 'Graphite', seed: '#5C5C5C' },
31
+ { id: 'charcoal', label: 'Charcoal', seed: '#3C3C3C' },
32
+ { id: 'steel', label: 'Steel', seed: '#5A6A72' },
33
+ { id: 'ash', label: 'Ash', seed: '#6B6560' },
34
+ { id: 'iron', label: 'Iron', seed: '#505864' },
35
+ { id: 'fog', label: 'Fog', seed: '#625E6E' },
36
+ { id: 'pewter', label: 'Pewter', seed: '#5A6360' },
37
+ { id: 'smoke', label: 'Smoke', seed: '#4D5C66' },
38
+ { id: 'stone', label: 'Stone', seed: '#68635A' },
39
+ { id: 'zinc', label: 'Zinc', seed: '#585B5E' },
30
40
  ]
31
41
 
32
42
  const current = ref(localStorage.getItem('m3-palette') ?? 'purple')
@@ -0,0 +1,181 @@
1
+ import { inject, type InjectionKey } from 'vue'
2
+
3
+ export interface M3Locale {
4
+ // Common
5
+ search: string
6
+ noResults: string
7
+ close: string
8
+ cancel: string
9
+ confirm: string
10
+ loading: string
11
+
12
+ // Navigation
13
+ previous: string
14
+ next: string
15
+ today: string
16
+ more: string
17
+
18
+ // Tables
19
+ selectedCount: string
20
+ recordCount: string
21
+ expand: string
22
+ columns: string
23
+ exportCsv: string
24
+ noGroup: string
25
+
26
+ // Tour
27
+ finish: string
28
+
29
+ // File upload
30
+ dropText: string
31
+ selectText: string
32
+ maxSizePrefix: string
33
+ remove: string
34
+
35
+ // Pickers
36
+ selectDate: string
37
+ selectTime: string
38
+ selectRange: string
39
+ pickStart: string
40
+ pickEnd: string
41
+ previousMonth: string
42
+ nextMonth: string
43
+
44
+ // Scheduler
45
+ dayView: string
46
+ weekView: string
47
+
48
+ // Transfer list
49
+ available: string
50
+ selected: string
51
+ noItems: string
52
+ moveAllRight: string
53
+ moveRight: string
54
+ moveLeft: string
55
+ moveAllLeft: string
56
+
57
+ // Command palette / Spotlight
58
+ searchCommand: string
59
+ navigateHint: string
60
+ selectHint: string
61
+ openHint: string
62
+ closeHint: string
63
+
64
+ // Infinite scroll
65
+ loadingMore: string
66
+ noMoreItems: string
67
+
68
+ // Rich text editor
69
+ bold: string
70
+ italic: string
71
+ underline: string
72
+ strikethrough: string
73
+ highlight: string
74
+ bulletList: string
75
+ orderedList: string
76
+ blockquote: string
77
+ code: string
78
+ alignLeft: string
79
+ alignCenter: string
80
+ alignRight: string
81
+ undo: string
82
+ redo: string
83
+ link: string
84
+ image: string
85
+ paragraph: string
86
+ heading1: string
87
+ heading2: string
88
+ heading3: string
89
+ insertLink: string
90
+ insertImage: string
91
+ imageUrlLabel: string
92
+ insert: string
93
+ }
94
+
95
+ export const defaultLocale: M3Locale = {
96
+ search: 'Search...',
97
+ noResults: 'No results',
98
+ close: 'Close',
99
+ cancel: 'Cancel',
100
+ confirm: 'Confirm',
101
+ loading: 'Loading',
102
+
103
+ previous: 'Previous',
104
+ next: 'Next',
105
+ today: 'Today',
106
+ more: 'more',
107
+
108
+ selectedCount: 'selected',
109
+ recordCount: 'record',
110
+ expand: 'Expand',
111
+ columns: 'Columns',
112
+ exportCsv: 'Export CSV',
113
+ noGroup: 'No group',
114
+
115
+ finish: 'Finish',
116
+
117
+ dropText: 'Drop files here or',
118
+ selectText: 'browse',
119
+ maxSizePrefix: 'Max.',
120
+ remove: 'Remove',
121
+
122
+ selectDate: 'Select date',
123
+ selectTime: 'Select time',
124
+ selectRange: 'Select range',
125
+ pickStart: 'Select start',
126
+ pickEnd: 'Select end',
127
+ previousMonth: 'Previous month',
128
+ nextMonth: 'Next month',
129
+
130
+ dayView: 'Day',
131
+ weekView: 'Week',
132
+
133
+ available: 'Available',
134
+ selected: 'Selected',
135
+ noItems: 'No items',
136
+ moveAllRight: 'Move all right',
137
+ moveRight: 'Move selected right',
138
+ moveLeft: 'Move selected left',
139
+ moveAllLeft: 'Move all left',
140
+
141
+ searchCommand: 'Search command...',
142
+ navigateHint: 'navigate',
143
+ selectHint: 'select',
144
+ openHint: 'open',
145
+ closeHint: 'close',
146
+
147
+ loadingMore: 'Loading...',
148
+ noMoreItems: 'No more items',
149
+
150
+ bold: 'Bold',
151
+ italic: 'Italic',
152
+ underline: 'Underline',
153
+ strikethrough: 'Strikethrough',
154
+ highlight: 'Highlight',
155
+ bulletList: 'Bullet list',
156
+ orderedList: 'Ordered list',
157
+ blockquote: 'Blockquote',
158
+ code: 'Code',
159
+ alignLeft: 'Align left',
160
+ alignCenter: 'Align center',
161
+ alignRight: 'Align right',
162
+ undo: 'Undo',
163
+ redo: 'Redo',
164
+ link: 'Link',
165
+ image: 'Image',
166
+ paragraph: 'Paragraph',
167
+ heading1: 'Heading 1',
168
+ heading2: 'Heading 2',
169
+ heading3: 'Heading 3',
170
+ insertLink: 'Insert link',
171
+ insertImage: 'Insert image',
172
+ imageUrlLabel: 'Image URL',
173
+ insert: 'Insert',
174
+ }
175
+
176
+ export const M3_LOCALE_KEY: InjectionKey<Partial<M3Locale>> = Symbol('m3-locale')
177
+
178
+ export function useLocale(): M3Locale {
179
+ const provided = inject(M3_LOCALE_KEY, {})
180
+ return { ...defaultLocale, ...provided }
181
+ }
package/src/index.ts CHANGED
@@ -10,6 +10,8 @@ export type { Palette } from './composables/useColorPalette'
10
10
  export { useToast } from './composables/useToast'
11
11
  export type { Toast, ToastVariant, ToastPosition, ToastAction, ToastOptions } from './composables/useToast'
12
12
  export { useFieldBg } from './composables/useFieldBg'
13
+ export { useLocale, defaultLocale } from './composables/useLocale'
14
+ export type { M3Locale } from './composables/useLocale'
13
15
 
14
16
  // Components
15
17
  export { default as MAbsolute } from './components/MAbsolute.vue'
@@ -0,0 +1,93 @@
1
+ import type { M3Locale } from '../composables/useLocale'
2
+
3
+ export const deLocale: M3Locale = {
4
+ // Common
5
+ search: 'Suchen...',
6
+ noResults: 'Keine Ergebnisse',
7
+ close: 'Schließen',
8
+ cancel: 'Abbrechen',
9
+ confirm: 'Bestätigen',
10
+ loading: 'Laden',
11
+
12
+ // Navigation
13
+ previous: 'Zurück',
14
+ next: 'Weiter',
15
+ today: 'Heute',
16
+ more: 'mehr',
17
+
18
+ // Tables
19
+ selectedCount: 'ausgewählt',
20
+ recordCount: 'Datensatz',
21
+ expand: 'Erweitern',
22
+ columns: 'Spalten',
23
+ exportCsv: 'CSV exportieren',
24
+ noGroup: 'Keine Gruppe',
25
+
26
+ // Tour
27
+ finish: 'Fertig',
28
+
29
+ // File upload
30
+ dropText: 'Dateien hierher ziehen oder',
31
+ selectText: 'durchsuchen',
32
+ maxSizePrefix: 'Max.',
33
+ remove: 'Entfernen',
34
+
35
+ // Pickers
36
+ selectDate: 'Datum auswählen',
37
+ selectTime: 'Uhrzeit auswählen',
38
+ selectRange: 'Bereich auswählen',
39
+ pickStart: 'Anfang auswählen',
40
+ pickEnd: 'Ende auswählen',
41
+ previousMonth: 'Vorheriger Monat',
42
+ nextMonth: 'Nächster Monat',
43
+
44
+ // Scheduler
45
+ dayView: 'Tag',
46
+ weekView: 'Woche',
47
+
48
+ // Transfer list
49
+ available: 'Verfügbar',
50
+ selected: 'Ausgewählt',
51
+ noItems: 'Keine Elemente',
52
+ moveAllRight: 'Alle nach rechts verschieben',
53
+ moveRight: 'Auswahl nach rechts verschieben',
54
+ moveLeft: 'Auswahl nach links verschieben',
55
+ moveAllLeft: 'Alle nach links verschieben',
56
+
57
+ // Command palette / Spotlight
58
+ searchCommand: 'Befehl suchen...',
59
+ navigateHint: 'navigieren',
60
+ selectHint: 'auswählen',
61
+ openHint: 'öffnen',
62
+ closeHint: 'schließen',
63
+
64
+ // Infinite scroll
65
+ loadingMore: 'Laden...',
66
+ noMoreItems: 'Keine weiteren Elemente',
67
+
68
+ // Rich text editor
69
+ bold: 'Fett',
70
+ italic: 'Kursiv',
71
+ underline: 'Unterstrichen',
72
+ strikethrough: 'Durchgestrichen',
73
+ highlight: 'Hervorheben',
74
+ bulletList: 'Aufzählungsliste',
75
+ orderedList: 'Nummerierte Liste',
76
+ blockquote: 'Zitat',
77
+ code: 'Code',
78
+ alignLeft: 'Linksbündig',
79
+ alignCenter: 'Zentriert',
80
+ alignRight: 'Rechtsbündig',
81
+ undo: 'Rückgängig',
82
+ redo: 'Wiederholen',
83
+ link: 'Link',
84
+ image: 'Bild',
85
+ paragraph: 'Absatz',
86
+ heading1: 'Überschrift 1',
87
+ heading2: 'Überschrift 2',
88
+ heading3: 'Überschrift 3',
89
+ insertLink: 'Link einfügen',
90
+ insertImage: 'Bild einfügen',
91
+ imageUrlLabel: 'Bild-URL',
92
+ insert: 'Einfügen',
93
+ }
@@ -0,0 +1,93 @@
1
+ import type { M3Locale } from '../composables/useLocale'
2
+
3
+ export const esLocale: M3Locale = {
4
+ // Common
5
+ search: 'Buscar...',
6
+ noResults: 'Sin resultados',
7
+ close: 'Cerrar',
8
+ cancel: 'Cancelar',
9
+ confirm: 'Confirmar',
10
+ loading: 'Cargando',
11
+
12
+ // Navigation
13
+ previous: 'Anterior',
14
+ next: 'Siguiente',
15
+ today: 'Hoy',
16
+ more: 'más',
17
+
18
+ // Tables
19
+ selectedCount: 'seleccionados',
20
+ recordCount: 'registro',
21
+ expand: 'Expandir',
22
+ columns: 'Columnas',
23
+ exportCsv: 'Exportar CSV',
24
+ noGroup: 'Sin grupo',
25
+
26
+ // Tour
27
+ finish: 'Finalizar',
28
+
29
+ // File upload
30
+ dropText: 'Arrastra archivos aquí o',
31
+ selectText: 'explorar',
32
+ maxSizePrefix: 'Máx.',
33
+ remove: 'Eliminar',
34
+
35
+ // Pickers
36
+ selectDate: 'Seleccionar fecha',
37
+ selectTime: 'Seleccionar hora',
38
+ selectRange: 'Seleccionar rango',
39
+ pickStart: 'Seleccionar inicio',
40
+ pickEnd: 'Seleccionar fin',
41
+ previousMonth: 'Mes anterior',
42
+ nextMonth: 'Mes siguiente',
43
+
44
+ // Scheduler
45
+ dayView: 'Día',
46
+ weekView: 'Semana',
47
+
48
+ // Transfer list
49
+ available: 'Disponibles',
50
+ selected: 'Seleccionados',
51
+ noItems: 'Sin elementos',
52
+ moveAllRight: 'Mover todos a la derecha',
53
+ moveRight: 'Mover seleccionados a la derecha',
54
+ moveLeft: 'Mover seleccionados a la izquierda',
55
+ moveAllLeft: 'Mover todos a la izquierda',
56
+
57
+ // Command palette / Spotlight
58
+ searchCommand: 'Buscar comando...',
59
+ navigateHint: 'navegar',
60
+ selectHint: 'seleccionar',
61
+ openHint: 'abrir',
62
+ closeHint: 'cerrar',
63
+
64
+ // Infinite scroll
65
+ loadingMore: 'Cargando...',
66
+ noMoreItems: 'No hay más elementos',
67
+
68
+ // Rich text editor
69
+ bold: 'Negrita',
70
+ italic: 'Cursiva',
71
+ underline: 'Subrayado',
72
+ strikethrough: 'Tachado',
73
+ highlight: 'Resaltar',
74
+ bulletList: 'Lista con viñetas',
75
+ orderedList: 'Lista ordenada',
76
+ blockquote: 'Cita',
77
+ code: 'Código',
78
+ alignLeft: 'Alinear a la izquierda',
79
+ alignCenter: 'Centrar',
80
+ alignRight: 'Alinear a la derecha',
81
+ undo: 'Deshacer',
82
+ redo: 'Rehacer',
83
+ link: 'Enlace',
84
+ image: 'Imagen',
85
+ paragraph: 'Párrafo',
86
+ heading1: 'Encabezado 1',
87
+ heading2: 'Encabezado 2',
88
+ heading3: 'Encabezado 3',
89
+ insertLink: 'Insertar enlace',
90
+ insertImage: 'Insertar imagen',
91
+ imageUrlLabel: 'URL de la imagen',
92
+ insert: 'Insertar',
93
+ }
@@ -0,0 +1,93 @@
1
+ import type { M3Locale } from '../composables/useLocale'
2
+
3
+ export const frLocale: M3Locale = {
4
+ // Common
5
+ search: 'Rechercher...',
6
+ noResults: 'Aucun résultat',
7
+ close: 'Fermer',
8
+ cancel: 'Annuler',
9
+ confirm: 'Confirmer',
10
+ loading: 'Chargement',
11
+
12
+ // Navigation
13
+ previous: 'Précédent',
14
+ next: 'Suivant',
15
+ today: "Aujourd'hui",
16
+ more: 'plus',
17
+
18
+ // Tables
19
+ selectedCount: 'sélectionnés',
20
+ recordCount: 'enregistrement',
21
+ expand: 'Développer',
22
+ columns: 'Colonnes',
23
+ exportCsv: 'Exporter CSV',
24
+ noGroup: 'Sans groupe',
25
+
26
+ // Tour
27
+ finish: 'Terminer',
28
+
29
+ // File upload
30
+ dropText: 'Déposez les fichiers ici ou',
31
+ selectText: 'parcourir',
32
+ maxSizePrefix: 'Max.',
33
+ remove: 'Supprimer',
34
+
35
+ // Pickers
36
+ selectDate: 'Sélectionner la date',
37
+ selectTime: "Sélectionner l'heure",
38
+ selectRange: 'Sélectionner la plage',
39
+ pickStart: 'Sélectionner le début',
40
+ pickEnd: 'Sélectionner la fin',
41
+ previousMonth: 'Mois précédent',
42
+ nextMonth: 'Mois suivant',
43
+
44
+ // Scheduler
45
+ dayView: 'Jour',
46
+ weekView: 'Semaine',
47
+
48
+ // Transfer list
49
+ available: 'Disponibles',
50
+ selected: 'Sélectionnés',
51
+ noItems: 'Aucun élément',
52
+ moveAllRight: 'Tout déplacer à droite',
53
+ moveRight: 'Déplacer la sélection à droite',
54
+ moveLeft: 'Déplacer la sélection à gauche',
55
+ moveAllLeft: 'Tout déplacer à gauche',
56
+
57
+ // Command palette / Spotlight
58
+ searchCommand: 'Rechercher une commande...',
59
+ navigateHint: 'naviguer',
60
+ selectHint: 'sélectionner',
61
+ openHint: 'ouvrir',
62
+ closeHint: 'fermer',
63
+
64
+ // Infinite scroll
65
+ loadingMore: 'Chargement...',
66
+ noMoreItems: "Plus d'éléments",
67
+
68
+ // Rich text editor
69
+ bold: 'Gras',
70
+ italic: 'Italique',
71
+ underline: 'Souligné',
72
+ strikethrough: 'Barré',
73
+ highlight: 'Surligner',
74
+ bulletList: 'Liste à puces',
75
+ orderedList: 'Liste numérotée',
76
+ blockquote: 'Citation',
77
+ code: 'Code',
78
+ alignLeft: 'Aligner à gauche',
79
+ alignCenter: 'Centrer',
80
+ alignRight: 'Aligner à droite',
81
+ undo: 'Annuler',
82
+ redo: 'Rétablir',
83
+ link: 'Lien',
84
+ image: 'Image',
85
+ paragraph: 'Paragraphe',
86
+ heading1: 'Titre 1',
87
+ heading2: 'Titre 2',
88
+ heading3: 'Titre 3',
89
+ insertLink: 'Insérer un lien',
90
+ insertImage: 'Insérer une image',
91
+ imageUrlLabel: "URL de l'image",
92
+ insert: 'Insérer',
93
+ }
@@ -0,0 +1,8 @@
1
+ export { esLocale } from './es'
2
+ export { frLocale } from './fr'
3
+ export { ptLocale } from './pt'
4
+ export { deLocale } from './de'
5
+ export { jaLocale } from './ja'
6
+ export { zhLocale } from './zh'
7
+ export { koLocale } from './ko'
8
+ export type { M3Locale } from '../composables/useLocale'