@djangocfg/i18n 2.1.567 → 2.1.570

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/src/locales/en.ts CHANGED
@@ -6,577 +6,526 @@ import type { I18nTranslations } from '../types'
6
6
  export const en: I18nTranslations = {
7
7
  ui: {
8
8
  select: {
9
- placeholder: 'Select option...',
10
- search: 'Search...',
11
- noResults: 'No results found.',
12
- selectAll: 'Select all',
13
- clearAll: 'Clear all',
14
- moreItems: '+{count} more',
15
- loading: 'Loading...',
9
+ placeholder: "Select option...",
10
+ search: "Search...",
11
+ noResults: "No results found.",
12
+ selectAll: "Select all",
13
+ clearAll: "Clear all",
14
+ moreItems: "+{count} more",
15
+ loading: "Loading...",
16
16
  },
17
-
18
17
  pagination: {
19
- previous: 'Previous',
20
- next: 'Next',
21
- first: 'First',
22
- last: 'Last',
23
- page: 'Page {page}',
24
- of: 'of {total}',
25
- showing: '{from}-{to} of {total}',
18
+ previous: "Previous",
19
+ next: "Next",
20
+ first: "First",
21
+ last: "Last",
22
+ page: "Page {page}",
23
+ of: "of {total}",
24
+ showing: "{from}-{to} of {total}",
26
25
  },
27
-
28
26
  dialog: {
29
- close: 'Close',
30
- confirm: 'Confirm',
31
- cancel: 'Cancel',
32
- ok: 'OK',
33
- yes: 'Yes',
34
- no: 'No',
35
- delete: 'Delete',
36
- save: 'Save',
37
- discard: 'Discard',
38
- // Alert dialog
39
- alertTitle: 'Notice',
40
- // Confirm dialog
41
- confirmTitle: 'Confirm',
42
- confirmDelete: 'Are you sure you want to delete this?',
43
- // Prompt dialog
44
- promptTitle: 'Input Required',
45
- promptPlaceholder: 'Enter value...',
27
+ close: "Close",
28
+ confirm: "Confirm",
29
+ cancel: "Cancel",
30
+ ok: "OK",
31
+ yes: "Yes",
32
+ no: "No",
33
+ delete: "Delete",
34
+ save: "Save",
35
+ discard: "Discard",
36
+ alertTitle: "Notice",
37
+ confirmTitle: "Confirm",
38
+ confirmDelete: "Are you sure you want to delete this?",
39
+ promptTitle: "Input Required",
40
+ promptPlaceholder: "Enter value...",
46
41
  },
47
-
48
42
  form: {
49
- submit: 'Submit',
50
- cancel: 'Cancel',
51
- save: 'Save',
52
- delete: 'Delete',
53
- edit: 'Edit',
54
- create: 'Create',
55
- update: 'Update',
56
- reset: 'Reset',
57
- clear: 'Clear',
58
- loading: 'Loading...',
59
- saving: 'Saving...',
60
- deleting: 'Deleting...',
61
- required: 'This field is required',
62
- optional: 'Optional',
63
- minLength: '{min} characters minimum',
64
- maxLength: '{max} characters maximum',
65
- invalidEmail: 'Please enter a valid email address',
66
- invalidUrl: 'Please enter a valid URL',
67
- invalidPhone: 'Please enter a valid phone number',
68
- passwordMismatch: 'Passwords do not match',
43
+ submit: "Submit",
44
+ cancel: "Cancel",
45
+ save: "Save",
46
+ delete: "Delete",
47
+ edit: "Edit",
48
+ create: "Create",
49
+ update: "Update",
50
+ reset: "Reset",
51
+ clear: "Clear",
52
+ loading: "Loading...",
53
+ saving: "Saving...",
54
+ deleting: "Deleting...",
55
+ required: "This field is required",
56
+ optional: "Optional",
57
+ minLength: "{min} characters minimum",
58
+ maxLength: "{max} characters maximum",
59
+ invalidEmail: "Please enter a valid email address",
60
+ invalidUrl: "Please enter a valid URL",
61
+ invalidPhone: "Please enter a valid phone number",
62
+ passwordMismatch: "Passwords do not match",
69
63
  },
70
-
71
64
  datetime: {
72
- today: 'Today',
73
- yesterday: 'Yesterday',
74
- tomorrow: 'Tomorrow',
75
- now: 'Just now',
76
- secondsAgo: '{count} seconds ago',
77
- minutesAgo: '{count} minutes ago',
78
- hoursAgo: '{count} hours ago',
79
- daysAgo: '{count} days ago',
80
- pickDate: 'Pick a date',
81
- pickTime: 'Pick a time',
82
- pickDateTime: 'Pick date and time',
83
- pickDateRange: 'Pick a date range',
65
+ today: "Today",
66
+ yesterday: "Yesterday",
67
+ tomorrow: "Tomorrow",
68
+ now: "Just now",
69
+ secondsAgo: "{count} seconds ago",
70
+ minutesAgo: "{count} minutes ago",
71
+ hoursAgo: "{count} hours ago",
72
+ daysAgo: "{count} days ago",
73
+ pickDate: "Pick a date",
74
+ pickTime: "Pick a time",
75
+ pickDateTime: "Pick date and time",
76
+ pickDateRange: "Pick a date range",
84
77
  },
85
-
86
78
  file: {
87
- upload: 'Upload',
88
- uploading: 'Uploading...',
89
- dragDrop: 'Drag and drop files here',
90
- browse: 'Browse files',
91
- remove: 'Remove',
92
- maxSize: 'Max size: {size}',
93
- invalidType: 'Invalid file type',
94
- tooLarge: 'File is too large',
79
+ upload: "Upload",
80
+ uploading: "Uploading...",
81
+ dragDrop: "Drag and drop files here",
82
+ browse: "Browse files",
83
+ remove: "Remove",
84
+ maxSize: "Max size: {size}",
85
+ invalidType: "Invalid file type",
86
+ tooLarge: "File is too large",
95
87
  },
96
-
97
88
  table: {
98
- noData: 'No data available',
99
- loading: 'Loading data...',
100
- showing: 'Showing {from}-{to} of {total}',
101
- rowsPerPage: 'Rows per page',
102
- sortAsc: 'Sort ascending',
103
- sortDesc: 'Sort descending',
104
- filter: 'Filter',
105
- clearFilters: 'Clear filters',
106
- selectAll: 'Select all',
107
- deselectAll: 'Deselect all',
108
- selected: '{count} selected',
89
+ noData: "No data available",
90
+ loading: "Loading data...",
91
+ showing: "Showing {from}-{to} of {total}",
92
+ rowsPerPage: "Rows per page",
93
+ sortAsc: "Sort ascending",
94
+ sortDesc: "Sort descending",
95
+ filter: "Filter",
96
+ clearFilters: "Clear filters",
97
+ selectAll: "Select all",
98
+ deselectAll: "Deselect all",
99
+ selected: "{count} selected",
109
100
  },
110
-
111
101
  actions: {
112
- view: 'View',
113
- copy: 'Copy',
114
- copied: 'Copied!',
115
- copyToClipboard: 'Copy to clipboard',
116
- download: 'Download',
117
- share: 'Share',
118
- refresh: 'Refresh',
119
- retry: 'Retry',
120
- expand: 'Expand',
121
- collapse: 'Collapse',
122
- showMore: 'Show more',
123
- showLess: 'Show less',
124
- seeAll: 'See all',
125
- goBack: 'Go back',
126
- remove: 'Remove',
127
- previousSlide: 'Previous slide',
128
- nextSlide: 'Next slide',
102
+ view: "View",
103
+ copy: "Copy",
104
+ copied: "Copied!",
105
+ copyToClipboard: "Copy to clipboard",
106
+ download: "Download",
107
+ share: "Share",
108
+ refresh: "Refresh",
109
+ retry: "Retry",
110
+ expand: "Expand",
111
+ collapse: "Collapse",
112
+ showMore: "Show more",
113
+ showLess: "Show less",
114
+ seeAll: "See all",
115
+ goBack: "Go back",
116
+ remove: "Remove",
117
+ previousSlide: "Previous slide",
118
+ nextSlide: "Next slide",
129
119
  },
130
-
131
120
  phone: {
132
- searchCountries: 'Search countries...',
133
- noCountries: 'No countries found',
121
+ searchCountries: "Search countries...",
122
+ noCountries: "No countries found",
134
123
  },
135
-
136
124
  navigation: {
137
- title: 'Navigation',
125
+ title: "Navigation",
138
126
  },
139
-
140
127
  states: {
141
- loading: 'Loading',
142
- empty: 'Empty',
143
- error: 'Error',
144
- success: 'Success',
145
- warning: 'Warning',
146
- info: 'Info',
147
- pending: 'Pending',
148
- active: 'Active',
149
- inactive: 'Inactive',
150
- enabled: 'Enabled',
151
- disabled: 'Disabled',
128
+ loading: "Loading",
129
+ empty: "Empty",
130
+ error: "Error",
131
+ success: "Success",
132
+ warning: "Warning",
133
+ info: "Info",
134
+ pending: "Pending",
135
+ active: "Active",
136
+ inactive: "Inactive",
137
+ enabled: "Enabled",
138
+ disabled: "Disabled",
152
139
  },
153
-
154
140
  errors: {
155
- generic: 'Something went wrong',
156
- network: 'Network error. Please check your connection.',
157
- timeout: 'Request timed out. Please try again.',
158
- notFound: 'Not found',
159
- unauthorized: 'Please sign in to continue',
160
- forbidden: 'You do not have permission to access this',
161
- serverError: 'Server error. Please try again later.',
162
- validation: 'Please check the form for errors',
163
- unknown: 'An unknown error occurred',
141
+ generic: "Something went wrong",
142
+ network: "Network error. Please check your connection.",
143
+ timeout: "Request timed out. Please try again.",
144
+ notFound: "Not found",
145
+ unauthorized: "Please sign in to continue",
146
+ forbidden: "You do not have permission to access this",
147
+ serverError: "Server error. Please try again later.",
148
+ validation: "Please check the form for errors",
149
+ unknown: "An unknown error occurred",
164
150
  },
165
151
  },
166
-
167
152
  layouts: {
168
153
  sidebar: {
169
- toggle: 'Toggle sidebar',
170
- collapse: 'Collapse sidebar',
171
- expand: 'Expand sidebar',
154
+ toggle: "Toggle sidebar",
155
+ collapse: "Collapse sidebar",
156
+ expand: "Expand sidebar",
172
157
  },
173
-
174
158
  navigation: {
175
- menu: 'Menu',
176
- home: 'Home',
177
- back: 'Back',
178
- forward: 'Forward',
179
- toggleMobile: 'Toggle mobile menu',
180
- breadcrumb: 'Breadcrumb',
159
+ menu: "Menu",
160
+ home: "Home",
161
+ back: "Back",
162
+ forward: "Forward",
163
+ toggleMobile: "Toggle mobile menu",
164
+ breadcrumb: "Breadcrumb",
181
165
  },
182
-
183
166
  profile: {
184
- settings: 'Settings',
185
- account: 'Account',
186
- logout: 'Log out',
187
- login: 'Log in',
188
- signUp: 'Sign up',
189
- signOut: 'Sign Out',
190
- userMenu: 'User menu',
191
- language: 'Language',
167
+ settings: "Settings",
168
+ account: "Account",
169
+ logout: "Log out",
170
+ login: "Log in",
171
+ signUp: "Sign up",
172
+ signOut: "Sign Out",
173
+ userMenu: "User menu",
174
+ language: "Language",
192
175
  },
193
-
194
176
  theme: {
195
- toggle: 'Toggle theme',
196
- light: 'Light',
197
- dark: 'Dark',
198
- system: 'System',
177
+ toggle: "Toggle theme",
178
+ light: "Light",
179
+ dark: "Dark",
180
+ system: "System",
199
181
  },
200
-
201
182
  search: {
202
- placeholder: 'Search...',
203
- noResults: 'No results found',
204
- recentSearches: 'Recent searches',
205
- clearHistory: 'Clear history',
183
+ placeholder: "Search...",
184
+ noResults: "No results found",
185
+ recentSearches: "Recent searches",
186
+ clearHistory: "Clear history",
206
187
  },
207
-
208
188
  mobile: {
209
- closeMenu: 'Close menu',
189
+ closeMenu: "Close menu",
210
190
  },
211
-
212
191
  errors: {
213
- somethingWentWrong: 'Something went wrong',
192
+ somethingWentWrong: "Something went wrong",
214
193
  tryRefreshing: "We're sorry, but something unexpected happened. Please try refreshing the page.",
215
- refreshPage: 'Refresh Page',
216
- goBack: 'Go Back',
217
- goHome: 'Go Home',
218
- needHelp: 'Need help?',
219
- contactSupport: 'Contact support',
220
- checkStatus: 'Check service status',
221
- persistsContact: 'If the problem persists, please contact {email}',
222
- error: 'Error',
223
- badRequest: 'Bad Request',
224
- authRequired: 'Authentication Required',
225
- accessDenied: 'Access Denied',
226
- pageNotFound: 'Page Not Found',
227
- requestTimeout: 'Request Timeout',
228
- serverError: 'Server Error',
229
- badGateway: 'Bad Gateway',
230
- serviceUnavailable: 'Service Unavailable',
231
- gatewayTimeout: 'Gateway Timeout',
232
- badRequestDesc: 'The request could not be understood. Please check your input and try again.',
233
- authRequiredDesc: 'You need to sign in to access this page.',
194
+ refreshPage: "Refresh Page",
195
+ goBack: "Go Back",
196
+ goHome: "Go Home",
197
+ needHelp: "Need help?",
198
+ contactSupport: "Contact support",
199
+ checkStatus: "Check service status",
200
+ persistsContact: "If the problem persists, please contact {email}",
201
+ error: "Error",
202
+ badRequest: "Bad Request",
203
+ authRequired: "Authentication Required",
204
+ accessDenied: "Access Denied",
205
+ pageNotFound: "Page Not Found",
206
+ requestTimeout: "Request Timeout",
207
+ serverError: "Server Error",
208
+ badGateway: "Bad Gateway",
209
+ serviceUnavailable: "Service Unavailable",
210
+ gatewayTimeout: "Gateway Timeout",
211
+ badRequestDesc: "The request could not be understood. Please check your input and try again.",
212
+ authRequiredDesc: "You need to sign in to access this page.",
234
213
  accessDeniedDesc: "You don't have permission to access this resource.",
235
214
  pageNotFoundDesc: "The page you're looking for doesn't exist or has been moved.",
236
- requestTimeoutDesc: 'The request took too long to process. Please try again.',
215
+ requestTimeoutDesc: "The request took too long to process. Please try again.",
237
216
  serverErrorDesc: "Something went wrong on our end. We're working to fix it.",
238
- badGatewayDesc: 'The server received an invalid response. Please try again later.',
239
- serviceUnavailableDesc: 'The service is temporarily unavailable. Please try again later.',
240
- gatewayTimeoutDesc: 'The server took too long to respond. Please try again.',
241
- unknownErrorDesc: 'An unexpected error occurred. Please try again or contact support.',
217
+ badGatewayDesc: "The server received an invalid response. Please try again later.",
218
+ serviceUnavailableDesc: "The service is temporarily unavailable. Please try again later.",
219
+ gatewayTimeoutDesc: "The server took too long to respond. Please try again.",
220
+ unknownErrorDesc: "An unexpected error occurred. Please try again or contact support.",
242
221
  },
243
-
244
222
  push: {
245
- enableNotifications: 'Enable notifications',
246
- stayUpdated: 'Stay updated with important updates and alerts',
247
- enable: 'Enable',
248
- notNow: 'Not now',
249
- dismiss: 'Dismiss',
223
+ enableNotifications: "Enable notifications",
224
+ stayUpdated: "Stay updated with important updates and alerts",
225
+ enable: "Enable",
226
+ notNow: "Not now",
227
+ dismiss: "Dismiss",
250
228
  },
251
-
252
229
  auth: {
253
- authRequired: 'Authentication Required',
254
- pleaseSignIn: 'Please sign in to continue',
255
- goToSignIn: 'Go to Sign In',
256
-
257
- // Identifier step
230
+ authRequired: "Authentication Required",
231
+ pleaseSignIn: "Please sign in to continue",
232
+ goToSignIn: "Go to Sign In",
258
233
  identifier: {
259
- title: 'Sign in',
234
+ title: "Sign in",
260
235
  subtitle: {
261
- email: 'Enter your email to continue',
262
- phone: 'Enter your phone number to continue',
236
+ email: "Enter your email to continue",
237
+ phone: "Enter your phone number to continue",
263
238
  },
264
239
  placeholder: {
265
- email: 'email@example.com',
266
- phone: 'Enter your phone number',
240
+ email: "email@example.com",
241
+ phone: "Enter your phone number",
267
242
  },
268
- button: 'Continue',
243
+ button: "Continue",
269
244
  oauth: {
270
- github: 'Continue with GitHub',
245
+ github: "Continue with GitHub",
271
246
  },
272
247
  channel: {
273
- email: 'Email',
274
- phone: 'Phone',
248
+ email: "Email",
249
+ phone: "Phone",
275
250
  },
276
251
  },
277
-
278
- // OTP step
279
252
  otp: {
280
- title: 'Enter code',
281
- subtitle: 'We sent a code to',
282
- button: 'Verify',
283
- resend: 'Resend code',
284
- changeEmail: 'Change email',
285
- changePhone: 'Change phone',
286
- openMailbox: 'Open {provider}',
253
+ title: "Enter code",
254
+ subtitle: "We sent a code to",
255
+ button: "Verify",
256
+ resend: "Resend code",
257
+ changeEmail: "Change email",
258
+ changePhone: "Change phone",
259
+ openMailbox: "Open {provider}",
287
260
  },
288
-
289
- // Two-factor step
290
261
  twoFactor: {
291
- title: 'Two-factor authentication',
262
+ title: "Two-factor authentication",
292
263
  subtitle: {
293
- totp: 'Enter the 6-digit code from your authenticator',
294
- backup: 'Enter one of your backup codes',
264
+ totp: "Enter the 6-digit code from your authenticator",
265
+ backup: "Enter one of your backup codes",
295
266
  },
296
267
  placeholder: {
297
- backup: 'XXXXXXXX',
268
+ backup: "XXXXXXXX",
298
269
  },
299
- button: 'Verify',
270
+ button: "Verify",
300
271
  toggle: {
301
- toBackup: 'Use backup code',
302
- toTotp: 'Use authenticator app',
272
+ toBackup: "Use backup code",
273
+ toTotp: "Use authenticator app",
303
274
  },
304
275
  },
305
-
306
- // 2FA Setup
307
276
  setup: {
308
277
  loading: {
309
- title: 'Setting up...',
310
- button: 'Loading',
278
+ title: "Setting up...",
279
+ button: "Loading",
311
280
  },
312
281
  qrCode: {
313
- title: 'Set up 2FA',
314
- subtitle: 'Scan this QR code with your authenticator app',
282
+ title: "Set up 2FA",
283
+ subtitle: "Scan this QR code with your authenticator app",
315
284
  manualEntry: "Can't scan? Enter manually",
316
- confirmPrompt: 'Enter the 6-digit code to confirm',
317
- button: 'Enable 2FA',
318
- skip: 'Skip for now',
285
+ confirmPrompt: "Enter the 6-digit code to confirm",
286
+ button: "Enable 2FA",
287
+ skip: "Skip for now",
319
288
  },
320
289
  complete: {
321
- title: '2FA enabled',
322
- subtitle: 'Save these backup codes securely',
323
- instruction: 'Each code can only be used once',
324
- copyAll: 'Copy all codes',
325
- copied: 'Copied',
326
- done: 'Done',
290
+ title: "2FA enabled",
291
+ subtitle: "Save these backup codes securely",
292
+ instruction: "Each code can only be used once",
293
+ copyAll: "Copy all codes",
294
+ copied: "Copied",
295
+ done: "Done",
327
296
  },
328
297
  },
329
-
330
- // Success
331
298
  success: {
332
- message: 'Signed in successfully',
299
+ message: "Signed in successfully",
300
+ redirecting: "Taking you in…",
333
301
  },
334
-
335
302
  divider: {
336
- or: 'or',
303
+ or: "or",
337
304
  },
338
305
  footer: {
339
- terms: 'Terms',
340
- privacy: 'Privacy',
341
- support: 'Support',
306
+ terms: "Terms",
307
+ privacy: "Privacy",
308
+ support: "Support",
342
309
  },
343
-
344
- // Dev mode
345
310
  dev: {
346
- anyCodeWorks: 'Dev Mode: Any code works',
311
+ anyCodeWorks: "Dev Mode: Any code works",
347
312
  },
348
313
  },
349
-
350
314
  chat: {
351
- aiAssistant: 'AI Assistant',
352
- defaultTitle: 'AI Chat',
353
- newChat: 'New chat',
354
- closeChat: 'Close chat',
355
- switchToFloating: 'Switch to floating mode',
356
- switchToSidebar: 'Switch to sidebar mode',
357
- dragToResize: 'Drag to resize',
358
- howCanIHelp: 'How can I help?',
315
+ aiAssistant: "AI Assistant",
316
+ defaultTitle: "AI Chat",
317
+ newChat: "New chat",
318
+ closeChat: "Close chat",
319
+ switchToFloating: "Switch to floating mode",
320
+ switchToSidebar: "Switch to sidebar mode",
321
+ dragToResize: "Drag to resize",
322
+ howCanIHelp: "How can I help?",
359
323
  },
360
-
361
324
  pwa: {
362
- addToHomeScreen: 'Add to Home Screen',
363
- installApp: 'Install App',
364
- tapToLearnHow: 'Tap to learn how',
365
- clickToSeeGuide: 'Click to see desktop guide',
366
- tapToInstall: 'Tap to install',
367
- installing: 'Installing...',
368
- dismiss: 'Dismiss',
369
- appLogo: 'App logo',
370
- iosTitle: 'Add to Home Screen',
371
- iosDescription: 'Install this app on your iPhone for quick access and a better experience',
372
- iosStep1Title: 'Tap Share',
373
- iosStep1Desc: 'At the bottom of Safari',
374
- iosStep2Title: 'Scroll & Tap',
375
- iosStep2Desc: '"Add to Home Screen"',
376
- iosStep3Title: 'Confirm',
377
- iosStep3Desc: 'Tap "Add" in top-right',
378
- gotIt: 'Got It',
379
- desktopTitle: 'Install App on Desktop',
380
- desktopDescription: 'Install this app on {browser} for quick access from your desktop',
381
- desktopDescSafari: 'Safari on macOS has limited PWA support. For the best experience, use Chrome, Edge, or Brave.',
382
- desktopTip: 'You can also right-click the page and look for "Install" option in {browser}',
383
- desktopFirefoxNote: 'Firefox has limited PWA support. Some features may not work as expected.',
384
- chromiumStep1Title: 'Find Install Icon',
385
- chromiumStep1Desc: 'Look for install icon in address bar (right side)',
386
- chromiumStep2Title: 'Click Install',
387
- chromiumStep2Desc: 'Click the icon and select "Install"',
388
- chromiumStep3Title: 'Confirm',
389
- chromiumStep3Desc: 'Click "Install" in the popup dialog',
390
- firefoxStep1Title: 'Open Menu',
391
- firefoxStep1Desc: 'Click the menu button (three lines)',
392
- firefoxStep2Title: 'Find Install Option',
393
- firefoxStep2Desc: 'Look for "Install" or "Add to Home Screen"',
394
- firefoxStep3Title: 'Confirm',
395
- firefoxStep3Desc: 'Follow the installation prompts',
396
- safariStep1Title: 'Limited Support',
397
- safariStep1Desc: 'Safari on macOS has limited PWA support',
398
- safariStep2Title: 'Use Chromium Browser',
399
- safariStep2Desc: 'Consider using Chrome, Edge, or Brave for full PWA experience',
400
- unknownStep1Title: 'Check Address Bar',
401
- unknownStep1Desc: 'Look for an install or download icon',
402
- unknownStep2Title: 'Or Use Menu',
403
- unknownStep2Desc: 'Check browser menu for install option',
404
- unknownStep3Title: 'Confirm',
405
- unknownStep3Desc: 'Follow the installation prompts',
406
- close: 'Close',
325
+ addToHomeScreen: "Add to Home Screen",
326
+ installApp: "Install App",
327
+ tapToLearnHow: "Tap to learn how",
328
+ clickToSeeGuide: "Click to see desktop guide",
329
+ tapToInstall: "Tap to install",
330
+ installing: "Installing...",
331
+ dismiss: "Dismiss",
332
+ appLogo: "App logo",
333
+ iosTitle: "Add to Home Screen",
334
+ iosDescription: "Install this app on your iPhone for quick access and a better experience",
335
+ iosStep1Title: "Tap Share",
336
+ iosStep1Desc: "At the bottom of Safari",
337
+ iosStep2Title: "Scroll & Tap",
338
+ iosStep2Desc: "\"Add to Home Screen\"",
339
+ iosStep3Title: "Confirm",
340
+ iosStep3Desc: "Tap \"Add\" in top-right",
341
+ gotIt: "Got It",
342
+ desktopTitle: "Install App on Desktop",
343
+ desktopDescription: "Install this app on {browser} for quick access from your desktop",
344
+ desktopDescSafari: "Safari on macOS has limited PWA support. For the best experience, use Chrome, Edge, or Brave.",
345
+ desktopTip: "You can also right-click the page and look for \"Install\" option in {browser}",
346
+ desktopFirefoxNote: "Firefox has limited PWA support. Some features may not work as expected.",
347
+ chromiumStep1Title: "Find Install Icon",
348
+ chromiumStep1Desc: "Look for install icon in address bar (right side)",
349
+ chromiumStep2Title: "Click Install",
350
+ chromiumStep2Desc: "Click the icon and select \"Install\"",
351
+ chromiumStep3Title: "Confirm",
352
+ chromiumStep3Desc: "Click \"Install\" in the popup dialog",
353
+ firefoxStep1Title: "Open Menu",
354
+ firefoxStep1Desc: "Click the menu button (three lines)",
355
+ firefoxStep2Title: "Find Install Option",
356
+ firefoxStep2Desc: "Look for \"Install\" or \"Add to Home Screen\"",
357
+ firefoxStep3Title: "Confirm",
358
+ firefoxStep3Desc: "Follow the installation prompts",
359
+ safariStep1Title: "Limited Support",
360
+ safariStep1Desc: "Safari on macOS has limited PWA support",
361
+ safariStep2Title: "Use Chromium Browser",
362
+ safariStep2Desc: "Consider using Chrome, Edge, or Brave for full PWA experience",
363
+ unknownStep1Title: "Check Address Bar",
364
+ unknownStep1Desc: "Look for an install or download icon",
365
+ unknownStep2Title: "Or Use Menu",
366
+ unknownStep2Desc: "Check browser menu for install option",
367
+ unknownStep3Title: "Confirm",
368
+ unknownStep3Desc: "Follow the installation prompts",
369
+ close: "Close",
407
370
  },
408
-
409
371
  profilePage: {
410
- title: 'Profile',
411
- account: 'Account',
412
- personalInfo: 'Personal Information',
413
- work: 'Work',
414
- security: 'Security',
415
- actions: 'Actions',
416
- email: 'Email',
417
- firstName: 'First Name',
418
- lastName: 'Last Name',
419
- company: 'Company',
420
- position: 'Position',
421
- phone: 'Phone',
422
- notSet: 'Not set',
423
- addFirstName: 'Add first name',
424
- addLastName: 'Add last name',
425
- addPhone: 'Add phone number',
426
- addCompany: 'Add company',
427
- addPosition: 'Add position',
428
- on: 'On',
429
- off: 'Off',
430
- save: 'Save',
431
- saving: 'Saving...',
432
- cancel: 'Cancel',
433
- signOut: 'Sign Out',
434
- deleteAccount: 'Delete Account',
435
- deleting: 'Deleting...',
436
- twoFactorAuth: 'Two-Factor Authentication',
437
- twoFactorEnabled: 'Two-factor authentication is enabled',
438
- twoFactorDisabled: 'Add an extra layer of security',
439
- enable2FA: 'Enable',
440
- avatar: 'Avatar',
441
- changeAvatar: 'Change avatar',
442
- memberSince: 'Member since {date}',
443
- enterField: 'Enter {field}',
444
- profileUpdated: 'Profile updated',
445
- avatarUpdated: 'Avatar updated',
446
- failedToUpdate: 'Failed to update',
447
- failedToUploadAvatar: 'Failed to upload avatar',
448
- selectImageFile: 'Please select an image file',
449
- fileTooLarge: 'File size must be less than 5MB',
450
- notAuthenticated: 'Not Authenticated',
451
- pleaseLogIn: 'Please log in to view your profile.',
452
- deleteAccountTitle: 'Delete Account',
453
- deleteAccountDesc: 'This action cannot be undone. Your account will be permanently deleted.',
454
- typeToConfirm: 'Type {word} to confirm:',
455
- confirmationWord: 'DELETE',
372
+ title: "Profile",
373
+ account: "Account",
374
+ personalInfo: "Personal Information",
375
+ work: "Work",
376
+ security: "Security",
377
+ actions: "Actions",
378
+ email: "Email",
379
+ firstName: "First Name",
380
+ lastName: "Last Name",
381
+ company: "Company",
382
+ position: "Position",
383
+ phone: "Phone",
384
+ notSet: "Not set",
385
+ addFirstName: "Add first name",
386
+ addLastName: "Add last name",
387
+ addPhone: "Add phone number",
388
+ addCompany: "Add company",
389
+ addPosition: "Add position",
390
+ on: "On",
391
+ off: "Off",
392
+ save: "Save",
393
+ saving: "Saving...",
394
+ cancel: "Cancel",
395
+ signOut: "Sign Out",
396
+ deleteAccount: "Delete Account",
397
+ deleting: "Deleting...",
398
+ twoFactorAuth: "Two-Factor Authentication",
399
+ twoFactorEnabled: "Two-factor authentication is enabled",
400
+ twoFactorDisabled: "Add an extra layer of security",
401
+ enable2FA: "Enable",
402
+ avatar: "Avatar",
403
+ changeAvatar: "Change avatar",
404
+ memberSince: "Member since {date}",
405
+ enterField: "Enter {field}",
406
+ profileUpdated: "Profile updated",
407
+ avatarUpdated: "Avatar updated",
408
+ failedToUpdate: "Failed to update",
409
+ failedToUploadAvatar: "Failed to upload avatar",
410
+ selectImageFile: "Please select an image file",
411
+ fileTooLarge: "File size must be less than 5MB",
412
+ notAuthenticated: "Not Authenticated",
413
+ pleaseLogIn: "Please log in to view your profile.",
414
+ deleteAccountTitle: "Delete Account",
415
+ deleteAccountDesc: "This action cannot be undone. Your account will be permanently deleted.",
416
+ typeToConfirm: "Type {word} to confirm:",
417
+ confirmationWord: "DELETE",
456
418
  },
457
419
  },
458
-
459
420
  api: {
460
421
  errors: {
461
- networkError: 'Network error',
462
- connectionFailed: 'Connection failed',
463
- requestTimeout: 'Request timed out',
464
- serverUnavailable: 'Server is unavailable',
465
- invalidResponse: 'Invalid response from server',
466
- rateLimited: 'Too many requests. Please wait.',
422
+ networkError: "Network error",
423
+ connectionFailed: "Connection failed",
424
+ requestTimeout: "Request timed out",
425
+ serverUnavailable: "Server is unavailable",
426
+ invalidResponse: "Invalid response from server",
427
+ rateLimited: "Too many requests. Please wait.",
467
428
  },
468
429
  status: {
469
- connecting: 'Connecting...',
470
- connected: 'Connected',
471
- disconnected: 'Disconnected',
472
- reconnecting: 'Reconnecting...',
430
+ connecting: "Connecting...",
431
+ connected: "Connected",
432
+ disconnected: "Disconnected",
433
+ reconnecting: "Reconnecting...",
473
434
  },
474
435
  logout: {
475
- title: 'Logout',
476
- message: 'Are you sure you want to logout?',
477
- confirm: 'Logout',
478
- cancel: 'Cancel',
436
+ title: "Logout",
437
+ message: "Are you sure you want to logout?",
438
+ confirm: "Logout",
439
+ cancel: "Cancel",
479
440
  },
480
441
  },
481
-
482
442
  tools: {
483
443
  code: {
484
- copyCode: 'Copy code',
485
- noContent: 'No content available',
444
+ copyCode: "Copy code",
445
+ noContent: "No content available",
486
446
  },
487
-
488
447
  diagram: {
489
- title: 'Diagram',
490
- clickToView: 'Click to view fullscreen',
448
+ title: "Diagram",
449
+ clickToView: "Click to view fullscreen",
491
450
  },
492
-
493
451
  image: {
494
- noImage: 'No image content',
495
- failedToLoad: 'Failed to load image',
496
- zoomIn: 'Zoom in',
497
- zoomOut: 'Zoom out',
498
- fitToView: 'Fit to view',
499
- flipHorizontal: 'Flip horizontal',
500
- flipVertical: 'Flip vertical',
501
- rotate: 'Rotate 90°',
502
- fullscreen: 'Open in fullscreen',
452
+ noImage: "No image content",
453
+ failedToLoad: "Failed to load image",
454
+ zoomIn: "Zoom in",
455
+ zoomOut: "Zoom out",
456
+ fitToView: "Fit to view",
457
+ flipHorizontal: "Flip horizontal",
458
+ flipVertical: "Flip vertical",
459
+ rotate: "Rotate 90°",
460
+ fullscreen: "Open in fullscreen",
503
461
  },
504
-
505
462
  gallery: {
506
- noImages: 'No images available',
507
- lightbox: 'Image lightbox',
508
- previous: 'Previous image',
509
- next: 'Next image',
510
- close: 'Close lightbox',
511
- download: 'Download image',
512
- share: 'Share image',
463
+ noImages: "No images available",
464
+ lightbox: "Image lightbox",
465
+ previous: "Previous image",
466
+ next: "Next image",
467
+ close: "Close lightbox",
468
+ download: "Download image",
469
+ share: "Share image",
513
470
  },
514
-
515
471
  video: {
516
- play: 'Play video',
517
- fullscreen: 'Fullscreen',
518
- unavailable: 'Video unavailable',
472
+ play: "Play video",
473
+ fullscreen: "Fullscreen",
474
+ unavailable: "Video unavailable",
519
475
  },
520
-
521
476
  audio: {
522
- restart: 'Restart',
523
- back: 'Back 5 seconds',
524
- forward: 'Forward 5 seconds',
525
- volume: 'Volume',
477
+ restart: "Restart",
478
+ back: "Back 5 seconds",
479
+ forward: "Forward 5 seconds",
480
+ volume: "Volume",
526
481
  },
527
-
528
482
  color: {
529
- pick: 'Pick color',
483
+ pick: "Pick color",
530
484
  },
531
-
532
485
  jsonForm: {
533
- validationErrors: 'Validation Errors',
534
- addItem: 'Add Item',
535
- addFirstItem: 'Add First Item',
536
- noItems: 'No items added yet.',
486
+ validationErrors: "Validation Errors",
487
+ addItem: "Add Item",
488
+ addFirstItem: "Add First Item",
489
+ noItems: "No items added yet.",
537
490
  },
538
-
539
491
  openapi: {
540
- response: 'Response',
541
- noResponse: 'No response body available',
542
- required: 'Required',
543
- optional: 'Optional',
544
- searchEndpoints: 'Search endpoints...',
545
- all: 'All',
546
- methods: 'Methods',
547
- path: 'Path',
548
- description: 'Description',
549
- navigation: 'Navigation',
550
- previous: 'Previous',
551
- next: 'Next',
552
- bearerToken: 'Enter Bearer token (optional, uses JWT if empty)',
492
+ response: "Response",
493
+ noResponse: "No response body available",
494
+ required: "Required",
495
+ optional: "Optional",
496
+ searchEndpoints: "Search endpoints...",
497
+ all: "All",
498
+ methods: "Methods",
499
+ path: "Path",
500
+ description: "Description",
501
+ navigation: "Navigation",
502
+ previous: "Previous",
503
+ next: "Next",
504
+ bearerToken: "Enter Bearer token (optional, uses JWT if empty)",
553
505
  },
554
-
555
506
  form: {
556
- title: 'Form',
507
+ title: "Form",
557
508
  },
558
-
559
509
  tour: {
560
- next: 'Next',
561
- previous: 'Back',
562
- skip: 'Skip',
563
- finish: 'Finish',
564
- close: 'Close',
565
- stepOf: 'Step {current} of {total}',
510
+ next: "Next",
511
+ previous: "Back",
512
+ skip: "Skip",
513
+ finish: "Finish",
514
+ close: "Close",
515
+ stepOf: "Step {current} of {total}",
566
516
  },
567
-
568
517
  upload: {
569
- dragDrop: 'Drag & drop files or click to browse',
570
- dropHere: 'Drop files here',
571
- maxSize: 'Max {size}MB per file',
572
- uploading: 'Uploading...',
573
- uploaded: 'Uploaded',
574
- failed: 'Failed',
575
- retry: 'Retry',
576
- remove: 'Remove',
577
- cancel: 'Cancel',
578
- paused: 'Paused',
579
- pending: 'Pending',
518
+ dragDrop: "Drag & drop files or click to browse",
519
+ dropHere: "Drop files here",
520
+ maxSize: "Max {size}MB per file",
521
+ uploading: "Uploading...",
522
+ uploaded: "Uploaded",
523
+ failed: "Failed",
524
+ retry: "Retry",
525
+ remove: "Remove",
526
+ cancel: "Cancel",
527
+ paused: "Paused",
528
+ pending: "Pending",
580
529
  },
581
530
  },
582
531
  }