Skip to content

Commit

Permalink
Merge pull request #21 from JMagrin/language/pt
Browse files Browse the repository at this point in the history
Add portuguese locale
  • Loading branch information
LoicMahieu authored Nov 6, 2020
2 parents 213a407 + c923931 commit cdb2202
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 3 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@ Locales implemented:
- `ar`
- `es`
- `it`
- `pt`

Please submit a PR with a new locale if you need it. In order to create a new locale, you could translate it automatically with `node scripts/create-locale` which will use google translate.
3 changes: 2 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ import * as de from './locales/de';
import * as ar from './locales/ar';
import * as it from './locales/it';
import * as es from './locales/es';
import * as pt from './locales/pt';

export { fr, nl, nb, de, ar, es, it };
export { fr, nl, nb, de, ar, es, it, pt };
2 changes: 1 addition & 1 deletion src/locales/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const mixed: LocaleObject['mixed'] = {
notType: ({ path, type, value, originalValue }: FormatErrorParams) => {
const isCast = originalValue != null && originalValue !== value;
let msg =
`${path} deve essere un ${type} \`\` tipo, ` +
`${path} deve essere un \`${type}\` tipo, ` +
`ma il valore finale è: \`${printValue(value, true)}\`` +
(isCast
? ` (valore originale: \`${printValue(originalValue, true)}\`).`
Expand Down
2 changes: 1 addition & 1 deletion src/locales/nb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const mixed: LocaleObject['mixed'] = {
notType: ({ path, type, value, originalValue }: FormatErrorParams) => {
const isCast = originalValue != null && originalValue !== value;
let msg =
`${path} må være en '${type} \`typen, ` +
`${path} må være en \`${type}\` typen, ` +
`men den endelige verdien var: \`${printValue(value, true)}\`` +
(isCast
? ` (støpt fra verdien \`${printValue(originalValue, true)}\`).`
Expand Down
68 changes: 68 additions & 0 deletions src/locales/pt.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*eslint-disable no-template-curly-in-string*/

import printValue from '../util/printValue';
import { LocaleObject, FormatErrorParams } from 'yup';

// Based on https://github.com/jquense/yup/blob/2973d0a/src/locale.js
export const mixed: LocaleObject['mixed'] = {
default: '${path} é inválido.',
required: '${path} é um campo obrigatório',
oneOf: '${path} deve ser um dos seguintes valores: ${values}',
notOneOf: '${path} não deve ser um dos seguintes valores: ${values}',
notType: ({ path, type, value, originalValue }: FormatErrorParams) => {
const isCast = originalValue != null && originalValue !== value;
let msg =
`${path} deve ser um tipo de \`${type}\`, ` +
`Mas o valor final foi: \`${printValue(value, true)}\`` +
(isCast
? ` (Elenco do valor \`${printValue(originalValue, true)}\`).`
: '.');

if (value === null) {
msg +=
`\n Se "null" pretender como um valor vazio, certifique-se de marcar o esquema como` +
' `.nullable()`';
}

return msg;
},
};

export const string: LocaleObject['string'] = {
length: '${path} deve ser exatamente ${length} caracteres',
min: '${path} deve ser pelo menos ${min} caracteres',
max: '${path} deve ser no máximo ${max} caracteres',
matches: '${path} deve corresponder ao seguinte: "${regex}"',
email: '${path} deve ser um email válido',
url: '${path} deve ser um URL válido',
trim: '${path} deve ser uma corda aparada',
lowercase: '${path} deve ser uma cadeia minúscula',
uppercase: '${path} deve ser uma cadeia maiúscula',
};

export const number: LocaleObject['number'] = {
min: '${path} deve ser maior ou igual a ${min}',
max: '${path} deve ser menor ou igual a ${max}',
lessThan: '${path} deve ser menor que ${less}',
moreThan: '${path} deve ser maior que ${more}',
positive: '${path} deve ser um número positivo',
negative: '${path} deve ser um número negativo',
integer: '${path} deve ser um inteiro',
};

export const date: LocaleObject['date'] = {
min: 'Campo ${path} deve ser mais tarde do que ${min}',
max: '${path} deve ser mais cedo do que ${max}',
};

export const boolean: LocaleObject['boolean'] = {};

export const object: LocaleObject['object'] = {
noUnknown:
'Campo ${path} não pode ter chaves não especificadas na forma do objeto',
};

export const array: LocaleObject['array'] = {
min: 'O campo ${path} deve ter pelo menos ${min} itens',
max: 'O campo ${path} deve ter menos ou igual a itens ${max}',
};

0 comments on commit cdb2202

Please sign in to comment.