@pocket-trash/localizations 0.1.0 → 0.3.0

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@pocket-trash/localizations.svg)](https://www.npmjs.com/package/@pocket-trash/localizations)
4
4
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./package.json)
5
- [![CI](https://github.com/Pocket-Trash/pocket-trash-localizations/actions/workflows/ci.yml/badge.svg)](https://github.com/Pocket-Trash/pocket-trash-localizations/actions/workflows/ci.yml)
5
+ [![CI](https://github.com/Pocket-Trash/localizations/actions/workflows/ci.yml/badge.svg)](https://github.com/Pocket-Trash/localizations/actions/workflows/ci.yml)
6
6
  [![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](docs/contributing.md)
7
7
 
8
8
  Shared localization utilities and translation catalogs for Pocket Trash.
package/dist/index.d.ts CHANGED
@@ -23,6 +23,192 @@ export declare const localizations: Readonly<{
23
23
  locale: {
24
24
  current: string;
25
25
  };
26
+ web: {
27
+ site: {
28
+ name: string;
29
+ };
30
+ action: {
31
+ archive: string;
32
+ clearAllFilters: string;
33
+ close: string;
34
+ edit: string;
35
+ saveFlag: string;
36
+ search: string;
37
+ signIn: string;
38
+ visitProductPage: string;
39
+ };
40
+ admin: {
41
+ featureFlags: {
42
+ actions: string;
43
+ adminOnlyTargeting: string;
44
+ audience: string;
45
+ booleanControls: string;
46
+ description: string;
47
+ displayName: string;
48
+ editFlag: string;
49
+ emailUsernameOrName: string;
50
+ featureFlags: string;
51
+ flag: string;
52
+ flags: string;
53
+ globalDefaultEnabled: string;
54
+ newFlag: string;
55
+ searchUsers: string;
56
+ slugPlaceholder: string;
57
+ };
58
+ };
59
+ archive: {
60
+ closeSearch: string;
61
+ controls: string;
62
+ defaultPenDescription: string;
63
+ filterDescription: string;
64
+ filters: string;
65
+ itemCount: string;
66
+ noDescription: string;
67
+ noItems: string;
68
+ searchPlaceholder: string;
69
+ searchProducts: string;
70
+ sortLabel: string;
71
+ sortProducts: string;
72
+ sortDescription: string;
73
+ footer: {
74
+ fanMade: string;
75
+ productOwnership: string;
76
+ resourceFor: string;
77
+ suggestionsOrContact: string;
78
+ discord: string;
79
+ };
80
+ headline: {
81
+ grip: string;
82
+ mechanism: string;
83
+ pen: string;
84
+ };
85
+ lightbox: {
86
+ archived: string;
87
+ closeProductDetails: string;
88
+ nextImage: string;
89
+ previousImage: string;
90
+ released: string;
91
+ specsDescription: string;
92
+ };
93
+ filter: {
94
+ all: string;
95
+ any: string;
96
+ matchMode: string;
97
+ bodyDetails: string;
98
+ category: string;
99
+ clip: string;
100
+ finish: string;
101
+ material: string;
102
+ mechanism: string;
103
+ refill: string;
104
+ size: string;
105
+ tipNose: string;
106
+ };
107
+ sort: {
108
+ newestDrop: string;
109
+ oldestDrop: string;
110
+ priceLowToHigh: string;
111
+ priceHighToLow: string;
112
+ weightLightToHeavy: string;
113
+ weightHeavyToLight: string;
114
+ diameterThinToThick: string;
115
+ diameterThickToThin: string;
116
+ titleAToZ: string;
117
+ };
118
+ spec: {
119
+ diameter: string;
120
+ length: string;
121
+ model: string;
122
+ price: string;
123
+ weight: string;
124
+ };
125
+ state: {
126
+ archived: string;
127
+ };
128
+ };
129
+ currency: {
130
+ aud: string;
131
+ cad: string;
132
+ chf: string;
133
+ eur: string;
134
+ gbp: string;
135
+ jpy: string;
136
+ nzd: string;
137
+ usd: string;
138
+ };
139
+ error: {
140
+ expectedJsonRequestBody: string;
141
+ invalidCurrencyCode: string;
142
+ invalidDimensionUnit: string;
143
+ invalidLocale: string;
144
+ invalidLogClientKey: string;
145
+ invalidTheme: string;
146
+ invalidWeightUnit: string;
147
+ missingSetting: string;
148
+ settingsSaveFailed: string;
149
+ userSettingsObject: string;
150
+ };
151
+ navigation: {
152
+ account: string;
153
+ accountMenu: string;
154
+ betaFeatures: string;
155
+ collections: string;
156
+ language: string;
157
+ logOut: string;
158
+ user: string;
159
+ };
160
+ locale: {
161
+ enUS: string;
162
+ esMX: string;
163
+ };
164
+ page: {
165
+ betaFeatures: {
166
+ empty: string;
167
+ };
168
+ collections: {
169
+ empty: string;
170
+ };
171
+ notFound: {
172
+ description: string;
173
+ returnToArchive: string;
174
+ title: string;
175
+ unavailable: string;
176
+ };
177
+ };
178
+ settings: {
179
+ about: string;
180
+ aboutDescription: string;
181
+ currency: string;
182
+ dark: string;
183
+ dimensionUnits: string;
184
+ dimensions: string;
185
+ displayCurrency: string;
186
+ displayPreferences: string;
187
+ displayPreferencesMachinedPens: string;
188
+ grams: string;
189
+ inches: string;
190
+ language: string;
191
+ light: string;
192
+ millimeters: string;
193
+ settings: string;
194
+ system: string;
195
+ theme: string;
196
+ weight: string;
197
+ weightUnits: string;
198
+ ounces: string;
199
+ };
200
+ sidebar: {
201
+ close: string;
202
+ description: string;
203
+ sidebar: string;
204
+ toggle: string;
205
+ };
206
+ status: {
207
+ disabled: string;
208
+ enabled: string;
209
+ failedToLoad: string;
210
+ };
211
+ };
26
212
  };
27
213
  "es-MX": {
28
214
  app: {
@@ -38,6 +224,192 @@ export declare const localizations: Readonly<{
38
224
  locale: {
39
225
  current: string;
40
226
  };
227
+ web: {
228
+ site: {
229
+ name: string;
230
+ };
231
+ action: {
232
+ archive: string;
233
+ clearAllFilters: string;
234
+ close: string;
235
+ edit: string;
236
+ saveFlag: string;
237
+ search: string;
238
+ signIn: string;
239
+ visitProductPage: string;
240
+ };
241
+ admin: {
242
+ featureFlags: {
243
+ actions: string;
244
+ adminOnlyTargeting: string;
245
+ audience: string;
246
+ booleanControls: string;
247
+ description: string;
248
+ displayName: string;
249
+ editFlag: string;
250
+ emailUsernameOrName: string;
251
+ featureFlags: string;
252
+ flag: string;
253
+ flags: string;
254
+ globalDefaultEnabled: string;
255
+ newFlag: string;
256
+ searchUsers: string;
257
+ slugPlaceholder: string;
258
+ };
259
+ };
260
+ archive: {
261
+ closeSearch: string;
262
+ controls: string;
263
+ defaultPenDescription: string;
264
+ filterDescription: string;
265
+ filters: string;
266
+ itemCount: string;
267
+ noDescription: string;
268
+ noItems: string;
269
+ searchPlaceholder: string;
270
+ searchProducts: string;
271
+ sortLabel: string;
272
+ sortProducts: string;
273
+ sortDescription: string;
274
+ footer: {
275
+ fanMade: string;
276
+ productOwnership: string;
277
+ resourceFor: string;
278
+ suggestionsOrContact: string;
279
+ discord: string;
280
+ };
281
+ headline: {
282
+ grip: string;
283
+ mechanism: string;
284
+ pen: string;
285
+ };
286
+ lightbox: {
287
+ archived: string;
288
+ closeProductDetails: string;
289
+ nextImage: string;
290
+ previousImage: string;
291
+ released: string;
292
+ specsDescription: string;
293
+ };
294
+ filter: {
295
+ all: string;
296
+ any: string;
297
+ matchMode: string;
298
+ bodyDetails: string;
299
+ category: string;
300
+ clip: string;
301
+ finish: string;
302
+ material: string;
303
+ mechanism: string;
304
+ refill: string;
305
+ size: string;
306
+ tipNose: string;
307
+ };
308
+ sort: {
309
+ newestDrop: string;
310
+ oldestDrop: string;
311
+ priceLowToHigh: string;
312
+ priceHighToLow: string;
313
+ weightLightToHeavy: string;
314
+ weightHeavyToLight: string;
315
+ diameterThinToThick: string;
316
+ diameterThickToThin: string;
317
+ titleAToZ: string;
318
+ };
319
+ spec: {
320
+ diameter: string;
321
+ length: string;
322
+ model: string;
323
+ price: string;
324
+ weight: string;
325
+ };
326
+ state: {
327
+ archived: string;
328
+ };
329
+ };
330
+ currency: {
331
+ aud: string;
332
+ cad: string;
333
+ chf: string;
334
+ eur: string;
335
+ gbp: string;
336
+ jpy: string;
337
+ nzd: string;
338
+ usd: string;
339
+ };
340
+ error: {
341
+ expectedJsonRequestBody: string;
342
+ invalidCurrencyCode: string;
343
+ invalidDimensionUnit: string;
344
+ invalidLocale: string;
345
+ invalidLogClientKey: string;
346
+ invalidTheme: string;
347
+ invalidWeightUnit: string;
348
+ missingSetting: string;
349
+ settingsSaveFailed: string;
350
+ userSettingsObject: string;
351
+ };
352
+ navigation: {
353
+ account: string;
354
+ accountMenu: string;
355
+ betaFeatures: string;
356
+ collections: string;
357
+ language: string;
358
+ logOut: string;
359
+ user: string;
360
+ };
361
+ locale: {
362
+ enUS: string;
363
+ esMX: string;
364
+ };
365
+ page: {
366
+ betaFeatures: {
367
+ empty: string;
368
+ };
369
+ collections: {
370
+ empty: string;
371
+ };
372
+ notFound: {
373
+ description: string;
374
+ returnToArchive: string;
375
+ title: string;
376
+ unavailable: string;
377
+ };
378
+ };
379
+ settings: {
380
+ about: string;
381
+ aboutDescription: string;
382
+ currency: string;
383
+ dark: string;
384
+ dimensionUnits: string;
385
+ dimensions: string;
386
+ displayCurrency: string;
387
+ displayPreferences: string;
388
+ displayPreferencesMachinedPens: string;
389
+ grams: string;
390
+ inches: string;
391
+ language: string;
392
+ light: string;
393
+ millimeters: string;
394
+ settings: string;
395
+ system: string;
396
+ theme: string;
397
+ weight: string;
398
+ weightUnits: string;
399
+ ounces: string;
400
+ };
401
+ sidebar: {
402
+ close: string;
403
+ description: string;
404
+ sidebar: string;
405
+ toggle: string;
406
+ };
407
+ status: {
408
+ disabled: string;
409
+ enabled: string;
410
+ failedToLoad: string;
411
+ };
412
+ };
41
413
  };
42
414
  }>;
43
415
  export declare const translationKeys: readonly TranslationKey[];
@@ -21,4 +21,190 @@ export declare const enUS: {
21
21
  locale: {
22
22
  current: string;
23
23
  };
24
+ web: {
25
+ site: {
26
+ name: string;
27
+ };
28
+ action: {
29
+ archive: string;
30
+ clearAllFilters: string;
31
+ close: string;
32
+ edit: string;
33
+ saveFlag: string;
34
+ search: string;
35
+ signIn: string;
36
+ visitProductPage: string;
37
+ };
38
+ admin: {
39
+ featureFlags: {
40
+ actions: string;
41
+ adminOnlyTargeting: string;
42
+ audience: string;
43
+ booleanControls: string;
44
+ description: string;
45
+ displayName: string;
46
+ editFlag: string;
47
+ emailUsernameOrName: string;
48
+ featureFlags: string;
49
+ flag: string;
50
+ flags: string;
51
+ globalDefaultEnabled: string;
52
+ newFlag: string;
53
+ searchUsers: string;
54
+ slugPlaceholder: string;
55
+ };
56
+ };
57
+ archive: {
58
+ closeSearch: string;
59
+ controls: string;
60
+ defaultPenDescription: string;
61
+ filterDescription: string;
62
+ filters: string;
63
+ itemCount: string;
64
+ noDescription: string;
65
+ noItems: string;
66
+ searchPlaceholder: string;
67
+ searchProducts: string;
68
+ sortLabel: string;
69
+ sortProducts: string;
70
+ sortDescription: string;
71
+ footer: {
72
+ fanMade: string;
73
+ productOwnership: string;
74
+ resourceFor: string;
75
+ suggestionsOrContact: string;
76
+ discord: string;
77
+ };
78
+ headline: {
79
+ grip: string;
80
+ mechanism: string;
81
+ pen: string;
82
+ };
83
+ lightbox: {
84
+ archived: string;
85
+ closeProductDetails: string;
86
+ nextImage: string;
87
+ previousImage: string;
88
+ released: string;
89
+ specsDescription: string;
90
+ };
91
+ filter: {
92
+ all: string;
93
+ any: string;
94
+ matchMode: string;
95
+ bodyDetails: string;
96
+ category: string;
97
+ clip: string;
98
+ finish: string;
99
+ material: string;
100
+ mechanism: string;
101
+ refill: string;
102
+ size: string;
103
+ tipNose: string;
104
+ };
105
+ sort: {
106
+ newestDrop: string;
107
+ oldestDrop: string;
108
+ priceLowToHigh: string;
109
+ priceHighToLow: string;
110
+ weightLightToHeavy: string;
111
+ weightHeavyToLight: string;
112
+ diameterThinToThick: string;
113
+ diameterThickToThin: string;
114
+ titleAToZ: string;
115
+ };
116
+ spec: {
117
+ diameter: string;
118
+ length: string;
119
+ model: string;
120
+ price: string;
121
+ weight: string;
122
+ };
123
+ state: {
124
+ archived: string;
125
+ };
126
+ };
127
+ currency: {
128
+ aud: string;
129
+ cad: string;
130
+ chf: string;
131
+ eur: string;
132
+ gbp: string;
133
+ jpy: string;
134
+ nzd: string;
135
+ usd: string;
136
+ };
137
+ error: {
138
+ expectedJsonRequestBody: string;
139
+ invalidCurrencyCode: string;
140
+ invalidDimensionUnit: string;
141
+ invalidLocale: string;
142
+ invalidLogClientKey: string;
143
+ invalidTheme: string;
144
+ invalidWeightUnit: string;
145
+ missingSetting: string;
146
+ settingsSaveFailed: string;
147
+ userSettingsObject: string;
148
+ };
149
+ navigation: {
150
+ account: string;
151
+ accountMenu: string;
152
+ betaFeatures: string;
153
+ collections: string;
154
+ language: string;
155
+ logOut: string;
156
+ user: string;
157
+ };
158
+ locale: {
159
+ enUS: string;
160
+ esMX: string;
161
+ };
162
+ page: {
163
+ betaFeatures: {
164
+ empty: string;
165
+ };
166
+ collections: {
167
+ empty: string;
168
+ };
169
+ notFound: {
170
+ description: string;
171
+ returnToArchive: string;
172
+ title: string;
173
+ unavailable: string;
174
+ };
175
+ };
176
+ settings: {
177
+ about: string;
178
+ aboutDescription: string;
179
+ currency: string;
180
+ dark: string;
181
+ dimensionUnits: string;
182
+ dimensions: string;
183
+ displayCurrency: string;
184
+ displayPreferences: string;
185
+ displayPreferencesMachinedPens: string;
186
+ grams: string;
187
+ inches: string;
188
+ language: string;
189
+ light: string;
190
+ millimeters: string;
191
+ settings: string;
192
+ system: string;
193
+ theme: string;
194
+ weight: string;
195
+ weightUnits: string;
196
+ ounces: string;
197
+ };
198
+ sidebar: {
199
+ close: string;
200
+ description: string;
201
+ sidebar: string;
202
+ toggle: string;
203
+ };
204
+ status: {
205
+ disabled: string;
206
+ enabled: string;
207
+ failedToLoad: string;
208
+ };
209
+ };
24
210
  };
@@ -21,4 +21,190 @@ export const enUS = {
21
21
  locale: {
22
22
  current: "Current language: {locale}",
23
23
  },
24
+ web: {
25
+ site: {
26
+ name: "Pocket Trash",
27
+ },
28
+ action: {
29
+ archive: "Archive",
30
+ clearAllFilters: "Clear all filters",
31
+ close: "Close",
32
+ edit: "Edit",
33
+ saveFlag: "Save flag",
34
+ search: "Search",
35
+ signIn: "Sign in",
36
+ visitProductPage: "Visit product page",
37
+ },
38
+ admin: {
39
+ featureFlags: {
40
+ actions: "Actions",
41
+ adminOnlyTargeting: "Admin-only targeting",
42
+ audience: "Audience",
43
+ booleanControls: "Boolean controls for global, private, and beta surfaces.",
44
+ description: "Description",
45
+ displayName: "Display name",
46
+ editFlag: "Edit flag",
47
+ emailUsernameOrName: "Email, username, or name",
48
+ featureFlags: "Feature flags",
49
+ flag: "Flag",
50
+ flags: "Flags",
51
+ globalDefaultEnabled: "Global default enabled",
52
+ newFlag: "New flag",
53
+ searchUsers: "Search users",
54
+ slugPlaceholder: "new-library-ui",
55
+ },
56
+ },
57
+ archive: {
58
+ closeSearch: "Close search",
59
+ controls: "Archive controls",
60
+ defaultPenDescription: "{siteName} pen.",
61
+ filterDescription: "Filter the archive by category, size, material, and more.",
62
+ filters: "Filters",
63
+ itemCount: "{visible} of {total} items",
64
+ noDescription: "(no description on file)",
65
+ noItems: "No items match these filters.",
66
+ searchPlaceholder: "Search...",
67
+ searchProducts: "Search pens by title, specs, or description",
68
+ sortLabel: "Sort",
69
+ sortProducts: "Sort pens",
70
+ sortDescription: "Choose how the archive is ordered.",
71
+ footer: {
72
+ fanMade: "Made by a fan; not affiliated with any maker.",
73
+ productOwnership: "Product names, images, and descriptions remain the property of their respective owners.",
74
+ resourceFor: "A resource for",
75
+ suggestionsOrContact: "Suggestions or contact:",
76
+ discord: "and the Machined Pens Discord.",
77
+ },
78
+ headline: {
79
+ grip: "{size} Grip",
80
+ mechanism: "{size} Mechanism",
81
+ pen: "Pen",
82
+ },
83
+ lightbox: {
84
+ archived: "Archived - no longer listed",
85
+ closeProductDetails: "Close product details",
86
+ nextImage: "Next image",
87
+ previousImage: "Previous image",
88
+ released: "Released",
89
+ specsDescription: "Specs, materials, and release details for this product.",
90
+ },
91
+ filter: {
92
+ all: "all",
93
+ any: "any",
94
+ matchMode: "{label} match mode",
95
+ bodyDetails: "Body details",
96
+ category: "Category",
97
+ clip: "Clip",
98
+ finish: "Finish",
99
+ material: "Material",
100
+ mechanism: "Mechanism",
101
+ refill: "Refill",
102
+ size: "Size",
103
+ tipNose: "Tip / Nose",
104
+ },
105
+ sort: {
106
+ newestDrop: "Newest drop",
107
+ oldestDrop: "Oldest drop",
108
+ priceLowToHigh: "Price low to high",
109
+ priceHighToLow: "Price high to low",
110
+ weightLightToHeavy: "Weight light to heavy",
111
+ weightHeavyToLight: "Weight heavy to light",
112
+ diameterThinToThick: "Diameter thin to thick",
113
+ diameterThickToThin: "Diameter thick to thin",
114
+ titleAToZ: "Title A to Z",
115
+ },
116
+ spec: {
117
+ diameter: "Diameter",
118
+ length: "Length",
119
+ model: "Model",
120
+ price: "Price",
121
+ weight: "Weight",
122
+ },
123
+ state: {
124
+ archived: "Archived",
125
+ },
126
+ },
127
+ currency: {
128
+ aud: "$ AUD",
129
+ cad: "$ CAD (native)",
130
+ chf: "CHF",
131
+ eur: "EUR EUR",
132
+ gbp: "GBP GBP",
133
+ jpy: "JPY JPY",
134
+ nzd: "$ NZD",
135
+ usd: "$ USD",
136
+ },
137
+ error: {
138
+ expectedJsonRequestBody: "Expected a JSON request body.",
139
+ invalidCurrencyCode: "Expected a valid currency code.",
140
+ invalidDimensionUnit: "Expected a valid dimension unit.",
141
+ invalidLocale: "Expected a valid locale.",
142
+ invalidLogClientKey: "Invalid log client key.",
143
+ invalidTheme: "Expected a valid theme.",
144
+ invalidWeightUnit: "Expected a valid weight unit.",
145
+ missingSetting: "Expected at least one setting.",
146
+ settingsSaveFailed: "We couldn't save your settings. Please try again.",
147
+ userSettingsObject: "Expected a user settings object.",
148
+ },
149
+ navigation: {
150
+ account: "Account",
151
+ accountMenu: "Account menu",
152
+ betaFeatures: "Beta features",
153
+ collections: "Collections",
154
+ language: "Language",
155
+ logOut: "Log out",
156
+ user: "User",
157
+ },
158
+ locale: {
159
+ enUS: "English (US)",
160
+ esMX: "Spanish (Mexico)",
161
+ },
162
+ page: {
163
+ betaFeatures: {
164
+ empty: "No beta features are available.",
165
+ },
166
+ collections: {
167
+ empty: "Collections will be available later.",
168
+ },
169
+ notFound: {
170
+ description: "This page does not exist or is no longer available.",
171
+ returnToArchive: "Return to archive",
172
+ title: "Not found",
173
+ unavailable: "Page unavailable",
174
+ },
175
+ },
176
+ settings: {
177
+ about: "About",
178
+ aboutDescription: "An unofficial archive of machined pen drops, with filters, specs, descriptions, and local image backups. Made by a fan; not affiliated with any maker.",
179
+ currency: "Currency",
180
+ dark: "Dark",
181
+ dimensionUnits: "Dimension units",
182
+ dimensions: "Dimensions",
183
+ displayCurrency: "Display currency",
184
+ displayPreferences: "Display preferences for the archive.",
185
+ displayPreferencesMachinedPens: "Display preferences for Pocket Trash.",
186
+ grams: "Grams",
187
+ inches: "Inches",
188
+ language: "Language",
189
+ light: "Light",
190
+ millimeters: "Millimeters",
191
+ settings: "Settings",
192
+ system: "System",
193
+ theme: "Theme",
194
+ weight: "Weight",
195
+ weightUnits: "Weight units",
196
+ ounces: "Ounces",
197
+ },
198
+ sidebar: {
199
+ close: "Close sidebar",
200
+ description: "Displays the mobile sidebar.",
201
+ sidebar: "Sidebar",
202
+ toggle: "Toggle sidebar",
203
+ },
204
+ status: {
205
+ disabled: "Disabled",
206
+ enabled: "Enabled",
207
+ failedToLoad: "Failed to load.",
208
+ },
209
+ },
24
210
  };
@@ -22,4 +22,190 @@ export declare const esMX: {
22
22
  locale: {
23
23
  current: string;
24
24
  };
25
+ web: {
26
+ site: {
27
+ name: string;
28
+ };
29
+ action: {
30
+ archive: string;
31
+ clearAllFilters: string;
32
+ close: string;
33
+ edit: string;
34
+ saveFlag: string;
35
+ search: string;
36
+ signIn: string;
37
+ visitProductPage: string;
38
+ };
39
+ admin: {
40
+ featureFlags: {
41
+ actions: string;
42
+ adminOnlyTargeting: string;
43
+ audience: string;
44
+ booleanControls: string;
45
+ description: string;
46
+ displayName: string;
47
+ editFlag: string;
48
+ emailUsernameOrName: string;
49
+ featureFlags: string;
50
+ flag: string;
51
+ flags: string;
52
+ globalDefaultEnabled: string;
53
+ newFlag: string;
54
+ searchUsers: string;
55
+ slugPlaceholder: string;
56
+ };
57
+ };
58
+ archive: {
59
+ closeSearch: string;
60
+ controls: string;
61
+ defaultPenDescription: string;
62
+ filterDescription: string;
63
+ filters: string;
64
+ itemCount: string;
65
+ noDescription: string;
66
+ noItems: string;
67
+ searchPlaceholder: string;
68
+ searchProducts: string;
69
+ sortLabel: string;
70
+ sortProducts: string;
71
+ sortDescription: string;
72
+ footer: {
73
+ fanMade: string;
74
+ productOwnership: string;
75
+ resourceFor: string;
76
+ suggestionsOrContact: string;
77
+ discord: string;
78
+ };
79
+ headline: {
80
+ grip: string;
81
+ mechanism: string;
82
+ pen: string;
83
+ };
84
+ lightbox: {
85
+ archived: string;
86
+ closeProductDetails: string;
87
+ nextImage: string;
88
+ previousImage: string;
89
+ released: string;
90
+ specsDescription: string;
91
+ };
92
+ filter: {
93
+ all: string;
94
+ any: string;
95
+ matchMode: string;
96
+ bodyDetails: string;
97
+ category: string;
98
+ clip: string;
99
+ finish: string;
100
+ material: string;
101
+ mechanism: string;
102
+ refill: string;
103
+ size: string;
104
+ tipNose: string;
105
+ };
106
+ sort: {
107
+ newestDrop: string;
108
+ oldestDrop: string;
109
+ priceLowToHigh: string;
110
+ priceHighToLow: string;
111
+ weightLightToHeavy: string;
112
+ weightHeavyToLight: string;
113
+ diameterThinToThick: string;
114
+ diameterThickToThin: string;
115
+ titleAToZ: string;
116
+ };
117
+ spec: {
118
+ diameter: string;
119
+ length: string;
120
+ model: string;
121
+ price: string;
122
+ weight: string;
123
+ };
124
+ state: {
125
+ archived: string;
126
+ };
127
+ };
128
+ currency: {
129
+ aud: string;
130
+ cad: string;
131
+ chf: string;
132
+ eur: string;
133
+ gbp: string;
134
+ jpy: string;
135
+ nzd: string;
136
+ usd: string;
137
+ };
138
+ error: {
139
+ expectedJsonRequestBody: string;
140
+ invalidCurrencyCode: string;
141
+ invalidDimensionUnit: string;
142
+ invalidLocale: string;
143
+ invalidLogClientKey: string;
144
+ invalidTheme: string;
145
+ invalidWeightUnit: string;
146
+ missingSetting: string;
147
+ settingsSaveFailed: string;
148
+ userSettingsObject: string;
149
+ };
150
+ navigation: {
151
+ account: string;
152
+ accountMenu: string;
153
+ betaFeatures: string;
154
+ collections: string;
155
+ language: string;
156
+ logOut: string;
157
+ user: string;
158
+ };
159
+ locale: {
160
+ enUS: string;
161
+ esMX: string;
162
+ };
163
+ page: {
164
+ betaFeatures: {
165
+ empty: string;
166
+ };
167
+ collections: {
168
+ empty: string;
169
+ };
170
+ notFound: {
171
+ description: string;
172
+ returnToArchive: string;
173
+ title: string;
174
+ unavailable: string;
175
+ };
176
+ };
177
+ settings: {
178
+ about: string;
179
+ aboutDescription: string;
180
+ currency: string;
181
+ dark: string;
182
+ dimensionUnits: string;
183
+ dimensions: string;
184
+ displayCurrency: string;
185
+ displayPreferences: string;
186
+ displayPreferencesMachinedPens: string;
187
+ grams: string;
188
+ inches: string;
189
+ language: string;
190
+ light: string;
191
+ millimeters: string;
192
+ settings: string;
193
+ system: string;
194
+ theme: string;
195
+ weight: string;
196
+ weightUnits: string;
197
+ ounces: string;
198
+ };
199
+ sidebar: {
200
+ close: string;
201
+ description: string;
202
+ sidebar: string;
203
+ toggle: string;
204
+ };
205
+ status: {
206
+ disabled: string;
207
+ enabled: string;
208
+ failedToLoad: string;
209
+ };
210
+ };
25
211
  };
@@ -22,4 +22,190 @@ export const esMX = {
22
22
  locale: {
23
23
  current: "Idioma actual: {locale}",
24
24
  },
25
+ web: {
26
+ site: {
27
+ name: "Pocket Trash",
28
+ },
29
+ action: {
30
+ archive: "Archivar",
31
+ clearAllFilters: "Borrar todos los filtros",
32
+ close: "Cerrar",
33
+ edit: "Editar",
34
+ saveFlag: "Guardar bandera",
35
+ search: "Buscar",
36
+ signIn: "Iniciar sesion",
37
+ visitProductPage: "Visitar pagina del producto",
38
+ },
39
+ admin: {
40
+ featureFlags: {
41
+ actions: "Acciones",
42
+ adminOnlyTargeting: "Segmentacion solo para admins",
43
+ audience: "Audiencia",
44
+ booleanControls: "Controles booleanos para superficies globales, privadas y beta.",
45
+ description: "Descripcion",
46
+ displayName: "Nombre visible",
47
+ editFlag: "Editar bandera",
48
+ emailUsernameOrName: "Email, usuario o nombre",
49
+ featureFlags: "Banderas de funciones",
50
+ flag: "Bandera",
51
+ flags: "Banderas",
52
+ globalDefaultEnabled: "Valor global activado",
53
+ newFlag: "Nueva bandera",
54
+ searchUsers: "Buscar usuarios",
55
+ slugPlaceholder: "new-library-ui",
56
+ },
57
+ },
58
+ archive: {
59
+ closeSearch: "Cerrar busqueda",
60
+ controls: "Controles del archivo",
61
+ defaultPenDescription: "{siteName} pen.",
62
+ filterDescription: "Filtra el archivo por categoria, tamano, material y mas.",
63
+ filters: "Filtros",
64
+ itemCount: "{visible} of {total} items",
65
+ noDescription: "(no description on file)",
66
+ noItems: "Ningun articulo coincide con estos filtros.",
67
+ searchPlaceholder: "Buscar...",
68
+ searchProducts: "Buscar plumas por titulo, especificaciones o descripcion",
69
+ sortLabel: "Ordenar",
70
+ sortProducts: "Ordenar plumas",
71
+ sortDescription: "Elige como ordenar el archivo.",
72
+ footer: {
73
+ fanMade: "Hecho por un fan; sin afiliacion con ningun fabricante.",
74
+ productOwnership: "Los nombres, imagenes y descripciones de productos siguen siendo propiedad de sus respectivos duenos.",
75
+ resourceFor: "Un recurso para",
76
+ suggestionsOrContact: "Sugerencias o contacto:",
77
+ discord: "y el Discord de Machined Pens.",
78
+ },
79
+ headline: {
80
+ grip: "{size} Grip",
81
+ mechanism: "{size} Mechanism",
82
+ pen: "Pen",
83
+ },
84
+ lightbox: {
85
+ archived: "Archivada - ya no esta listada",
86
+ closeProductDetails: "Cerrar detalles del producto",
87
+ nextImage: "Siguiente imagen",
88
+ previousImage: "Imagen anterior",
89
+ released: "Publicado",
90
+ specsDescription: "Especificaciones, materiales y detalles de lanzamiento de este producto.",
91
+ },
92
+ filter: {
93
+ all: "todos",
94
+ any: "cualquiera",
95
+ matchMode: "Modo de coincidencia de {label}",
96
+ bodyDetails: "Body details",
97
+ category: "Category",
98
+ clip: "Clip",
99
+ finish: "Finish",
100
+ material: "Material",
101
+ mechanism: "Mechanism",
102
+ refill: "Refill",
103
+ size: "Size",
104
+ tipNose: "Tip / Nose",
105
+ },
106
+ sort: {
107
+ newestDrop: "Lanzamiento mas reciente",
108
+ oldestDrop: "Lanzamiento mas antiguo",
109
+ priceLowToHigh: "Precio de menor a mayor",
110
+ priceHighToLow: "Precio de mayor a menor",
111
+ weightLightToHeavy: "Peso de menor a mayor",
112
+ weightHeavyToLight: "Peso de mayor a menor",
113
+ diameterThinToThick: "Diametro de delgado a grueso",
114
+ diameterThickToThin: "Diametro de grueso a delgado",
115
+ titleAToZ: "Titulo A a Z",
116
+ },
117
+ spec: {
118
+ diameter: "Diametro",
119
+ length: "Longitud",
120
+ model: "Modelo",
121
+ price: "Precio",
122
+ weight: "Peso",
123
+ },
124
+ state: {
125
+ archived: "Archivada",
126
+ },
127
+ },
128
+ currency: {
129
+ aud: "$ AUD",
130
+ cad: "$ CAD (native)",
131
+ chf: "CHF",
132
+ eur: "EUR EUR",
133
+ gbp: "GBP GBP",
134
+ jpy: "JPY JPY",
135
+ nzd: "$ NZD",
136
+ usd: "$ USD",
137
+ },
138
+ error: {
139
+ expectedJsonRequestBody: "Expected a JSON request body.",
140
+ invalidCurrencyCode: "Expected a valid currency code.",
141
+ invalidDimensionUnit: "Expected a valid dimension unit.",
142
+ invalidLocale: "Expected a valid locale.",
143
+ invalidLogClientKey: "Invalid log client key.",
144
+ invalidTheme: "Expected a valid theme.",
145
+ invalidWeightUnit: "Expected a valid weight unit.",
146
+ missingSetting: "Expected at least one setting.",
147
+ settingsSaveFailed: "We couldn't save your settings. Please try again.",
148
+ userSettingsObject: "Expected a user settings object.",
149
+ },
150
+ navigation: {
151
+ account: "Cuenta",
152
+ accountMenu: "Menu de cuenta",
153
+ betaFeatures: "Funciones beta",
154
+ collections: "Colecciones",
155
+ language: "Idioma",
156
+ logOut: "Cerrar sesion",
157
+ user: "Usuario",
158
+ },
159
+ locale: {
160
+ enUS: "English (US)",
161
+ esMX: "Spanish (Mexico)",
162
+ },
163
+ page: {
164
+ betaFeatures: {
165
+ empty: "No hay funciones beta disponibles.",
166
+ },
167
+ collections: {
168
+ empty: "Las colecciones estaran disponibles mas adelante.",
169
+ },
170
+ notFound: {
171
+ description: "Esta pagina no existe o ya no esta disponible.",
172
+ returnToArchive: "Volver al archivo",
173
+ title: "No encontrado",
174
+ unavailable: "Pagina no disponible",
175
+ },
176
+ },
177
+ settings: {
178
+ about: "About",
179
+ aboutDescription: "An unofficial archive of machined pen drops, with filters, specs, descriptions, and local image backups. Made by a fan; not affiliated with any maker.",
180
+ currency: "Moneda",
181
+ dark: "Oscuro",
182
+ dimensionUnits: "Unidades de dimensiones",
183
+ dimensions: "Dimensiones",
184
+ displayCurrency: "Moneda de visualizacion",
185
+ displayPreferences: "Preferencias de visualizacion para el archivo.",
186
+ displayPreferencesMachinedPens: "Preferencias de visualizacion para el archivo de plumas maquinadas.",
187
+ grams: "Gramos",
188
+ inches: "Pulgadas",
189
+ language: "Idioma",
190
+ light: "Claro",
191
+ millimeters: "Milimetros",
192
+ settings: "Ajustes",
193
+ system: "Sistema",
194
+ theme: "Tema",
195
+ weight: "Peso",
196
+ weightUnits: "Unidades de peso",
197
+ ounces: "Onzas",
198
+ },
199
+ sidebar: {
200
+ close: "Cerrar barra lateral",
201
+ description: "Muestra la barra lateral movil.",
202
+ sidebar: "Barra lateral",
203
+ toggle: "Alternar barra lateral",
204
+ },
205
+ status: {
206
+ disabled: "Desactivada",
207
+ enabled: "Activada",
208
+ failedToLoad: "No se pudo cargar.",
209
+ },
210
+ },
25
211
  };
@@ -18,6 +18,192 @@ export type CompleteLocalizationResource = Readonly<{
18
18
  locale: {
19
19
  current: string;
20
20
  };
21
+ web: {
22
+ site: {
23
+ name: string;
24
+ };
25
+ action: {
26
+ archive: string;
27
+ clearAllFilters: string;
28
+ close: string;
29
+ edit: string;
30
+ saveFlag: string;
31
+ search: string;
32
+ signIn: string;
33
+ visitProductPage: string;
34
+ };
35
+ admin: {
36
+ featureFlags: {
37
+ actions: string;
38
+ adminOnlyTargeting: string;
39
+ audience: string;
40
+ booleanControls: string;
41
+ description: string;
42
+ displayName: string;
43
+ editFlag: string;
44
+ emailUsernameOrName: string;
45
+ featureFlags: string;
46
+ flag: string;
47
+ flags: string;
48
+ globalDefaultEnabled: string;
49
+ newFlag: string;
50
+ searchUsers: string;
51
+ slugPlaceholder: string;
52
+ };
53
+ };
54
+ archive: {
55
+ closeSearch: string;
56
+ controls: string;
57
+ defaultPenDescription: string;
58
+ filterDescription: string;
59
+ filters: string;
60
+ itemCount: string;
61
+ noDescription: string;
62
+ noItems: string;
63
+ searchPlaceholder: string;
64
+ searchProducts: string;
65
+ sortLabel: string;
66
+ sortProducts: string;
67
+ sortDescription: string;
68
+ footer: {
69
+ fanMade: string;
70
+ productOwnership: string;
71
+ resourceFor: string;
72
+ suggestionsOrContact: string;
73
+ discord: string;
74
+ };
75
+ headline: {
76
+ grip: string;
77
+ mechanism: string;
78
+ pen: string;
79
+ };
80
+ lightbox: {
81
+ archived: string;
82
+ closeProductDetails: string;
83
+ nextImage: string;
84
+ previousImage: string;
85
+ released: string;
86
+ specsDescription: string;
87
+ };
88
+ filter: {
89
+ all: string;
90
+ any: string;
91
+ matchMode: string;
92
+ bodyDetails: string;
93
+ category: string;
94
+ clip: string;
95
+ finish: string;
96
+ material: string;
97
+ mechanism: string;
98
+ refill: string;
99
+ size: string;
100
+ tipNose: string;
101
+ };
102
+ sort: {
103
+ newestDrop: string;
104
+ oldestDrop: string;
105
+ priceLowToHigh: string;
106
+ priceHighToLow: string;
107
+ weightLightToHeavy: string;
108
+ weightHeavyToLight: string;
109
+ diameterThinToThick: string;
110
+ diameterThickToThin: string;
111
+ titleAToZ: string;
112
+ };
113
+ spec: {
114
+ diameter: string;
115
+ length: string;
116
+ model: string;
117
+ price: string;
118
+ weight: string;
119
+ };
120
+ state: {
121
+ archived: string;
122
+ };
123
+ };
124
+ currency: {
125
+ aud: string;
126
+ cad: string;
127
+ chf: string;
128
+ eur: string;
129
+ gbp: string;
130
+ jpy: string;
131
+ nzd: string;
132
+ usd: string;
133
+ };
134
+ error: {
135
+ expectedJsonRequestBody: string;
136
+ invalidCurrencyCode: string;
137
+ invalidDimensionUnit: string;
138
+ invalidLocale: string;
139
+ invalidLogClientKey: string;
140
+ invalidTheme: string;
141
+ invalidWeightUnit: string;
142
+ missingSetting: string;
143
+ settingsSaveFailed: string;
144
+ userSettingsObject: string;
145
+ };
146
+ navigation: {
147
+ account: string;
148
+ accountMenu: string;
149
+ betaFeatures: string;
150
+ collections: string;
151
+ language: string;
152
+ logOut: string;
153
+ user: string;
154
+ };
155
+ locale: {
156
+ enUS: string;
157
+ esMX: string;
158
+ };
159
+ page: {
160
+ betaFeatures: {
161
+ empty: string;
162
+ };
163
+ collections: {
164
+ empty: string;
165
+ };
166
+ notFound: {
167
+ description: string;
168
+ returnToArchive: string;
169
+ title: string;
170
+ unavailable: string;
171
+ };
172
+ };
173
+ settings: {
174
+ about: string;
175
+ aboutDescription: string;
176
+ currency: string;
177
+ dark: string;
178
+ dimensionUnits: string;
179
+ dimensions: string;
180
+ displayCurrency: string;
181
+ displayPreferences: string;
182
+ displayPreferencesMachinedPens: string;
183
+ grams: string;
184
+ inches: string;
185
+ language: string;
186
+ light: string;
187
+ millimeters: string;
188
+ settings: string;
189
+ system: string;
190
+ theme: string;
191
+ weight: string;
192
+ weightUnits: string;
193
+ ounces: string;
194
+ };
195
+ sidebar: {
196
+ close: string;
197
+ description: string;
198
+ sidebar: string;
199
+ toggle: string;
200
+ };
201
+ status: {
202
+ disabled: string;
203
+ enabled: string;
204
+ failedToLoad: string;
205
+ };
206
+ };
21
207
  }>;
22
208
  export type TranslationKey = DotPaths<CompleteLocalizationResource>;
23
209
  export type Translations = Readonly<Record<TranslationKey, string>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pocket-trash/localizations",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Shared localization utilities and message catalogs for Pocket Trash.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,12 +16,12 @@
16
16
  ],
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git+https://github.com/Pocket-Trash/pocket-trash-localizations.git"
19
+ "url": "git+https://github.com/Pocket-Trash/localizations.git"
20
20
  },
21
21
  "bugs": {
22
- "url": "https://github.com/Pocket-Trash/pocket-trash-localizations/issues"
22
+ "url": "https://github.com/Pocket-Trash/localizations/issues"
23
23
  },
24
- "homepage": "https://github.com/Pocket-Trash/pocket-trash-localizations#readme",
24
+ "homepage": "https://github.com/Pocket-Trash/localizations#readme",
25
25
  "keywords": [
26
26
  "pocket-trash",
27
27
  "localization",
@@ -46,6 +46,9 @@
46
46
  "lts": "^2.0.0"
47
47
  },
48
48
  "scripts": {
49
+ "agent-skills:check": "node scripts/agent-skills.mjs check",
50
+ "agent-skills:install": "node scripts/agent-skills.mjs install",
51
+ "agent-skills:update": "node scripts/agent-skills.mjs update",
49
52
  "build": "tsc -p tsconfig.json",
50
53
  "check": "biome check --write .",
51
54
  "changeset": "changeset",