@payloadcms/translations 4.0.0-internal.5d5a2b2 → 4.0.0-internal.5e065b3
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.
- package/LICENSE.md +1 -1
- package/dist/clientKeys.d.ts +1 -1
- package/dist/clientKeys.d.ts.map +1 -1
- package/dist/clientKeys.js +85 -1
- package/dist/clientKeys.js.map +1 -1
- package/dist/dateFNS/ar.js +1 -0
- package/dist/dateFNS/az.js +1 -0
- package/dist/dateFNS/bg.js +1 -0
- package/dist/dateFNS/bn.js +1 -0
- package/dist/dateFNS/ca.js +1 -0
- package/dist/dateFNS/chunk-YT6ULX4E.js +1 -0
- package/dist/dateFNS/cs.js +1 -0
- package/dist/dateFNS/da.js +1 -0
- package/dist/dateFNS/de.js +1 -0
- package/dist/dateFNS/es.js +1 -0
- package/dist/dateFNS/et.js +1 -0
- package/dist/dateFNS/fa-IR.js +1 -0
- package/dist/dateFNS/fr.js +1 -0
- package/dist/dateFNS/he.js +1 -0
- package/dist/dateFNS/hr.js +1 -0
- package/dist/dateFNS/hu.js +1 -0
- package/dist/dateFNS/id.js +1 -0
- package/dist/dateFNS/is.js +1 -0
- package/dist/dateFNS/it.js +1 -0
- package/dist/dateFNS/ja.js +1 -0
- package/dist/dateFNS/ko.js +1 -0
- package/dist/dateFNS/lt.js +1 -0
- package/dist/dateFNS/lv.js +1 -0
- package/dist/dateFNS/nb.js +1 -0
- package/dist/dateFNS/nl.js +1 -0
- package/dist/dateFNS/pl.js +1 -0
- package/dist/dateFNS/pt.js +1 -0
- package/dist/dateFNS/ro.js +1 -0
- package/dist/dateFNS/ru.js +1 -0
- package/dist/dateFNS/sk.js +1 -0
- package/dist/dateFNS/sl.js +1 -0
- package/dist/dateFNS/sr-Latn.js +1 -0
- package/dist/dateFNS/sr.js +1 -0
- package/dist/dateFNS/sv.js +1 -0
- package/dist/dateFNS/ta.js +1 -0
- package/dist/dateFNS/th.js +1 -0
- package/dist/dateFNS/tr.js +1 -0
- package/dist/dateFNS/uk.js +1 -0
- package/dist/dateFNS/vi.js +1 -0
- package/dist/dateFNS/zh-CN.js +1 -0
- package/dist/dateFNS/zh-TW.js +1 -0
- package/dist/importDateFNSLocale.d.ts.map +1 -1
- package/dist/importDateFNSLocale.js +41 -41
- package/dist/languages/ar.d.ts.map +1 -1
- package/dist/languages/ar.js +91 -3
- package/dist/languages/ar.js.map +1 -1
- package/dist/languages/az.d.ts.map +1 -1
- package/dist/languages/az.js +91 -3
- package/dist/languages/az.js.map +1 -1
- package/dist/languages/bg.d.ts.map +1 -1
- package/dist/languages/bg.js +91 -3
- package/dist/languages/bg.js.map +1 -1
- package/dist/languages/bnBd.d.ts.map +1 -1
- package/dist/languages/bnBd.js +91 -3
- package/dist/languages/bnBd.js.map +1 -1
- package/dist/languages/bnIn.d.ts.map +1 -1
- package/dist/languages/bnIn.js +91 -3
- package/dist/languages/bnIn.js.map +1 -1
- package/dist/languages/ca.d.ts.map +1 -1
- package/dist/languages/ca.js +91 -3
- package/dist/languages/ca.js.map +1 -1
- package/dist/languages/cs.d.ts.map +1 -1
- package/dist/languages/cs.js +91 -3
- package/dist/languages/cs.js.map +1 -1
- package/dist/languages/da.d.ts.map +1 -1
- package/dist/languages/da.js +91 -3
- package/dist/languages/da.js.map +1 -1
- package/dist/languages/de.d.ts.map +1 -1
- package/dist/languages/de.js +91 -3
- package/dist/languages/de.js.map +1 -1
- package/dist/languages/en.d.ts +89 -1
- package/dist/languages/en.d.ts.map +1 -1
- package/dist/languages/en.js +91 -3
- package/dist/languages/en.js.map +1 -1
- package/dist/languages/es.d.ts.map +1 -1
- package/dist/languages/es.js +91 -3
- package/dist/languages/es.js.map +1 -1
- package/dist/languages/et.d.ts.map +1 -1
- package/dist/languages/et.js +91 -3
- package/dist/languages/et.js.map +1 -1
- package/dist/languages/fa.d.ts.map +1 -1
- package/dist/languages/fa.js +91 -3
- package/dist/languages/fa.js.map +1 -1
- package/dist/languages/fr.d.ts.map +1 -1
- package/dist/languages/fr.js +91 -3
- package/dist/languages/fr.js.map +1 -1
- package/dist/languages/he.d.ts.map +1 -1
- package/dist/languages/he.js +91 -3
- package/dist/languages/he.js.map +1 -1
- package/dist/languages/hr.d.ts.map +1 -1
- package/dist/languages/hr.js +91 -3
- package/dist/languages/hr.js.map +1 -1
- package/dist/languages/hu.d.ts.map +1 -1
- package/dist/languages/hu.js +91 -3
- package/dist/languages/hu.js.map +1 -1
- package/dist/languages/hy.d.ts.map +1 -1
- package/dist/languages/hy.js +91 -3
- package/dist/languages/hy.js.map +1 -1
- package/dist/languages/id.d.ts.map +1 -1
- package/dist/languages/id.js +91 -3
- package/dist/languages/id.js.map +1 -1
- package/dist/languages/is.d.ts.map +1 -1
- package/dist/languages/is.js +91 -3
- package/dist/languages/is.js.map +1 -1
- package/dist/languages/it.d.ts.map +1 -1
- package/dist/languages/it.js +91 -3
- package/dist/languages/it.js.map +1 -1
- package/dist/languages/ja.d.ts.map +1 -1
- package/dist/languages/ja.js +108 -20
- package/dist/languages/ja.js.map +1 -1
- package/dist/languages/ko.d.ts.map +1 -1
- package/dist/languages/ko.js +91 -3
- package/dist/languages/ko.js.map +1 -1
- package/dist/languages/lt.d.ts.map +1 -1
- package/dist/languages/lt.js +91 -3
- package/dist/languages/lt.js.map +1 -1
- package/dist/languages/lv.d.ts.map +1 -1
- package/dist/languages/lv.js +91 -3
- package/dist/languages/lv.js.map +1 -1
- package/dist/languages/my.d.ts.map +1 -1
- package/dist/languages/my.js +221 -133
- package/dist/languages/my.js.map +1 -1
- package/dist/languages/nb.d.ts.map +1 -1
- package/dist/languages/nb.js +91 -3
- package/dist/languages/nb.js.map +1 -1
- package/dist/languages/nl.d.ts.map +1 -1
- package/dist/languages/nl.js +91 -3
- package/dist/languages/nl.js.map +1 -1
- package/dist/languages/pl.d.ts.map +1 -1
- package/dist/languages/pl.js +91 -3
- package/dist/languages/pl.js.map +1 -1
- package/dist/languages/pt.d.ts.map +1 -1
- package/dist/languages/pt.js +91 -3
- package/dist/languages/pt.js.map +1 -1
- package/dist/languages/ro.d.ts.map +1 -1
- package/dist/languages/ro.js +91 -3
- package/dist/languages/ro.js.map +1 -1
- package/dist/languages/rs.d.ts.map +1 -1
- package/dist/languages/rs.js +91 -3
- package/dist/languages/rs.js.map +1 -1
- package/dist/languages/rsLatin.d.ts.map +1 -1
- package/dist/languages/rsLatin.js +91 -3
- package/dist/languages/rsLatin.js.map +1 -1
- package/dist/languages/ru.d.ts.map +1 -1
- package/dist/languages/ru.js +91 -3
- package/dist/languages/ru.js.map +1 -1
- package/dist/languages/sk.d.ts.map +1 -1
- package/dist/languages/sk.js +91 -3
- package/dist/languages/sk.js.map +1 -1
- package/dist/languages/sl.d.ts.map +1 -1
- package/dist/languages/sl.js +91 -3
- package/dist/languages/sl.js.map +1 -1
- package/dist/languages/sv.d.ts.map +1 -1
- package/dist/languages/sv.js +91 -3
- package/dist/languages/sv.js.map +1 -1
- package/dist/languages/ta.d.ts.map +1 -1
- package/dist/languages/ta.js +91 -3
- package/dist/languages/ta.js.map +1 -1
- package/dist/languages/th.d.ts.map +1 -1
- package/dist/languages/th.js +91 -3
- package/dist/languages/th.js.map +1 -1
- package/dist/languages/tr.d.ts.map +1 -1
- package/dist/languages/tr.js +91 -3
- package/dist/languages/tr.js.map +1 -1
- package/dist/languages/uk.d.ts.map +1 -1
- package/dist/languages/uk.js +91 -3
- package/dist/languages/uk.js.map +1 -1
- package/dist/languages/vi.d.ts.map +1 -1
- package/dist/languages/vi.js +91 -3
- package/dist/languages/vi.js.map +1 -1
- package/dist/languages/zh.d.ts.map +1 -1
- package/dist/languages/zh.js +91 -3
- package/dist/languages/zh.js.map +1 -1
- package/dist/languages/zhTw.d.ts.map +1 -1
- package/dist/languages/zhTw.js +109 -21
- package/dist/languages/zhTw.js.map +1 -1
- package/dist/types.d.ts +5 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/getTranslation.d.ts.map +1 -1
- package/dist/utilities/getTranslationsByContext.d.ts +91 -3
- package/dist/utilities/getTranslationsByContext.d.ts.map +1 -1
- package/dist/utilities/getTranslationsByContext.js +41 -33
- package/dist/utilities/getTranslationsByContext.js.map +1 -1
- package/dist/utilities/init.d.ts +3 -3
- package/dist/utilities/init.d.ts.map +1 -1
- package/dist/utilities/languages.d.ts +2 -2
- package/dist/utilities/languages.d.ts.map +1 -1
- package/package.json +8 -6
- package/dist/utilities/deepMergeSimple.spec.js +0 -81
- package/dist/utilities/deepMergeSimple.spec.js.map +0 -1
- package/dist/utilities/languages.spec.js +0 -42
- package/dist/utilities/languages.spec.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Language } from '../types.js';
|
|
2
|
-
export declare const getTranslationsByContext: (selectedLanguage: Language, context:
|
|
2
|
+
export declare const getTranslationsByContext: (selectedLanguage: Language, context: 'api' | 'client') => Record<string, unknown> | {
|
|
3
3
|
authentication: {
|
|
4
4
|
account: string;
|
|
5
5
|
accountOfCurrentUser: string;
|
|
@@ -20,6 +20,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
20
20
|
emailOrUsername: string;
|
|
21
21
|
emailSent: string;
|
|
22
22
|
emailVerified: string;
|
|
23
|
+
emailVerifiedRedirecting: string;
|
|
23
24
|
enableAPIKey: string;
|
|
24
25
|
failedToUnlock: string;
|
|
25
26
|
forceUnlock: string;
|
|
@@ -49,8 +50,10 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
49
50
|
newAccountCreated: string;
|
|
50
51
|
newAPIKeyGenerated: string;
|
|
51
52
|
newPassword: string;
|
|
53
|
+
notRedirected: string;
|
|
52
54
|
passed: string;
|
|
53
55
|
passwordResetSuccessfully: string;
|
|
56
|
+
resend: string;
|
|
54
57
|
resetPassword: string;
|
|
55
58
|
resetPasswordExpiration: string;
|
|
56
59
|
resetPasswordToken: string;
|
|
@@ -61,6 +64,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
61
64
|
tokenRefreshSuccessful: string;
|
|
62
65
|
unableToVerify: string;
|
|
63
66
|
username: string;
|
|
67
|
+
verificationFailedRequestNew: string;
|
|
64
68
|
verified: string;
|
|
65
69
|
verifiedSuccessfully: string;
|
|
66
70
|
verify: string;
|
|
@@ -97,7 +101,27 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
97
101
|
editingDashboard: string;
|
|
98
102
|
noItems: string;
|
|
99
103
|
resetLayout: string;
|
|
104
|
+
resizeWidget: string;
|
|
100
105
|
searchWidgets: string;
|
|
106
|
+
widgetCollectionRequired: string;
|
|
107
|
+
widgetConfigurationError: string;
|
|
108
|
+
widgetDropFilesToUpload: string;
|
|
109
|
+
widgetInvalidCollection: string;
|
|
110
|
+
widgetInvalidFilterField: string;
|
|
111
|
+
widgetInvalidSortField: string;
|
|
112
|
+
widgetLimitLabel: string;
|
|
113
|
+
widgetNonSortableSortField: string;
|
|
114
|
+
widgetQueryError: string;
|
|
115
|
+
widgetRecentlyViewedEmpty: string;
|
|
116
|
+
widgetRecentlyViewedTitle: string;
|
|
117
|
+
widgetSelectCollectionFirst: string;
|
|
118
|
+
widgetSelectSortField: string;
|
|
119
|
+
widgetSortDirectionLabel: string;
|
|
120
|
+
widgetSortFieldLabel: string;
|
|
121
|
+
widgetTitleFallback: string;
|
|
122
|
+
widgetTitleLabel: string;
|
|
123
|
+
widgetUploadDropzoneDescription: string;
|
|
124
|
+
widgetUploadFiles: string;
|
|
101
125
|
};
|
|
102
126
|
error: {
|
|
103
127
|
accountAlreadyActivated: string;
|
|
@@ -109,6 +133,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
109
133
|
emailOrPasswordIncorrect: string;
|
|
110
134
|
failedToResetLayout: string;
|
|
111
135
|
failedToSaveLayout: string;
|
|
136
|
+
fileFetchFailed: string;
|
|
112
137
|
followingFieldsInvalid_one: string;
|
|
113
138
|
followingFieldsInvalid_other: string;
|
|
114
139
|
incorrectCollection: string;
|
|
@@ -125,6 +150,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
125
150
|
missingIDOfDocument: string;
|
|
126
151
|
missingIDOfVersion: string;
|
|
127
152
|
missingRequiredData: string;
|
|
153
|
+
noFileFoundInClipboard: string;
|
|
128
154
|
noFilesUploaded: string;
|
|
129
155
|
noMatchedField: string;
|
|
130
156
|
notAllowedToAccessPage: string;
|
|
@@ -139,6 +165,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
139
165
|
tokenNotProvided: string;
|
|
140
166
|
unableToCopy: string;
|
|
141
167
|
unableToDeleteCount: string;
|
|
168
|
+
unableToReadClipboard: string;
|
|
142
169
|
unableToReindexCollection: string;
|
|
143
170
|
unableToUpdateCount: string;
|
|
144
171
|
unauthorized: string;
|
|
@@ -147,6 +174,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
147
174
|
unPublishingDocument: string;
|
|
148
175
|
unspecific: string;
|
|
149
176
|
unverifiedEmail: string;
|
|
177
|
+
urlNotAllowed: string;
|
|
150
178
|
userEmailAlreadyRegistered: string;
|
|
151
179
|
userLocked: string;
|
|
152
180
|
usernameAlreadyRegistered: string;
|
|
@@ -162,6 +190,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
162
190
|
addRelationship: string;
|
|
163
191
|
addUpload: string;
|
|
164
192
|
block: string;
|
|
193
|
+
blockName: string;
|
|
165
194
|
blocks: string;
|
|
166
195
|
blockType: string;
|
|
167
196
|
chooseBetweenCustomTextOrDocument: string;
|
|
@@ -217,25 +246,30 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
217
246
|
aboutToTrash: string;
|
|
218
247
|
aboutToTrashCount: string;
|
|
219
248
|
accepts: string;
|
|
249
|
+
access: string;
|
|
220
250
|
addBelow: string;
|
|
221
251
|
addFilter: string;
|
|
222
252
|
adminTheme: string;
|
|
223
253
|
all: string;
|
|
224
254
|
allCollections: string;
|
|
225
255
|
allLocales: string;
|
|
256
|
+
allowedTypes: string;
|
|
226
257
|
and: string;
|
|
227
258
|
anotherUser: string;
|
|
228
259
|
anotherUserTakenOver: string;
|
|
229
260
|
applyChanges: string;
|
|
230
261
|
ascending: string;
|
|
262
|
+
auto: string;
|
|
231
263
|
automatic: string;
|
|
232
264
|
backToDashboard: string;
|
|
265
|
+
breadcrumb: string;
|
|
233
266
|
by: string;
|
|
234
267
|
cancel: string;
|
|
235
268
|
changesNotSaved: string;
|
|
236
269
|
checked: string;
|
|
237
270
|
clear: string;
|
|
238
271
|
clearAll: string;
|
|
272
|
+
clearSearch: string;
|
|
239
273
|
close: string;
|
|
240
274
|
collapse: string;
|
|
241
275
|
collection: string;
|
|
@@ -261,6 +295,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
261
295
|
create: string;
|
|
262
296
|
created: string;
|
|
263
297
|
createdAt: string;
|
|
298
|
+
createdBy: string;
|
|
264
299
|
createNew: string;
|
|
265
300
|
createNewLabel: string;
|
|
266
301
|
creating: string;
|
|
@@ -321,6 +356,8 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
321
356
|
filterWhere: string;
|
|
322
357
|
globals: string;
|
|
323
358
|
goBack: string;
|
|
359
|
+
goToPage: string;
|
|
360
|
+
gridLayout: string;
|
|
324
361
|
groupByLabel: string;
|
|
325
362
|
hideSidebar: string;
|
|
326
363
|
import: string;
|
|
@@ -353,6 +390,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
353
390
|
newLabel: string;
|
|
354
391
|
newPassword: string;
|
|
355
392
|
next: string;
|
|
393
|
+
nextPage: string;
|
|
356
394
|
no: string;
|
|
357
395
|
noDateSelected: string;
|
|
358
396
|
noFiltersSet: string;
|
|
@@ -366,6 +404,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
366
404
|
notFound: string;
|
|
367
405
|
nothingFound: string;
|
|
368
406
|
noTrashResults: string;
|
|
407
|
+
notSelectedDocument: string;
|
|
369
408
|
notShownInTable: string;
|
|
370
409
|
noUpcomingEventsScheduled: string;
|
|
371
410
|
noValue: string;
|
|
@@ -375,9 +414,12 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
375
414
|
openInNewWindow: string;
|
|
376
415
|
or: string;
|
|
377
416
|
order: string;
|
|
417
|
+
original: string;
|
|
378
418
|
overwriteExistingData: string;
|
|
379
419
|
pageNotFound: string;
|
|
420
|
+
pageNumberRange: string;
|
|
380
421
|
password: string;
|
|
422
|
+
pasteBelow: string;
|
|
381
423
|
pasteField: string;
|
|
382
424
|
pasteRow: string;
|
|
383
425
|
payloadSettings: string;
|
|
@@ -385,12 +427,16 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
385
427
|
permanentlyDeletedCountSuccessfully: string;
|
|
386
428
|
perPage: string;
|
|
387
429
|
perPageLabel: string;
|
|
430
|
+
presets: string;
|
|
388
431
|
previous: string;
|
|
432
|
+
previousPage: string;
|
|
389
433
|
reindex: string;
|
|
390
434
|
reindexingAll: string;
|
|
391
435
|
reloadDocument: string;
|
|
392
436
|
remove: string;
|
|
393
437
|
rename: string;
|
|
438
|
+
replaceRow: string;
|
|
439
|
+
requiredFields: string;
|
|
394
440
|
reset: string;
|
|
395
441
|
resetPreferences: string;
|
|
396
442
|
resetPreferencesDescription: string;
|
|
@@ -406,20 +452,28 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
406
452
|
saveChanges: string;
|
|
407
453
|
saving: string;
|
|
408
454
|
schedulePublishFor: string;
|
|
455
|
+
searchAutomatically: string;
|
|
409
456
|
searchBy: string;
|
|
457
|
+
searchCleared: string;
|
|
410
458
|
searchColumns: string;
|
|
459
|
+
searchGroups: string;
|
|
460
|
+
searchResults: string;
|
|
411
461
|
select: string;
|
|
412
462
|
selectAll: string;
|
|
413
463
|
selectAllRows: string;
|
|
414
464
|
selectedCount: string;
|
|
465
|
+
selectedDocument: string;
|
|
415
466
|
selectLabel: string;
|
|
416
467
|
selectValue: string;
|
|
468
|
+
settings: string;
|
|
417
469
|
showAllLabel: string;
|
|
418
470
|
shownInTable: string;
|
|
419
471
|
showSidebar: string;
|
|
472
|
+
skipToContent: string;
|
|
420
473
|
sorryNotFound: string;
|
|
421
474
|
sort: string;
|
|
422
475
|
sortByLabelDirection: string;
|
|
476
|
+
sortByOrderToReorder: string;
|
|
423
477
|
stayOnThisPage: string;
|
|
424
478
|
submissionSuccessful: string;
|
|
425
479
|
submit: string;
|
|
@@ -428,7 +482,9 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
428
482
|
successfullyCreated: string;
|
|
429
483
|
successfullyDuplicated: string;
|
|
430
484
|
successfullyReindexed: string;
|
|
485
|
+
tableLayout: string;
|
|
431
486
|
takeOver: string;
|
|
487
|
+
theme: string;
|
|
432
488
|
thisLanguage: string;
|
|
433
489
|
time: string;
|
|
434
490
|
timezone: string;
|
|
@@ -448,6 +504,7 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
448
504
|
upcomingEvents: string;
|
|
449
505
|
updatedAgo: string;
|
|
450
506
|
updatedAt: string;
|
|
507
|
+
updatedBy: string;
|
|
451
508
|
updatedCountSuccessfully: string;
|
|
452
509
|
updatedLabelSuccessfully: string;
|
|
453
510
|
updatedSuccessfully: string;
|
|
@@ -466,13 +523,29 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
466
523
|
yes: string;
|
|
467
524
|
};
|
|
468
525
|
hierarchy: {
|
|
526
|
+
goTo: string;
|
|
469
527
|
itemsMovedTo: string;
|
|
470
528
|
itemsMovedToRoot: string;
|
|
471
|
-
|
|
529
|
+
moveTo: string;
|
|
472
530
|
moveToRoot: string;
|
|
473
531
|
noParent: string;
|
|
474
532
|
noResults: string;
|
|
533
|
+
removeFrom: string;
|
|
475
534
|
searchLabel: string;
|
|
535
|
+
searchResults: string;
|
|
536
|
+
};
|
|
537
|
+
llmInstructions: {
|
|
538
|
+
additionalInstructions: string;
|
|
539
|
+
collectionDescription: string;
|
|
540
|
+
collectionSystemDescription: string;
|
|
541
|
+
editInstructions: string;
|
|
542
|
+
global: string;
|
|
543
|
+
globalDescription: string;
|
|
544
|
+
globalSystemDescription: string;
|
|
545
|
+
instructions: string;
|
|
546
|
+
systemInstructions: string;
|
|
547
|
+
targetCannotBeChanged: string;
|
|
548
|
+
title: string;
|
|
476
549
|
};
|
|
477
550
|
localization: {
|
|
478
551
|
cannotCopySameLocale: string;
|
|
@@ -506,8 +579,18 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
506
579
|
addFile: string;
|
|
507
580
|
addFiles: string;
|
|
508
581
|
bulkUpload: string;
|
|
582
|
+
copyLinkToFile: string;
|
|
583
|
+
copyURL: string;
|
|
509
584
|
crop: string;
|
|
585
|
+
cropBottom: string;
|
|
586
|
+
cropBottomLeft: string;
|
|
587
|
+
cropBottomRight: string;
|
|
588
|
+
cropLeft: string;
|
|
589
|
+
cropRight: string;
|
|
510
590
|
cropToolDescription: string;
|
|
591
|
+
cropTop: string;
|
|
592
|
+
cropTopLeft: string;
|
|
593
|
+
cropTopRight: string;
|
|
511
594
|
download: string;
|
|
512
595
|
dragAndDrop: string;
|
|
513
596
|
dragAndDropHere: string;
|
|
@@ -518,12 +601,17 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
518
601
|
fileToUpload: string;
|
|
519
602
|
focalPoint: string;
|
|
520
603
|
focalPointDescription: string;
|
|
604
|
+
fromURL: string;
|
|
521
605
|
height: string;
|
|
522
606
|
lessInfo: string;
|
|
607
|
+
linkToFile: string;
|
|
523
608
|
moreInfo: string;
|
|
524
609
|
noFile: string;
|
|
610
|
+
pasteFromClipboard: string;
|
|
525
611
|
pasteURL: string;
|
|
526
612
|
previewSizes: string;
|
|
613
|
+
renameFile: string;
|
|
614
|
+
replaceFile: string;
|
|
527
615
|
selectCollectionToBrowse: string;
|
|
528
616
|
selectFile: string;
|
|
529
617
|
setCropArea: string;
|
|
@@ -640,5 +728,5 @@ export declare const getTranslationsByContext: (selectedLanguage: Language, cont
|
|
|
640
728
|
viewingVersions: string;
|
|
641
729
|
viewingVersionsGlobal: string;
|
|
642
730
|
};
|
|
643
|
-
}
|
|
731
|
+
};
|
|
644
732
|
//# sourceMappingURL=getTranslationsByContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTranslationsByContext.d.ts","sourceRoot":"","sources":["../../src/utilities/getTranslationsByContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"getTranslationsByContext.d.ts","sourceRoot":"","sources":["../../src/utilities/getTranslationsByContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AA6E3C,eAAO,MAAM,wBAAwB,qBAAsB,QAAQ,WAAW,KAAK,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7F,CAAA"}
|
|
@@ -1,41 +1,49 @@
|
|
|
1
1
|
import { clientTranslationKeys } from '../clientKeys.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The client translation keys, grouped by namespace. For example, the keys `general:cancel`,
|
|
4
|
+
* `general:item` and `authentication:account` are stored as:
|
|
5
|
+
*
|
|
6
|
+
* `Map { 'general' => Set { 'cancel', 'item' }, 'authentication' => Set { 'account' } }`
|
|
7
|
+
*/ const clientKeysByNamespace = new Map();
|
|
8
|
+
for (const clientKey of clientTranslationKeys){
|
|
9
|
+
const separatorIndex = clientKey.indexOf(':');
|
|
10
|
+
const namespace = clientKey.slice(0, separatorIndex);
|
|
11
|
+
const key = clientKey.slice(separatorIndex + 1);
|
|
12
|
+
const keys = clientKeysByNamespace.get(namespace) ?? new Set();
|
|
13
|
+
clientKeysByNamespace.set(namespace, keys.add(key));
|
|
14
|
+
}
|
|
15
|
+
/** Plural forms of a key, for example `item_one` and `item_other` for `item` */ const pluralSuffix = /_(?:zero|one|two|few|many|other)$/;
|
|
16
|
+
/**
|
|
17
|
+
* Keeps only the translations the admin needs in the browser: the keys listed in
|
|
18
|
+
* `clientTranslationKeys`, plus their plural forms. Namespaces that end up empty are left out.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // With the client keys `general:cancel` and `general:item`:
|
|
22
|
+
* filterClientKeys({
|
|
23
|
+
* general: { cancel: 'Cancel', item: 'Item', item_other: 'Items', save: 'Save' },
|
|
24
|
+
* error: { notFound: 'Not found' },
|
|
25
|
+
* })
|
|
26
|
+
* // => { general: { cancel: 'Cancel', item: 'Item', item_other: 'Items' } }
|
|
27
|
+
*/ function filterClientKeys(translations) {
|
|
3
28
|
const result = {};
|
|
4
|
-
for (const [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
result[namespaceKey] = value;
|
|
29
|
+
for (const [namespace, value] of Object.entries(translations)){
|
|
30
|
+
if (namespace === '$schema') {
|
|
31
|
+
result[namespace] = value;
|
|
8
32
|
continue;
|
|
9
33
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (parentGroupKey === groupKey) {
|
|
19
|
-
if (namespaceKey === selector) {
|
|
20
|
-
result[selector] = value;
|
|
21
|
-
} else {
|
|
22
|
-
const pluralKeys = [
|
|
23
|
-
'zero',
|
|
24
|
-
'one',
|
|
25
|
-
'two',
|
|
26
|
-
'few',
|
|
27
|
-
'many',
|
|
28
|
-
'other'
|
|
29
|
-
];
|
|
30
|
-
pluralKeys.forEach((pluralKey)=>{
|
|
31
|
-
if (namespaceKey === `${selector}_${pluralKey}`) {
|
|
32
|
-
result[`${selector}_${pluralKey}`] = value;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
34
|
+
const clientKeys = clientKeysByNamespace.get(namespace);
|
|
35
|
+
if (!clientKeys || typeof value !== 'object' || value === null) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const clientTranslations = {};
|
|
39
|
+
for (const [key, translation] of Object.entries(value)){
|
|
40
|
+
if (clientKeys.has(key) || clientKeys.has(key.replace(pluralSuffix, ''))) {
|
|
41
|
+
clientTranslations[key] = translation;
|
|
37
42
|
}
|
|
38
43
|
}
|
|
44
|
+
if (Object.keys(clientTranslations).length > 0) {
|
|
45
|
+
result[namespace] = clientTranslations;
|
|
46
|
+
}
|
|
39
47
|
}
|
|
40
48
|
return result;
|
|
41
49
|
}
|
|
@@ -52,7 +60,7 @@ function sortObject(obj) {
|
|
|
52
60
|
}
|
|
53
61
|
export const getTranslationsByContext = (selectedLanguage, context)=>{
|
|
54
62
|
if (context === 'client') {
|
|
55
|
-
return sortObject(
|
|
63
|
+
return sortObject(filterClientKeys(selectedLanguage.translations));
|
|
56
64
|
} else {
|
|
57
65
|
return selectedLanguage.translations;
|
|
58
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/getTranslationsByContext.ts"],"sourcesContent":["import type { Language } from '../types.js'\n\nimport { clientTranslationKeys } from '../clientKeys.js'\n\
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getTranslationsByContext.ts"],"sourcesContent":["import type { Language } from '../types.js'\n\nimport { clientTranslationKeys } from '../clientKeys.js'\n\n/**\n * The client translation keys, grouped by namespace. For example, the keys `general:cancel`,\n * `general:item` and `authentication:account` are stored as:\n *\n * `Map { 'general' => Set { 'cancel', 'item' }, 'authentication' => Set { 'account' } }`\n */\nconst clientKeysByNamespace = new Map<string, Set<string>>()\nfor (const clientKey of clientTranslationKeys) {\n const separatorIndex = clientKey.indexOf(':')\n const namespace = clientKey.slice(0, separatorIndex)\n const key = clientKey.slice(separatorIndex + 1)\n const keys = clientKeysByNamespace.get(namespace) ?? new Set<string>()\n clientKeysByNamespace.set(namespace, keys.add(key))\n}\n\n/** Plural forms of a key, for example `item_one` and `item_other` for `item` */\nconst pluralSuffix = /_(?:zero|one|two|few|many|other)$/\n\n/**\n * Keeps only the translations the admin needs in the browser: the keys listed in\n * `clientTranslationKeys`, plus their plural forms. Namespaces that end up empty are left out.\n *\n * @example\n * // With the client keys `general:cancel` and `general:item`:\n * filterClientKeys({\n * general: { cancel: 'Cancel', item: 'Item', item_other: 'Items', save: 'Save' },\n * error: { notFound: 'Not found' },\n * })\n * // => { general: { cancel: 'Cancel', item: 'Item', item_other: 'Items' } }\n */\nfunction filterClientKeys(translations: Record<string, unknown>) {\n const result: Record<string, unknown> = {}\n\n for (const [namespace, value] of Object.entries(translations)) {\n if (namespace === '$schema') {\n result[namespace] = value\n continue\n }\n\n const clientKeys = clientKeysByNamespace.get(namespace)\n if (!clientKeys || typeof value !== 'object' || value === null) {\n continue\n }\n\n const clientTranslations: Record<string, unknown> = {}\n for (const [key, translation] of Object.entries(value)) {\n if (clientKeys.has(key) || clientKeys.has(key.replace(pluralSuffix, ''))) {\n clientTranslations[key] = translation\n }\n }\n\n if (Object.keys(clientTranslations).length > 0) {\n result[namespace] = clientTranslations\n }\n }\n\n return result\n}\n\nfunction sortObject(obj: Record<string, unknown>) {\n const sortedObject: Record<string, unknown> = {}\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n if (typeof obj[key] === 'object') {\n sortedObject[key] = sortObject(obj[key] as Record<string, unknown>)\n } else {\n sortedObject[key] = obj[key]\n }\n })\n return sortedObject\n}\n\nexport const getTranslationsByContext = (selectedLanguage: Language, context: 'api' | 'client') => {\n if (context === 'client') {\n return sortObject(filterClientKeys(selectedLanguage.translations))\n } else {\n return selectedLanguage.translations\n }\n}\n"],"names":["clientTranslationKeys","clientKeysByNamespace","Map","clientKey","separatorIndex","indexOf","namespace","slice","key","keys","get","Set","set","add","pluralSuffix","filterClientKeys","translations","result","value","Object","entries","clientKeys","clientTranslations","translation","has","replace","length","sortObject","obj","sortedObject","sort","forEach","getTranslationsByContext","selectedLanguage","context"],"mappings":"AAEA,SAASA,qBAAqB,QAAQ,mBAAkB;AAExD;;;;;CAKC,GACD,MAAMC,wBAAwB,IAAIC;AAClC,KAAK,MAAMC,aAAaH,sBAAuB;IAC7C,MAAMI,iBAAiBD,UAAUE,OAAO,CAAC;IACzC,MAAMC,YAAYH,UAAUI,KAAK,CAAC,GAAGH;IACrC,MAAMI,MAAML,UAAUI,KAAK,CAACH,iBAAiB;IAC7C,MAAMK,OAAOR,sBAAsBS,GAAG,CAACJ,cAAc,IAAIK;IACzDV,sBAAsBW,GAAG,CAACN,WAAWG,KAAKI,GAAG,CAACL;AAChD;AAEA,8EAA8E,GAC9E,MAAMM,eAAe;AAErB;;;;;;;;;;;CAWC,GACD,SAASC,iBAAiBC,YAAqC;IAC7D,MAAMC,SAAkC,CAAC;IAEzC,KAAK,MAAM,CAACX,WAAWY,MAAM,IAAIC,OAAOC,OAAO,CAACJ,cAAe;QAC7D,IAAIV,cAAc,WAAW;YAC3BW,MAAM,CAACX,UAAU,GAAGY;YACpB;QACF;QAEA,MAAMG,aAAapB,sBAAsBS,GAAG,CAACJ;QAC7C,IAAI,CAACe,cAAc,OAAOH,UAAU,YAAYA,UAAU,MAAM;YAC9D;QACF;QAEA,MAAMI,qBAA8C,CAAC;QACrD,KAAK,MAAM,CAACd,KAAKe,YAAY,IAAIJ,OAAOC,OAAO,CAACF,OAAQ;YACtD,IAAIG,WAAWG,GAAG,CAAChB,QAAQa,WAAWG,GAAG,CAAChB,IAAIiB,OAAO,CAACX,cAAc,MAAM;gBACxEQ,kBAAkB,CAACd,IAAI,GAAGe;YAC5B;QACF;QAEA,IAAIJ,OAAOV,IAAI,CAACa,oBAAoBI,MAAM,GAAG,GAAG;YAC9CT,MAAM,CAACX,UAAU,GAAGgB;QACtB;IACF;IAEA,OAAOL;AACT;AAEA,SAASU,WAAWC,GAA4B;IAC9C,MAAMC,eAAwC,CAAC;IAC/CV,OAAOV,IAAI,CAACmB,KACTE,IAAI,GACJC,OAAO,CAAC,CAACvB;QACR,IAAI,OAAOoB,GAAG,CAACpB,IAAI,KAAK,UAAU;YAChCqB,YAAY,CAACrB,IAAI,GAAGmB,WAAWC,GAAG,CAACpB,IAAI;QACzC,OAAO;YACLqB,YAAY,CAACrB,IAAI,GAAGoB,GAAG,CAACpB,IAAI;QAC9B;IACF;IACF,OAAOqB;AACT;AAEA,OAAO,MAAMG,2BAA2B,CAACC,kBAA4BC;IACnE,IAAIA,YAAY,UAAU;QACxB,OAAOP,WAAWZ,iBAAiBkB,iBAAiBjB,YAAY;IAClE,OAAO;QACL,OAAOiB,iBAAiBjB,YAAY;IACtC;AACF,EAAC"}
|
package/dist/utilities/init.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { DefaultTranslationKeys, DefaultTranslationsObject, I18n, Language
|
|
|
9
9
|
export declare const getTranslationString: <TTranslations = DefaultTranslationsObject, TTranslationKeys = DefaultTranslationKeys>({ count, key, translations, }: {
|
|
10
10
|
count?: number;
|
|
11
11
|
key: TTranslationKeys;
|
|
12
|
-
translations: Language<TTranslations>[
|
|
12
|
+
translations: Language<TTranslations>['translations'];
|
|
13
13
|
}) => string;
|
|
14
14
|
/**
|
|
15
15
|
* @function t
|
|
@@ -26,11 +26,11 @@ export declare function t<TTranslations = DefaultTranslationsObject, TTranslatio
|
|
|
26
26
|
}): string;
|
|
27
27
|
export declare const initI18n: (args: {
|
|
28
28
|
config: import("../types.js").I18nOptions;
|
|
29
|
-
context:
|
|
29
|
+
context: 'api';
|
|
30
30
|
language: import("../types.js").AcceptedLanguages;
|
|
31
31
|
} | {
|
|
32
32
|
config: import("../types.js").I18nOptions<import("../types.js").ClientTranslationsObject>;
|
|
33
|
-
context:
|
|
33
|
+
context: 'client';
|
|
34
34
|
language: import("../types.js").AcceptedLanguages;
|
|
35
35
|
}) => Promise<I18n>;
|
|
36
36
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/utilities/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,IAAI,EAGJ,QAAQ,EACT,MAAM,aAAa,CAAA;AAMpB;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,aAAa,GAAG,yBAAyB,EACzC,gBAAgB,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/utilities/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,IAAI,EAGJ,QAAQ,EACT,MAAM,aAAa,CAAA;AAMpB;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,aAAa,GAAG,yBAAyB,EACzC,gBAAgB,GAAG,sBAAsB,iCAKxC;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,gBAAgB,CAAA;IACrB,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,CAAA;CACtD,KAAG,MAyCH,CAAA;AAiCD;;;;;;;GAOG;AACH,wBAAgB,CAAC,CACf,aAAa,GAAG,yBAAyB,EACzC,gBAAgB,GAAG,sBAAsB,EACzC,EACA,GAAG,EACH,YAAY,EACZ,IAAI,GACL,EAAE;IACD,GAAG,EAAE,gBAAgB,CAAA;IACrB,YAAY,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,CAAA;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC3B,GAAG,MAAM,CAmBT;AA4CD,eAAO,MAAM,QAAQ;;;;;;;;MAjBL,OAAO,CAAC,IAAI,CA+C3B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AcceptedLanguages } from '../types.js';
|
|
2
|
-
export declare const rtlLanguages: readonly [
|
|
3
|
-
export declare const acceptedLanguages: readonly [
|
|
2
|
+
export declare const rtlLanguages: readonly ['ar', 'fa', 'he'];
|
|
3
|
+
export declare const acceptedLanguages: readonly ['ar', 'az', 'bg', 'bn-BD', 'bn-IN', 'ca', 'cs', 'bn-BD', 'bn-IN', 'da', 'de', 'en', 'es', 'et', 'fa', 'fr', 'he', 'hr', 'hu', 'hy', 'id', 'is', 'it', 'ja', 'ko', 'lt', 'lv', 'my', 'nb', 'nl', 'pl', 'pt', 'ro', 'rs', 'rs-latin', 'ru', 'sk', 'sl', 'sv', 'ta', 'th', 'tr', 'uk', 'vi', 'zh', 'zh-TW'];
|
|
4
4
|
export declare function extractHeaderLanguage(acceptLanguageHeader: string): AcceptedLanguages | undefined;
|
|
5
5
|
//# sourceMappingURL=languages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/utilities/languages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAA;AAExE,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/utilities/languages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAA;AAExE,eAAO,MAAM,YAAY,YAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;AAEvD,eAAO,MAAM,iBAAiB,YAC5B,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,CAqFC,CAAA;AAkBV,wBAAgB,qBAAqB,CAAC,oBAAoB,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAuBjG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/translations",
|
|
3
|
-
"version": "4.0.0-internal.
|
|
3
|
+
"version": "4.0.0-internal.5e065b3",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -46,18 +46,20 @@
|
|
|
46
46
|
"dist"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"date-fns": "4.
|
|
49
|
+
"date-fns": "4.4.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@types/react": "19.
|
|
53
|
-
"@types/react-dom": "19.
|
|
52
|
+
"@types/react": "19.3.0",
|
|
53
|
+
"@types/react-dom": "19.3.0",
|
|
54
54
|
"dotenv": "16.4.7",
|
|
55
|
+
"esbuild": "0.27.1",
|
|
55
56
|
"prettier": "3.5.3",
|
|
56
|
-
"typescript": "6.0.
|
|
57
|
+
"typescript": "npm:@typescript/typescript6@6.0.2",
|
|
57
58
|
"@payloadcms/eslint-config": "3.28.0"
|
|
58
59
|
},
|
|
59
60
|
"scripts": {
|
|
60
|
-
"build": "pnpm build:types && pnpm build:swc",
|
|
61
|
+
"build": "pnpm build:types && pnpm build:swc && pnpm build:dateFNS",
|
|
62
|
+
"build:dateFNS": "node bundleDateFNSLocales.js",
|
|
61
63
|
"build:debug": "pnpm build",
|
|
62
64
|
"build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
|
|
63
65
|
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { deepMergeSimple } from './deepMergeSimple.js';
|
|
3
|
-
describe('deepMergeSimple', ()=>{
|
|
4
|
-
it('should merge two flat objects', ()=>{
|
|
5
|
-
const result = deepMergeSimple({
|
|
6
|
-
a: 1
|
|
7
|
-
}, {
|
|
8
|
-
b: 2
|
|
9
|
-
});
|
|
10
|
-
expect(result).toEqual({
|
|
11
|
-
a: 1,
|
|
12
|
-
b: 2
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
it('should let obj2 override obj1 keys', ()=>{
|
|
16
|
-
const result = deepMergeSimple({
|
|
17
|
-
a: 1
|
|
18
|
-
}, {
|
|
19
|
-
a: 2
|
|
20
|
-
});
|
|
21
|
-
expect(result).toEqual({
|
|
22
|
-
a: 2
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
it('should recursively merge nested objects', ()=>{
|
|
26
|
-
const result = deepMergeSimple({
|
|
27
|
-
a: {
|
|
28
|
-
b: 1,
|
|
29
|
-
c: 2
|
|
30
|
-
}
|
|
31
|
-
}, {
|
|
32
|
-
a: {
|
|
33
|
-
c: 3,
|
|
34
|
-
d: 4
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
expect(result).toEqual({
|
|
38
|
-
a: {
|
|
39
|
-
b: 1,
|
|
40
|
-
c: 3,
|
|
41
|
-
d: 4
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
it('should not mutate the input objects', ()=>{
|
|
46
|
-
const obj1 = {
|
|
47
|
-
a: 1
|
|
48
|
-
};
|
|
49
|
-
const obj2 = {
|
|
50
|
-
b: 2
|
|
51
|
-
};
|
|
52
|
-
deepMergeSimple(obj1, obj2);
|
|
53
|
-
expect(obj1).toEqual({
|
|
54
|
-
a: 1
|
|
55
|
-
});
|
|
56
|
-
expect(obj2).toEqual({
|
|
57
|
-
b: 2
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
it('should not pollute global Object.prototype via __proto__', ()=>{
|
|
61
|
-
const malicious = JSON.parse('{"__proto__": {"isAdmin": true}}');
|
|
62
|
-
deepMergeSimple({}, malicious);
|
|
63
|
-
expect({}.isAdmin).toBeUndefined();
|
|
64
|
-
});
|
|
65
|
-
it('should not hijack the returned object prototype via __proto__', ()=>{
|
|
66
|
-
const malicious = JSON.parse('{"__proto__": {"isAdmin": true}}');
|
|
67
|
-
const result = deepMergeSimple({}, malicious);
|
|
68
|
-
expect(result.isAdmin).toBeUndefined();
|
|
69
|
-
});
|
|
70
|
-
it('should not hijack prototype via nested __proto__ key', ()=>{
|
|
71
|
-
const malicious = JSON.parse('{"a": {"__proto__": {"isAdmin": true}}}');
|
|
72
|
-
const base = {
|
|
73
|
-
a: {}
|
|
74
|
-
};
|
|
75
|
-
const result = deepMergeSimple(base, malicious);
|
|
76
|
-
expect(result.a.isAdmin).toBeUndefined();
|
|
77
|
-
expect({}.isAdmin).toBeUndefined();
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
//# sourceMappingURL=deepMergeSimple.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/deepMergeSimple.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { deepMergeSimple } from './deepMergeSimple.js'\n\ndescribe('deepMergeSimple', () => {\n it('should merge two flat objects', () => {\n const result = deepMergeSimple({ a: 1 }, { b: 2 })\n expect(result).toEqual({ a: 1, b: 2 })\n })\n\n it('should let obj2 override obj1 keys', () => {\n const result = deepMergeSimple({ a: 1 }, { a: 2 })\n expect(result).toEqual({ a: 2 })\n })\n\n it('should recursively merge nested objects', () => {\n const result = deepMergeSimple({ a: { b: 1, c: 2 } }, { a: { c: 3, d: 4 } })\n expect(result).toEqual({ a: { b: 1, c: 3, d: 4 } })\n })\n\n it('should not mutate the input objects', () => {\n const obj1 = { a: 1 }\n const obj2 = { b: 2 }\n deepMergeSimple(obj1, obj2)\n expect(obj1).toEqual({ a: 1 })\n expect(obj2).toEqual({ b: 2 })\n })\n\n it('should not pollute global Object.prototype via __proto__', () => {\n const malicious = JSON.parse('{\"__proto__\": {\"isAdmin\": true}}')\n deepMergeSimple({}, malicious)\n expect(({} as any).isAdmin).toBeUndefined()\n })\n\n it('should not hijack the returned object prototype via __proto__', () => {\n const malicious = JSON.parse('{\"__proto__\": {\"isAdmin\": true}}')\n const result = deepMergeSimple({}, malicious) as any\n expect(result.isAdmin).toBeUndefined()\n })\n\n it('should not hijack prototype via nested __proto__ key', () => {\n const malicious = JSON.parse('{\"a\": {\"__proto__\": {\"isAdmin\": true}}}')\n const base = { a: {} }\n const result = deepMergeSimple(base, malicious) as any\n expect(result.a.isAdmin).toBeUndefined()\n expect(({} as any).isAdmin).toBeUndefined()\n })\n})\n"],"names":["describe","expect","it","deepMergeSimple","result","a","b","toEqual","c","d","obj1","obj2","malicious","JSON","parse","isAdmin","toBeUndefined","base"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,eAAe,QAAQ,uBAAsB;AAEtDH,SAAS,mBAAmB;IAC1BE,GAAG,iCAAiC;QAClC,MAAME,SAASD,gBAAgB;YAAEE,GAAG;QAAE,GAAG;YAAEC,GAAG;QAAE;QAChDL,OAAOG,QAAQG,OAAO,CAAC;YAAEF,GAAG;YAAGC,GAAG;QAAE;IACtC;IAEAJ,GAAG,sCAAsC;QACvC,MAAME,SAASD,gBAAgB;YAAEE,GAAG;QAAE,GAAG;YAAEA,GAAG;QAAE;QAChDJ,OAAOG,QAAQG,OAAO,CAAC;YAAEF,GAAG;QAAE;IAChC;IAEAH,GAAG,2CAA2C;QAC5C,MAAME,SAASD,gBAAgB;YAAEE,GAAG;gBAAEC,GAAG;gBAAGE,GAAG;YAAE;QAAE,GAAG;YAAEH,GAAG;gBAAEG,GAAG;gBAAGC,GAAG;YAAE;QAAE;QAC1ER,OAAOG,QAAQG,OAAO,CAAC;YAAEF,GAAG;gBAAEC,GAAG;gBAAGE,GAAG;gBAAGC,GAAG;YAAE;QAAE;IACnD;IAEAP,GAAG,uCAAuC;QACxC,MAAMQ,OAAO;YAAEL,GAAG;QAAE;QACpB,MAAMM,OAAO;YAAEL,GAAG;QAAE;QACpBH,gBAAgBO,MAAMC;QACtBV,OAAOS,MAAMH,OAAO,CAAC;YAAEF,GAAG;QAAE;QAC5BJ,OAAOU,MAAMJ,OAAO,CAAC;YAAED,GAAG;QAAE;IAC9B;IAEAJ,GAAG,4DAA4D;QAC7D,MAAMU,YAAYC,KAAKC,KAAK,CAAC;QAC7BX,gBAAgB,CAAC,GAAGS;QACpBX,OAAO,AAAC,CAAC,EAAUc,OAAO,EAAEC,aAAa;IAC3C;IAEAd,GAAG,iEAAiE;QAClE,MAAMU,YAAYC,KAAKC,KAAK,CAAC;QAC7B,MAAMV,SAASD,gBAAgB,CAAC,GAAGS;QACnCX,OAAOG,OAAOW,OAAO,EAAEC,aAAa;IACtC;IAEAd,GAAG,wDAAwD;QACzD,MAAMU,YAAYC,KAAKC,KAAK,CAAC;QAC7B,MAAMG,OAAO;YAAEZ,GAAG,CAAC;QAAE;QACrB,MAAMD,SAASD,gBAAgBc,MAAML;QACrCX,OAAOG,OAAOC,CAAC,CAACU,OAAO,EAAEC,aAAa;QACtCf,OAAO,AAAC,CAAC,EAAUc,OAAO,EAAEC,aAAa;IAC3C;AACF"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { extractHeaderLanguage } from './languages.js';
|
|
3
|
-
describe('extractHeaderLanguage', ()=>{
|
|
4
|
-
it('should return exact match when base language tag is supported', ()=>{
|
|
5
|
-
expect(extractHeaderLanguage('ja')).toBe('ja');
|
|
6
|
-
expect(extractHeaderLanguage('en')).toBe('en');
|
|
7
|
-
expect(extractHeaderLanguage('de')).toBe('de');
|
|
8
|
-
});
|
|
9
|
-
it('should fall back to base tag when regional tag has no exact match', ()=>{
|
|
10
|
-
expect(extractHeaderLanguage('ja-JP')).toBe('ja');
|
|
11
|
-
expect(extractHeaderLanguage('de-AT')).toBe('de');
|
|
12
|
-
expect(extractHeaderLanguage('fr-BE')).toBe('fr');
|
|
13
|
-
});
|
|
14
|
-
it('should match exact regional tag when it is supported', ()=>{
|
|
15
|
-
// zh-TW is in acceptedLanguages, so it should match directly
|
|
16
|
-
expect(extractHeaderLanguage('zh-TW')).toBe('zh-TW');
|
|
17
|
-
// bn-BD is in acceptedLanguages
|
|
18
|
-
expect(extractHeaderLanguage('bn-BD')).toBe('bn-BD');
|
|
19
|
-
});
|
|
20
|
-
it('should fall back to base tag for unsupported regional variant of a supported regional language', ()=>{
|
|
21
|
-
// zh-CN is not in acceptedLanguages, but zh is
|
|
22
|
-
expect(extractHeaderLanguage('zh-CN')).toBe('zh');
|
|
23
|
-
});
|
|
24
|
-
it('should return undefined for unsupported languages', ()=>{
|
|
25
|
-
expect(extractHeaderLanguage('xx')).toBeUndefined();
|
|
26
|
-
expect(extractHeaderLanguage('xx-XX')).toBeUndefined();
|
|
27
|
-
});
|
|
28
|
-
it('should respect quality ordering and return highest quality supported language', ()=>{
|
|
29
|
-
expect(extractHeaderLanguage('ja-JP;q=0.9, en;q=1.0')).toBe('en');
|
|
30
|
-
expect(extractHeaderLanguage('ja-JP, en;q=0.9')).toBe('ja');
|
|
31
|
-
});
|
|
32
|
-
it('should skip unsupported languages and find the next supported one', ()=>{
|
|
33
|
-
expect(extractHeaderLanguage('xx-XX, ja-JP')).toBe('ja');
|
|
34
|
-
expect(extractHeaderLanguage('xx, yy, de-DE')).toBe('de');
|
|
35
|
-
});
|
|
36
|
-
it('should handle empty string', ()=>{
|
|
37
|
-
// empty string produces one entry with empty language, which won't match
|
|
38
|
-
expect(extractHeaderLanguage('')).toBeUndefined();
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=languages.spec.js.map
|