From 11d15b56ac4f0819dc00d4c17e84b48c7ed8af03 Mon Sep 17 00:00:00 2001 From: Chirag Chhatrala <60499540+chiragchhatrala@users.noreply.github.com> Date: Mon, 10 Feb 2025 16:59:42 +0530 Subject: [PATCH 1/2] i18n Cookie issue (#694) --- client/nuxt.config.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/nuxt.config.ts b/client/nuxt.config.ts index 54c6c9a2..f55ee004 100644 --- a/client/nuxt.config.ts +++ b/client/nuxt.config.ts @@ -48,7 +48,10 @@ export default defineNuxtConfig({ defaultLocale: 'en', lazy: true, langDir: 'lang/', - strategy: 'no_prefix' + strategy: 'no_prefix', + detectBrowserLanguage: { + cookieSecure: true + } }, experimental: { inlineRouteRules: true From 9df70b97c7fdc20aba7aa78f690582299aa6a35b Mon Sep 17 00:00:00 2001 From: Chirag Chhatrala <60499540+chiragchhatrala@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:03:52 +0530 Subject: [PATCH 2/2] Add support for additional language locales (#693) Co-authored-by: Julien Nahum --- api/app/Models/Forms/Form.php | 2 +- api/config/app.php | 7 ++ api/resources/lang/ca/validation.php | 121 +++++++++++++++++++++++++++ api/resources/lang/cs/validation.php | 121 +++++++++++++++++++++++++++ api/resources/lang/eu/validation.php | 121 +++++++++++++++++++++++++++ api/resources/lang/gl/validation.php | 121 +++++++++++++++++++++++++++ api/resources/lang/pl/validation.php | 121 +++++++++++++++++++++++++++ api/resources/lang/sk/validation.php | 121 +++++++++++++++++++++++++++ api/resources/lang/sv/validation.php | 121 +++++++++++++++++++++++++++ client/i18n/lang/ca.json | 44 ++++++++++ client/i18n/lang/cs.json | 44 ++++++++++ client/i18n/lang/eu.json | 44 ++++++++++ client/i18n/lang/gl.json | 44 ++++++++++ client/i18n/lang/pl.json | 44 ++++++++++ client/i18n/lang/sk.json | 44 ++++++++++ client/i18n/lang/sv.json | 44 ++++++++++ client/nuxt.config.ts | 7 ++ 17 files changed, 1170 insertions(+), 1 deletion(-) create mode 100644 api/resources/lang/ca/validation.php create mode 100644 api/resources/lang/cs/validation.php create mode 100644 api/resources/lang/eu/validation.php create mode 100644 api/resources/lang/gl/validation.php create mode 100644 api/resources/lang/pl/validation.php create mode 100644 api/resources/lang/sk/validation.php create mode 100644 api/resources/lang/sv/validation.php create mode 100644 client/i18n/lang/ca.json create mode 100644 client/i18n/lang/cs.json create mode 100644 client/i18n/lang/eu.json create mode 100644 client/i18n/lang/gl.json create mode 100644 client/i18n/lang/pl.json create mode 100644 client/i18n/lang/sk.json create mode 100644 client/i18n/lang/sv.json diff --git a/api/app/Models/Forms/Form.php b/api/app/Models/Forms/Form.php index 54172371..aae7b69a 100644 --- a/api/app/Models/Forms/Form.php +++ b/api/app/Models/Forms/Form.php @@ -41,7 +41,7 @@ class Form extends Model implements CachableAttributes public const VISIBILITY = ['public', 'draft', 'closed']; - public const LANGUAGES = ['en', 'fr', 'hi', 'es', 'ar', 'zh', 'ja', 'bn', 'pt', 'ru', 'ur', 'pa', 'de', 'jv', 'ko', 'vi', 'te', 'mr', 'ta', 'tr']; + public const LANGUAGES = ['en', 'fr', 'hi', 'es', 'ar', 'zh', 'ja', 'bn', 'pt', 'ru', 'ur', 'pa', 'de', 'jv', 'ko', 'vi', 'te', 'mr', 'ta', 'tr', 'sk', 'cs', 'eu', 'gl', 'ca', 'sv', 'pl']; protected $fillable = [ 'workspace_id', diff --git a/api/config/app.php b/api/config/app.php index 6eaf6a84..dfe4daba 100644 --- a/api/config/app.php +++ b/api/config/app.php @@ -115,6 +115,13 @@ return [ 'mr' => 'MR', 'ta' => 'TA', 'tr' => 'TR', + 'sk' => 'SK', + 'cs' => 'CS', + 'eu' => 'EU', + 'gl' => 'GL', + 'ca' => 'CA', + 'sv' => 'SV', + 'pl' => 'PL', ], /* diff --git a/api/resources/lang/ca/validation.php b/api/resources/lang/ca/validation.php new file mode 100644 index 00000000..edb1fe81 --- /dev/null +++ b/api/resources/lang/ca/validation.php @@ -0,0 +1,121 @@ + 'El camp :attribute ha de ser acceptat.', + 'active_url' => 'El camp :attribute no és una URL vàlida.', + 'after' => 'El camp :attribute ha de ser una data posterior a :date.', + 'after_or_equal' => 'El camp :attribute ha de ser una data posterior o igual a :date.', + 'alpha' => 'El camp :attribute només pot contenir lletres.', + 'alpha_dash' => 'El camp :attribute només pot contenir lletres, números, guions i guions baixos.', + 'alpha_num' => 'El camp :attribute només pot contenir lletres i números.', + 'array' => 'El camp :attribute ha de ser un array.', + 'before' => 'El camp :attribute ha de ser una data anterior a :date.', + 'before_or_equal' => 'El camp :attribute ha de ser una data anterior o igual a :date.', + 'between' => [ + 'numeric' => 'El camp :attribute ha d\'estar entre :min i :max.', + 'file' => 'El camp :attribute ha de tenir entre :min i :max kilobytes.', + 'string' => 'El camp :attribute ha de tenir entre :min i :max caràcters.', + 'array' => 'El camp :attribute ha de tenir entre :min i :max elements.', + ], + 'boolean' => 'El camp :attribute ha de ser verdader o fals.', + 'confirmed' => 'La confirmació del camp :attribute no coincideix.', + 'date' => 'El camp :attribute no és una data vàlida.', + 'date_equals' => 'El camp :attribute ha de ser una data igual a :date.', + 'date_format' => 'El camp :attribute no concorda amb el format :format.', + 'different' => 'Els camps :attribute i :other han de ser diferents.', + 'digits' => 'El camp :attribute ha de tenir :digits dígits.', + 'digits_between' => 'El camp :attribute ha de tenir entre :min i :max dígits.', + 'dimensions' => 'El camp :attribute té dimensions d\'imatge no vàlides.', + 'distinct' => 'El camp :attribute té un valor duplicat.', + 'email' => 'El camp :attribute ha de ser una adreça de correu electrònic vàlida.', + 'ends_with' => 'El camp :attribute ha d\'acabar amb un dels següents valors: :values', + 'exists' => 'El camp :attribute seleccionat no és vàlid.', + 'file' => 'El camp :attribute ha de ser un arxiu.', + 'filled' => 'El camp :attribute ha de tenir un valor.', + 'gt' => [ + 'numeric' => 'El camp :attribute ha de ser més gran que :value.', + 'file' => 'El camp :attribute ha de ser més gran que :value kilobytes.', + 'string' => 'El camp :attribute ha de tenir més de :value caràcters.', + 'array' => 'El camp :attribute ha de tenir més de :value elements.', + ], + 'gte' => [ + 'numeric' => 'El camp :attribute ha de ser més gran o igual que :value.', + 'file' => 'El camp :attribute ha de ser més gran o igual que :value kilobytes.', + 'string' => 'El camp :attribute ha de tenir :value caràcters o més.', + 'array' => 'El camp :attribute ha de tenir :value elements o més.', + ], + 'image' => 'El camp :attribute ha de ser una imatge.', + 'in' => 'El camp :attribute seleccionat no és vàlid.', + 'in_array' => 'El camp :attribute no existeix a :other.', + 'integer' => 'El camp :attribute ha de ser un nombre enter.', + 'ip' => 'El camp :attribute ha de ser una adreça IP vàlida.', + 'ipv4' => 'El camp :attribute ha de ser una adreça IPv4 vàlida.', + 'ipv6' => 'El camp :attribute ha de ser una adreça IPv6 vàlida.', + 'json' => 'El camp :attribute ha de ser una cadena JSON vàlida.', + 'lt' => [ + 'numeric' => 'El camp :attribute ha de ser menor que :value.', + 'file' => 'El camp :attribute ha de ser menor que :value kilobytes.', + 'string' => 'El camp :attribute ha de tenir menys de :value caràcters.', + 'array' => 'El camp :attribute ha de tenir menys de :value elements.', + ], + 'lte' => [ + 'numeric' => 'El camp :attribute ha de ser menor o igual que :value.', + 'file' => 'El camp :attribute ha de ser menor o igual que :value kilobytes.', + 'string' => 'El camp :attribute ha de tenir :value caràcters o menys.', + 'array' => 'El camp :attribute no pot tenir més de :value elements.', + ], + 'max' => [ + 'numeric' => 'El camp :attribute no pot ser més gran que :max.', + 'file' => 'El camp :attribute no pot ser més gran que :max kilobytes.', + 'string' => 'El camp :attribute no pot tenir més de :max caràcters.', + 'array' => 'El camp :attribute no pot tenir més de :max elements.', + ], + 'mimes' => 'El camp :attribute ha de ser un arxiu de tipus: :values.', + 'mimetypes' => 'El camp :attribute ha de ser un arxiu de tipus: :values.', + 'min' => [ + 'numeric' => 'El camp :attribute ha de ser almenys :min.', + 'file' => 'El camp :attribute ha de tenir almenys :min kilobytes.', + 'string' => 'El camp :attribute ha de tenir almenys :min caràcters.', + 'array' => 'El camp :attribute ha de tenir almenys :min elements.', + ], + 'multiple_of' => 'El camp :attribute ha de ser múltiple de :value', + 'not_in' => 'El camp :attribute seleccionat no és vàlid.', + 'not_regex' => 'El format del camp :attribute no és vàlid.', + 'numeric' => 'El camp :attribute ha de ser un número.', + 'password' => 'La contrasenya és incorrecta.', + 'present' => 'El camp :attribute ha d\'estar present.', + 'regex' => 'El format del camp :attribute no és vàlid.', + 'required' => 'El camp :attribute és obligatori.', + 'required_if' => 'El camp :attribute és obligatori quan :other és :value.', + 'required_unless' => 'El camp :attribute és obligatori a menys que :other estigui en :values.', + 'required_with' => 'El camp :attribute és obligatori quan :values està present.', + 'required_with_all' => 'El camp :attribute és obligatori quan :values estan presents.', + 'required_without' => 'El camp :attribute és obligatori quan :values no està present.', + 'required_without_all' => 'El camp :attribute és obligatori quan cap dels :values estan presents.', + 'same' => 'Els camps :attribute i :other han de coincidir.', + 'size' => [ + 'numeric' => 'El camp :attribute ha de ser :size.', + 'file' => 'El camp :attribute ha de tenir :size kilobytes.', + 'string' => 'El camp :attribute ha de tenir :size caràcters.', + 'array' => 'El camp :attribute ha de contenir :size elements.', + ], + 'starts_with' => 'El camp :attribute ha de començar amb un dels següents valors: :values', + 'string' => 'El camp :attribute ha de ser una cadena de caràcters.', + 'timezone' => 'El camp :attribute ha de ser una zona horària vàlida.', + 'unique' => 'El valor del camp :attribute ja està en ús.', + 'uploaded' => 'El camp :attribute ha fallat en pujar.', + 'url' => 'El format del camp :attribute no és vàlid.', + 'uuid' => 'El camp :attribute ha de ser un UUID vàlid.', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [], + + 'invalid_json' => 'Entrada no vàlida. Corregeix-la i torna-ho a provar.', + 'invalid_captcha' => 'CAPTCHA no vàlid. Corregeix-lo i torna-ho a provar.', + 'complete_captcha' => 'Si us plau, completa el CAPTCHA.', +]; diff --git a/api/resources/lang/cs/validation.php b/api/resources/lang/cs/validation.php new file mode 100644 index 00000000..d9dccf9f --- /dev/null +++ b/api/resources/lang/cs/validation.php @@ -0,0 +1,121 @@ + ':attribute musí být přijat.', + 'active_url' => ':attribute není platná URL adresa.', + 'after' => ':attribute musí být datum po :date.', + 'after_or_equal' => ':attribute musí být datum po nebo rovno :date.', + 'alpha' => ':attribute může obsahovat pouze písmena.', + 'alpha_dash' => ':attribute může obsahovat pouze písmena, číslice, pomlčky a podtržítka.', + 'alpha_num' => ':attribute může obsahovat pouze písmena a číslice.', + 'array' => ':attribute musí být pole.', + 'before' => ':attribute musí být datum před :date.', + 'before_or_equal' => ':attribute musí být datum před nebo rovno :date.', + 'between' => [ + 'numeric' => ':attribute musí být mezi :min a :max.', + 'file' => ':attribute musí být mezi :min a :max kilobajty.', + 'string' => ':attribute musí být mezi :min a :max znaky.', + 'array' => ':attribute musí obsahovat :min až :max položek.', + ], + 'boolean' => ':attribute musí být true nebo false.', + 'confirmed' => 'Potvrzení :attribute se neshoduje.', + 'date' => ':attribute není platné datum.', + 'date_equals' => ':attribute musí být datum rovno :date.', + 'date_format' => ':attribute neodpovídá formátu :format.', + 'different' => ':attribute a :other se musí lišit.', + 'digits' => ':attribute musí být :digits číslic.', + 'digits_between' => ':attribute musí být mezi :min a :max číslicemi.', + 'dimensions' => ':attribute má neplatné rozměry obrázku.', + 'distinct' => ':attribute má duplicitní hodnotu.', + 'email' => ':attribute musí být platná e-mailová adresa.', + 'ends_with' => ':attribute musí končit jednou z následujících hodnot: :values', + 'exists' => 'Vybraný :attribute je neplatný.', + 'file' => ':attribute musí být soubor.', + 'filled' => ':attribute musí mít hodnotu.', + 'gt' => [ + 'numeric' => ':attribute musí být větší než :value.', + 'file' => ':attribute musí být větší než :value kilobytů.', + 'string' => ':attribute musí být delší než :value znaků.', + 'array' => ':attribute musí obsahovat více než :value položek.', + ], + 'gte' => [ + 'numeric' => ':attribute musí být větší nebo rovno :value.', + 'file' => ':attribute musí být větší nebo rovno :value kilobytů.', + 'string' => ':attribute musí být delší nebo rovno :value znaků.', + 'array' => ':attribute musí obsahovat :value nebo více položek.', + ], + 'image' => ':attribute musí být obrázek.', + 'in' => 'Vybraný :attribute je neplatný.', + 'in_array' => ':attribute neexistuje v :other.', + 'integer' => ':attribute musí být celé číslo.', + 'ip' => ':attribute musí být platná IP adresa.', + 'ipv4' => ':attribute musí být platná IPv4 adresa.', + 'ipv6' => ':attribute musí být platná IPv6 adresa.', + 'json' => ':attribute musí být platný JSON řetězec.', + 'lt' => [ + 'numeric' => ':attribute musí být menší než :value.', + 'file' => ':attribute musí být menší než :value kilobytů.', + 'string' => ':attribute musí být kratší než :value znaků.', + 'array' => ':attribute musí obsahovat méně než :value položek.', + ], + 'lte' => [ + 'numeric' => ':attribute musí být menší nebo rovno :value.', + 'file' => ':attribute musí být menší nebo rovno :value kilobytů.', + 'string' => ':attribute musí být kratší nebo rovno :value znaků.', + 'array' => ':attribute nesmí obsahovat více než :value položek.', + ], + 'max' => [ + 'numeric' => ':attribute nesmí být větší než :max.', + 'file' => ':attribute nesmí být větší než :max kilobytů.', + 'string' => ':attribute nesmí být delší než :max znaků.', + 'array' => ':attribute nesmí obsahovat více než :max položek.', + ], + 'mimes' => ':attribute musí být soubor typu: :values.', + 'mimetypes' => ':attribute musí být soubor typu: :values.', + 'min' => [ + 'numeric' => ':attribute musí být alespoň :min.', + 'file' => ':attribute musí být alespoň :min kilobytů.', + 'string' => ':attribute musí být alespoň :min znaků.', + 'array' => ':attribute musí obsahovat alespoň :min položek.', + ], + 'multiple_of' => ':attribute musí být násobkem :value', + 'not_in' => 'Vybraný :attribute je neplatný.', + 'not_regex' => 'Formát :attribute je neplatný.', + 'numeric' => ':attribute musí být číslo.', + 'password' => 'Heslo je nesprávné.', + 'present' => ':attribute musí být přítomen.', + 'regex' => 'Formát :attribute je neplatný.', + 'required' => ':attribute je povinné pole.', + 'required_if' => ':attribute je povinné, když :other je :value.', + 'required_unless' => ':attribute je povinné, pokud :other není v :values.', + 'required_with' => ':attribute je povinné, když je přítomno :values.', + 'required_with_all' => ':attribute je povinné, když jsou přítomny :values.', + 'required_without' => ':attribute je povinné, když není přítomno :values.', + 'required_without_all' => ':attribute je povinné, když není přítomna žádná z :values.', + 'same' => ':attribute a :other se musí shodovat.', + 'size' => [ + 'numeric' => ':attribute musí být :size.', + 'file' => ':attribute musí mít :size kilobytů.', + 'string' => ':attribute musí mít :size znaků.', + 'array' => ':attribute musí obsahovat :size položek.', + ], + 'starts_with' => ':attribute musí začínat jednou z následujících hodnot: :values', + 'string' => ':attribute musí být řetězec.', + 'timezone' => ':attribute musí být platné časové pásmo.', + 'unique' => ':attribute již byl použit.', + 'uploaded' => 'Nahrávání :attribute se nezdařilo.', + 'url' => 'Formát :attribute je neplatný.', + 'uuid' => ':attribute musí být platné UUID.', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [], + + 'invalid_json' => 'Neplatný vstup. Opravte jej a zkuste to znovu.', + 'invalid_captcha' => 'Neplatná CAPTCHA. Opravte ji a zkuste to znovu.', + 'complete_captcha' => 'Prosím, vyplňte CAPTCHA.', +]; diff --git a/api/resources/lang/eu/validation.php b/api/resources/lang/eu/validation.php new file mode 100644 index 00000000..a13ebb54 --- /dev/null +++ b/api/resources/lang/eu/validation.php @@ -0,0 +1,121 @@ + ':attribute onartu behar da.', + 'active_url' => ':attribute ez da baliozko URL bat.', + 'after' => ':attribute :date osteko data izan behar da.', + 'after_or_equal' => ':attribute :date osteko edo berdina izan behar da.', + 'alpha' => ':attribute letrak soilik izan ditzake.', + 'alpha_dash' => ':attribute letrak, zenbakiak eta marrak soilik izan ditzake.', + 'alpha_num' => ':attribute letrak eta zenbakiak soilik izan ditzake.', + 'array' => ':attribute array bat izan behar da.', + 'before' => ':attribute :date aurreko data izan behar da.', + 'before_or_equal' => ':attribute :date aurreko edo berdina izan behar da.', + 'between' => [ + 'numeric' => ':attribute :min eta :max artean egon behar da.', + 'file' => ':attribute :min eta :max kilobyte artean egon behar da.', + 'string' => ':attribute :min eta :max karaktere artean egon behar da.', + 'array' => ':attribute :min eta :max elementu artean izan behar ditu.', + ], + 'boolean' => ':attribute eremua true edo false izan behar da.', + 'confirmed' => ':attribute berrespena ez dator bat.', + 'date' => ':attribute ez da baliozko data.', + 'date_equals' => ':attribute :date data berdina izan behar da.', + 'date_format' => ':attribute ez dator bat :format formatuarekin.', + 'different' => ':attribute eta :other ezberdinak izan behar dira.', + 'digits' => ':attribute :digits digitu izan behar ditu.', + 'digits_between' => ':attribute :min eta :max digitu artean izan behar ditu.', + 'dimensions' => ':attribute irudiaren neurriak baliogabeak dira.', + 'distinct' => ':attribute eremuak balio bikoiztua du.', + 'email' => ':attribute baliozko helbide elektronikoa izan behar da.', + 'ends_with' => ':attribute ondorengo balioetako batekin amaitu behar da: :values', + 'exists' => 'Hautatutako :attribute baliogabea da.', + 'file' => ':attribute fitxategi bat izan behar da.', + 'filled' => ':attribute eremuak balio bat izan behar du.', + 'gt' => [ + 'numeric' => ':attribute :value baino handiagoa izan behar da.', + 'file' => ':attribute :value kilobyte baino handiagoa izan behar da.', + 'string' => ':attribute :value karaktere baino gehiago izan behar ditu.', + 'array' => ':attribute :value elementu baino gehiago izan behar ditu.', + ], + 'gte' => [ + 'numeric' => ':attribute :value baino handiagoa edo berdina izan behar da.', + 'file' => ':attribute :value kilobyte baino handiagoa edo berdina izan behar da.', + 'string' => ':attribute :value karaktere edo gehiago izan behar ditu.', + 'array' => ':attribute gutxienez :value elementu izan behar ditu.', + ], + 'image' => ':attribute irudi bat izan behar da.', + 'in' => 'Hautatutako :attribute baliogabea da.', + 'in_array' => ':attribute eremua ez da existitzen :other-en.', + 'integer' => ':attribute zenbaki osoa izan behar da.', + 'ip' => ':attribute baliozko IP helbidea izan behar da.', + 'ipv4' => ':attribute baliozko IPv4 helbidea izan behar da.', + 'ipv6' => ':attribute baliozko IPv6 helbidea izan behar da.', + 'json' => ':attribute baliozko JSON karaktere-katea izan behar da.', + 'lt' => [ + 'numeric' => ':attribute :value baino txikiagoa izan behar da.', + 'file' => ':attribute :value kilobyte baino txikiagoa izan behar da.', + 'string' => ':attribute :value karaktere baino gutxiago izan behar ditu.', + 'array' => ':attribute :value elementu baino gutxiago izan behar ditu.', + ], + 'lte' => [ + 'numeric' => ':attribute :value baino txikiagoa edo berdina izan behar da.', + 'file' => ':attribute :value kilobyte baino txikiagoa edo berdina izan behar da.', + 'string' => ':attribute :value karaktere edo gutxiago izan behar ditu.', + 'array' => ':attribute ezin ditu :value elementu baino gehiago izan.', + ], + 'max' => [ + 'numeric' => ':attribute ezin da :max baino handiagoa izan.', + 'file' => ':attribute ezin da :max kilobyte baino handiagoa izan.', + 'string' => ':attribute ezin da :max karaktere baino luzeagoa izan.', + 'array' => ':attribute-k ezin ditu :max elementu baino gehiago izan.', + ], + 'mimes' => ':attribute :values motako fitxategia izan behar da.', + 'mimetypes' => ':attribute :values motako fitxategia izan behar da.', + 'min' => [ + 'numeric' => ':attribute gutxienez :min izan behar da.', + 'file' => ':attribute gutxienez :min kilobyte izan behar ditu.', + 'string' => ':attribute gutxienez :min karaktere izan behar ditu.', + 'array' => ':attribute gutxienez :min elementu izan behar ditu.', + ], + 'multiple_of' => ':attribute :value-ren multiploa izan behar da.', + 'not_in' => 'Hautatutako :attribute baliogabea da.', + 'not_regex' => ':attribute formatua baliogabea da.', + 'numeric' => ':attribute zenbaki bat izan behar da.', + 'password' => 'Pasahitza okerra da.', + 'present' => ':attribute eremua egon behar da.', + 'regex' => ':attribute formatua baliogabea da.', + 'required' => ':attribute eremua beharrezkoa da.', + 'required_if' => ':attribute eremua beharrezkoa da :other :value denean.', + 'required_unless' => ':attribute eremua beharrezkoa da :other :values-en ez badago.', + 'required_with' => ':attribute eremua beharrezkoa da :values dagoenean.', + 'required_with_all' => ':attribute eremua beharrezkoa da :values daudenean.', + 'required_without' => ':attribute eremua beharrezkoa da :values ez dagoenean.', + 'required_without_all' => ':attribute eremua beharrezkoa da :values bat ere ez dagoenean.', + 'same' => ':attribute eta :other bat etorri behar dira.', + 'size' => [ + 'numeric' => ':attribute :size izan behar da.', + 'file' => ':attribute :size kilobyte izan behar ditu.', + 'string' => ':attribute :size karaktere izan behar ditu.', + 'array' => ':attribute-k :size elementu izan behar ditu.', + ], + 'starts_with' => ':attribute ondorengo balioetako batekin hasi behar da: :values', + 'string' => ':attribute karaktere-katea izan behar da.', + 'timezone' => ':attribute baliozko ordu-eremua izan behar da.', + 'unique' => ':attribute dagoeneko hartuta dago.', + 'uploaded' => ':attribute-ren karga huts egin du.', + 'url' => ':attribute formatua baliogabea da.', + 'uuid' => ':attribute baliozko UUID izan behar da.', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [], + + 'invalid_json' => 'Sarrera baliogabea. Zuzendu eta saiatu berriro.', + 'invalid_captcha' => 'CAPTCHA baliogabea. Zuzendu eta saiatu berriro.', + 'complete_captcha' => 'Mesedez, bete CAPTCHA.', +]; diff --git a/api/resources/lang/gl/validation.php b/api/resources/lang/gl/validation.php new file mode 100644 index 00000000..d961359c --- /dev/null +++ b/api/resources/lang/gl/validation.php @@ -0,0 +1,121 @@ + 'O campo :attribute debe ser aceptado.', + 'active_url' => 'O campo :attribute non é unha URL válida.', + 'after' => 'O campo :attribute debe ser unha data posterior a :date.', + 'after_or_equal' => 'O campo :attribute debe ser unha data posterior ou igual a :date.', + 'alpha' => 'O campo :attribute só pode conter letras.', + 'alpha_dash' => 'O campo :attribute só pode conter letras, números, guións e guións baixos.', + 'alpha_num' => 'O campo :attribute só pode conter letras e números.', + 'array' => 'O campo :attribute debe ser un array.', + 'before' => 'O campo :attribute debe ser unha data anterior a :date.', + 'before_or_equal' => 'O campo :attribute debe ser unha data anterior ou igual a :date.', + 'between' => [ + 'numeric' => 'O campo :attribute debe estar entre :min e :max.', + 'file' => 'O campo :attribute debe ter entre :min e :max kilobytes.', + 'string' => 'O campo :attribute debe ter entre :min e :max caracteres.', + 'array' => 'O campo :attribute debe ter entre :min e :max elementos.', + ], + 'boolean' => 'O campo :attribute debe ser verdadeiro ou falso.', + 'confirmed' => 'A confirmación do campo :attribute non coincide.', + 'date' => 'O campo :attribute non é unha data válida.', + 'date_equals' => 'O campo :attribute debe ser unha data igual a :date.', + 'date_format' => 'O campo :attribute non coincide co formato :format.', + 'different' => 'Os campos :attribute e :other deben ser diferentes.', + 'digits' => 'O campo :attribute debe ter :digits díxitos.', + 'digits_between' => 'O campo :attribute debe ter entre :min e :max díxitos.', + 'dimensions' => 'O campo :attribute ten dimensións de imaxe non válidas.', + 'distinct' => 'O campo :attribute ten un valor duplicado.', + 'email' => 'O campo :attribute debe ser un enderezo de correo electrónico válido.', + 'ends_with' => 'O campo :attribute debe rematar con algún dos seguintes valores: :values', + 'exists' => 'O campo :attribute seleccionado non é válido.', + 'file' => 'O campo :attribute debe ser un arquivo.', + 'filled' => 'O campo :attribute debe ter un valor.', + 'gt' => [ + 'numeric' => 'O campo :attribute debe ser maior que :value.', + 'file' => 'O campo :attribute debe ser maior que :value kilobytes.', + 'string' => 'O campo :attribute debe ter máis de :value caracteres.', + 'array' => 'O campo :attribute debe ter máis de :value elementos.', + ], + 'gte' => [ + 'numeric' => 'O campo :attribute debe ser maior ou igual que :value.', + 'file' => 'O campo :attribute debe ser maior ou igual que :value kilobytes.', + 'string' => 'O campo :attribute debe ter :value caracteres ou máis.', + 'array' => 'O campo :attribute debe ter :value elementos ou máis.', + ], + 'image' => 'O campo :attribute debe ser unha imaxe.', + 'in' => 'O campo :attribute seleccionado non é válido.', + 'in_array' => 'O campo :attribute non existe en :other.', + 'integer' => 'O campo :attribute debe ser un número enteiro.', + 'ip' => 'O campo :attribute debe ser un enderezo IP válido.', + 'ipv4' => 'O campo :attribute debe ser un enderezo IPv4 válido.', + 'ipv6' => 'O campo :attribute debe ser un enderezo IPv6 válido.', + 'json' => 'O campo :attribute debe ser unha cadea JSON válida.', + 'lt' => [ + 'numeric' => 'O campo :attribute debe ser menor que :value.', + 'file' => 'O campo :attribute debe ser menor que :value kilobytes.', + 'string' => 'O campo :attribute debe ter menos de :value caracteres.', + 'array' => 'O campo :attribute debe ter menos de :value elementos.', + ], + 'lte' => [ + 'numeric' => 'O campo :attribute debe ser menor ou igual que :value.', + 'file' => 'O campo :attribute debe ser menor ou igual que :value kilobytes.', + 'string' => 'O campo :attribute debe ter :value caracteres ou menos.', + 'array' => 'O campo :attribute non debe ter máis de :value elementos.', + ], + 'max' => [ + 'numeric' => 'O campo :attribute non pode ser maior que :max.', + 'file' => 'O campo :attribute non pode ser maior que :max kilobytes.', + 'string' => 'O campo :attribute non pode ter máis de :max caracteres.', + 'array' => 'O campo :attribute non pode ter máis de :max elementos.', + ], + 'mimes' => 'O campo :attribute debe ser un arquivo de tipo: :values.', + 'mimetypes' => 'O campo :attribute debe ser un arquivo de tipo: :values.', + 'min' => [ + 'numeric' => 'O campo :attribute debe ser polo menos :min.', + 'file' => 'O campo :attribute debe ter polo menos :min kilobytes.', + 'string' => 'O campo :attribute debe ter polo menos :min caracteres.', + 'array' => 'O campo :attribute debe ter polo menos :min elementos.', + ], + 'multiple_of' => 'O campo :attribute debe ser un múltiplo de :value', + 'not_in' => 'O campo :attribute seleccionado non é válido.', + 'not_regex' => 'O formato do campo :attribute non é válido.', + 'numeric' => 'O campo :attribute debe ser un número.', + 'password' => 'O contrasinal é incorrecto.', + 'present' => 'O campo :attribute debe estar presente.', + 'regex' => 'O formato do campo :attribute non é válido.', + 'required' => 'O campo :attribute é obrigatorio.', + 'required_if' => 'O campo :attribute é obrigatorio cando :other é :value.', + 'required_unless' => 'O campo :attribute é obrigatorio a menos que :other estea en :values.', + 'required_with' => 'O campo :attribute é obrigatorio cando :values está presente.', + 'required_with_all' => 'O campo :attribute é obrigatorio cando :values están presentes.', + 'required_without' => 'O campo :attribute é obrigatorio cando :values non está presente.', + 'required_without_all' => 'O campo :attribute é obrigatorio cando ningún de :values está presente.', + 'same' => 'Os campos :attribute e :other deben coincidir.', + 'size' => [ + 'numeric' => 'O campo :attribute debe ser :size.', + 'file' => 'O campo :attribute debe ter :size kilobytes.', + 'string' => 'O campo :attribute debe ter :size caracteres.', + 'array' => 'O campo :attribute debe conter :size elementos.', + ], + 'starts_with' => 'O campo :attribute debe comezar con un dos seguintes valores: :values', + 'string' => 'O campo :attribute debe ser unha cadea de caracteres.', + 'timezone' => 'O campo :attribute debe ser unha zona horaria válida.', + 'unique' => 'O valor do campo :attribute xa está en uso.', + 'uploaded' => 'O campo :attribute fallou ao subir.', + 'url' => 'O formato do campo :attribute non é válido.', + 'uuid' => 'O campo :attribute debe ser un UUID válido.', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [], + + 'invalid_json' => 'Entrada non válida. Corríxea e téntao de novo.', + 'invalid_captcha' => 'CAPTCHA non válido. Corríxeo e téntao de novo.', + 'complete_captcha' => 'Por favor, completa o CAPTCHA.', +]; diff --git a/api/resources/lang/pl/validation.php b/api/resources/lang/pl/validation.php new file mode 100644 index 00000000..583f65a4 --- /dev/null +++ b/api/resources/lang/pl/validation.php @@ -0,0 +1,121 @@ + 'Pole :attribute musi zostać zaakceptowane.', + 'active_url' => 'Pole :attribute jest nieprawidłowym adresem URL.', + 'after' => 'Pole :attribute musi być datą późniejszą od :date.', + 'after_or_equal' => 'Pole :attribute musi być datą nie wcześniejszą niż :date.', + 'alpha' => 'Pole :attribute może zawierać jedynie litery.', + 'alpha_dash' => 'Pole :attribute może zawierać jedynie litery, cyfry, myślniki i podkreślenia.', + 'alpha_num' => 'Pole :attribute może zawierać jedynie litery i cyfry.', + 'array' => 'Pole :attribute musi być tablicą.', + 'before' => 'Pole :attribute musi być datą wcześniejszą od :date.', + 'before_or_equal' => 'Pole :attribute musi być datą nie późniejszą niż :date.', + 'between' => [ + 'numeric' => 'Pole :attribute musi zawierać się w granicach :min - :max.', + 'file' => 'Pole :attribute musi zawierać się w granicach :min - :max kilobajtów.', + 'string' => 'Pole :attribute musi zawierać się w granicach :min - :max znaków.', + 'array' => 'Pole :attribute musi składać się z :min - :max elementów.', + ], + 'boolean' => 'Pole :attribute musi mieć wartość prawda albo fałsz.', + 'confirmed' => 'Potwierdzenie pola :attribute nie zgadza się.', + 'date' => 'Pole :attribute nie jest prawidłową datą.', + 'date_equals' => 'Pole :attribute musi być datą równą :date.', + 'date_format' => 'Pole :attribute nie jest w formacie :format.', + 'different' => 'Pole :attribute oraz :other muszą się różnić.', + 'digits' => 'Pole :attribute musi składać się z :digits cyfr.', + 'digits_between' => 'Pole :attribute musi mieć od :min do :max cyfr.', + 'dimensions' => 'Pole :attribute ma nieprawidłowe wymiary.', + 'distinct' => 'Pole :attribute ma zduplikowane wartości.', + 'email' => 'Pole :attribute nie jest prawidłowym adresem e-mail.', + 'ends_with' => 'Pole :attribute musi kończyć się jedną z następujących wartości: :values.', + 'exists' => 'Zaznaczone pole :attribute jest nieprawidłowe.', + 'file' => 'Pole :attribute musi być plikiem.', + 'filled' => 'Pole :attribute nie może być puste.', + 'gt' => [ + 'numeric' => 'Pole :attribute musi być większe niż :value.', + 'file' => 'Pole :attribute musi być większe niż :value kilobajtów.', + 'string' => 'Pole :attribute musi być dłuższe niż :value znaków.', + 'array' => 'Pole :attribute musi mieć więcej niż :value elementów.', + ], + 'gte' => [ + 'numeric' => 'Pole :attribute musi być większe lub równe :value.', + 'file' => 'Pole :attribute musi być większe lub równe :value kilobajtów.', + 'string' => 'Pole :attribute musi być dłuższe lub równe :value znaków.', + 'array' => 'Pole :attribute musi mieć :value lub więcej elementów.', + ], + 'image' => 'Pole :attribute musi być obrazkiem.', + 'in' => 'Zaznaczony element :attribute jest nieprawidłowy.', + 'in_array' => 'Pole :attribute nie znajduje się w :other.', + 'integer' => 'Pole :attribute musi być liczbą całkowitą.', + 'ip' => 'Pole :attribute musi być prawidłowym adresem IP.', + 'ipv4' => 'Pole :attribute musi być prawidłowym adresem IPv4.', + 'ipv6' => 'Pole :attribute musi być prawidłowym adresem IPv6.', + 'json' => 'Pole :attribute musi być poprawnym ciągiem znaków JSON.', + 'lt' => [ + 'numeric' => 'Pole :attribute musi być mniejsze niż :value.', + 'file' => 'Pole :attribute musi być mniejsze niż :value kilobajtów.', + 'string' => 'Pole :attribute musi być krótsze niż :value znaków.', + 'array' => 'Pole :attribute musi mieć mniej niż :value elementów.', + ], + 'lte' => [ + 'numeric' => 'Pole :attribute musi być mniejsze lub równe :value.', + 'file' => 'Pole :attribute musi być mniejsze lub równe :value kilobajtów.', + 'string' => 'Pole :attribute musi być krótsze lub równe :value znaków.', + 'array' => 'Pole :attribute nie może mieć więcej niż :value elementów.', + ], + 'max' => [ + 'numeric' => 'Pole :attribute nie może być większe niż :max.', + 'file' => 'Pole :attribute nie może być większe niż :max kilobajtów.', + 'string' => 'Pole :attribute nie może być dłuższe niż :max znaków.', + 'array' => 'Pole :attribute nie może mieć więcej niż :max elementów.', + ], + 'mimes' => 'Pole :attribute musi być plikiem typu :values.', + 'mimetypes' => 'Pole :attribute musi być plikiem typu :values.', + 'min' => [ + 'numeric' => 'Pole :attribute musi być nie mniejsze od :min.', + 'file' => 'Pole :attribute musi mieć przynajmniej :min kilobajtów.', + 'string' => 'Pole :attribute musi mieć przynajmniej :min znaków.', + 'array' => 'Pole :attribute musi mieć przynajmniej :min elementów.', + ], + 'multiple_of' => 'Pole :attribute musi być wielokrotnością :value', + 'not_in' => 'Zaznaczony :attribute jest nieprawidłowy.', + 'not_regex' => 'Format pola :attribute jest nieprawidłowy.', + 'numeric' => 'Pole :attribute musi być liczbą.', + 'password' => 'Hasło jest nieprawidłowe.', + 'present' => 'Pole :attribute musi być obecne.', + 'regex' => 'Format pola :attribute jest nieprawidłowy.', + 'required' => 'Pole :attribute jest wymagane.', + 'required_if' => 'Pole :attribute jest wymagane gdy :other ma wartość :value.', + 'required_unless' => 'Pole :attribute jest wymagane jeżeli :other nie znajduje się w :values.', + 'required_with' => 'Pole :attribute jest wymagane gdy :values jest obecne.', + 'required_with_all' => 'Pole :attribute jest wymagane gdy wszystkie :values są obecne.', + 'required_without' => 'Pole :attribute jest wymagane gdy :values nie jest obecne.', + 'required_without_all' => 'Pole :attribute jest wymagane gdy żadne z :values nie są obecne.', + 'same' => 'Pole :attribute i :other muszą być takie same.', + 'size' => [ + 'numeric' => 'Pole :attribute musi mieć :size.', + 'file' => 'Pole :attribute musi mieć :size kilobajtów.', + 'string' => 'Pole :attribute musi mieć :size znaków.', + 'array' => 'Pole :attribute musi zawierać :size elementów.', + ], + 'starts_with' => 'Pole :attribute musi zaczynać się jedną z następujących wartości: :values.', + 'string' => 'Pole :attribute musi być ciągiem znaków.', + 'timezone' => 'Pole :attribute musi być prawidłową strefą czasową.', + 'unique' => 'Taki :attribute już występuje.', + 'uploaded' => 'Nie udało się wgrać pliku :attribute.', + 'url' => 'Format pola :attribute jest nieprawidłowy.', + 'uuid' => 'Pole :attribute musi być poprawnym identyfikatorem UUID.', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [], + + 'invalid_json' => 'Nieprawidłowe dane wejściowe. Popraw je i spróbuj ponownie.', + 'invalid_captcha' => 'Nieprawidłowy kod CAPTCHA. Popraw go i spróbuj ponownie.', + 'complete_captcha' => 'Proszę wypełnić kod CAPTCHA.', +]; diff --git a/api/resources/lang/sk/validation.php b/api/resources/lang/sk/validation.php new file mode 100644 index 00000000..835bef0b --- /dev/null +++ b/api/resources/lang/sk/validation.php @@ -0,0 +1,121 @@ + ':attribute musí byť akceptovaný.', + 'active_url' => ':attribute má neplatnú URL adresu.', + 'after' => ':attribute musí byť dátum po :date.', + 'after_or_equal' => ':attribute musí byť dátum po alebo rovný :date.', + 'alpha' => ':attribute môže obsahovať len písmená.', + 'alpha_dash' => ':attribute môže obsahovať len písmená, čísla, pomlčky a podčiarknutia.', + 'alpha_num' => ':attribute môže obsahovať len písmená a čísla.', + 'array' => ':attribute musí byť pole.', + 'before' => ':attribute musí byť dátum pred :date.', + 'before_or_equal' => ':attribute musí byť dátum pred alebo rovný :date.', + 'between' => [ + 'numeric' => ':attribute musí byť medzi :min a :max.', + 'file' => ':attribute musí mať medzi :min a :max kilobajtov.', + 'string' => ':attribute musí mať medzi :min a :max znakov.', + 'array' => ':attribute musí mať medzi :min a :max položiek.', + ], + 'boolean' => ':attribute musí byť true alebo false.', + 'confirmed' => ':attribute potvrdenie sa nezhoduje.', + 'date' => ':attribute nie je platný dátum.', + 'date_equals' => ':attribute musí byť dátum rovný :date.', + 'date_format' => ':attribute sa nezhoduje s formátom :format.', + 'different' => ':attribute a :other sa musia líšiť.', + 'digits' => ':attribute musí mať :digits číslic.', + 'digits_between' => ':attribute musí mať medzi :min a :max číslicami.', + 'dimensions' => ':attribute má neplatné rozmery obrázka.', + 'distinct' => ':attribute má duplicitnú hodnotu.', + 'email' => ':attribute musí byť platná emailová adresa.', + 'ends_with' => ':attribute musí končiť jedným z nasledujúcich: :values', + 'exists' => 'Vybraný :attribute je neplatný.', + 'file' => ':attribute musí byť súbor.', + 'filled' => ':attribute musí mať hodnotu.', + 'gt' => [ + 'numeric' => ':attribute musí byť väčší ako :value.', + 'file' => ':attribute musí byť väčší ako :value kilobajtov.', + 'string' => ':attribute musí mať viac ako :value znakov.', + 'array' => ':attribute musí mať viac ako :value položiek.', + ], + 'gte' => [ + 'numeric' => ':attribute musí byť väčší alebo rovný :value.', + 'file' => ':attribute musí byť väčší alebo rovný :value kilobajtov.', + 'string' => ':attribute musí mať aspoň :value znakov.', + 'array' => ':attribute musí mať :value položiek alebo viac.', + ], + 'image' => ':attribute musí byť obrázok.', + 'in' => 'Vybraný :attribute je neplatný.', + 'in_array' => ':attribute neexistuje v :other.', + 'integer' => ':attribute musí byť celé číslo.', + 'ip' => ':attribute musí byť platná IP adresa.', + 'ipv4' => ':attribute musí byť platná IPv4 adresa.', + 'ipv6' => ':attribute musí byť platná IPv6 adresa.', + 'json' => ':attribute musí byť platný JSON reťazec.', + 'lt' => [ + 'numeric' => ':attribute musí byť menší ako :value.', + 'file' => ':attribute musí byť menší ako :value kilobajtov.', + 'string' => ':attribute musí mať menej ako :value znakov.', + 'array' => ':attribute musí mať menej ako :value položiek.', + ], + 'lte' => [ + 'numeric' => ':attribute musí byť menší alebo rovný :value.', + 'file' => ':attribute musí byť menší alebo rovný :value kilobajtov.', + 'string' => ':attribute musí mať najviac :value znakov.', + 'array' => ':attribute nesmie mať viac ako :value položiek.', + ], + 'max' => [ + 'numeric' => ':attribute nesmie byť väčší ako :max.', + 'file' => ':attribute nesmie byť väčší ako :max kilobajtov.', + 'string' => ':attribute nesmie byť dlhší ako :max znakov.', + 'array' => ':attribute nesmie mať viac ako :max položiek.', + ], + 'mimes' => ':attribute musí byť súbor typu: :values.', + 'mimetypes' => ':attribute musí byť súbor typu: :values.', + 'min' => [ + 'numeric' => ':attribute musí byť aspoň :min.', + 'file' => ':attribute musí mať aspoň :min kilobajtov.', + 'string' => ':attribute musí mať aspoň :min znakov.', + 'array' => ':attribute musí mať aspoň :min položiek.', + ], + 'multiple_of' => ':attribute musí byť násobkom :value', + 'not_in' => 'Vybraný :attribute je neplatný.', + 'not_regex' => ':attribute má neplatný formát.', + 'numeric' => ':attribute musí byť číslo.', + 'password' => 'Heslo je nesprávne.', + 'present' => ':attribute musí byť prítomný.', + 'regex' => ':attribute má neplatný formát.', + 'required' => ':attribute je povinné pole.', + 'required_if' => ':attribute je povinné, keď :other je :value.', + 'required_unless' => ':attribute je povinné, pokiaľ :other nie je v :values.', + 'required_with' => ':attribute je povinné, keď je prítomné :values.', + 'required_with_all' => ':attribute je povinné, keď sú prítomné :values.', + 'required_without' => ':attribute je povinné, keď nie je prítomné :values.', + 'required_without_all' => ':attribute je povinné, keď nie je prítomné žiadne z :values.', + 'same' => ':attribute a :other sa musia zhodovať.', + 'size' => [ + 'numeric' => ':attribute musí byť :size.', + 'file' => ':attribute musí mať :size kilobajtov.', + 'string' => ':attribute musí mať :size znakov.', + 'array' => ':attribute musí obsahovať :size položiek.', + ], + 'starts_with' => ':attribute musí začínať jedným z nasledujúcich: :values', + 'string' => ':attribute musí byť reťazec.', + 'timezone' => ':attribute musí byť platná časová zóna.', + 'unique' => ':attribute už bol použitý.', + 'uploaded' => ':attribute sa nepodarilo nahrať.', + 'url' => ':attribute má neplatný formát.', + 'uuid' => ':attribute musí byť platné UUID.', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [], + + 'invalid_json' => 'Neplatný vstup. Opravte ho a skúste znova.', + 'invalid_captcha' => 'Neplatná CAPTCHA. Opravte ju a skúste znova.', + 'complete_captcha' => 'Prosím, vyplňte CAPTCHA.', +]; diff --git a/api/resources/lang/sv/validation.php b/api/resources/lang/sv/validation.php new file mode 100644 index 00000000..f5108c3b --- /dev/null +++ b/api/resources/lang/sv/validation.php @@ -0,0 +1,121 @@ + ':attribute måste accepteras.', + 'active_url' => ':attribute är inte en giltig URL.', + 'after' => ':attribute måste vara ett datum efter :date.', + 'after_or_equal' => ':attribute måste vara ett datum efter eller samma som :date.', + 'alpha' => ':attribute får endast innehålla bokstäver.', + 'alpha_dash' => ':attribute får endast innehålla bokstäver, siffror, bindestreck och understreck.', + 'alpha_num' => ':attribute får endast innehålla bokstäver och siffror.', + 'array' => ':attribute måste vara en array.', + 'before' => ':attribute måste vara ett datum före :date.', + 'before_or_equal' => ':attribute måste vara ett datum före eller samma som :date.', + 'between' => [ + 'numeric' => ':attribute måste vara mellan :min och :max.', + 'file' => ':attribute måste vara mellan :min och :max kilobyte.', + 'string' => ':attribute måste vara mellan :min och :max tecken.', + 'array' => ':attribute måste ha mellan :min och :max objekt.', + ], + 'boolean' => ':attribute måste vara sant eller falskt.', + 'confirmed' => ':attribute bekräftelsen matchar inte.', + 'date' => ':attribute är inte ett giltigt datum.', + 'date_equals' => ':attribute måste vara ett datum lika med :date.', + 'date_format' => ':attribute matchar inte formatet :format.', + 'different' => ':attribute och :other måste vara olika.', + 'digits' => ':attribute måste vara :digits siffror.', + 'digits_between' => ':attribute måste vara mellan :min och :max siffror.', + 'dimensions' => ':attribute har ogiltiga bilddimensioner.', + 'distinct' => ':attribute har ett duplicerat värde.', + 'email' => ':attribute måste vara en giltig e-postadress.', + 'ends_with' => ':attribute måste sluta med något av följande: :values', + 'exists' => 'Det valda :attribute är ogiltigt.', + 'file' => ':attribute måste vara en fil.', + 'filled' => ':attribute fältet måste ha ett värde.', + 'gt' => [ + 'numeric' => ':attribute måste vara större än :value.', + 'file' => ':attribute måste vara större än :value kilobyte.', + 'string' => ':attribute måste vara längre än :value tecken.', + 'array' => ':attribute måste ha mer än :value objekt.', + ], + 'gte' => [ + 'numeric' => ':attribute måste vara större än eller lika med :value.', + 'file' => ':attribute måste vara större än eller lika med :value kilobyte.', + 'string' => ':attribute måste vara längre än eller lika med :value tecken.', + 'array' => ':attribute måste ha :value objekt eller mer.', + ], + 'image' => ':attribute måste vara en bild.', + 'in' => 'Det valda :attribute är ogiltigt.', + 'in_array' => ':attribute finns inte i :other.', + 'integer' => ':attribute måste vara ett heltal.', + 'ip' => ':attribute måste vara en giltig IP-adress.', + 'ipv4' => ':attribute måste vara en giltig IPv4-adress.', + 'ipv6' => ':attribute måste vara en giltig IPv6-adress.', + 'json' => ':attribute måste vara en giltig JSON-sträng.', + 'lt' => [ + 'numeric' => ':attribute måste vara mindre än :value.', + 'file' => ':attribute måste vara mindre än :value kilobyte.', + 'string' => ':attribute måste vara kortare än :value tecken.', + 'array' => ':attribute måste ha mindre än :value objekt.', + ], + 'lte' => [ + 'numeric' => ':attribute måste vara mindre än eller lika med :value.', + 'file' => ':attribute måste vara mindre än eller lika med :value kilobyte.', + 'string' => ':attribute måste vara kortare än eller lika med :value tecken.', + 'array' => ':attribute får inte ha mer än :value objekt.', + ], + 'max' => [ + 'numeric' => ':attribute får inte vara större än :max.', + 'file' => ':attribute får inte vara större än :max kilobyte.', + 'string' => ':attribute får inte vara längre än :max tecken.', + 'array' => ':attribute får inte ha mer än :max objekt.', + ], + 'mimes' => ':attribute måste vara en fil av typen: :values.', + 'mimetypes' => ':attribute måste vara en fil av typen: :values.', + 'min' => [ + 'numeric' => ':attribute måste vara minst :min.', + 'file' => ':attribute måste vara minst :min kilobyte.', + 'string' => ':attribute måste vara minst :min tecken.', + 'array' => ':attribute måste ha minst :min objekt.', + ], + 'multiple_of' => ':attribute måste vara en multipel av :value', + 'not_in' => 'Det valda :attribute är ogiltigt.', + 'not_regex' => ':attribute formatet är ogiltigt.', + 'numeric' => ':attribute måste vara ett nummer.', + 'password' => 'Lösenordet är felaktigt.', + 'present' => ':attribute fältet måste finnas.', + 'regex' => ':attribute formatet är ogiltigt.', + 'required' => ':attribute fältet är obligatoriskt.', + 'required_if' => ':attribute fältet är obligatoriskt när :other är :value.', + 'required_unless' => ':attribute fältet är obligatoriskt om inte :other finns bland :values.', + 'required_with' => ':attribute fältet är obligatoriskt när :values finns.', + 'required_with_all' => ':attribute fältet är obligatoriskt när :values finns.', + 'required_without' => ':attribute fältet är obligatoriskt när :values inte finns.', + 'required_without_all' => ':attribute fältet är obligatoriskt när inga av :values finns.', + 'same' => ':attribute och :other måste matcha.', + 'size' => [ + 'numeric' => ':attribute måste vara :size.', + 'file' => ':attribute måste vara :size kilobyte.', + 'string' => ':attribute måste vara :size tecken.', + 'array' => ':attribute måste innehålla :size objekt.', + ], + 'starts_with' => ':attribute måste börja med något av följande: :values', + 'string' => ':attribute måste vara en sträng.', + 'timezone' => ':attribute måste vara en giltig tidszon.', + 'unique' => ':attribute har redan tagits.', + 'uploaded' => ':attribute kunde inte laddas upp.', + 'url' => ':attribute formatet är ogiltigt.', + 'uuid' => ':attribute måste vara ett giltigt UUID.', + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + 'attributes' => [], + + 'invalid_json' => 'Ogiltig inmatning. Korrigera och försök igen.', + 'invalid_captcha' => 'Ogiltig CAPTCHA. Korrigera och försök igen.', + 'complete_captcha' => 'Vänligen fyll i CAPTCHA.', +]; diff --git a/client/i18n/lang/ca.json b/client/i18n/lang/ca.json new file mode 100644 index 00000000..b032d1aa --- /dev/null +++ b/client/i18n/lang/ca.json @@ -0,0 +1,44 @@ +{ + "app": { + "name": "OpnForm" + }, + "forms": { + "powered_by": "Desenvolupat per", + "password_protected": "Aquest formulari està protegit amb contrasenya.", + "invalid_password": "Contrasenya no vàlida.", + "password_required": "Es requereix contrasenya.", + "create_form_free": "Crea el teu formulari gratuïtament amb OpnForm", + "submit": "Enviar", + "wrong_form_structure": "Hi ha alguna cosa malament amb l'estructura d'aquest formulari. Si ets el propietari del formulari, contacta amb nosaltres.", + "cannot_access_here": "No es pot accedir a aquest contingut aquí. Fes clic a l'enllaç de sota per accedir-hi.", + "open_form": "Obrir formulari", + "restricted_to_workspace": "Restringit als membres de l'Espai de Treball de Notion. Inicia sessió per accedir a aquest contingut.", + "select": { + "search": "Cercar", + "searchOrTypeToCreateNew": "Cerca o escriu per crear nou", + "typeSomethingToAddAnOption": "Escriu alguna cosa per afegir una opció", + "noOptionAvailable": "No hi ha opcions disponibles", + "create": "Crear" + }, + "fileInput": { + "chooseFiles": "Fes clic per triar arxiu(s) o arrossega aquí | Fes clic per triar un arxiu o arrossega aquí", + "sizeLimit": "Límit de mida: {count}MB per arxiu", + "uploadingFile": "Pujant el teu arxiu..." + }, + "cameraUpload": { + "allowCameraPermission": "Permet l'accés a la càmera", + "allowCameraPermissionDescription": "Has de permetre l'accés a la càmera abans de poder fer fotos. Ves a la configuració del navegador per activar el permís de la càmera en aquesta pàgina.", + "gotIt": "Entès!", + "cameraDeviceError": "Error del dispositiu de càmera", + "cameraDeviceErrorDescription": "S'ha produït un error desconegut en intentar iniciar el dispositiu de webcam.", + "goBack": "Tornar" + }, + "signatureInput": { + "uploadFileInstead": "Pujar arxiu en lloc seu", + "clear": "Netejar" + }, + "barcodeInput": { + "clickToOpenCamera": "Fes clic per obrir la càmera" + } + } +} \ No newline at end of file diff --git a/client/i18n/lang/cs.json b/client/i18n/lang/cs.json new file mode 100644 index 00000000..08cd8021 --- /dev/null +++ b/client/i18n/lang/cs.json @@ -0,0 +1,44 @@ +{ + "app": { + "name": "OpnForm" + }, + "forms": { + "powered_by": "Vytvořeno pomocí", + "password_protected": "Tento formulář je chráněn heslem.", + "invalid_password": "Neplatné heslo.", + "password_required": "Heslo je povinné.", + "create_form_free": "Vytvořte si svůj formulář zdarma s OpnForm", + "submit": "Odeslat", + "wrong_form_structure": "Něco není v pořádku se strukturou tohoto formuláře. Pokud jste vlastníkem formuláře, kontaktujte nás.", + "cannot_access_here": "K tomuto obsahu zde nelze přistupovat. Klikněte na odkaz níže pro přístup.", + "open_form": "Otevřít formulář", + "restricted_to_workspace": "Omezeno pro členy pracovního prostoru Notion. Pro přístup k obsahu se přihlaste.", + "select": { + "search": "Hledat", + "searchOrTypeToCreateNew": "Hledejte nebo napište pro vytvoření nového", + "typeSomethingToAddAnOption": "Napište něco pro přidání možnosti", + "noOptionAvailable": "Žádné dostupné možnosti", + "create": "Vytvořit" + }, + "fileInput": { + "chooseFiles": "Klikněte pro výběr souboru(ů) nebo přetáhněte sem | Klikněte pro výběr souboru nebo přetáhněte sem", + "sizeLimit": "Limit velikosti: {count}MB na soubor", + "uploadingFile": "Nahrávání vašeho souboru..." + }, + "cameraUpload": { + "allowCameraPermission": "Povolit přístup ke kameře", + "allowCameraPermissionDescription": "Před fotografováním musíte povolit přístup ke kameře. Přejděte do nastavení prohlížeče a povolte přístup ke kameře na této stránce.", + "gotIt": "Rozumím!", + "cameraDeviceError": "Chyba zařízení kamery", + "cameraDeviceErrorDescription": "Při pokusu o spuštění webkamery došlo k neznámé chybě.", + "goBack": "Zpět" + }, + "signatureInput": { + "uploadFileInstead": "Místo toho nahrát soubor", + "clear": "Vymazat" + }, + "barcodeInput": { + "clickToOpenCamera": "Klikněte pro otevření kamery" + } + } +} \ No newline at end of file diff --git a/client/i18n/lang/eu.json b/client/i18n/lang/eu.json new file mode 100644 index 00000000..e2bdc48a --- /dev/null +++ b/client/i18n/lang/eu.json @@ -0,0 +1,44 @@ +{ + "app": { + "name": "OpnForm" + }, + "forms": { + "powered_by": "Honek sortua", + "password_protected": "Inprimaki hau pasahitz bidez babestuta dago.", + "invalid_password": "Pasahitz okerra.", + "password_required": "Pasahitza beharrezkoa da.", + "create_form_free": "Sortu zure inprimakia doan OpnForm-ekin", + "submit": "Bidali", + "wrong_form_structure": "Zerbait gaizki dago inprimaki honen egituran. Inprimakiaren jabea bazara, jar zaitez gurekin harremanetan.", + "cannot_access_here": "Ezin da eduki honetara hemen sartu. Egin klik beheko estekan sartzeko.", + "open_form": "Ireki inprimakia", + "restricted_to_workspace": "Notion Workspace-ko kideentzat mugatuta. Saioa hasi edukira sartzeko.", + "select": { + "search": "Bilatu", + "searchOrTypeToCreateNew": "Bilatu edo idatzi berria sortzeko", + "typeSomethingToAddAnOption": "Idatzi zerbait aukera bat gehitzeko", + "noOptionAvailable": "Ez dago aukerarik eskuragarri", + "create": "Sortu" + }, + "fileInput": { + "chooseFiles": "Egin klik fitxategia(k) aukeratzeko edo arrastatu hona | Egin klik fitxategia aukeratzeko edo arrastatu hona", + "sizeLimit": "Tamaina muga: {count}MB fitxateko", + "uploadingFile": "Zure fitxategia kargatzen..." + }, + "cameraUpload": { + "allowCameraPermission": "Onartu kameraren baimena", + "allowCameraPermissionDescription": "Kameraren baimena onartu behar duzu argazkiak atera aurretik. Joan nabigatzailearen ezarpenetara orri honetan kameraren baimena gaitzeko.", + "gotIt": "Ulertuta!", + "cameraDeviceError": "Kamera gailuaren errorea", + "cameraDeviceErrorDescription": "Errore ezezagun bat gertatu da webkamera abiarazten saiatzean.", + "goBack": "Itzuli" + }, + "signatureInput": { + "uploadFileInstead": "Kargatu fitxategia ordez", + "clear": "Garbitu" + }, + "barcodeInput": { + "clickToOpenCamera": "Egin klik kamera irekitzeko" + } + } +} \ No newline at end of file diff --git a/client/i18n/lang/gl.json b/client/i18n/lang/gl.json new file mode 100644 index 00000000..bcb322cb --- /dev/null +++ b/client/i18n/lang/gl.json @@ -0,0 +1,44 @@ +{ + "app": { + "name": "OpnForm" + }, + "forms": { + "powered_by": "Desenvolvido por", + "password_protected": "Este formulario está protexido por contrasinal.", + "invalid_password": "Contrasinal non válido.", + "password_required": "Requírese contrasinal.", + "create_form_free": "Crea o teu formulario de balde con OpnForm", + "submit": "Enviar", + "wrong_form_structure": "Algo está mal coa estrutura deste formulario. Se es o propietario do formulario, contacta connosco.", + "cannot_access_here": "Non se pode acceder a este contido aquí. Fai clic na ligazón de abaixo para acceder.", + "open_form": "Abrir formulario", + "restricted_to_workspace": "Restrinxido aos membros do Espazo de Traballo de Notion. Inicia sesión para acceder a este contido.", + "select": { + "search": "Buscar", + "searchOrTypeToCreateNew": "Busca ou escribe para crear novo", + "typeSomethingToAddAnOption": "Escribe algo para engadir unha opción", + "noOptionAvailable": "Non hai opcións dispoñibles", + "create": "Crear" + }, + "fileInput": { + "chooseFiles": "Fai clic para escoller arquivo(s) ou arrastra aquí | Fai clic para escoller un arquivo ou arrastra aquí", + "sizeLimit": "Límite de tamaño: {count}MB por arquivo", + "uploadingFile": "Subindo o teu arquivo..." + }, + "cameraUpload": { + "allowCameraPermission": "Permitir acceso á cámara", + "allowCameraPermissionDescription": "Necesitas permitir o acceso á cámara antes de poder tomar fotos. Vai á configuración do navegador para activar o permiso da cámara nesta páxina.", + "gotIt": "Entendido!", + "cameraDeviceError": "Erro do dispositivo de cámara", + "cameraDeviceErrorDescription": "Ocorreu un erro descoñecido ao tentar iniciar o dispositivo de webcam.", + "goBack": "Volver" + }, + "signatureInput": { + "uploadFileInstead": "Subir arquivo no seu lugar", + "clear": "Limpar" + }, + "barcodeInput": { + "clickToOpenCamera": "Fai clic para abrir a cámara" + } + } +} \ No newline at end of file diff --git a/client/i18n/lang/pl.json b/client/i18n/lang/pl.json new file mode 100644 index 00000000..46c09cd7 --- /dev/null +++ b/client/i18n/lang/pl.json @@ -0,0 +1,44 @@ +{ + "app": { + "name": "OpnForm" + }, + "forms": { + "powered_by": "Obsługiwane przez", + "password_protected": "Ten formularz jest chroniony hasłem.", + "invalid_password": "Nieprawidłowe hasło.", + "password_required": "Hasło jest wymagane.", + "create_form_free": "Utwórz swój formularz za darmo z OpnForm", + "submit": "Wyślij", + "wrong_form_structure": "Coś jest nie tak ze strukturą tego formularza. Jeśli jesteś właścicielem formularza, skontaktuj się z nami.", + "cannot_access_here": "Nie można uzyskać dostępu do tej treści tutaj. Kliknij poniższy link, aby uzyskać dostęp.", + "open_form": "Otwórz formularz", + "restricted_to_workspace": "Dostęp ograniczony do członków przestrzeni roboczej Notion. Zaloguj się, aby uzyskać dostęp do tej treści.", + "select": { + "search": "Szukaj", + "searchOrTypeToCreateNew": "Szukaj lub wpisz, aby utworzyć nowy", + "typeSomethingToAddAnOption": "Wpisz coś, aby dodać opcję", + "noOptionAvailable": "Brak dostępnych opcji", + "create": "Utwórz" + }, + "fileInput": { + "chooseFiles": "Kliknij, aby wybrać plik(i) lub przeciągnij tutaj | Kliknij, aby wybrać plik lub przeciągnij tutaj", + "sizeLimit": "Limit rozmiaru: {count}MB na plik", + "uploadingFile": "Przesyłanie pliku..." + }, + "cameraUpload": { + "allowCameraPermission": "Zezwól na dostęp do kamery", + "allowCameraPermissionDescription": "Musisz zezwolić na dostęp do kamery przed robieniem zdjęć. Przejdź do ustawień przeglądarki, aby włączyć uprawnienia kamery na tej stronie.", + "gotIt": "Rozumiem!", + "cameraDeviceError": "Błąd urządzenia kamery", + "cameraDeviceErrorDescription": "Wystąpił nieznany błąd podczas próby uruchomienia kamery internetowej.", + "goBack": "Wróć" + }, + "signatureInput": { + "uploadFileInstead": "Zamiast tego prześlij plik", + "clear": "Wyczyść" + }, + "barcodeInput": { + "clickToOpenCamera": "Kliknij, aby otworzyć kamerę" + } + } +} \ No newline at end of file diff --git a/client/i18n/lang/sk.json b/client/i18n/lang/sk.json new file mode 100644 index 00000000..26854096 --- /dev/null +++ b/client/i18n/lang/sk.json @@ -0,0 +1,44 @@ +{ + "app": { + "name": "OpnForm" + }, + "forms": { + "powered_by": "Vytvorené pomocou", + "password_protected": "Tento formulár je chránený heslom.", + "invalid_password": "Neplatné heslo.", + "password_required": "Heslo je povinné.", + "create_form_free": "Vytvorte si svoj formulár zadarmo s OpnForm", + "submit": "Odoslať", + "wrong_form_structure": "Niečo nie je v poriadku so štruktúrou tohto formulára. Ak ste vlastníkom formulára, kontaktujte nás.", + "cannot_access_here": "K tomuto obsahu sa tu nedá pristupovať. Kliknite na odkaz nižšie pre prístup.", + "open_form": "Otvoriť formulár", + "restricted_to_workspace": "Obmedzené pre členov pracovného priestoru Notion. Pre prístup k obsahu sa prihláste.", + "select": { + "search": "Hľadať", + "searchOrTypeToCreateNew": "Hľadajte alebo napíšte pre vytvorenie nového", + "typeSomethingToAddAnOption": "Napíšte niečo pre pridanie možnosti", + "noOptionAvailable": "Žiadne dostupné možnosti", + "create": "Vytvoriť" + }, + "fileInput": { + "chooseFiles": "Kliknite pre výber súboru(ov) alebo pretiahnite sem | Kliknite pre výber súboru alebo pretiahnite sem", + "sizeLimit": "Limit veľkosti: {count}MB na súbor", + "uploadingFile": "Nahrávanie vášho súboru..." + }, + "cameraUpload": { + "allowCameraPermission": "Povoliť prístup ku kamere", + "allowCameraPermissionDescription": "Pred fotografovaním musíte povoliť prístup ku kamere. Prejdite do nastavení prehliadača a povoľte prístup ku kamere na tejto stránke.", + "gotIt": "Rozumiem!", + "cameraDeviceError": "Chyba zariadenia kamery", + "cameraDeviceErrorDescription": "Pri pokuse o spustenie webkamery sa vyskytla neznáma chyba.", + "goBack": "Späť" + }, + "signatureInput": { + "uploadFileInstead": "Namiesto toho nahrať súbor", + "clear": "Vymazať" + }, + "barcodeInput": { + "clickToOpenCamera": "Kliknite pre otvorenie kamery" + } + } +} diff --git a/client/i18n/lang/sv.json b/client/i18n/lang/sv.json new file mode 100644 index 00000000..f3ada8e0 --- /dev/null +++ b/client/i18n/lang/sv.json @@ -0,0 +1,44 @@ +{ + "app": { + "name": "OpnForm" + }, + "forms": { + "powered_by": "Drivs av", + "password_protected": "Detta formulär är lösenordsskyddat.", + "invalid_password": "Ogiltigt lösenord.", + "password_required": "Lösenord krävs.", + "create_form_free": "Skapa ditt formulär gratis med OpnForm", + "submit": "Skicka", + "wrong_form_structure": "Något är fel med formulärets struktur. Om du är formulärets ägare, kontakta oss.", + "cannot_access_here": "Detta innehåll kan inte nås här. Klicka på länken nedan för att få åtkomst.", + "open_form": "Öppna formulär", + "restricted_to_workspace": "Begränsad till medlemmar i Notion Workspace. Logga in för att få åtkomst till detta innehåll.", + "select": { + "search": "Sök", + "searchOrTypeToCreateNew": "Sök eller skriv för att skapa nytt", + "typeSomethingToAddAnOption": "Skriv något för att lägga till ett alternativ", + "noOptionAvailable": "Inga alternativ tillgängliga", + "create": "Skapa" + }, + "fileInput": { + "chooseFiles": "Klicka för att välja fil(er) eller dra hit | Klicka för att välja en fil eller dra hit", + "sizeLimit": "Storleksgräns: {count}MB per fil", + "uploadingFile": "Laddar upp din fil..." + }, + "cameraUpload": { + "allowCameraPermission": "Tillåt kameraåtkomst", + "allowCameraPermissionDescription": "Du måste tillåta kameraåtkomst innan du kan ta bilder. Gå till webbläsarens inställningar för att aktivera kameraåtkomst på denna sida.", + "gotIt": "Jag förstår!", + "cameraDeviceError": "Kameraenhetsfel", + "cameraDeviceErrorDescription": "Ett okänt fel uppstod när webbkameran skulle startas.", + "goBack": "Gå tillbaka" + }, + "signatureInput": { + "uploadFileInstead": "Ladda upp fil istället", + "clear": "Rensa" + }, + "barcodeInput": { + "clickToOpenCamera": "Klicka för att öppna kameran" + } + } +} \ No newline at end of file diff --git a/client/nuxt.config.ts b/client/nuxt.config.ts index f55ee004..c0543320 100644 --- a/client/nuxt.config.ts +++ b/client/nuxt.config.ts @@ -44,6 +44,13 @@ export default defineNuxtConfig({ { code: 'mr', name: 'Marathi', iso: 'mr-IN', file: 'mr.json' }, { code: 'ta', name: 'Tamil', iso: 'ta-IN', file: 'ta.json' }, { code: 'tr', name: 'Turkish', iso: 'tr-TR', file: 'tr.json' }, + { code: 'sk', name: 'Slovak', iso: 'sk-SK', file: 'sk.json' }, + { code: 'cs', name: 'Czech', iso: 'cs-CZ', file: 'cs.json' }, + { code: 'eu', name: 'Basque', iso: 'eu-ES', file: 'eu.json' }, + { code: 'gl', name: 'Galician', iso: 'gl-ES', file: 'gl.json' }, + { code: 'ca', name: 'Valencian/Catalan', iso: 'ca-ES', file: 'ca.json' }, + { code: 'sv', name: 'Swedish', iso: 'sv-SE', file: 'sv.json' }, + { code: 'pl', name: 'Polish', iso: 'pl-PL', file: 'pl.json' }, ], defaultLocale: 'en', lazy: true,