From 8a13013c8970d3f65c2ff860589cfee76c8f1acd Mon Sep 17 00:00:00 2001 From: Diego Berrocal <3291619+CestDiego@users.noreply.github.com> Date: Sat, 18 May 2024 18:31:59 -0400 Subject: [PATCH 1/2] feat(i18n) Add Spanish Language MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gracias por crear tan buena librería --- packages/i18n/CHANGELOG.md | 4 ++ packages/i18n/README.md | 3 +- packages/i18n/scripts/build-jsr.ts | 2 + packages/i18n/scripts/build-npm.ts | 2 + packages/i18n/src/es.ts | 65 ++++++++++++++++++++++++++++++ packages/i18n/src/types.ts | 1 + 6 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 packages/i18n/src/es.ts diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index b7f027563..244c807b4 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to the library will be documented in this file. +## v0.13.0 (May 18, 2024) + +- Add Spanish (es) translations (pull request #581) + ## v0.12.0 (May 11, 2024) - Add Hungarian (hu) translations (pull request #560) diff --git a/packages/i18n/README.md b/packages/i18n/README.md index 1e23c6ff7..9867a7043 100644 --- a/packages/i18n/README.md +++ b/packages/i18n/README.md @@ -5,12 +5,13 @@ The official i18n translations for Valibot. See the [internationalization guide] ## Current status | Language | Pull Request | Status | -| --------------- | ------------------ | ------ | +|-----------------|--------------------|--------| | Arabic (ar) | [#527][pr-527-url] | ✅ | | Chinese (zh-CN) | [#419][pr-419-url] | ✅ | | Chinese (zh-TW) | [#427][pr-427-url] | ✅ | | Dutch (nl) | [#438][pr-438-url] | ✅ | | English (en) | [#397][pr-397-url] | ✅ | +| Spanish (es) | [#581][pr-581-url] | ✅ | | German (de) | [#397][pr-397-url] | ✅ | | French (fr) | [#418][pr-418-url] | ✅ | | Hungarian (hu) | [#560][pr-560-url] | ✅ | diff --git a/packages/i18n/scripts/build-jsr.ts b/packages/i18n/scripts/build-jsr.ts index 120f3a980..d8646f0e5 100644 --- a/packages/i18n/scripts/build-jsr.ts +++ b/packages/i18n/scripts/build-jsr.ts @@ -4,6 +4,7 @@ import jsr from '../jsr.json'; import package_ from '../package.json'; import ar from '../src/ar'; import de from '../src/de'; +import es from '../src/es'; import fr from '../src/fr'; import hu from '../src/hu'; import ja from '../src/ja'; @@ -28,6 +29,7 @@ console.time('build'); const languages = [ ar, de, + es, fr, hu, ja, diff --git a/packages/i18n/scripts/build-npm.ts b/packages/i18n/scripts/build-npm.ts index 55af0784f..b26b35c7a 100644 --- a/packages/i18n/scripts/build-npm.ts +++ b/packages/i18n/scripts/build-npm.ts @@ -3,6 +3,7 @@ import path from 'node:path'; import package_ from '../package.json'; import ar from '../src/ar'; import de from '../src/de'; +import es from '../src/es'; import fr from '../src/fr'; import hu from '../src/hu'; import ja from '../src/ja'; @@ -27,6 +28,7 @@ console.time('build'); const languages = [ ar, de, + es, fr, hu, ja, diff --git a/packages/i18n/src/es.ts b/packages/i18n/src/es.ts new file mode 100644 index 000000000..4b48eb9dd --- /dev/null +++ b/packages/i18n/src/es.ts @@ -0,0 +1,65 @@ +import { Language } from './types'; + +// prettier-ignore +const language: Language = { + code: 'es', + schema: (issue) => `Tipo inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + specific: { + bic: (issue) => `BIC inválido: Se recibió ${issue.received}`, + bytes: (issue) => `Bytes inválidos: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + creditCard: (issue) => `Tarjeta de crédito inválida: Se recibió ${issue.received}`, + cuid2: (issue) => `Cuid2 inválido: Se recibió ${issue.received}`, + custom: (issue) => `Valor inválido: Se recibió ${issue.received}`, + customAsync: (issue) => `Valor inválido: Se recibió ${issue.received}`, + decimal: (issue) => `Decimal inválido: Se recibió ${issue.received}`, + email: (issue) => `Correo electrónico inválido: Se recibió ${issue.received}`, + emoji: (issue) => `Emoji inválido: Se recibió ${issue.received}`, + endsWith: (issue) => `Final inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + excludes: (issue) => `Contenido inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + finite: (issue) => `Finito inválido: Se recibió ${issue.received}`, + hash: (issue) => `Hash inválido: Se recibió ${issue.received}`, + hexColor: (issue) => `Color hexadecimal inválido: Se recibió ${issue.received}`, + hexadecimal: (issue) => `Hexadecimal inválido: Se recibió ${issue.received}`, + imei: (issue) => `IMEI inválido: Se recibió ${issue.received}`, + includes: (issue) => `Contenido inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + integer: (issue) => `Entero inválido: Se recibió ${issue.received}`, + ip: (issue) => `IP inválida: Se recibió ${issue.received}`, + ipv4: (issue) => `IPv4 inválido: Se recibió ${issue.received}`, + ipv6: (issue) => `IPv6 inválido: Se recibió ${issue.received}`, + isoDate: (issue) => `Fecha inválida: Se recibió ${issue.received}`, + isoDateTime: (issue) => `Fecha-hora inválida: Se recibió ${issue.received}`, + isoTime: (issue) => `Hora inválida: Se recibió ${issue.received}`, + isoTimeSecond: (issue) => `Segundo de tiempo inválido: Se recibió ${issue.received}`, + isoTimestamp: (issue) => `Marca de tiempo inválida: Se recibió ${issue.received}`, + isoWeek: (issue) => `Semana inválida: Se recibió ${issue.received}`, + length: (issue) => `Longitud inválida: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + mac: (issue) => `MAC inválida: Se recibió ${issue.received}`, + mac48: (issue) => `MAC de 48 bits inválida: Se recibió ${issue.received}`, + mac64: (issue) => `MAC de 64 bits inválida: Se recibió ${issue.received}`, + maxBytes: (issue) => `Cantidad de bytes inválidos: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + maxLength: (issue) => `Longitud inválida: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + maxSize: (issue) => `Tamaño inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + maxValue: (issue) => `Valor inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + mimeType: (issue) => `Tipo de MIME inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + minBytes: (issue) => `Cantidad de bytes inválidos: Se esperaba mínimo ${issue.expected} pero se recibió ${issue.received}`, + minLength: (issue) => `Longitud inválida: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + minSize: (issue) => `Tamaño inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + minValue: (issue) => `Valor inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + multipleOf: (issue) => `Múltiplo inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + notBytes: (issue) => `Bytes inválidos: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + notLength: (issue) => `Longitud inválida: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + notSize: (issue) => `Tamaño inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + notValue: (issue) => `Valor inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + octal: (issue) => `Octal inválido: Se recibió ${issue.received}`, + regex: (issue) => `Formato inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + safeInteger: (issue) => `Entero seguro inválido: Se recibió ${issue.received}`, + size: (issue) => `Tamaño inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + startsWith: (issue) => `Inicio inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + ulid: (issue) => `ULID inválido: Se recibió ${issue.received}`, + url: (issue) => `URL inválida: Se recibió ${issue.received}`, + uuid: (issue) => `UUID inválido: Se recibió ${issue.received}`, + value: (issue) => `Valor inválido: Se esperaba ${issue.expected} pero se recibió ${issue.received}`, + }, +}; + +export default language; diff --git a/packages/i18n/src/types.ts b/packages/i18n/src/types.ts index 36afb75ae..492c22ade 100644 --- a/packages/i18n/src/types.ts +++ b/packages/i18n/src/types.ts @@ -5,6 +5,7 @@ export type Language = { | 'ar' | 'de' | 'en' + | 'es' | 'fr' | 'hu' | 'ja' From 6084332e33b051a1837f3625e564c9687224f06d Mon Sep 17 00:00:00 2001 From: Fabian Hiller Date: Thu, 23 May 2024 18:51:46 -0400 Subject: [PATCH 2/2] Fix Spanish translation PR link in i18n readme --- packages/i18n/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/i18n/README.md b/packages/i18n/README.md index 9867a7043..e2a429623 100644 --- a/packages/i18n/README.md +++ b/packages/i18n/README.md @@ -5,15 +5,14 @@ The official i18n translations for Valibot. See the [internationalization guide] ## Current status | Language | Pull Request | Status | -|-----------------|--------------------|--------| +| --------------- | ------------------ | ------ | | Arabic (ar) | [#527][pr-527-url] | ✅ | | Chinese (zh-CN) | [#419][pr-419-url] | ✅ | | Chinese (zh-TW) | [#427][pr-427-url] | ✅ | | Dutch (nl) | [#438][pr-438-url] | ✅ | | English (en) | [#397][pr-397-url] | ✅ | -| Spanish (es) | [#581][pr-581-url] | ✅ | -| German (de) | [#397][pr-397-url] | ✅ | | French (fr) | [#418][pr-418-url] | ✅ | +| German (de) | [#397][pr-397-url] | ✅ | | Hungarian (hu) | [#560][pr-560-url] | ✅ | | Japanese (ja) | [#431][pr-431-url] | ✅ | | Korean (kr) | [#429][pr-429-url] | ✅ | @@ -22,6 +21,7 @@ The official i18n translations for Valibot. See the [internationalization guide] | Romanian (ro) | [#472][pr-472-url] | ✅ | | Russian (ru) | [#434][pr-434-url] | ✅ | | Slovenian (sl) | [#422][pr-422-url] | ✅ | +| Spanish (es) | [#581][pr-581-url] | ✅ | | Turkish (tr) | [#549][pr-549-url] | ✅ | | Ukrainian (uk) | [#423][pr-423-url] | ✅ | @@ -41,6 +41,7 @@ The official i18n translations for Valibot. See the [internationalization guide] [pr-527-url]: https://github.com/fabian-hiller/valibot/pull/527 [pr-549-url]: https://github.com/fabian-hiller/valibot/pull/549 [pr-560-url]: https://github.com/fabian-hiller/valibot/pull/560 +[pr-581-url]: https://github.com/fabian-hiller/valibot/pull/581 ## Getting started