@pithy-sh/i18n 0.9.0 → 0.11.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/dist/catalogs/es/errors.d.ts.map +1 -1
- package/dist/catalogs/es/errors.js +15 -0
- package/dist/http/middleware.d.ts +1 -1
- package/dist/http/middleware.js +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.d.ts.map +1 -1
- package/dist/version.generated.js +1 -1
- package/package.json +5 -5
- package/src/catalogs/es/errors.ts +17 -0
- package/src/http/middleware.ts +1 -1
- package/src/version.generated.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/catalogs/es/errors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/catalogs/es/errors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,QAAQ,EAAE,cA6LtB,CAAC"}
|
|
@@ -36,6 +36,9 @@
|
|
|
36
36
|
*/
|
|
37
37
|
const esErrors = {
|
|
38
38
|
"validation/invalid_input": "Los datos enviados no son válidos.",
|
|
39
|
+
"input/required": "Falta una respuesta obligatoria y no se puede preguntar por ella.",
|
|
40
|
+
"core/precondition_failed": "Falta algo que esto necesita. Prepáralo primero.",
|
|
41
|
+
"core/person_required": "Solo una persona puede dar este paso.",
|
|
39
42
|
"auth/invalid_token": "Tu sesión no es válida o ha caducado. Vuelve a iniciar sesión.",
|
|
40
43
|
"auth/forbidden": "No tienes permiso para hacer esto.",
|
|
41
44
|
"auth/provider_unavailable": "Este método de acceso no está disponible ahora. Prueba con otro.",
|
|
@@ -69,12 +72,17 @@ const esErrors = {
|
|
|
69
72
|
"turnstile/missing_token": "Falta la verificación de seguridad.",
|
|
70
73
|
"turnstile/failed": "No se ha superado la verificación de seguridad. Inténtalo de nuevo.",
|
|
71
74
|
"turnstile/config": "La verificación de seguridad no está disponible ahora.",
|
|
75
|
+
"turnstile/analytics_window": "Ese periodo queda fuera de lo que Cloudflare conserva.",
|
|
76
|
+
"turnstile/analytics_unavailable": "Cloudflare no ofrece estas estadísticas a esta cuenta.",
|
|
72
77
|
"audit/invalid_event": "El evento de auditoría no es válido.",
|
|
73
78
|
"audit/write_failed": "No se ha podido registrar el evento de auditoría.",
|
|
74
79
|
"media/not_found": "Ese archivo no existe.",
|
|
80
|
+
"media/forbidden": "Puedes ver este archivo, pero no cambiarlo.",
|
|
75
81
|
"media/unsupported": "Ese tipo de archivo no es compatible con esta operación.",
|
|
76
82
|
"media/storage_failed": "No se ha podido guardar el archivo.",
|
|
77
83
|
"media/enrichment_failed": "No se ha podido analizar el archivo.",
|
|
84
|
+
"media/analytics_window": "Ese periodo queda fuera de lo que Cloudflare conserva.",
|
|
85
|
+
"media/analytics_unavailable": "Cloudflare no ofrece estas estadísticas a esta cuenta.",
|
|
78
86
|
"leaderboard/board_not_found": "Esa clasificación no existe.",
|
|
79
87
|
"leaderboard/entry_not_found": "No hay ninguna puntuación en esta clasificación.",
|
|
80
88
|
"leaderboard/score_rejected": "La puntuación está fuera del rango permitido.",
|
|
@@ -136,6 +144,8 @@ const esErrors = {
|
|
|
136
144
|
"payments/discount_invalid": "Ese código de descuento no es válido.",
|
|
137
145
|
"payments/entitlement_not_in_catalog": "Ese derecho de acceso no está en el catálogo.",
|
|
138
146
|
"payments/subject_unresolved": "No se ha podido determinar en nombre de quién actúas.",
|
|
147
|
+
"payments/override_stale": "Esa asignación ha cambiado desde que la leíste. Vuelve a cargarla.",
|
|
148
|
+
"payments/quota_exceeded": "Has agotado el límite de tu plan para este periodo.",
|
|
139
149
|
"payments/reconcile_not_provisioned": "La conciliación no está configurada en este despliegue.",
|
|
140
150
|
"controlplane/not_connected": "No hay conexión de administración para este entorno.",
|
|
141
151
|
"controlplane/invalid_credential": "La credencial de administración no es válida.",
|
|
@@ -155,6 +165,11 @@ const esErrors = {
|
|
|
155
165
|
"organization/last_administrator": "La organización se quedaría sin nadie que pueda administrarla.",
|
|
156
166
|
"organization/slug_taken": "Ese identificador ya está en uso.",
|
|
157
167
|
"organization/nomination_invalid": "No hay ninguna oferta de titularidad que puedas aceptar.",
|
|
168
|
+
"artifacts/not_found": "Ese repositorio no existe.",
|
|
169
|
+
"artifacts/forbidden": "No puedes hacer eso en este repositorio.",
|
|
170
|
+
"artifacts/invalid_name": "Ese nombre de repositorio no es válido.",
|
|
171
|
+
"artifacts/name_taken": "Ese nombre de repositorio ya está en uso.",
|
|
172
|
+
"artifacts/invalid_config": "La configuración de repositorios no es válida.",
|
|
158
173
|
"testers/cohort_not_found": "Ese grupo de pruebas no existe.",
|
|
159
174
|
"testers/member_not_found": "No hay ningún participante con esos datos.",
|
|
160
175
|
"testers/invalid_token": "Ese enlace de invitación no es válido o ha caducado.",
|
|
@@ -20,7 +20,7 @@ export type LayersFor = (locale: string) => readonly (MessageCatalog | undefined
|
|
|
20
20
|
* formatters are held on the translator — which lives and dies with one request — rather than in a
|
|
21
21
|
* module-level cache.
|
|
22
22
|
*
|
|
23
|
-
* ## Why the query string is read off the URL here, and not through `
|
|
23
|
+
* ## Why the query string is read off the URL here, and not through `validate`
|
|
24
24
|
*
|
|
25
25
|
* §HTTP's rule is that a route declares its request contract on the route line and a handler reads
|
|
26
26
|
* `c.req.valid(target)`; `plugins/no-raw-request-input.grit` enforces it by making the raw accessors
|
package/dist/http/middleware.js
CHANGED
|
@@ -19,7 +19,7 @@ import { getCookie } from "hono/cookie";
|
|
|
19
19
|
* formatters are held on the translator — which lives and dies with one request — rather than in a
|
|
20
20
|
* module-level cache.
|
|
21
21
|
*
|
|
22
|
-
* ## Why the query string is read off the URL here, and not through `
|
|
22
|
+
* ## Why the query string is read off the URL here, and not through `validate`
|
|
23
23
|
*
|
|
24
24
|
* §HTTP's rule is that a route declares its request contract on the route line and a handler reads
|
|
25
25
|
* `c.req.valid(target)`; `plugins/no-raw-request-input.grit` enforces it by making the raw accessors
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
/** This package's npm name — the join key against a release feed. */
|
|
4
4
|
export declare const PACKAGE_NAME = "@pithy-sh/i18n";
|
|
5
5
|
/** This package's version, stamped from its own package.json at generation time. */
|
|
6
|
-
export declare const PACKAGE_VERSION = "0.
|
|
6
|
+
export declare const PACKAGE_VERSION = "0.11.0";
|
|
7
7
|
//# sourceMappingURL=version.generated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.generated.d.ts","sourceRoot":"","sources":["../src/version.generated.ts"],"names":[],"mappings":"AAWA,qEAAqE;AACrE,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAE7C,oFAAoF;AACpF,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"version.generated.d.ts","sourceRoot":"","sources":["../src/version.generated.ts"],"names":[],"mappings":"AAWA,qEAAqE;AACrE,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAE7C,oFAAoF;AACpF,eAAO,MAAM,eAAe,WAAW,CAAC"}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
/** This package's npm name — the join key against a release feed. */
|
|
5
5
|
const PACKAGE_NAME = "@pithy-sh/i18n";
|
|
6
6
|
/** This package's version, stamped from its own package.json at generation time. */
|
|
7
|
-
const PACKAGE_VERSION = "0.
|
|
7
|
+
const PACKAGE_VERSION = "0.11.0";
|
|
8
8
|
//#endregion
|
|
9
9
|
export { PACKAGE_NAME, PACKAGE_VERSION };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pithy-sh/i18n",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsdown && tsc -p tsconfig.build.json && bun ../../tooling/build/src/stampDeclarations.ts",
|
|
30
|
-
"typecheck": "
|
|
30
|
+
"typecheck": "bun check -p tsconfig.json && bun check -p tsconfig.browser.json",
|
|
31
31
|
"test": "vitest run",
|
|
32
32
|
"test:node": "vitest run --project=node --project=dom",
|
|
33
33
|
"test:workers": "vitest run --project=workers",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"reset": "bun run clean && rm -rf node_modules"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@pithy-sh/core": "^0.
|
|
38
|
+
"@pithy-sh/core": "^0.11.0",
|
|
39
39
|
"hono": "^4.13.2",
|
|
40
40
|
"react": "^19.0.0",
|
|
41
41
|
"zod": "^4.4.0"
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@cloudflare/vitest-plugin": "^1.
|
|
49
|
+
"@cloudflare/vitest-plugin": "^1.4.2",
|
|
50
50
|
"@pithy-sh/auth": "workspace:*",
|
|
51
51
|
"@pithy-sh/core": "workspace:*",
|
|
52
52
|
"@pithy-sh/payments": "workspace:*",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"tsdown": "^0.23.0",
|
|
63
63
|
"typescript": "^7.0.2",
|
|
64
64
|
"vitest": "^4.1.0",
|
|
65
|
-
"wrangler": "^4.
|
|
65
|
+
"wrangler": "^4.151.0",
|
|
66
66
|
"zod": "^4.4.0"
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -41,6 +41,9 @@ import type { MessageCatalog } from "@pithy-sh/core/src/i18n/catalog";
|
|
|
41
41
|
export const esErrors: MessageCatalog = {
|
|
42
42
|
// Core: the codes every capability throws, and the ones a caller meets most.
|
|
43
43
|
"validation/invalid_input": "Los datos enviados no son válidos.",
|
|
44
|
+
"input/required": "Falta una respuesta obligatoria y no se puede preguntar por ella.",
|
|
45
|
+
"core/precondition_failed": "Falta algo que esto necesita. Prepáralo primero.",
|
|
46
|
+
"core/person_required": "Solo una persona puede dar este paso.",
|
|
44
47
|
"auth/invalid_token": "Tu sesión no es válida o ha caducado. Vuelve a iniciar sesión.",
|
|
45
48
|
"auth/forbidden": "No tienes permiso para hacer esto.",
|
|
46
49
|
"auth/provider_unavailable": "Este método de acceso no está disponible ahora. Prueba con otro.",
|
|
@@ -84,6 +87,8 @@ export const esErrors: MessageCatalog = {
|
|
|
84
87
|
"turnstile/missing_token": "Falta la verificación de seguridad.",
|
|
85
88
|
"turnstile/failed": "No se ha superado la verificación de seguridad. Inténtalo de nuevo.",
|
|
86
89
|
"turnstile/config": "La verificación de seguridad no está disponible ahora.",
|
|
90
|
+
"turnstile/analytics_window": "Ese periodo queda fuera de lo que Cloudflare conserva.",
|
|
91
|
+
"turnstile/analytics_unavailable": "Cloudflare no ofrece estas estadísticas a esta cuenta.",
|
|
87
92
|
|
|
88
93
|
// Audit.
|
|
89
94
|
"audit/invalid_event": "El evento de auditoría no es válido.",
|
|
@@ -91,9 +96,12 @@ export const esErrors: MessageCatalog = {
|
|
|
91
96
|
|
|
92
97
|
// Media.
|
|
93
98
|
"media/not_found": "Ese archivo no existe.",
|
|
99
|
+
"media/forbidden": "Puedes ver este archivo, pero no cambiarlo.",
|
|
94
100
|
"media/unsupported": "Ese tipo de archivo no es compatible con esta operación.",
|
|
95
101
|
"media/storage_failed": "No se ha podido guardar el archivo.",
|
|
96
102
|
"media/enrichment_failed": "No se ha podido analizar el archivo.",
|
|
103
|
+
"media/analytics_window": "Ese periodo queda fuera de lo que Cloudflare conserva.",
|
|
104
|
+
"media/analytics_unavailable": "Cloudflare no ofrece estas estadísticas a esta cuenta.",
|
|
97
105
|
|
|
98
106
|
// Leaderboards.
|
|
99
107
|
"leaderboard/board_not_found": "Esa clasificación no existe.",
|
|
@@ -172,6 +180,8 @@ export const esErrors: MessageCatalog = {
|
|
|
172
180
|
"payments/discount_invalid": "Ese código de descuento no es válido.",
|
|
173
181
|
"payments/entitlement_not_in_catalog": "Ese derecho de acceso no está en el catálogo.",
|
|
174
182
|
"payments/subject_unresolved": "No se ha podido determinar en nombre de quién actúas.",
|
|
183
|
+
"payments/override_stale": "Esa asignación ha cambiado desde que la leíste. Vuelve a cargarla.",
|
|
184
|
+
"payments/quota_exceeded": "Has agotado el límite de tu plan para este periodo.",
|
|
175
185
|
"payments/reconcile_not_provisioned": "La conciliación no está configurada en este despliegue.",
|
|
176
186
|
|
|
177
187
|
// Control plane. The caller here is a management client, never an end user — the words stay caller-facing
|
|
@@ -199,6 +209,13 @@ export const esErrors: MessageCatalog = {
|
|
|
199
209
|
"organization/slug_taken": "Ese identificador ya está en uso.",
|
|
200
210
|
"organization/nomination_invalid": "No hay ninguna oferta de titularidad que puedas aceptar.",
|
|
201
211
|
|
|
212
|
+
// Artifacts.
|
|
213
|
+
"artifacts/not_found": "Ese repositorio no existe.",
|
|
214
|
+
"artifacts/forbidden": "No puedes hacer eso en este repositorio.",
|
|
215
|
+
"artifacts/invalid_name": "Ese nombre de repositorio no es válido.",
|
|
216
|
+
"artifacts/name_taken": "Ese nombre de repositorio ya está en uso.",
|
|
217
|
+
"artifacts/invalid_config": "La configuración de repositorios no es válida.",
|
|
218
|
+
|
|
202
219
|
// Testers.
|
|
203
220
|
"testers/cohort_not_found": "Ese grupo de pruebas no existe.",
|
|
204
221
|
"testers/member_not_found": "No hay ningún participante con esos datos.",
|
package/src/http/middleware.ts
CHANGED
|
@@ -27,7 +27,7 @@ export type LayersFor = (locale: string) => readonly (MessageCatalog | undefined
|
|
|
27
27
|
* formatters are held on the translator — which lives and dies with one request — rather than in a
|
|
28
28
|
* module-level cache.
|
|
29
29
|
*
|
|
30
|
-
* ## Why the query string is read off the URL here, and not through `
|
|
30
|
+
* ## Why the query string is read off the URL here, and not through `validate`
|
|
31
31
|
*
|
|
32
32
|
* §HTTP's rule is that a route declares its request contract on the route line and a handler reads
|
|
33
33
|
* `c.req.valid(target)`; `plugins/no-raw-request-input.grit` enforces it by making the raw accessors
|
package/src/version.generated.ts
CHANGED