Skip to content

i18 support for spanish and english locales are added #1021

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions src/main/resources/jsv-messages_en.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
$ref = {0}: has an error with ''refs''
additionalItems = {0}: index ''{1}'' is not defined in the schema and the schema does not allow additional items
additionalProperties = {0}: property ''{1}'' is not defined in the schema and the schema does not allow additional properties
allOf = {0}: must be valid to all the schemas {1}
anyOf = {0}: must be valid to any of the schemas {1}
const = {0}: must be the constant value ''{1}''
contains = {0}: does not contain an element that passes these validations: {2}
contains.max = {0}: must contain at most {1} element(s) that passes these validations: {2}
contains.min = {0}: must contain at least {1} element(s) that passes these validations: {2}
dependencies = {0}: has an error with dependencies {1}
dependentRequired = {0}: has a missing property ''{1}'' which is dependent required because ''{2}'' is present
dependentSchemas = {0}: has an error with dependentSchemas {1}
enum = {0}: does not have a value in the enumeration {1}
exclusiveMaximum = {0}: must have an exclusive maximum value of {1}
exclusiveMinimum = {0}: must have an exclusive minimum value of {1}
false = {0}: schema for ''{1}'' is false
format = {0}: does not match the {1} pattern {2}
format.date = {0}: does not match the {1} pattern must be a valid RFC 3339 full-date
format.date-time = {0}: does not match the {1} pattern must be a valid RFC 3339 date-time
format.duration = {0}: does not match the {1} pattern must be a valid ISO 8601 duration
format.email = {0}: does not match the {1} pattern must be a valid RFC 5321 Mailbox
format.ipv4 = {0}: does not match the {1} pattern must be a valid RFC 2673 IP address
format.ipv6 = {0}: does not match the {1} pattern must be a valid RFC 4291 IP address
format.idn-email = {0}: does not match the {1} pattern must be a valid RFC 6531 Mailbox
format.idn-hostname = {0}: does not match the {1} pattern must be a valid RFC 5890 internationalized hostname
format.iri = {0}: does not match the {1} pattern must be a valid RFC 3987 IRI
format.iri-reference = {0}: does not match the {1} pattern must be a valid RFC 3987 IRI-reference
format.uri = {0}: does not match the {1} pattern must be a valid RFC 3986 URI
format.uri-reference = {0}: does not match the {1} pattern must be a valid RFC 3986 URI-reference
format.uri-template = {0}: does not match the {1} pattern must be a valid RFC 6570 URI Template
format.uuid = {0}: does not match the {1} pattern must be a valid RFC 4122 UUID
format.regex = {0}: does not match the {1} pattern must be a valid ECMA-262 regular expression
format.time = {0}: does not match the {1} pattern must be a valid RFC 3339 time
format.hostname = {0}: does not match the {1} pattern must be a valid RFC 1123 host name
format.json-pointer = {0}: does not match the {1} pattern must be a valid RFC 6901 JSON Pointer
format.relative-json-pointer = {0}: does not match the {1} pattern must be a valid IETF Relative JSON Pointer
format.unknown = {0}: has an unknown format ''{1}''
id = {0}: ''{1}'' is not a valid {2}
items = {0}: index ''{1}'' is not defined in the schema and the schema does not allow additional items
maxContains = {0}: must be a non-negative integer in {1}
maxItems = {0}: must have at most {1} items but found {2}
maxLength = {0}: must be at most {1} characters long
maxProperties = {0}: must have at most {1} properties
maximum = {0}: must have a maximum value of {1}
minContains = {0}: must be a non-negative integer in {1}
minContainsVsMaxContains = {0}: minContains must less than or equal to maxContains in {1}
minItems = {0}: must have at least {1} items but found {2}
minLength = {0}: must be at least {1} characters long
minProperties = {0}: must have at least {1} properties
minimum = {0}: must have a minimum value of {1}
multipleOf = {0}: must be multiple of {1}
not = {0}: must not be valid to the schema {1}
notAllowed = {0}: property ''{1}'' is not allowed but it is in the data
oneOf = {0}: must be valid to one and only one schema, but {1} are valid
oneOf.indexes = {0}: must be valid to one and only one schema, but {1} are valid with indexes ''{2}''
pattern = {0}: does not match the regex pattern {1}
patternProperties = {0}: has some error with ''pattern properties''
prefixItems = {0}: no validator found at this index
properties = {0}: has an error with ''properties''
propertyNames = {0}: property ''{1}'' name is not valid: {2}
readOnly = {0}: is a readonly field, it cannot be changed
required = {0}: required property ''{1}'' not found
type = {0}: {1} found, {2} expected
unevaluatedItems = {0}: index ''{1}'' is not evaluated and the schema does not allow unevaluated items
unevaluatedProperties = {0}: property ''{1}'' is not evaluated and the schema does not allow unevaluated properties
unionType = {0}: {1} found, {2} expected
uniqueItems = {0}: must have only unique items in the array
writeOnly = {0}: is a write-only field, it cannot appear in the data
contentEncoding = {0}: does not match content encoding {1}
contentMediaType = {0}: is not a content media type
70 changes: 70 additions & 0 deletions src/main/resources/jsv-messages_es.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
$ref = {0}: tiene un error con ''refs''
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The encoding test in LocaleTest needs to be modified to ensure that the encoding of this file works for Java 8.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please le me know how to do that?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to modify this test.

void encoding() {
Map<String, String> expected = new HashMap<>();
expected.put("ar","$: يجب أن يكون طوله 5 حرفًا على الأكثر");
expected.put("cs","$: musí mít maximálně 5 znaků");
expected.put("da","$: må højst være på 5 tegn");
expected.put("de","$: darf höchstens 5 Zeichen lang sein");
expected.put("fa","$: باید حداکثر 5 کاراکتر باشد");
expected.put("fi","$: saa olla enintään 5 merkkiä pitkä");

You also need to modify this to add the supported locale

public static final String[] SUPPORTED_LANGUAGE_TAGS = new String[] { "ar", "cs", "da", "de", "fa", "fi", "fr",
"iw", "he", "hr", "hu", "it", "ja", "ko", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sv", "th", "tr", "uk",
"vi", "zh-CN", "zh-TW" };

Copy link
Contributor Author

@channaveer1 channaveer1 Apr 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay i will do that and let you know thank you @justin-tay

additionalItems = {0}: el índice ''{1}'' no está definido en el esquema y el esquema no permite elementos adicionales
additionalProperties = {0}: la propiedad ''{1}'' no está definida en el esquema y el esquema no permite propiedades adicionales
allOf = {0}: debe ser válido para todos los esquemas {1}
anyOf = {0}: debe ser válido para cualquiera de los esquemas {1}
const = {0}: debe ser el valor constante ''{1}''
contains = {0}: no contiene un elemento que pase estas validaciones: {2}
contains.max = {0}: debe contener como máximo {1} elemento(s) que pasen estas validaciones: {2}
contains.min = {0}: debe contener al menos {1} elemento(s) que pasen estas validaciones: {2}
dependencies = {0}: tiene un error con las dependencias {1}
dependentRequired = {0}: le falta una propiedad ''{1}'' que es dependiente requerida porque ''{2}'' está presente
dependentSchemas = {0}: tiene un error con dependienteSchemas {1}
enum={0}: no tiene valor en la enumeración {1}
exclusiveMaximum = {0}: debe tener un valor máximo exclusivo de {1}
exclusiveMinimum = {0}: debe tener un valor mínimo exclusivo de {1}
false = {0}: el esquema para ''{1}'' es falso
format = {0}: no coincide con el patrón {1} {2}
format.date = {0}: no coincide con el patrón {1} debe ser una fecha completa RFC 3339 válida
format.date-time = {0}: no coincide con el patrón {1} debe ser una fecha y hora RFC 3339 válida
format.duration = {0}: no coincide con el patrón {1} debe tener una duración ISO 8601 válida
format.email = {0}: no coincide con el patrón {1} debe ser un buzón RFC 5321 válido
format.ipv4 = {0}: no coincide con el patrón {1} debe ser una dirección IP RFC 2673 válida
format.ipv6 = {0}: no coincide con el patrón {1} debe ser una dirección IP RFC 4291 válida
format.idn-email = {0}: no coincide con el patrón {1} debe ser un buzón RFC 6531 válido
format.idn-hostname = {0}: no coincide con el patrón {1} debe ser un nombre de host internacionalizado RFC 5890 válido
format.iri = {0}: no coincide con el patrón {1} debe ser un IRI RFC 3987 válido
format.iri-reference = {0}: no coincide con el patrón {1} debe ser una referencia IRI RFC 3987 válida
format.uri = {0}: no coincide con el patrón {1} debe ser un URI RFC 3986 válido
format.uri-reference = {0}: no coincide con el patrón {1} debe ser una referencia URI RFC 3986 válida
format.uri-template = {0}: no coincide con el patrón {1} debe ser una plantilla URI RFC 6570 válida
format.uuid = {0}: no coincide con el patrón {1} debe ser un UUID RFC 4122 válido
format.regex = {0}: no coincide con el patrón {1} debe ser una expresión regular ECMA-262 válida
format.time = {0}: no coincide con el patrón {1} debe ser una hora RFC 3339 válida
format.hostname = {0}: no coincide con el patrón {1} debe ser un nombre de host RFC 1123 válido
format.json-pointer = {0}: no coincide con el patrón {1} debe ser un puntero JSON RFC 6901 válido
format.relative-json-pointer = {0}: no coincide con el patrón {1} debe ser un puntero JSON relativo de IETF válido
format.unknown = {0}: tiene un formato desconocido ''{1}''
id = {0}: ''{1}'' no es un {2} válido
items = {0}: el índice ''{1}'' no está definido en el esquema y el esquema no permite elementos adicionales
maxContains = {0}: debe ser un número entero no negativo en {1}
maxItems = {0}: debe tener como máximo {1} elementos pero encontró {2}
maxLength = {0}: debe tener como máximo {1} caracteres
maxProperties = {0}: debe tener como máximo {1} propiedades
maximum = {0}: debe tener un valor máximo de {1}
minContains = {0}: debe ser un número entero no negativo en {1}
minContainsVsMaxContains = {0}: minContains debe ser menor o igual que maxContains en {1}
minItems = {0}: debe tener al menos {1} elementos pero se encontró {2}
minLength = {0}: debe tener al menos {1} caracteres
minProperties = {0}: debe tener al menos {1} propiedades
minimum = {0}: debe tener un valor mínimo de {1}
multipleOf = {0}: debe ser múltiplo de {1}
not = {0}: no debe ser válido para el esquema {1}
notAllowed = {0}: la propiedad ''{1}'' no está permitida pero está en los datos
oneOf = {0}: debe ser válido para uno y solo un esquema, pero {1} son válidos
oneOf.indexes = {0}: debe ser válido para uno y solo un esquema, pero {1} son válidos con índices ''{2}''
pattern = {0}: no coincide con el patrón de expresión regular {1}
patternProperties = {0}: tiene algún error con ''propiedades de patrón''
prefixItems = {0}: no se encontró ningún validador en este índice
properties = {0}: tiene un error con ''propiedades''
propertyNames = {0}: el nombre de la propiedad ''{1}'' no es válido: {2}
readOnly = {0}: es un campo de solo lectura, no se puede cambiar
required = {0}: propiedad requerida ''{1}'' no encontrada
type = {0}: {1} encontrado, {2} esperado
unevaluatedItems = {0}: el índice ''{1}'' no se evalúa y el esquema no permite elementos no evaluados
unevaluatedProperties = {0}: la propiedad ''{1}'' no se evalúa y el esquema no permite propiedades no evaluadas
unionType = {0}: {1} encontrado, {2} esperado
uniqueItems = {0}: debe tener solo elementos únicos en la matriz.
writeOnly = {0}: es un campo de solo escritura, no puede aparecer en los datos
contentEncoding = {0}: no coincide con la codificación del contenido {1}
contentMediaType = {0}: no es un tipo de medio de contenido