diff --git a/CHANGELOG.md b/CHANGELOG.md index ff0b6a52..9985bf86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,43 @@ -## 10.0.2 -* Reland generated l10n files +## 10.1.0 + +* Re-land generated l10n files * Add Bulgarian +* Add creditCardExpirationDate +* Add creditCardCVC +* Add colorCode +* Add phoneNumber +* Add uppercase +* Add lowercase +* Add file extension +* Add max file size +* Add notMatch +* Add range +* Add date range +* Add must be true +* Add must be false +* Add special characters +* Add numeric characters +* Add lowercase characters +* Add uppercase characters +* Add password +* Add alphabetical +* Add uuid +* Add json +* Add latitude +* Add longitude +* Add base64 +* Add path +* Add port number +* Add mac address +* Add startWith +* Add endWith +* Add contains +* Add between +* Add inList +* Add transform +* Add debounce +* Add retry + ## 10.0.1 * Fix regression (include l10n files) diff --git a/README.md b/README.md index 2e23021b..3496f49b 100644 --- a/README.md +++ b/README.md @@ -46,15 +46,23 @@ Also included is the `l10n` / `i18n` of error text messages to multiple language This package comes with several most common `FormFieldValidator`s such as required, numeric, mail, URL, min, max, minLength, maxLength, minWordsCount, maxWordsCount, IP, credit card, etc., with default `errorText` messages. -Available built-in validators include: +Available built-in helper validators: + +- `FormBuilderValidators.compose()` - runs each validator against the value provided. +- `FormBuilderValidators.conditional()` - conditionally runs a validator against the value provided. +- `FormBuilderValidators.or()` - runs each validator against the value provided and passes when any works. +- `FormBuilderValidators.transform()` - transforms the value before running the validator. +- `FormBuilderValidators.debounce()` - runs the validator after a set time. +- `FormBuilderValidators.retry()` - runs the validator again after failing while waiting a certain time. + +Available built-in type validators include: -- `FormBuilderValidators.creditCard()` - requires the field's value to be a valid credit card number. -- `FormBuilderValidators.date()` - requires the field's value to be a valid date string. -- `FormBuilderValidators.email()` - requires the field's value to be a valid email address. - `FormBuilderValidators.equal()` - requires the field's value to be equal to the provided object. - `FormBuilderValidators.integer()` - requires the field's value to be an integer. -- `FormBuilderValidators.ip()` - requires the field's value to be a valid IP address. +- `FormBuilderValidators.date()` - requires the field's value to be a valid date string. +- `FormBuilderValidators.dateRange()` - requires the field's value to be a within a date range. - `FormBuilderValidators.match()` - requires the field's value to match the provided regex pattern. +- `FormBuilderValidators.notMatch()` - requires the field's value to not match the provided regex pattern. - `FormBuilderValidators.max()` - requires the field's value to be less than or equal to the provided number. - `FormBuilderValidators.maxLength()` - requires the length of the field's value to be less than or equal to the provided maximum size. - `FormBuilderValidators.maxWordsCount()` - requires the word count of the field's value to be less than or equal to the provided maximum count. @@ -64,7 +72,41 @@ Available built-in validators include: - `FormBuilderValidators.equalLength()` - requires the length of the field's value to be equal to the provided minimum length. - `FormBuilderValidators.numeric()` - requires the field's value to be a valid number. - `FormBuilderValidators.required()` - requires the field to have a non-empty value. +- `FormBuilderValidators.uppercase()` - requires the field's value to be uppercase. +- `FormBuilderValidators.lowercase()` - requires the field's value to be lowercase. +- `FormBuilderValidators.mustBeTrue()` - requires the field's to be true. +- `FormBuilderValidators.mustBeFalse()` - requires the field's to be false. +- `FormBuilderValidators.hasSpecialChars()` - requires the field's to contain a specified number of special characters. +- `FormBuilderValidators.hasUppercaseChars()` - requires the field's to contain a specified number of uppercase characters. +- `FormBuilderValidators.hasLowercaseChars()` - requires the field's to contain a specified number of lowercase characters. +- `FormBuilderValidators.hasNumericChars()` - requires the field's to contain a specified number of numeric characters. +- `FormBuilderValidators.conditional()` - requires the field's to validate with another validator conditionally. +- `FormBuilderValidators.alphabetical()` - requires the field's to contain only alphabetical characters. +- `FormBuilderValidators.oddNumber()` - requires the field's to be an odd number. +- `FormBuilderValidators.evenNumber()` - requires the field's to be an even number. +- `FormBuilderValidators.between()` - requires the field's to be between two numbers. +- `FormBuilderValidators.inList()` - requires the field's to be in the provided list. + +Available built-in use-case validators include: + +- `FormBuilderValidators.creditCard()` - requires the field's value to be a valid credit card number. +- `FormBuilderValidators.creditCardExpirationDate()` - requires the field's value to be a valid credit card expiration date and can check if not expired yet. +- `FormBuilderValidators.creditCardCVC()` - requires the field's value to be a valid credit card CVC number. +- `FormBuilderValidators.colorCode()` - requires the field's value to be a valid color code. +- `FormBuilderValidators.email()` - requires the field's value to be a valid email address. +- `FormBuilderValidators.ip()` - requires the field's value to be a valid IP address. - `FormBuilderValidators.url()` - requires the field's value to be a valid URL. +- `FormBuilderValidators.fileExtension()` - requires the field's value to a valid file extension. +- `FormBuilderValidators.fileSize()` - requires the field's to be less than the max size. +- `FormBuilderValidators.password()` - requires the field's to be a valid password that matched required conditions. +- `FormBuilderValidators.uuid()` - requires the field's to be a valid uuid. +- `FormBuilderValidators.json()` - requires the field's to be a valid json string. +- `FormBuilderValidators.latitude()` - requires the field's to be a valid latitude. +- `FormBuilderValidators.longitude()` - requires the field's to be a valid longitude. +- `FormBuilderValidators.base64()` - requires the field's to be a valid base64 string. +- `FormBuilderValidators.path()` - requires the field's to be a valid file or folder path. +- `FormBuilderValidators.portNumber()` - requires the field's to be an valid port number. +- `FormBuilderValidators.macAddress()` - requires the field's to be an valid MAC address. ### Supported languages diff --git a/example/lib/home_page.dart b/example/lib/home_page.dart index 61251044..ba28a3aa 100644 --- a/example/lib/home_page.dart +++ b/example/lib/home_page.dart @@ -1,58 +1,241 @@ import 'package:flutter/material.dart'; import 'package:form_builder_validators/form_builder_validators.dart'; -class HomePage extends StatefulWidget { +class HomePage extends StatelessWidget { const HomePage({super.key}); - @override - HomePageState createState() => HomePageState(); -} - -class HomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Form Builder Validators')), body: Padding( padding: const EdgeInsets.all(8), - child: Column( - children: [ - TextFormField( - decoration: const InputDecoration(labelText: 'Name'), - validator: FormBuilderValidators.required(), - autovalidateMode: AutovalidateMode.always, - ), + child: SingleChildScrollView( + child: Column( + children: [ + // Composing multiple validators + TextFormField( + decoration: const InputDecoration(labelText: 'Age'), + keyboardType: TextInputType.number, + autovalidateMode: AutovalidateMode.always, + validator: FormBuilderValidators.compose([ + /// Makes this field required + FormBuilderValidators.required(), - // Composing multiple validators - TextFormField( - decoration: const InputDecoration(labelText: 'Age'), - keyboardType: TextInputType.number, - autovalidateMode: AutovalidateMode.always, - validator: FormBuilderValidators.compose([ - /// Makes this field required - FormBuilderValidators.required(), + /// Ensures the value entered is numeric - with custom error message + FormBuilderValidators.numeric( + errorText: 'La edad debe ser numérica.', + ), - /// Ensures the value entered is numeric - with custom error message - FormBuilderValidators.numeric( - errorText: 'La edad debe ser numérica.', - ), - - /// Sets a maximum value of 70 - FormBuilderValidators.max(70), + /// Sets a maximum value of 70 + FormBuilderValidators.max(70), - /// Include your own custom `FormFieldValidator` function, if you want - /// Ensures positive values only. We could also have used `FormBuilderValidators.min( 0)` instead - (val) { - if (val != null) { - final number = int.tryParse(val); - if (number == null) return null; - if (number < 0) return 'We cannot have a negative age'; + /// Include your own custom `FormFieldValidator` function, if you want + /// Ensures positive values only. We could also have used `FormBuilderValidators.min( 0)` instead + (val) { + if (val != null) { + final number = int.tryParse(val); + if (number == null) return null; + if (number < 0) return 'We cannot have a negative age'; + } + return null; } - return null; - } - ]), - ), - ], + ]), + ), + // Required Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Required Field', + prefixIcon: Icon(Icons.star), + ), + validator: FormBuilderValidators.required(), + autofillHints: const [AutofillHints.name], + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Numeric Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Numeric Field', + prefixIcon: Icon(Icons.numbers), + ), + keyboardType: TextInputType.number, + validator: FormBuilderValidators.numeric(), + autofillHints: const [AutofillHints.oneTimeCode], + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Email Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Email Field', + prefixIcon: Icon(Icons.email), + ), + keyboardType: TextInputType.emailAddress, + validator: FormBuilderValidators.email(), + autofillHints: const [AutofillHints.email], + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // URL Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'URL Field', + prefixIcon: Icon(Icons.link), + ), + keyboardType: TextInputType.url, + validator: FormBuilderValidators.url(), + autofillHints: const [AutofillHints.url], + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Min Length Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Min Length Field', + prefixIcon: Icon(Icons.text_fields), + ), + validator: FormBuilderValidators.minLength(5), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Max Length Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Max Length Field', + prefixIcon: Icon(Icons.text_fields), + ), + validator: FormBuilderValidators.maxLength(10), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Min Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Min Value Field', + prefixIcon: Icon(Icons.exposure_neg_1), + ), + keyboardType: TextInputType.number, + validator: FormBuilderValidators.min(10), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Max Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Max Value Field', + prefixIcon: Icon(Icons.exposure_plus_1), + ), + keyboardType: TextInputType.number, + validator: FormBuilderValidators.max(100), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Equal Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Equal Field', + prefixIcon: Icon(Icons.check), + ), + validator: FormBuilderValidators.equal('test'), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Contains Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Contains "test"', + prefixIcon: Icon(Icons.search), + ), + validator: FormBuilderValidators.contains(substring: 'test'), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Match Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Match Pattern', + prefixIcon: Icon(Icons.pattern), + ), + validator: FormBuilderValidators.match(r'^[a-zA-Z0-9]+$'), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // IP Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'IP Field', + prefixIcon: Icon(Icons.computer), + ), + keyboardType: TextInputType.number, + validator: FormBuilderValidators.ip(), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // UUID Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'UUID Field', + prefixIcon: Icon(Icons.code), + ), + validator: FormBuilderValidators.uuid(), + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Credit Card Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Credit Card Field', + prefixIcon: Icon(Icons.credit_card), + ), + keyboardType: TextInputType.number, + validator: FormBuilderValidators.creditCard(), + autofillHints: const [AutofillHints.creditCardNumber], + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Phone Number Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Phone Number Field', + prefixIcon: Icon(Icons.phone), + ), + keyboardType: TextInputType.phone, + validator: FormBuilderValidators.phoneNumber(), + autofillHints: const [AutofillHints.telephoneNumber], + textInputAction: TextInputAction.next, + autovalidateMode: AutovalidateMode.always, + ), + // Password Validator + TextFormField( + decoration: const InputDecoration( + labelText: 'Password Field', + prefixIcon: Icon(Icons.lock), + ), + obscureText: true, + validator: FormBuilderValidators.password(), + autofillHints: const [AutofillHints.password], + textInputAction: TextInputAction.done, + autovalidateMode: AutovalidateMode.always, + ), + // Custom Validators Example + TextFormField( + decoration: const InputDecoration( + labelText: 'Custom Age Validator', + prefixIcon: Icon(Icons.calendar_today), + ), + keyboardType: TextInputType.number, + validator: FormBuilderValidators.compose([ + FormBuilderValidators.required(), + FormBuilderValidators.numeric(), + FormBuilderValidators.min(0), + FormBuilderValidators.max(120), + ]), + textInputAction: TextInputAction.done, + autovalidateMode: AutovalidateMode.always, + ), + ], + ), ), ), ); diff --git a/lib/l10n/intl_al.arb b/lib/l10n/intl_al.arb index 9f739848..42f52a72 100644 --- a/lib/l10n/intl_al.arb +++ b/lib/l10n/intl_al.arb @@ -1,21 +1,53 @@ { "@@locale": "sq", - "creditCardErrorText": "Kjo fushë kërkon një numër të vlefshëm per karten e kreditit.", - "dateStringErrorText": "Kjo fushë kërkon një date të vlefshme.", - "emailErrorText": "Kjo fushe kërkon një adresë e E-mail-i të vlefshëme.", + "creditCardErrorText": "Kjo fushë kërkon një numër të vlefshëm për kartën e kreditit.", + "dateStringErrorText": "Kjo fushë kërkon një datë të vlefshme.", + "emailErrorText": "Kjo fushë kërkon një adresë e E-mail-i të vlefshme.", "equalErrorText": "Kjo vlerë duhet të jetë e barabartë me {value}.", - "equalLengthErrorText": "Vlera duhet të ketë nje gjatësi të barabartë me {length}", - "integerErrorText": "Kjo fushe kërkon një numër të plotë të vlefshëm.", + "equalLengthErrorText": "Vlera duhet të ketë një gjatësi të barabartë me {length}", + "integerErrorText": "Kjo fushë kërkon një numër të plotë të vlefshëm.", "ipErrorText": "Kjo fushë kërkon një IP të vlefshme.", "matchErrorText": "Vlera nuk përputhet me shabllonin.", - "maxErrorText": "Vlera duhet të jetë më e vogël ose e barabartë me {max}", - "maxLengthErrorText": "Vlera duhet të ketë një gjatësi më të vogël ose të barabartë me {maxLength}", - "maxWordsCountErrorText": "Vlera duhet të ketë një numër fjalësh më të vogël ose të barabartë me {maxWordsCount}", - "minErrorText": "Vlera duhet te jete me e madhe ose e barabarte me {min}.", - "minLengthErrorText": "Vlera duhet të ketë një gjatësi më të madhe ose të barabartë me {minLength}", - "minWordsCountErrorText": "Vlera duhet të ketë një numër fjalësh më të madh ose të barabartë me {minWordsCount}", + "maxErrorText": "Vlera duhet të jetë më e vogël ose e barabartë me {max}.", + "maxLengthErrorText": "Vlera duhet të ketë një gjatësi më të vogël ose të barabartë me {maxLength}.", + "maxWordsCountErrorText": "Vlera duhet të ketë një numër fjalësh më të vogël ose të barabartë me {maxWordsCount}.", + "minErrorText": "Vlera duhet të jetë më e madhe ose e barabartë me {min}.", + "minLengthErrorText": "Vlera duhet të ketë një gjatësi më të madhe ose të barabartë me {minLength}.", + "minWordsCountErrorText": "Vlera duhet të ketë një numër fjalësh më të madh ose të barabartë me {minWordsCount}.", "notEqualErrorText": "Kjo vlerë nuk duhet të jetë e barabartë me {value}.", "numericErrorText": "Vlera duhet të jetë numerike.", "requiredErrorText": "Kjo fushë nuk mund të jetë bosh.", - "urlErrorText": "Kjo fushe kërkon një adresë URL të vlefshme." -} \ No newline at end of file + "urlErrorText": "Kjo fushë kërkon një adresë URL të vlefshme.", + "phoneErrorText": "Kjo fushë kërkon një numër telefoni të vlefshëm.", + "creditCardExpirationDateErrorText": "Kjo fushë kërkon një datë skadence të vlefshme për kartën e kreditit.", + "creditCardExpiredErrorText": "Karta e kreditit ka skaduar.", + "creditCardCVCErrorText": "Kjo fushë kërkon një kod CVC të vlefshëm për kartën e kreditit.", + "colorCodeErrorText": "Kjo fushë kërkon një kod ngjyre të vlefshëm.", + "uppercaseErrorText": "Kjo fushë kërkon shkronja të mëdha.", + "lowercaseErrorText": "Kjo fushë kërkon shkronja të vogla.", + "fileExtensionErrorText": "Kjo fushë kërkon një zgjatje skedari të vlefshme.", + "fileSizeErrorText": "Ky skedar tejkalon madhësinë maksimale të lejuar.", + "dateRangeErrorText": "Data duhet të jetë brenda intervalit të lejuar.", + "mustBeTrueErrorText": "Kjo fushë duhet të jetë e vërtetë.", + "mustBeFalseErrorText": "Kjo fushë duhet të jetë e gabuar.", + "containsSpecialCharErrorText": "Kjo fushë duhet të përmbajë një karakter të veçantë.", + "containsUppercaseCharErrorText": "Kjo fushë duhet të përmbajë një shkronjë të madhe.", + "containsLowercaseCharErrorText": "Kjo fushë duhet të përmbajë një shkronjë të vogël.", + "containsNumberErrorText": "Kjo fushë duhet të përmbajë një numër.", + "alphabeticalErrorText": "Kjo fushë duhet të përmbajë vetëm shkronja alfabetike.", + "uuidErrorText": "Kjo fushë kërkon një UUID të vlefshëm.", + "jsonErrorText": "Kjo fushë kërkon një JSON të vlefshëm.", + "latitudeErrorText": "Kjo fushë kërkon një gjerësi gjeografike të vlefshme.", + "longitudeErrorText": "Kjo fushë kërkon një gjatësi gjeografike të vlefshme.", + "base64ErrorText": "Kjo fushë kërkon një string Base64 të vlefshëm.", + "pathErrorText": "Kjo fushë kërkon një rrugë të vlefshme.", + "oddNumberErrorText": "Kjo fushë kërkon një numër tek.", + "evenNumberErrorText": "Kjo fushë kërkon një numër çift.", + "portNumberErrorText": "Kjo fushë kërkon një numër porti të vlefshëm.", + "macAddressErrorText": "Kjo fushë kërkon një adresë MAC të vlefshme.", + "startsWithErrorText": "Vlera duhet të fillojë me {value}.", + "endsWithErrorText": "Vlera duhet të përfundojë me {value}.", + "containsErrorText": "Vlera duhet të përmbajë {value}.", + "betweenErrorText": "Vlera duhet të jetë ndërmjet {min} dhe {max}.", + "valueInListErrorText": "Vlera duhet të jetë në listën e vlefshme." +} diff --git a/lib/l10n/intl_ar.arb b/lib/l10n/intl_ar.arb index 417cca1a..af76d88c 100644 --- a/lib/l10n/intl_ar.arb +++ b/lib/l10n/intl_ar.arb @@ -1,12 +1,12 @@ { "@@locale": "ar", - "creditCardErrorText": "القيمة المدخلة لا تصلح كرقم بطاقة إئتمانية.", + "creditCardErrorText": "القيمة المدخلة لا تصلح كرقم بطاقة إئتمانية.", "dateStringErrorText": "هذا الحقل يتطلب تاريخا صالحا.", "emailErrorText": "هذا الحقل يتطلب عنوان بريد إلكتروني صالح.", "equalErrorText": "يجب أن تكون القيمة المدخلة مساوية لـ {value}.", "equalLengthErrorText": "يجب أن يكون طول القيمة يساوي {length}", "integerErrorText": "القيمة المدخلة ليست رقما صحيحا.", - "ipErrorText": "هذا الحقل يتطلب عنوان IP صالح.", + "ipErrorText": "هذا الحقل يتطلب عنوان IP صالح.", "matchErrorText": "القيمة المدخلة لا تطابق الصيغة المطلوبة.", "maxErrorText": "يجب أن لا تزيد القيمة المدخلة عن {max}.", "maxLengthErrorText": "يجب أن لا يزيد طول القيمة المدخلة عن {maxLength}.", @@ -17,5 +17,37 @@ "notEqualErrorText": "يجب أن لا تكون القيمة المدخلة مساوية لـ {value}.", "numericErrorText": "القيمة المدخلة ليست رقما.", "requiredErrorText": "هذا الحقل يجب ملؤه.", - "urlErrorText": "هذا الحقل يتطلب عنوان URL صالح." -} \ No newline at end of file + "urlErrorText": "هذا الحقل يتطلب عنوان URL صالح.", + "phoneErrorText": "هذا الحقل يتطلب رقم هاتف صالح.", + "creditCardExpirationDateErrorText": "هذا الحقل يتطلب تاريخ انتهاء صالح للبطاقة الائتمانية.", + "creditCardExpiredErrorText": "البطاقة الائتمانية منتهية الصلاحية.", + "creditCardCVCErrorText": "هذا الحقل يتطلب رمز CVC صالح للبطاقة الائتمانية.", + "colorCodeErrorText": "هذا الحقل يتطلب رمز لون صالح.", + "uppercaseErrorText": "هذا الحقل يتطلب حروفا كبيرة.", + "lowercaseErrorText": "هذا الحقل يتطلب حروفا صغيرة.", + "fileExtensionErrorText": "هذا الحقل يتطلب امتداد ملف صالح.", + "fileSizeErrorText": "حجم هذا الملف يتجاوز الحجم المسموح به.", + "dateRangeErrorText": "التاريخ يجب أن يكون ضمن النطاق المسموح به.", + "mustBeTrueErrorText": "يجب أن تكون هذه القيمة صحيحة.", + "mustBeFalseErrorText": "يجب أن تكون هذه القيمة خاطئة.", + "containsSpecialCharErrorText": "هذا الحقل يجب أن يحتوي على حرف خاص.", + "containsUppercaseCharErrorText": "هذا الحقل يجب أن يحتوي على حرف كبير.", + "containsLowercaseCharErrorText": "هذا الحقل يجب أن يحتوي على حرف صغير.", + "containsNumberErrorText": "هذا الحقل يجب أن يحتوي على رقم.", + "alphabeticalErrorText": "هذا الحقل يجب أن يحتوي على حروف أبجدية فقط.", + "uuidErrorText": "هذا الحقل يتطلب UUID صالح.", + "jsonErrorText": "هذا الحقل يتطلب JSON صالح.", + "latitudeErrorText": "هذا الحقل يتطلب دائرة عرض صالحة.", + "longitudeErrorText": "هذا الحقل يتطلب خط طول صالح.", + "base64ErrorText": "هذا الحقل يتطلب سلسلة Base64 صالحة.", + "pathErrorText": "هذا الحقل يتطلب مسارا صالحا.", + "oddNumberErrorText": "هذا الحقل يتطلب رقما فرديا.", + "evenNumberErrorText": "هذا الحقل يتطلب رقما زوجيا.", + "portNumberErrorText": "هذا الحقل يتطلب رقما صالحا للمنفذ.", + "macAddressErrorText": "هذا الحقل يتطلب عنوان MAC صالح.", + "startsWithErrorText": "القيمة يجب أن تبدأ بـ {value}.", + "endsWithErrorText": "القيمة يجب أن تنتهي بـ {value}.", + "containsErrorText": "القيمة يجب أن تحتوي على {value}.", + "betweenErrorText": "القيمة يجب أن تكون بين {min} و {max}.", + "valueInListErrorText": "القيمة يجب أن تكون ضمن القائمة المسموح بها." +} diff --git a/lib/l10n/intl_bg.arb b/lib/l10n/intl_bg.arb index 35b939e0..048fa288 100644 --- a/lib/l10n/intl_bg.arb +++ b/lib/l10n/intl_bg.arb @@ -17,5 +17,37 @@ "notEqualErrorText": "Стойността на това поле не трябва да е равна на {value}.", "numericErrorText": "Стойността трябва да е числова.", "requiredErrorText": "Това поле не може да бъде празно.", - "urlErrorText": "Това поле изисква валиден URL адрес." -} \ No newline at end of file + "urlErrorText": "Това поле изисква валиден URL адрес.", + "phoneErrorText": "Това поле изисква валиден телефонен номер.", + "creditCardExpirationDateErrorText": "Това поле изисква валидна дата на изтичане на кредитната карта.", + "creditCardExpiredErrorText": "Кредитната карта е с изтекъл срок.", + "creditCardCVCErrorText": "Това поле изисква валиден CVC код на кредитната карта.", + "colorCodeErrorText": "Това поле изисква валиден цветен код.", + "uppercaseErrorText": "Това поле изисква главни букви.", + "lowercaseErrorText": "Това поле изисква малки букви.", + "fileExtensionErrorText": "Това поле изисква валидно файлово разширение.", + "fileSizeErrorText": "Този файл надвишава максимално допустимия размер.", + "dateRangeErrorText": "Датата трябва да е в разрешения диапазон.", + "mustBeTrueErrorText": "Това поле трябва да е истина.", + "mustBeFalseErrorText": "Това поле трябва да е невярно.", + "containsSpecialCharErrorText": "Това поле трябва да съдържа специален символ.", + "containsUppercaseCharErrorText": "Това поле трябва да съдържа главна буква.", + "containsLowercaseCharErrorText": "Това поле трябва да съдържа малка буква.", + "containsNumberErrorText": "Това поле трябва да съдържа число.", + "alphabeticalErrorText": "Това поле трябва да съдържа само букви.", + "uuidErrorText": "Това поле изисква валиден UUID.", + "jsonErrorText": "Това поле изисква валиден JSON.", + "latitudeErrorText": "Това поле изисква валидна географска ширина.", + "longitudeErrorText": "Това поле изисква валидна географска дължина.", + "base64ErrorText": "Това поле изисква валиден низ в Base64 формат.", + "pathErrorText": "Това поле изисква валиден път.", + "oddNumberErrorText": "Това поле изисква нечетно число.", + "evenNumberErrorText": "Това поле изисква четно число.", + "portNumberErrorText": "Това поле изисква валиден номер на порт.", + "macAddressErrorText": "Това поле изисква валиден MAC адрес.", + "startsWithErrorText": "Стойността трябва да започва с {value}.", + "endsWithErrorText": "Стойността трябва да завършва с {value}.", + "containsErrorText": "Стойността трябва да съдържа {value}.", + "betweenErrorText": "Стойността трябва да е между {min} и {max}.", + "valueInListErrorText": "Стойността трябва да е в списъка с допустими стойности." +} diff --git a/lib/l10n/intl_bn.arb b/lib/l10n/intl_bn.arb index 9d0e7713..2ded33d1 100644 --- a/lib/l10n/intl_bn.arb +++ b/lib/l10n/intl_bn.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "একটি বৈধ তারিখ প্রয়োজন।", "emailErrorText": "একটি বৈধ ইমেল আইডি প্রয়োজন।", "equalErrorText": "মান {value} সমান হতে হবে।", - "equalLengthErrorText": "Value must have a length equal to {length}", + "equalLengthErrorText": "মানটির দৈর্ঘ্য {length} সমান হতে হবে।", "integerErrorText": "মান অবশ্যই একটি পূর্ণসংখ্যা হতে হবে।", "ipErrorText": "একটি বৈধ আইপি এড্রেস প্রয়োজন।", "matchErrorText": "মান প্যাটার্নের সাথে মেলে না।", "maxErrorText": "মান অবশ্যই {max} এর কম বা সমান হতে হবে।", "maxLengthErrorText": "মান অবশ্যই {maxLength} এর থেকে কম বা সমান সংখ্যা হতে হবে।", - "maxWordsCountErrorText": "মান অবশ্যই একটি শব্দের গণনা থাকতে হবে {maxWordsCount} এর চেয়ে কম বা সমান", + "maxWordsCountErrorText": "মান অবশ্যই একটি শব্দের গণনা থাকতে হবে {maxWordsCount} এর চেয়ে কম বা সমান।", "minErrorText": "মান অবশ্যই {min} এর থেকে বেশি বা সমান হতে হবে।", "minLengthErrorText": "মান অবশ্যই {minLength} এর চেয়ে বেশি বা সমান সংখ্যা হতে হবে।", - "minWordsCountErrorText": "মান অবশ্যই একটি শব্দের গণনা থাকতে হবে {minWordsCount} এর চেয়ে বেশি বা সমান", + "minWordsCountErrorText": "মান অবশ্যই একটি শব্দের গণনা থাকতে হবে {minWordsCount} এর চেয়ে বেশি বা সমান।", "notEqualErrorText": "মান {value} এর সমান হওয়া উচিত নয়।", "numericErrorText": "মান অবশ্যই সংখ্যায় হতে হবে।", "requiredErrorText": "খালি রাখা যাবে না।", - "urlErrorText": "একটি বৈধ ওয়েব এড্রেস প্রয়োজন।" -} \ No newline at end of file + "urlErrorText": "একটি বৈধ ওয়েব এড্রেস প্রয়োজন।", + "phoneErrorText": "একটি বৈধ ফোন নম্বর প্রয়োজন।", + "creditCardExpirationDateErrorText": "একটি বৈধ ক্রেডিট কার্ডের মেয়াদ শেষের তারিখ প্রয়োজন।", + "creditCardExpiredErrorText": "ক্রেডিট কার্ডের মেয়াদ শেষ হয়ে গেছে।", + "creditCardCVCErrorText": "একটি বৈধ ক্রেডিট কার্ড CVC কোড প্রয়োজন।", + "colorCodeErrorText": "একটি বৈধ রঙের কোড প্রয়োজন।", + "uppercaseErrorText": "এই ফিল্ডে বড় হাতের অক্ষর প্রয়োজন।", + "lowercaseErrorText": "এই ফিল্ডে ছোট হাতের অক্ষর প্রয়োজন।", + "fileExtensionErrorText": "একটি বৈধ ফাইল এক্সটেনশন প্রয়োজন।", + "fileSizeErrorText": "এই ফাইলটি সর্বাধিক অনুমোদিত আকার ছাড়িয়ে গেছে।", + "dateRangeErrorText": "তারিখটি অনুমোদিত সীমার মধ্যে হতে হবে।", + "mustBeTrueErrorText": "এই ফিল্ডটি সত্য হতে হবে।", + "mustBeFalseErrorText": "এই ফিল্ডটি মিথ্যা হতে হবে।", + "containsSpecialCharErrorText": "এই ফিল্ডে একটি বিশেষ অক্ষর থাকতে হবে।", + "containsUppercaseCharErrorText": "এই ফিল্ডে একটি বড় হাতের অক্ষর থাকতে হবে।", + "containsLowercaseCharErrorText": "এই ফিল্ডে একটি ছোট হাতের অক্ষর থাকতে হবে।", + "containsNumberErrorText": "এই ফিল্ডে একটি সংখ্যা থাকতে হবে।", + "alphabeticalErrorText": "এই ফিল্ডে কেবল বর্ণমালা থাকা উচিত।", + "uuidErrorText": "একটি বৈধ UUID প্রয়োজন।", + "jsonErrorText": "একটি বৈধ JSON প্রয়োজন।", + "latitudeErrorText": "একটি বৈধ অক্ষাংশ প্রয়োজন।", + "longitudeErrorText": "একটি বৈধ দ্রাঘিমাংশ প্রয়োজন।", + "base64ErrorText": "একটি বৈধ Base64 স্ট্রিং প্রয়োজন।", + "pathErrorText": "একটি বৈধ পাথ প্রয়োজন।", + "oddNumberErrorText": "এই ফিল্ডে একটি বিজোড় সংখ্যা থাকতে হবে।", + "evenNumberErrorText": "এই ফিল্ডে একটি জোড় সংখ্যা থাকতে হবে।", + "portNumberErrorText": "একটি বৈধ পোর্ট নম্বর প্রয়োজন।", + "macAddressErrorText": "একটি বৈধ MAC ঠিকানা প্রয়োজন।", + "startsWithErrorText": "মানটি {value} দিয়ে শুরু হতে হবে।", + "endsWithErrorText": "মানটি {value} দিয়ে শেষ হতে হবে।", + "containsErrorText": "মানটি {value} ধারণ করতে হবে।", + "betweenErrorText": "মানটি {min} এবং {max} এর মধ্যে হতে হবে।", + "valueInListErrorText": "মানটি অনুমোদিত তালিকার মধ্যে থাকতে হবে।" +} diff --git a/lib/l10n/intl_bs.arb b/lib/l10n/intl_bs.arb index 02574c38..1292480c 100644 --- a/lib/l10n/intl_bs.arb +++ b/lib/l10n/intl_bs.arb @@ -8,14 +8,46 @@ "integerErrorText": "Vrijednost mora biti cijeli broj.", "ipErrorText": "Unesite validnu IP adresu.", "matchErrorText": "Vrijednost ne odgovara uzorku.", - "maxErrorText": "Vrijednost mora biti manja ili jednaka {max}", + "maxErrorText": "Vrijednost mora biti manja ili jednaka {max}.", "maxLengthErrorText": "Vrijednost mora biti kraća ili jednaka {maxLength} znakova.", - "maxWordsCountErrorText": "Vrijednost mora imati riječi koje računaju manje ili jednake {maxWordsCount}", + "maxWordsCountErrorText": "Vrijednost mora imati riječi koje računaju manje ili jednake {maxWordsCount}.", "minErrorText": "Vrijednost mora biti veća ili jednaka {min}.", "minLengthErrorText": "Vrijednost mora biti duža ili jednaka {minLength} znakova.", - "minWordsCountErrorText": "Vrijednost mora imati riječi računanje veće ili jednake {minWordsCount}", + "minWordsCountErrorText": "Vrijednost mora imati riječi računanje veće ili jednake {minWordsCount}.", "notEqualErrorText": "Vrijednost ne smije biti jednaka {value}.", "numericErrorText": "Vrijednost mora biti brojčana.", "requiredErrorText": "Ovo polje ne smije biti prazno.", - "urlErrorText": "Unesite validnu URL adresu." -} \ No newline at end of file + "urlErrorText": "Unesite validnu URL adresu.", + "phoneErrorText": "Unesite validan broj telefona.", + "creditCardExpirationDateErrorText": "Unesite validan datum isteka kreditne kartice.", + "creditCardExpiredErrorText": "Kreditna kartica je istekla.", + "creditCardCVCErrorText": "Unesite validan CVC kod kreditne kartice.", + "colorCodeErrorText": "Unesite validan kod boje.", + "uppercaseErrorText": "Ovo polje zahtijeva velika slova.", + "lowercaseErrorText": "Ovo polje zahtijeva mala slova.", + "fileExtensionErrorText": "Unesite validan ekstenziju fajla.", + "fileSizeErrorText": "Ovaj fajl premašuje maksimalnu dozvoljenu veličinu.", + "dateRangeErrorText": "Datum mora biti u dozvoljenom rasponu.", + "mustBeTrueErrorText": "Ovo polje mora biti istina.", + "mustBeFalseErrorText": "Ovo polje mora biti lažno.", + "containsSpecialCharErrorText": "Ovo polje mora sadržavati poseban znak.", + "containsUppercaseCharErrorText": "Ovo polje mora sadržavati jedno veliko slovo.", + "containsLowercaseCharErrorText": "Ovo polje mora sadržavati jedno malo slovo.", + "containsNumberErrorText": "Ovo polje mora sadržavati jedan broj.", + "alphabeticalErrorText": "Ovo polje mora sadržavati samo slova.", + "uuidErrorText": "Unesite validan UUID.", + "jsonErrorText": "Unesite validan JSON.", + "latitudeErrorText": "Unesite validnu geografsku širinu.", + "longitudeErrorText": "Unesite validnu geografsku dužinu.", + "base64ErrorText": "Unesite validan Base64 niz.", + "pathErrorText": "Unesite validnu putanju.", + "oddNumberErrorText": "Ovo polje zahtijeva neparan broj.", + "evenNumberErrorText": "Ovo polje zahtijeva paran broj.", + "portNumberErrorText": "Unesite validan broj porta.", + "macAddressErrorText": "Unesite validnu MAC adresu.", + "startsWithErrorText": "Vrijednost mora početi sa {value}.", + "endsWithErrorText": "Vrijednost mora završiti sa {value}.", + "containsErrorText": "Vrijednost mora sadržavati {value}.", + "betweenErrorText": "Vrijednost mora biti između {min} i {max}.", + "valueInListErrorText": "Vrijednost mora biti na listi dopuštenih vrijednosti." +} diff --git a/lib/l10n/intl_ca.arb b/lib/l10n/intl_ca.arb index 43900f88..7dcf508e 100644 --- a/lib/l10n/intl_ca.arb +++ b/lib/l10n/intl_ca.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Aquest camp requereix una cadena de data vàlida.", "emailErrorText": "Aquest camp requereix una adreça de correu electrònic vàlida.", "equalErrorText": "Aquest valor de camp ha de ser igual a {value}.", - "equalLengthErrorText": "El valor ha de tenir una longitud igual a {length}", + "equalLengthErrorText": "El valor ha de tenir una longitud igual a {length}.", "integerErrorText": "Aquest camp requereix un nombre enter vàlid.", "ipErrorText": "Aquest camp requereix una IP vàlida.", "matchErrorText": "El valor no coincideix amb el patró.", - "maxErrorText": "El valor ha de ser inferior o igual a {max}", - "maxLengthErrorText": "El valor ha de tenir una longitud inferior o igual a {maxLength}", - "maxWordsCountErrorText": "El valor ha de tenir un compte de paraules inferior o igual a {maxWordsCount}", + "maxErrorText": "El valor ha de ser inferior o igual a {max}.", + "maxLengthErrorText": "El valor ha de tenir una longitud inferior o igual a {maxLength}.", + "maxWordsCountErrorText": "El valor ha de tenir un compte de paraules inferior o igual a {maxWordsCount}.", "minErrorText": "El valor ha de ser superior o igual a {min}.", - "minLengthErrorText": "El valor ha de tenir una longitud superior o igual a {minLength}", - "minWordsCountErrorText": "El valor ha de tenir un compte de paraules superior o igual a {minWordsCount}", + "minLengthErrorText": "El valor ha de tenir una longitud superior o igual a {minLength}.", + "minWordsCountErrorText": "El valor ha de tenir un compte de paraules superior o igual a {minWordsCount}.", "notEqualErrorText": "Aquest valor de camp no ha de ser igual a {value}.", "numericErrorText": "El valor ha de ser numèric.", "requiredErrorText": "Aquest camp no pot estar buit.", - "urlErrorText": "Aquest camp requereix una adreça URL vàlida." -} \ No newline at end of file + "urlErrorText": "Aquest camp requereix una adreça URL vàlida.", + "phoneErrorText": "Aquest camp requereix un número de telèfon vàlid.", + "creditCardExpirationDateErrorText": "Aquest camp requereix una data de caducitat de la targeta de crèdit vàlida.", + "creditCardExpiredErrorText": "La targeta de crèdit ha caducat.", + "creditCardCVCErrorText": "Aquest camp requereix un codi CVC vàlid de la targeta de crèdit.", + "colorCodeErrorText": "Aquest camp requereix un codi de color vàlid.", + "uppercaseErrorText": "Aquest camp requereix majúscules.", + "lowercaseErrorText": "Aquest camp requereix minúscules.", + "fileExtensionErrorText": "Aquest camp requereix una extensió de fitxer vàlida.", + "fileSizeErrorText": "Aquest fitxer supera la mida màxima permesa.", + "dateRangeErrorText": "La data ha d'estar dins del rang permès.", + "mustBeTrueErrorText": "Aquest camp ha de ser cert.", + "mustBeFalseErrorText": "Aquest camp ha de ser fals.", + "containsSpecialCharErrorText": "Aquest camp ha de contenir un caràcter especial.", + "containsUppercaseCharErrorText": "Aquest camp ha de contenir una majúscula.", + "containsLowercaseCharErrorText": "Aquest camp ha de contenir una minúscula.", + "containsNumberErrorText": "Aquest camp ha de contenir un número.", + "alphabeticalErrorText": "Aquest camp només ha de contenir lletres.", + "uuidErrorText": "Aquest camp requereix un UUID vàlid.", + "jsonErrorText": "Aquest camp requereix un JSON vàlid.", + "latitudeErrorText": "Aquest camp requereix una latitud vàlida.", + "longitudeErrorText": "Aquest camp requereix una longitud vàlida.", + "base64ErrorText": "Aquest camp requereix una cadena Base64 vàlida.", + "pathErrorText": "Aquest camp requereix un camí vàlid.", + "oddNumberErrorText": "Aquest camp requereix un número senar.", + "evenNumberErrorText": "Aquest camp requereix un número parell.", + "portNumberErrorText": "Aquest camp requereix un número de port vàlid.", + "macAddressErrorText": "Aquest camp requereix una adreça MAC vàlida.", + "startsWithErrorText": "El valor ha de començar amb {value}.", + "endsWithErrorText": "El valor ha d'acabar amb {value}.", + "containsErrorText": "El valor ha de contenir {value}.", + "betweenErrorText": "El valor ha d'estar entre {min} i {max}.", + "valueInListErrorText": "El valor ha d'estar en la llista de valors permesos." +} diff --git a/lib/l10n/intl_cs.arb b/lib/l10n/intl_cs.arb index 014290bb..2a57c413 100644 --- a/lib/l10n/intl_cs.arb +++ b/lib/l10n/intl_cs.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Pole vyžaduje platný zápis data.", "emailErrorText": "Pole vyžaduje platnou e-mailovou adresu.", "equalErrorText": "Hodnota se musí rovnat {value}.", - "equalLengthErrorText": "Hodnota musí mít délku rovnu {length}", + "equalLengthErrorText": "Hodnota musí mít délku rovnu {length}.", "integerErrorText": "Hodnota musí být celé číslo.", "ipErrorText": "Pole vyžaduje platnou IP adresu.", "matchErrorText": "Hodnota neodpovídá vzoru.", "maxErrorText": "Hodnota musí být menší než nebo rovna {max}.", "maxLengthErrorText": "Hodnota musí mít délku menší než nebo rovnu {maxLength}.", - "maxWordsCountErrorText": "Hodnota musí mít počet slov menší nebo rovná {maxWordsCount}", + "maxWordsCountErrorText": "Hodnota musí mít počet slov menší nebo rovná {maxWordsCount}.", "minErrorText": "Hodnota musí být větší než nebo rovna {min}.", - "minLengthErrorText": "Hodnota musí mít délku větší než nebo rovnu {minLength}", - "minWordsCountErrorText": "Hodnota musí mít počet slov větší nebo rovná {minWordsCount}", + "minLengthErrorText": "Hodnota musí mít délku větší než nebo rovnu {minLength}.", + "minWordsCountErrorText": "Hodnota musí mít počet slov větší nebo rovná {minWordsCount}.", "notEqualErrorText": "Hodnota se nesmí rovnat {value}.", "numericErrorText": "Hodnota musí být číslo.", "requiredErrorText": "Pole nemůže být prázdné.", - "urlErrorText": "Pole vyžaduje platnou adresu URL." + "urlErrorText": "Pole vyžaduje platnou adresu URL.", + "phoneErrorText": "Pole vyžaduje platné telefonní číslo.", + "creditCardExpirationDateErrorText": "Pole vyžaduje platné datum vypršení platnosti kreditní karty.", + "creditCardExpiredErrorText": "Platnost kreditní karty vypršela.", + "creditCardCVCErrorText": "Pole vyžaduje platný CVC kód kreditní karty.", + "colorCodeErrorText": "Pole vyžaduje platný barevný kód.", + "uppercaseErrorText": "Pole vyžaduje velká písmena.", + "lowercaseErrorText": "Pole vyžaduje malá písmena.", + "fileExtensionErrorText": "Pole vyžaduje platnou příponu souboru.", + "fileSizeErrorText": "Tento soubor překračuje maximální povolenou velikost.", + "dateRangeErrorText": "Datum musí být v povoleném rozsahu.", + "mustBeTrueErrorText": "Toto pole musí být pravdivé.", + "mustBeFalseErrorText": "Toto pole musí být nepravdivé.", + "containsSpecialCharErrorText": "Pole musí obsahovat speciální znak.", + "containsUppercaseCharErrorText": "Pole musí obsahovat velké písmeno.", + "containsLowercaseCharErrorText": "Pole musí obsahovat malé písmeno.", + "containsNumberErrorText": "Pole musí obsahovat číslo.", + "alphabeticalErrorText": "Pole musí obsahovat pouze písmena.", + "uuidErrorText": "Pole vyžaduje platný UUID.", + "jsonErrorText": "Pole vyžaduje platný JSON.", + "latitudeErrorText": "Pole vyžaduje platnou zeměpisnou šířku.", + "longitudeErrorText": "Pole vyžaduje platnou zeměpisnou délku.", + "base64ErrorText": "Pole vyžaduje platný řetězec Base64.", + "pathErrorText": "Pole vyžaduje platnou cestu.", + "oddNumberErrorText": "Pole vyžaduje liché číslo.", + "evenNumberErrorText": "Pole vyžaduje sudé číslo.", + "portNumberErrorText": "Pole vyžaduje platné číslo portu.", + "macAddressErrorText": "Pole vyžaduje platnou MAC adresu.", + "startsWithErrorText": "Hodnota musí začínat na {value}.", + "endsWithErrorText": "Hodnota musí končit na {value}.", + "containsErrorText": "Hodnota musí obsahovat {value}.", + "betweenErrorText": "Hodnota musí být mezi {min} a {max}.", + "valueInListErrorText": "Hodnota musí být v seznamu povolených hodnot." } diff --git a/lib/l10n/intl_da.arb b/lib/l10n/intl_da.arb index 3bd833c9..14b50dad 100644 --- a/lib/l10n/intl_da.arb +++ b/lib/l10n/intl_da.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Dette felt kræver en gyldig dato.", "emailErrorText": "Dette felt kræver en gyldig e-mail adresse.", "equalErrorText": "Dette felts værdi skal være lig med {value}.", - "equalLengthErrorText": "Værdiens længde skal være lig med {length}", + "equalLengthErrorText": "Værdiens længde skal være lig med {length}.", "integerErrorText": "Værdien skal være et heltal.", "ipErrorText": "Dette felt kræver en gyldig IP.", "matchErrorText": "Værdien matcher ikke mønstret.", - "maxErrorText": "Værdien skal være mindre eller lig med {max}", - "maxLengthErrorText": "Værdiens længde skal være mindre eller lig med {maxLength}", - "maxWordsCountErrorText": "Værdiens antal af ord skal være mindre eller lig med {maxWordsCount}", - "minErrorText": "Værdien skal være større end eller lig med {min}", - "minLengthErrorText": "Værdien skal være større end eller lig med {minLength}", - "minWordsCountErrorText": "Antallet af ord skal være større eller lig med {minWordsCount}", + "maxErrorText": "Værdien skal være mindre eller lig med {max}.", + "maxLengthErrorText": "Værdiens længde skal være mindre eller lig med {maxLength}.", + "maxWordsCountErrorText": "Værdiens antal af ord skal være mindre eller lig med {maxWordsCount}.", + "minErrorText": "Værdien skal være større end eller lig med {min}.", + "minLengthErrorText": "Værdien skal være større end eller lig med {minLength}.", + "minWordsCountErrorText": "Antallet af ord skal være større eller lig med {minWordsCount}.", "notEqualErrorText": "Feltets værdi må ikke være lig med {value}.", "numericErrorText": "Værdien skal være numerisk.", "requiredErrorText": "Feltet skal udfyldes.", - "urlErrorText": "Skal være en gyldig URL adresse." + "urlErrorText": "Skal være en gyldig URL adresse.", + "phoneErrorText": "Dette felt kræver et gyldigt telefonnummer.", + "creditCardExpirationDateErrorText": "Dette felt kræver en gyldig udløbsdato for kreditkortet.", + "creditCardExpiredErrorText": "Kreditkortet er udløbet.", + "creditCardCVCErrorText": "Dette felt kræver en gyldig CVC-kode for kreditkortet.", + "colorCodeErrorText": "Dette felt kræver en gyldig farvekode.", + "uppercaseErrorText": "Dette felt kræver store bogstaver.", + "lowercaseErrorText": "Dette felt kræver små bogstaver.", + "fileExtensionErrorText": "Dette felt kræver en gyldig filendelse.", + "fileSizeErrorText": "Denne fil overstiger den maksimalt tilladte størrelse.", + "dateRangeErrorText": "Datoen skal være inden for det tilladte interval.", + "mustBeTrueErrorText": "Dette felt skal være sandt.", + "mustBeFalseErrorText": "Dette felt skal være falsk.", + "containsSpecialCharErrorText": "Dette felt skal indeholde et specialtegn.", + "containsUppercaseCharErrorText": "Dette felt skal indeholde et stort bogstav.", + "containsLowercaseCharErrorText": "Dette felt skal indeholde et lille bogstav.", + "containsNumberErrorText": "Dette felt skal indeholde et tal.", + "alphabeticalErrorText": "Dette felt skal kun indeholde bogstaver.", + "uuidErrorText": "Dette felt kræver en gyldig UUID.", + "jsonErrorText": "Dette felt kræver en gyldig JSON.", + "latitudeErrorText": "Dette felt kræver en gyldig breddegrad.", + "longitudeErrorText": "Dette felt kræver en gyldig længdegrad.", + "base64ErrorText": "Dette felt kræver en gyldig Base64-streng.", + "pathErrorText": "Dette felt kræver en gyldig sti.", + "oddNumberErrorText": "Dette felt kræver et ulige tal.", + "evenNumberErrorText": "Dette felt kræver et lige tal.", + "portNumberErrorText": "Dette felt kræver et gyldigt portnummer.", + "macAddressErrorText": "Dette felt kræver en gyldig MAC-adresse.", + "startsWithErrorText": "Værdien skal starte med {value}.", + "endsWithErrorText": "Værdien skal slutte med {value}.", + "containsErrorText": "Værdien skal indeholde {value}.", + "betweenErrorText": "Værdien skal være mellem {min} og {max}.", + "valueInListErrorText": "Værdien skal være på listen over tilladte værdier." } diff --git a/lib/l10n/intl_de.arb b/lib/l10n/intl_de.arb index 13254963..1897e095 100644 --- a/lib/l10n/intl_de.arb +++ b/lib/l10n/intl_de.arb @@ -4,8 +4,8 @@ "dateStringErrorText": "Dieses Feld erfordert ein gültiges Datum.", "emailErrorText": "Für dieses Feld ist eine gültige E-Mail-Adresse erforderlich.", "equalErrorText": "Dieser Feldwert muss gleich {value} sein.", - "equalLengthErrorText": "Der Wert muss eine Länge von {length} haben", - "integerErrorText": "Der Wert muss eine Ganze Zahl sein.", + "equalLengthErrorText": "Der Wert muss eine Länge von {length} haben.", + "integerErrorText": "Der Wert muss eine ganze Zahl sein.", "ipErrorText": "Dieses Feld erfordert eine gültige IP-Adresse.", "matchErrorText": "Der Wert stimmt nicht mit dem Muster überein.", "maxErrorText": "Der Wert muss kleiner oder gleich {max} sein.", @@ -13,9 +13,41 @@ "maxWordsCountErrorText": "Der Wert muss eine Wortanzahl haben, die kleiner oder gleich {maxWordsCount} ist.", "minErrorText": "Der Wert muss größer oder gleich {min} sein.", "minLengthErrorText": "Der Wert muss eine Länge haben, die größer oder gleich {minLength} ist.", - "minWordsCountErrorText": "Der Wert muss eine Wortanzahl haben, die größer oder gleich {minWordsCount} ist", + "minWordsCountErrorText": "Der Wert muss eine Wortanzahl haben, die größer oder gleich {minWordsCount} ist.", "notEqualErrorText": "Dieser Feldwert darf nicht gleich {value} sein.", "numericErrorText": "Der Wert muss numerisch sein.", "requiredErrorText": "Dieses Feld darf nicht leer sein.", - "urlErrorText": "Für dieses Feld ist eine gültige URL-Adresse erforderlich." -} \ No newline at end of file + "urlErrorText": "Für dieses Feld ist eine gültige URL-Adresse erforderlich.", + "phoneErrorText": "Dieses Feld erfordert eine gültige Telefonnummer.", + "creditCardExpirationDateErrorText": "Dieses Feld erfordert ein gültiges Ablaufdatum der Kreditkarte.", + "creditCardExpiredErrorText": "Die Kreditkarte ist abgelaufen.", + "creditCardCVCErrorText": "Dieses Feld erfordert einen gültigen CVC-Code der Kreditkarte.", + "colorCodeErrorText": "Dieses Feld erfordert einen gültigen Farbcode.", + "uppercaseErrorText": "Dieses Feld erfordert Großbuchstaben.", + "lowercaseErrorText": "Dieses Feld erfordert Kleinbuchstaben.", + "fileExtensionErrorText": "Dieses Feld erfordert eine gültige Dateierweiterung.", + "fileSizeErrorText": "Diese Datei überschreitet die maximal zulässige Größe.", + "dateRangeErrorText": "Das Datum muss im erlaubten Bereich liegen.", + "mustBeTrueErrorText": "Dieses Feld muss wahr sein.", + "mustBeFalseErrorText": "Dieses Feld muss falsch sein.", + "containsSpecialCharErrorText": "Dieses Feld muss ein Sonderzeichen enthalten.", + "containsUppercaseCharErrorText": "Dieses Feld muss einen Großbuchstaben enthalten.", + "containsLowercaseCharErrorText": "Dieses Feld muss einen Kleinbuchstaben enthalten.", + "containsNumberErrorText": "Dieses Feld muss eine Zahl enthalten.", + "alphabeticalErrorText": "Dieses Feld darf nur Buchstaben enthalten.", + "uuidErrorText": "Dieses Feld erfordert eine gültige UUID.", + "jsonErrorText": "Dieses Feld erfordert ein gültiges JSON.", + "latitudeErrorText": "Dieses Feld erfordert einen gültigen Breitengrad.", + "longitudeErrorText": "Dieses Feld erfordert einen gültigen Längengrad.", + "base64ErrorText": "Dieses Feld erfordert eine gültige Base64-Zeichenkette.", + "pathErrorText": "Dieses Feld erfordert einen gültigen Pfad.", + "oddNumberErrorText": "Dieses Feld erfordert eine ungerade Zahl.", + "evenNumberErrorText": "Dieses Feld erfordert eine gerade Zahl.", + "portNumberErrorText": "Dieses Feld erfordert eine gültige Portnummer.", + "macAddressErrorText": "Dieses Feld erfordert eine gültige MAC-Adresse.", + "startsWithErrorText": "Der Wert muss mit {value} beginnen.", + "endsWithErrorText": "Der Wert muss mit {value} enden.", + "containsErrorText": "Der Wert muss {value} enthalten.", + "betweenErrorText": "Der Wert muss zwischen {min} und {max} liegen.", + "valueInListErrorText": "Der Wert muss in der Liste der zulässigen Werte sein." +} diff --git a/lib/l10n/intl_el.arb b/lib/l10n/intl_el.arb index 6470364f..6c0868cd 100644 --- a/lib/l10n/intl_el.arb +++ b/lib/l10n/intl_el.arb @@ -5,17 +5,49 @@ "emailErrorText": "Το πεδίο πρέπει να έχει μία έγκυρη διεύθυνση email.", "equalErrorText": "Η τιμή πρέπει να είναι ίση με {value}.", "equalLengthErrorText": "Η τιμή πρέπει να έχει μήκος ίσο με {length}.", - "integerErrorText": "Η τιμή πρέπει να είναι ακέραιος αριθμό.", - "ipErrorText": "Η τιμή πρέπει να είναι έγκυρη IP διεύθυνση.", + "integerErrorText": "Η τιμή πρέπει να είναι ακέραιος αριθμός.", + "ipErrorText": "Η τιμή πρέπει να είναι έγκυρη διεύθυνση IP.", "matchErrorText": "Η τιμή δεν ταιριάζει με το μοτίβο.", "maxErrorText": "Η τιμή πρέπει να είναι μικρότερη ή ίση με {max}.", "maxLengthErrorText": "Η τιμή πρέπει να έχει μήκος μικρότερο ή ίσο με {maxLength}.", - "maxWordsCountErrorText": "Value must have a words count less than or equal to {maxWordsCount}", + "maxWordsCountErrorText": "Η τιμή πρέπει να έχει έναν αριθμό λέξεων μικρότερο ή ίσο με {maxWordsCount}.", "minErrorText": "Η τιμή πρέπει να είναι μεγαλύτερη ή ίση με {min}.", "minLengthErrorText": "Η τιμή πρέπει να έχει μήκος μεγαλύτερο ή ίσο με {minLength}.", - "minWordsCountErrorText": "Η τιμή πρέπει να έχει έναν αριθμό λέξεων μικρότερο ή ίσο με {minWordsCount}", + "minWordsCountErrorText": "Η τιμή πρέπει να έχει έναν αριθμό λέξεων μεγαλύτερο ή ίσο με {minWordsCount}.", "notEqualErrorText": "Η τιμή δεν πρέπει να είναι ίση με {value}.", "numericErrorText": "Η τιμή πρέπει να είναι αριθμητική.", "requiredErrorText": "Το πεδίο δεν μπορεί να είναι κενό.", - "urlErrorText": "Η τιμή πρέπει να είναι έγκυρη διεύθυνση URL." -} \ No newline at end of file + "urlErrorText": "Η τιμή πρέπει να είναι έγκυρη διεύθυνση URL.", + "phoneErrorText": "Η τιμή πρέπει να είναι έγκυρος αριθμός τηλεφώνου.", + "creditCardExpirationDateErrorText": "Η τιμή πρέπει να είναι έγκυρη ημερομηνία λήξης της πιστωτικής κάρτας.", + "creditCardExpiredErrorText": "Η πιστωτική κάρτα έχει λήξει.", + "creditCardCVCErrorText": "Η τιμή πρέπει να είναι έγκυρος κωδικός CVC της πιστωτικής κάρτας.", + "colorCodeErrorText": "Η τιμή πρέπει να είναι έγκυρος κωδικός χρώματος.", + "uppercaseErrorText": "Η τιμή πρέπει να είναι με κεφαλαία γράμματα.", + "lowercaseErrorText": "Η τιμή πρέπει να είναι με μικρά γράμματα.", + "fileExtensionErrorText": "Η τιμή πρέπει να είναι έγκυρη επέκταση αρχείου.", + "fileSizeErrorText": "Αυτό το αρχείο υπερβαίνει το μέγιστο επιτρεπόμενο μέγεθος.", + "dateRangeErrorText": "Η ημερομηνία πρέπει να είναι εντός του επιτρεπόμενου εύρους.", + "mustBeTrueErrorText": "Αυτό το πεδίο πρέπει να είναι αληθές.", + "mustBeFalseErrorText": "Αυτό το πεδίο πρέπει να είναι ψευδές.", + "containsSpecialCharErrorText": "Η τιμή πρέπει να περιέχει έναν ειδικό χαρακτήρα.", + "containsUppercaseCharErrorText": "Η τιμή πρέπει να περιέχει ένα κεφαλαίο γράμμα.", + "containsLowercaseCharErrorText": "Η τιμή πρέπει να περιέχει ένα μικρό γράμμα.", + "containsNumberErrorText": "Η τιμή πρέπει να περιέχει έναν αριθμό.", + "alphabeticalErrorText": "Η τιμή πρέπει να περιέχει μόνο γράμματα.", + "uuidErrorText": "Η τιμή πρέπει να είναι έγκυρο UUID.", + "jsonErrorText": "Η τιμή πρέπει να είναι έγκυρο JSON.", + "latitudeErrorText": "Η τιμή πρέπει να είναι έγκυρο γεωγραφικό πλάτος.", + "longitudeErrorText": "Η τιμή πρέπει να είναι έγκυρο γεωγραφικό μήκος.", + "base64ErrorText": "Η τιμή πρέπει να είναι έγκυρη ακολουθία Base64.", + "pathErrorText": "Η τιμή πρέπει να είναι έγκυρη διαδρομή.", + "oddNumberErrorText": "Η τιμή πρέπει να είναι περιττός αριθμός.", + "evenNumberErrorText": "Η τιμή πρέπει να είναι ζυγός αριθμός.", + "portNumberErrorText": "Η τιμή πρέπει να είναι έγκυρος αριθμός θύρας.", + "macAddressErrorText": "Η τιμή πρέπει να είναι έγκυρη διεύθυνση MAC.", + "startsWithErrorText": "Η τιμή πρέπει να ξεκινά με {value}.", + "endsWithErrorText": "Η τιμή πρέπει να τελειώνει με {value}.", + "containsErrorText": "Η τιμή πρέπει να περιέχει {value}.", + "betweenErrorText": "Η τιμή πρέπει να είναι μεταξύ {min} και {max}.", + "valueInListErrorText": "Η τιμή πρέπει να είναι στη λίστα των επιτρεπόμενων τιμών." +} diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index f3d15c33..6f46570b 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -17,5 +17,37 @@ "notEqualErrorText": "This field value must not be equal to {value}.", "numericErrorText": "Value must be numeric.", "requiredErrorText": "This field cannot be empty.", - "urlErrorText": "This field requires a valid URL address." -} \ No newline at end of file + "urlErrorText": "This field requires a valid URL address.", + "phoneErrorText": "This field requires a valid phone number.", + "creditCardExpirationDateErrorText": "This field requires a valid expiration date.", + "creditCardExpiredErrorText": "This credit card has expired.", + "creditCardCVCErrorText": "This field requires a valid CVC code.", + "colorCodeErrorText": "Value should be a valid {colorCode} color code.", + "uppercaseErrorText": "Value must be uppercase.", + "lowercaseErrorText": "Value must be lowercase.", + "fileExtensionErrorText": "File extension must be {extensions}", + "fileSizeErrorText": "File size must be less than {maxSize} while it is {fileSize}", + "dateRangeErrorText": "Date must be in range {min} - {max}", + "mustBeTrueErrorText": "This field must be true.", + "mustBeFalseErrorText": "This field must be false.", + "containsSpecialCharErrorText": "Value must contain at least {min} special characters.", + "containsUppercaseCharErrorText": "Value must contain at least {min} uppercase characters.", + "containsLowercaseCharErrorText": "Value must contain at least {min} lowercase characters.", + "containsNumberErrorText": "Value must contain at least {min} numbers.", + "alphabeticalErrorText": "Value must be alphabetical.", + "uuidErrorText": "Value must be a valid UUID.", + "jsonErrorText": "Value must be valid JSON.", + "latitudeErrorText": "Value must be a valid latitude.", + "longitudeErrorText": "Value must be a valid longitude.", + "base64ErrorText": "Value must be a valid base64 string.", + "pathErrorText": "Value must be a valid path.", + "oddNumberErrorText": "Value must be an odd number.", + "evenNumberErrorText": "Value must be an even number.", + "portNumberErrorText": "Value must be a valid port number between {min} and {max}.", + "macAddressErrorText": "Value must be a valid MAC address.", + "startsWithErrorText": "Value must start with {value}.", + "endsWithErrorText": "Value must end with {value}.", + "containsErrorText": "Value must contain {value}.", + "betweenErrorText": "Value must be between {min} and {max}.", + "valueInListErrorText": "Value must be in list." +} diff --git a/lib/l10n/intl_es.arb b/lib/l10n/intl_es.arb index 750fb1b2..5d6e8608 100644 --- a/lib/l10n/intl_es.arb +++ b/lib/l10n/intl_es.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Este campo requiere una cadena de fecha válida.", "emailErrorText": "Este campo requiere una dirección de correo electrónico válida.", "equalErrorText": "Este campo debe ser igual a {value}.", - "equalLengthErrorText": "El valor debe tener una longitud igual a {length}", + "equalLengthErrorText": "El valor debe tener una longitud igual a {length}.", "integerErrorText": "Este campo requiere un entero válido.", "ipErrorText": "Este campo requiere una IP válida.", "matchErrorText": "El valor no coincide con el patrón requerido.", "maxErrorText": "El valor debe ser menor o igual que {max}.", - "maxLengthErrorText": "El valor debe tener una longitud menor o igual a {maxLength}", - "maxWordsCountErrorText": "El valor debe tener un recuento de palabras menos o igual a {maxWordsCount}", + "maxLengthErrorText": "El valor debe tener una longitud menor o igual a {maxLength}.", + "maxWordsCountErrorText": "El valor debe tener un recuento de palabras menor o igual a {maxWordsCount}.", "minErrorText": "El valor debe ser mayor o igual que {min}.", - "minLengthErrorText": "El valor debe tener una longitud mayor o igual a {minLength}", - "minWordsCountErrorText": "El valor debe tener un recuento de palabras mayor o igual a {minWordsCount}", + "minLengthErrorText": "El valor debe tener una longitud mayor o igual a {minLength}.", + "minWordsCountErrorText": "El valor debe tener un recuento de palabras mayor o igual a {minWordsCount}.", "notEqualErrorText": "Este campo no debe ser igual a {value}.", "numericErrorText": "El valor debe ser numérico.", "requiredErrorText": "Este campo no puede estar vacío.", - "urlErrorText": "Este campo requiere una dirección URL válida." -} \ No newline at end of file + "urlErrorText": "Este campo requiere una dirección URL válida.", + "phoneErrorText": "Este campo requiere un número de teléfono válido.", + "creditCardExpirationDateErrorText": "Este campo requiere una fecha de vencimiento válida para la tarjeta de crédito.", + "creditCardExpiredErrorText": "La tarjeta de crédito ha expirado.", + "creditCardCVCErrorText": "Este campo requiere un código CVC válido para la tarjeta de crédito.", + "colorCodeErrorText": "Este campo requiere un código de color válido.", + "uppercaseErrorText": "Este campo requiere letras mayúsculas.", + "lowercaseErrorText": "Este campo requiere letras minúsculas.", + "fileExtensionErrorText": "Este campo requiere una extensión de archivo válida.", + "fileSizeErrorText": "Este archivo supera el tamaño máximo permitido.", + "dateRangeErrorText": "La fecha debe estar dentro del rango permitido.", + "mustBeTrueErrorText": "Este campo debe ser verdadero.", + "mustBeFalseErrorText": "Este campo debe ser falso.", + "containsSpecialCharErrorText": "Este campo debe contener un carácter especial.", + "containsUppercaseCharErrorText": "Este campo debe contener una letra mayúscula.", + "containsLowercaseCharErrorText": "Este campo debe contener una letra minúscula.", + "containsNumberErrorText": "Este campo debe contener un número.", + "alphabeticalErrorText": "Este campo debe contener solo letras.", + "uuidErrorText": "Este campo requiere un UUID válido.", + "jsonErrorText": "Este campo requiere un JSON válido.", + "latitudeErrorText": "Este campo requiere una latitud válida.", + "longitudeErrorText": "Este campo requiere una longitud válida.", + "base64ErrorText": "Este campo requiere una cadena Base64 válida.", + "pathErrorText": "Este campo requiere una ruta válida.", + "oddNumberErrorText": "Este campo requiere un número impar.", + "evenNumberErrorText": "Este campo requiere un número par.", + "portNumberErrorText": "Este campo requiere un número de puerto válido.", + "macAddressErrorText": "Este campo requiere una dirección MAC válida.", + "startsWithErrorText": "El valor debe comenzar con {value}.", + "endsWithErrorText": "El valor debe terminar con {value}.", + "containsErrorText": "El valor debe contener {value}.", + "betweenErrorText": "El valor debe estar entre {min} y {max}.", + "valueInListErrorText": "El valor debe estar en la lista de valores permitidos." +} diff --git a/lib/l10n/intl_et.arb b/lib/l10n/intl_et.arb index ef1ffb05..81196ccb 100644 --- a/lib/l10n/intl_et.arb +++ b/lib/l10n/intl_et.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Sellele väljale tuleb sisestada korrektne kuupäev.", "emailErrorText": "See väli nõuab kehtivat e-posti aadressi.", "equalErrorText": "See väärtus peab olema {value}.", - "equalLengthErrorText": "Väärtuse pikkus peab olema võrdne {length}", + "equalLengthErrorText": "Väärtuse pikkus peab olema võrdne {length}.", "integerErrorText": "Sisend peab olema täisarv.", "ipErrorText": "Sellele väljale tuleb sisestada korrektne IP-aadress.", "matchErrorText": "Sisend ei vasta mustrile.", - "maxErrorText": "Väärtus ei tohi olla üle {max}", - "maxLengthErrorText": "Sisendi pikkus ei tohi olla üle {maxLength}", - "maxWordsCountErrorText": "Väärtuses peab olema sõnade arv vähem või võrdne {maxWordsCount}", + "maxErrorText": "Väärtus ei tohi olla üle {max}.", + "maxLengthErrorText": "Sisendi pikkus ei tohi olla üle {maxLength}.", + "maxWordsCountErrorText": "Väärtuses peab olema sõnade arv vähem või võrdne {maxWordsCount}.", "minErrorText": "Väärtus peab olema vähemalt {min}.", - "minLengthErrorText": "Sisendi pikkus peab olema vähemalt {minLength}", - "minWordsCountErrorText": "Väärtuse sõnade arv peab olema suurem kui {minWordsCount}", + "minLengthErrorText": "Sisendi pikkus peab olema vähemalt {minLength}.", + "minWordsCountErrorText": "Väärtuse sõnade arv peab olema suurem kui {minWordsCount}.", "notEqualErrorText": "See väärtus ei tohi olla {value}.", "numericErrorText": "Sisend peab olema arv.", "requiredErrorText": "See väli ei tohi olla tühi.", - "urlErrorText": "Sellele väljale tuleb sisestada korrektne URL." -} \ No newline at end of file + "urlErrorText": "Sellele väljale tuleb sisestada korrektne URL.", + "phoneErrorText": "Sellele väljale tuleb sisestada korrektne telefoninumber.", + "creditCardExpirationDateErrorText": "Sellele väljale tuleb sisestada krediitkaardi kehtivusaeg.", + "creditCardExpiredErrorText": "Krediitkaardi kehtivusaeg on möödas.", + "creditCardCVCErrorText": "Sellele väljale tuleb sisestada korrektne krediitkaardi CVC kood.", + "colorCodeErrorText": "Sellele väljale tuleb sisestada korrektne värvikood.", + "uppercaseErrorText": "See väli nõuab suurtähti.", + "lowercaseErrorText": "See väli nõuab väiketähti.", + "fileExtensionErrorText": "See väli nõuab korrektset faililaiendit.", + "fileSizeErrorText": "See fail ületab maksimaalse lubatud suuruse.", + "dateRangeErrorText": "Kuupäev peab olema lubatud vahemikus.", + "mustBeTrueErrorText": "See väli peab olema tõene.", + "mustBeFalseErrorText": "See väli peab olema väär.", + "containsSpecialCharErrorText": "See väli peab sisaldama erilist märki.", + "containsUppercaseCharErrorText": "See väli peab sisaldama suurtähte.", + "containsLowercaseCharErrorText": "See väli peab sisaldama väiketähte.", + "containsNumberErrorText": "See väli peab sisaldama numbrit.", + "alphabeticalErrorText": "See väli peab sisaldama ainult tähti.", + "uuidErrorText": "See väli nõuab kehtivat UUID-d.", + "jsonErrorText": "See väli nõuab kehtivat JSON-i.", + "latitudeErrorText": "See väli nõuab kehtivat laiuskraadi.", + "longitudeErrorText": "See väli nõuab kehtivat pikkuskraadi.", + "base64ErrorText": "See väli nõuab kehtivat Base64 stringi.", + "pathErrorText": "See väli nõuab kehtivat rada.", + "oddNumberErrorText": "See väli nõuab paaritu arvu.", + "evenNumberErrorText": "See väli nõuab paarisarvu.", + "portNumberErrorText": "See väli nõuab kehtivat pordinumbrit.", + "macAddressErrorText": "See väli nõuab kehtivat MAC aadressi.", + "startsWithErrorText": "Väärtus peab algama {value}-ga.", + "endsWithErrorText": "Väärtus peab lõppema {value}-ga.", + "containsErrorText": "Väärtus peab sisaldama {value}.", + "betweenErrorText": "Väärtus peab olema vahemikus {min} kuni {max}.", + "valueInListErrorText": "Väärtus peab olema lubatud väärtuste nimekirjas." +} diff --git a/lib/l10n/intl_fa.arb b/lib/l10n/intl_fa.arb index 856979bf..35f4aa51 100644 --- a/lib/l10n/intl_fa.arb +++ b/lib/l10n/intl_fa.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "این ورودی به یک تاریخ معتبر نیاز دارد.", "emailErrorText": "این ورودی به یک آدرس ایمیل معتبر نیاز دارد.", "equalErrorText": "مقدار این ورودی باید برابر با {value} باشد.", - "equalLengthErrorText": "طول مقدار باید برابر باشد {length}", + "equalLengthErrorText": "طول مقدار باید برابر باشد {length}.", "integerErrorText": "این ورودی به یک عدد صحیح معتبر نیاز دارد.", "ipErrorText": "این قسمت نیاز به یک IP معتبر دارد.", "matchErrorText": "مقدار با الگو مطابقت ندارد.", "maxErrorText": "مقدار باید برابر یا کمتر از {max} باشد.", - "maxLengthErrorText": "مقدار باید دارای طول بزرگتر یا برابر {maxLength} باشد.", - "maxWordsCountErrorText": "مقدار باید یک کلمات کمتر از یا مساوی با {maxWordsCount} داشته باشد", + "maxLengthErrorText": "طول مقدار باید کمتر یا برابر با {maxLength} باشد.", + "maxWordsCountErrorText": "مقدار باید تعداد کلمات کمتر یا مساوی با {maxWordsCount} داشته باشد.", "minErrorText": "مقدار باید برابر یا بیشتر از {min} باشد.", - "minLengthErrorText": "مقدار باید دارای طول بزرگتر یا برابر {minLength} باشد.", - "minWordsCountErrorText": "مقدار باید یک کلمات بیشتر از یا مساوی با {minWordsCount} داشته باشد", + "minLengthErrorText": "طول مقدار باید بیشتر یا برابر با {minLength} باشد.", + "minWordsCountErrorText": "مقدار باید تعداد کلمات بیشتر یا مساوی با {minWordsCount} داشته باشد.", "notEqualErrorText": "مقدار این ورودی نباید برابر با {value} باشد.", "numericErrorText": "مقدار باید عددی باشد.", - "requiredErrorText": "این ورودی نمی تواند خالی باشد.", - "urlErrorText": "این ورودی به آدرس اینترنتی معتبر نیاز دارد." -} \ No newline at end of file + "requiredErrorText": "این ورودی نمی‌تواند خالی باشد.", + "urlErrorText": "این ورودی به آدرس اینترنتی معتبر نیاز دارد.", + "phoneErrorText": "این ورودی به شماره تلفن معتبر نیاز دارد.", + "creditCardExpirationDateErrorText": "این ورودی به تاریخ انقضای معتبر کارت اعتباری نیاز دارد.", + "creditCardExpiredErrorText": "کارت اعتباری منقضی شده است.", + "creditCardCVCErrorText": "این ورودی به کد CVC معتبر کارت اعتباری نیاز دارد.", + "colorCodeErrorText": "این ورودی به کد رنگ معتبر نیاز دارد.", + "uppercaseErrorText": "این ورودی به حروف بزرگ نیاز دارد.", + "lowercaseErrorText": "این ورودی به حروف کوچک نیاز دارد.", + "fileExtensionErrorText": "این ورودی به پسوند فایل معتبر نیاز دارد.", + "fileSizeErrorText": "این فایل از حداکثر اندازه مجاز بیشتر است.", + "dateRangeErrorText": "تاریخ باید در محدوده مجاز باشد.", + "mustBeTrueErrorText": "این ورودی باید صحیح باشد.", + "mustBeFalseErrorText": "این ورودی باید نادرست باشد.", + "containsSpecialCharErrorText": "این ورودی باید دارای یک کاراکتر خاص باشد.", + "containsUppercaseCharErrorText": "این ورودی باید دارای یک حرف بزرگ باشد.", + "containsLowercaseCharErrorText": "این ورودی باید دارای یک حرف کوچک باشد.", + "containsNumberErrorText": "این ورودی باید دارای یک عدد باشد.", + "alphabeticalErrorText": "این ورودی باید فقط حروف الفبا را شامل شود.", + "uuidErrorText": "این ورودی به UUID معتبر نیاز دارد.", + "jsonErrorText": "این ورودی به JSON معتبر نیاز دارد.", + "latitudeErrorText": "این ورودی به عرض جغرافیایی معتبر نیاز دارد.", + "longitudeErrorText": "این ورودی به طول جغرافیایی معتبر نیاز دارد.", + "base64ErrorText": "این ورودی به رشته معتبر Base64 نیاز دارد.", + "pathErrorText": "این ورودی به مسیر معتبر نیاز دارد.", + "oddNumberErrorText": "این ورودی به یک عدد فرد نیاز دارد.", + "evenNumberErrorText": "این ورودی به یک عدد زوج نیاز دارد.", + "portNumberErrorText": "این ورودی به شماره پورت معتبر نیاز دارد.", + "macAddressErrorText": "این ورودی به آدرس MAC معتبر نیاز دارد.", + "startsWithErrorText": "مقدار باید با {value} شروع شود.", + "endsWithErrorText": "مقدار باید با {value} پایان یابد.", + "containsErrorText": "مقدار باید شامل {value} باشد.", + "betweenErrorText": "مقدار باید بین {min} و {max} باشد.", + "valueInListErrorText": "مقدار باید در لیست مقادیر مجاز باشد." +} diff --git a/lib/l10n/intl_fi.arb b/lib/l10n/intl_fi.arb index 0755fc8c..0d5ab208 100644 --- a/lib/l10n/intl_fi.arb +++ b/lib/l10n/intl_fi.arb @@ -1,22 +1,54 @@ { - "@@locale": "fi", - "creditCardErrorText": "Luottokortonumero on oltava oikeassa muodossa.", - "dateStringErrorText": "Päivämäärä ei ole oikessa muodossa.", - "emailErrorText": "Sähköpostiosoitteen muoto ei ole oikea.", - "equalErrorText": "Kentän vastattava arvoa {value}.", - "equalLengthErrorText": "Merkkijonon pituus on oltava {length}", - "integerErrorText": "Tarvitaan voimassa olevan kokonaisluku.", - "ipErrorText": "IP-osoitteen nuoto on annettava oikein.", - "matchErrorText": "Arvo ei vastaa muotovaatimuksia.", - "maxErrorText": "Arvon tulee olla pienempi tai yhtä suuri kuin {max}", - "maxLengthErrorText": "Merkkijonon pituuden tulee olla pienempi tai yhtä suuri kuin {maxLength}", - "maxWordsCountErrorText": "Sanamäärän tulee olla pienempi tai yhtä suuri kuin {maxWordsCount}", - "minErrorText": "Kentän arvon tulee olla suurempi tai yhtä suuri kuin {min}", - "minLengthErrorText": "Merkkijonon pituuden tulee olla suurempi tai yhtä suuri kuin {minLength}", - "minWordsCountErrorText": "Sanamäärän tulee olla suurempi tai yhtä suuri kuin {minWordsCount}", - "notEqualErrorText": "Tämän kentän arvo ei saa olla sama kuin {value}.", - "numericErrorText": "Arvon tulee olla numeerinen.", - "requiredErrorText": "Kenttä ei voi olla tyhjä.", - "urlErrorText": "Vaaditaan oikean muotoinen URL-osoite." - } - \ No newline at end of file + "@@locale": "fi", + "creditCardErrorText": "Luottokortin numero on oltava oikeassa muodossa.", + "dateStringErrorText": "Päivämäärä ei ole oikeassa muodossa.", + "emailErrorText": "Sähköpostiosoitteen muoto ei ole oikea.", + "equalErrorText": "Kentän on vastattava arvoa {value}.", + "equalLengthErrorText": "Merkkijonon pituus on oltava {length}.", + "integerErrorText": "Tarvitaan voimassa oleva kokonaisluku.", + "ipErrorText": "IP-osoitteen muoto on annettava oikein.", + "matchErrorText": "Arvo ei vastaa muotovaatimuksia.", + "maxErrorText": "Arvon tulee olla pienempi tai yhtä suuri kuin {max}.", + "maxLengthErrorText": "Merkkijonon pituuden tulee olla pienempi tai yhtä suuri kuin {maxLength}.", + "maxWordsCountErrorText": "Sanamäärän tulee olla pienempi tai yhtä suuri kuin {maxWordsCount}.", + "minErrorText": "Kentän arvon tulee olla suurempi tai yhtä suuri kuin {min}.", + "minLengthErrorText": "Merkkijonon pituuden tulee olla suurempi tai yhtä suuri kuin {minLength}.", + "minWordsCountErrorText": "Sanamäärän tulee olla suurempi tai yhtä suuri kuin {minWordsCount}.", + "notEqualErrorText": "Tämän kentän arvo ei saa olla sama kuin {value}.", + "numericErrorText": "Arvon tulee olla numeerinen.", + "requiredErrorText": "Kenttä ei voi olla tyhjä.", + "urlErrorText": "Vaaditaan oikean muotoinen URL-osoite.", + "phoneErrorText": "Vaaditaan oikean muotoinen puhelinnumero.", + "creditCardExpirationDateErrorText": "Vaaditaan voimassa oleva luottokortin voimassaoloaika.", + "creditCardExpiredErrorText": "Luottokortti on vanhentunut.", + "creditCardCVCErrorText": "Vaaditaan oikean muotoinen luottokortin CVC-koodi.", + "colorCodeErrorText": "Vaaditaan oikean muotoinen värikoodi.", + "uppercaseErrorText": "Kenttä vaatii isoja kirjaimia.", + "lowercaseErrorText": "Kenttä vaatii pieniä kirjaimia.", + "fileExtensionErrorText": "Vaaditaan oikean muotoinen tiedostopääte.", + "fileSizeErrorText": "Tiedosto ylittää sallitun enimmäiskoon.", + "dateRangeErrorText": "Päivämäärän on oltava sallitussa aikavälissä.", + "mustBeTrueErrorText": "Kentän on oltava tosi.", + "mustBeFalseErrorText": "Kentän on oltava epätosi.", + "containsSpecialCharErrorText": "Kentän on sisällettävä erikoismerkki.", + "containsUppercaseCharErrorText": "Kentän on sisällettävä iso kirjain.", + "containsLowercaseCharErrorText": "Kentän on sisällettävä pieni kirjain.", + "containsNumberErrorText": "Kentän on sisällettävä numero.", + "alphabeticalErrorText": "Kentän on sisällettävä vain kirjaimia.", + "uuidErrorText": "Vaaditaan oikean muotoinen UUID.", + "jsonErrorText": "Vaaditaan oikean muotoinen JSON.", + "latitudeErrorText": "Vaaditaan oikean muotoinen leveysaste.", + "longitudeErrorText": "Vaaditaan oikean muotoinen pituusaste.", + "base64ErrorText": "Vaaditaan oikean muotoinen Base64-merkkijono.", + "pathErrorText": "Vaaditaan oikean muotoinen polku.", + "oddNumberErrorText": "Kenttä vaatii parittoman luvun.", + "evenNumberErrorText": "Kenttä vaatii parillisen luvun.", + "portNumberErrorText": "Vaaditaan oikean muotoinen porttinumero.", + "macAddressErrorText": "Vaaditaan oikean muotoinen MAC-osoite.", + "startsWithErrorText": "Arvon on alettava merkillä {value}.", + "endsWithErrorText": "Arvon on loputtava merkkiin {value}.", + "containsErrorText": "Arvon on sisällettävä {value}.", + "betweenErrorText": "Arvon on oltava välillä {min} ja {max}.", + "valueInListErrorText": "Arvon on oltava sallittujen arvojen luettelossa." + } + \ No newline at end of file diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 5fcb8854..3a9f6333 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Ce champ nécessite une chaîne de date valide.", "emailErrorText": "Ce champ nécessite une adresse e-mail valide.", "equalErrorText": "Cette valeur de champ doit être égale à {value}.", - "equalLengthErrorText": "La valeur doit avoir une longueur égale à {length}", + "equalLengthErrorText": "La valeur doit avoir une longueur égale à {length}.", "integerErrorText": "Ce champ nécessite un entier valide.", "ipErrorText": "Ce champ nécessite une adresse IP valide.", "matchErrorText": "La valeur ne correspond pas au modèle.", - "maxErrorText": "La valeur doit être inférieure ou égale à {max}", - "maxLengthErrorText": "La valeur doit avoir une longueur inférieure ou égale à {maxLength}", - "maxWordsCountErrorText": "La valeur doit avoir un nombre de mots inférieur ou égal à {maxWordsCount}", + "maxErrorText": "La valeur doit être inférieure ou égale à {max}.", + "maxLengthErrorText": "La valeur doit avoir une longueur inférieure ou égale à {maxLength}.", + "maxWordsCountErrorText": "La valeur doit avoir un nombre de mots inférieur ou égal à {maxWordsCount}.", "minErrorText": "La valeur doit être supérieure ou égale à {min}.", - "minLengthErrorText": "La valeur doit avoir une longueur supérieure ou égale à {minLength}", - "minWordsCountErrorText": "La valeur doit avoir un nombre de mots supérieur ou égal à {minWordsCount}", + "minLengthErrorText": "La valeur doit avoir une longueur supérieure ou égale à {minLength}.", + "minWordsCountErrorText": "La valeur doit avoir un nombre de mots supérieur ou égal à {minWordsCount}.", "notEqualErrorText": "Cette valeur de champ ne doit pas être égale à {value}.", "numericErrorText": "La valeur doit être numérique.", "requiredErrorText": "Ce champ ne peut pas être vide.", - "urlErrorText": "Ce champ nécessite une adresse URL valide." -} \ No newline at end of file + "urlErrorText": "Ce champ nécessite une adresse URL valide.", + "phoneErrorText": "Ce champ nécessite un numéro de téléphone valide.", + "creditCardExpirationDateErrorText": "Ce champ nécessite une date d'expiration valide pour la carte de crédit.", + "creditCardExpiredErrorText": "La carte de crédit a expiré.", + "creditCardCVCErrorText": "Ce champ nécessite un code CVC valide pour la carte de crédit.", + "colorCodeErrorText": "Ce champ nécessite un code couleur valide.", + "uppercaseErrorText": "Ce champ nécessite des lettres majuscules.", + "lowercaseErrorText": "Ce champ nécessite des lettres minuscules.", + "fileExtensionErrorText": "Ce champ nécessite une extension de fichier valide.", + "fileSizeErrorText": "Ce fichier dépasse la taille maximale autorisée.", + "dateRangeErrorText": "La date doit être dans l'intervalle autorisé.", + "mustBeTrueErrorText": "Ce champ doit être vrai.", + "mustBeFalseErrorText": "Ce champ doit être faux.", + "containsSpecialCharErrorText": "Ce champ doit contenir un caractère spécial.", + "containsUppercaseCharErrorText": "Ce champ doit contenir une lettre majuscule.", + "containsLowercaseCharErrorText": "Ce champ doit contenir une lettre minuscule.", + "containsNumberErrorText": "Ce champ doit contenir un chiffre.", + "alphabeticalErrorText": "Ce champ doit contenir uniquement des lettres.", + "uuidErrorText": "Ce champ nécessite un UUID valide.", + "jsonErrorText": "Ce champ nécessite un JSON valide.", + "latitudeErrorText": "Ce champ nécessite une latitude valide.", + "longitudeErrorText": "Ce champ nécessite une longitude valide.", + "base64ErrorText": "Ce champ nécessite une chaîne Base64 valide.", + "pathErrorText": "Ce champ nécessite un chemin valide.", + "oddNumberErrorText": "Ce champ nécessite un nombre impair.", + "evenNumberErrorText": "Ce champ nécessite un nombre pair.", + "portNumberErrorText": "Ce champ nécessite un numéro de port valide.", + "macAddressErrorText": "Ce champ nécessite une adresse MAC valide.", + "startsWithErrorText": "La valeur doit commencer par {value}.", + "endsWithErrorText": "La valeur doit se terminer par {value}.", + "containsErrorText": "La valeur doit contenir {value}.", + "betweenErrorText": "La valeur doit être comprise entre {min} et {max}.", + "valueInListErrorText": "La valeur doit être dans la liste des valeurs autorisées." +} diff --git a/lib/l10n/intl_he.arb b/lib/l10n/intl_he.arb index bab33415..5d3da3e8 100644 --- a/lib/l10n/intl_he.arb +++ b/lib/l10n/intl_he.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "שדה זה דורש מחרוזת תאריך תקינה.", "emailErrorText": "שדה זה דורש כתובת דוא\"ל תקינה.", "equalErrorText": "ערך זה חייב להיות שווה ל {value}.", - "equalLengthErrorText": "ערך זה חייב להיות באורך שווה ל {length}", + "equalLengthErrorText": "ערך זה חייב להיות באורך שווה ל {length}.", "integerErrorText": "שדה זה דורש מספר שלם תקין.", "ipErrorText": "שדה זה דורש כתובת IP תקינה.", "matchErrorText": "ערך זה אינו תואם לתבנית.", - "maxErrorText": "ערך זה חייב להיות קטן או שווה ל {max}", - "maxLengthErrorText": "ערך זה חייב להיות באורך קטן או שווה ל {maxLength}", - "maxWordsCountErrorText": "ערך זה חייב להיות באורך מילים קטן או שווה ל {maxWordsCount}", - "minErrorText": "ערך זה חייב להיות גדול או שווה ל {min}", - "minLengthErrorText": "ערך זה חייב להיות באורך גדול או שווה ל {minLength}", - "minWordsCountErrorText": "ערך זה חייב להיות באורך מילים גדול או שווה ל {minWordsCount}", + "maxErrorText": "ערך זה חייב להיות קטן או שווה ל {max}.", + "maxLengthErrorText": "ערך זה חייב להיות באורך קטן או שווה ל {maxLength}.", + "maxWordsCountErrorText": "ערך זה חייב להיות באורך מילים קטן או שווה ל {maxWordsCount}.", + "minErrorText": "ערך זה חייב להיות גדול או שווה ל {min}.", + "minLengthErrorText": "ערך זה חייב להיות באורך גדול או שווה ל {minLength}.", + "minWordsCountErrorText": "ערך זה חייב להיות באורך מילים גדול או שווה ל {minWordsCount}.", "notEqualErrorText": "ערך זה חייב להיות שונה מ {value}.", "numericErrorText": "ערך זה חייב להיות מספרי.", "requiredErrorText": "שדה זה אינו יכול להיות ריק.", - "urlErrorText": "שדה זה דורש כתובת URL תקינה." -} \ No newline at end of file + "urlErrorText": "שדה זה דורש כתובת URL תקינה.", + "phoneErrorText": "שדה זה דורש מספר טלפון תקין.", + "creditCardExpirationDateErrorText": "שדה זה דורש תאריך תפוגה תקין לכרטיס האשראי.", + "creditCardExpiredErrorText": "כרטיס האשראי פג תוקף.", + "creditCardCVCErrorText": "שדה זה דורש קוד CVC תקין לכרטיס האשראי.", + "colorCodeErrorText": "שדה זה דורש קוד צבע תקין.", + "uppercaseErrorText": "שדה זה דורש אותיות רישיות.", + "lowercaseErrorText": "שדה זה דורש אותיות קטנות.", + "fileExtensionErrorText": "שדה זה דורש סיומת קובץ תקינה.", + "fileSizeErrorText": "קובץ זה חורג מהגודל המותר.", + "dateRangeErrorText": "התאריך חייב להיות בטווח המותר.", + "mustBeTrueErrorText": "שדה זה חייב להיות נכון.", + "mustBeFalseErrorText": "שדה זה חייב להיות שגוי.", + "containsSpecialCharErrorText": "שדה זה חייב להכיל תו מיוחד.", + "containsUppercaseCharErrorText": "שדה זה חייב להכיל אות רישית.", + "containsLowercaseCharErrorText": "שדה זה חייב להכיל אות קטנה.", + "containsNumberErrorText": "שדה זה חייב להכיל מספר.", + "alphabeticalErrorText": "שדה זה חייב להכיל אותיות בלבד.", + "uuidErrorText": "שדה זה דורש UUID תקין.", + "jsonErrorText": "שדה זה דורש JSON תקין.", + "latitudeErrorText": "שדה זה דורש קו רוחב תקין.", + "longitudeErrorText": "שדה זה דורש קו אורך תקין.", + "base64ErrorText": "שדה זה דורש מחרוזת Base64 תקינה.", + "pathErrorText": "שדה זה דורש נתיב תקין.", + "oddNumberErrorText": "שדה זה דורש מספר אי זוגי.", + "evenNumberErrorText": "שדה זה דורש מספר זוגי.", + "portNumberErrorText": "שדה זה דורש מספר פורט תקין.", + "macAddressErrorText": "שדה זה דורש כתובת MAC תקינה.", + "startsWithErrorText": "הערך חייב להתחיל עם {value}.", + "endsWithErrorText": "הערך חייב להסתיים עם {value}.", + "containsErrorText": "הערך חייב להכיל את {value}.", + "betweenErrorText": "הערך חייב להיות בין {min} לבין {max}.", + "valueInListErrorText": "הערך חייב להיות ברשימת הערכים המותרים." +} diff --git a/lib/l10n/intl_hr.arb b/lib/l10n/intl_hr.arb index fdba8503..b325e2d6 100644 --- a/lib/l10n/intl_hr.arb +++ b/lib/l10n/intl_hr.arb @@ -8,14 +8,46 @@ "integerErrorText": "Vrijednost mora biti cijeli broj.", "ipErrorText": "Unesite validnu IP adresu.", "matchErrorText": "Vrijednost ne odgovara uzorku.", - "maxErrorText": "Vrijednost mora biti manja ili jednaka {max}", + "maxErrorText": "Vrijednost mora biti manja ili jednaka {max}.", "maxLengthErrorText": "Vrijednost mora biti kraća ili jednaka {maxLength} znakova.", - "maxWordsCountErrorText": "Vrijednost mora imati riječi manje od ili jednake {maxWordsCount}", + "maxWordsCountErrorText": "Vrijednost mora imati riječi manje od ili jednake {maxWordsCount}.", "minErrorText": "Vrijednost mora biti veća ili jednaka {min}.", "minLengthErrorText": "Vrijednost mora biti duža ili jednaka {minLength} znakova.", - "minWordsCountErrorText": "Vrijednost mora imati broj riječi veći ili jednak {minWordsCount}", + "minWordsCountErrorText": "Vrijednost mora imati broj riječi veći ili jednak {minWordsCount}.", "notEqualErrorText": "Vrijednost ne smije biti jednaka {value}.", "numericErrorText": "Vrijednost mora biti brojčana.", "requiredErrorText": "Ovo polje ne smije biti prazno.", - "urlErrorText": "Unesite validnu URL adresu." -} \ No newline at end of file + "urlErrorText": "Unesite validnu URL adresu.", + "phoneErrorText": "Unesite validan telefonski broj.", + "creditCardExpirationDateErrorText": "Unesite validan datum isteka kreditne kartice.", + "creditCardExpiredErrorText": "Kreditna kartica je istekla.", + "creditCardCVCErrorText": "Unesite validan CVC kod kreditne kartice.", + "colorCodeErrorText": "Unesite validan kod boje.", + "uppercaseErrorText": "Ovo polje zahtijeva velika slova.", + "lowercaseErrorText": "Ovo polje zahtijeva mala slova.", + "fileExtensionErrorText": "Unesite validnu ekstenziju fajla.", + "fileSizeErrorText": "Ovaj fajl premašuje maksimalnu dozvoljenu veličinu.", + "dateRangeErrorText": "Datum mora biti u dozvoljenom rasponu.", + "mustBeTrueErrorText": "Ovo polje mora biti istinito.", + "mustBeFalseErrorText": "Ovo polje mora biti lažno.", + "containsSpecialCharErrorText": "Ovo polje mora sadržavati poseban znak.", + "containsUppercaseCharErrorText": "Ovo polje mora sadržavati jedno veliko slovo.", + "containsLowercaseCharErrorText": "Ovo polje mora sadržavati jedno malo slovo.", + "containsNumberErrorText": "Ovo polje mora sadržavati jedan broj.", + "alphabeticalErrorText": "Ovo polje mora sadržavati samo slova.", + "uuidErrorText": "Unesite validan UUID.", + "jsonErrorText": "Unesite validan JSON.", + "latitudeErrorText": "Unesite validnu geografsku širinu.", + "longitudeErrorText": "Unesite validnu geografsku dužinu.", + "base64ErrorText": "Unesite validan Base64 string.", + "pathErrorText": "Unesite validnu putanju.", + "oddNumberErrorText": "Ovo polje zahtijeva neparan broj.", + "evenNumberErrorText": "Ovo polje zahtijeva paran broj.", + "portNumberErrorText": "Unesite validan broj porta.", + "macAddressErrorText": "Unesite validnu MAC adresu.", + "startsWithErrorText": "Vrijednost mora početi sa {value}.", + "endsWithErrorText": "Vrijednost mora završiti sa {value}.", + "containsErrorText": "Vrijednost mora sadržavati {value}.", + "betweenErrorText": "Vrijednost mora biti između {min} i {max}.", + "valueInListErrorText": "Vrijednost mora biti na listi dopuštenih vrijednosti." +} diff --git a/lib/l10n/intl_hu.arb b/lib/l10n/intl_hu.arb index 429587a6..ef4ffef3 100644 --- a/lib/l10n/intl_hu.arb +++ b/lib/l10n/intl_hu.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Ennek a mezőnek dátumnak kell lennie.", "emailErrorText": "A megadott érték nem egy érvényes email cím.", "equalErrorText": "Ennek a mezőértéknek meg kell egyeznie {value}.", - "equalLengthErrorText": "Az értéknek hosszúnak kell lennie {length}", + "equalLengthErrorText": "Az értéknek hosszúnak kell lennie {length}.", "integerErrorText": "Ez a mező érvényes egész számot igényel.", "ipErrorText": "A megadott érték nem egy érvényes IP cím.", "matchErrorText": "A megadott érték nem egyezik a szükséges formátummal.", - "maxErrorText": "Az érték legyen legfeljebb {max}", - "maxLengthErrorText": "Value must have a length less than or equal to {maxLength}", - "maxWordsCountErrorText": "Az értéknek olyan szavakkal kell rendelkeznie, amelyeknél kevesebb vagy egyenlő a {maxWordsCount}", + "maxErrorText": "Az érték legyen legfeljebb {max}.", + "maxLengthErrorText": "Az érték hossza legfeljebb {maxLength} lehet.", + "maxWordsCountErrorText": "Az érték szavainak száma kevesebb vagy egyenlő kell legyen, mint {maxWordsCount}.", "minErrorText": "Az érték legyen legalább {min}.", - "minLengthErrorText": "Az értéknel legalább {minLength} karakter hosszúnak kell lennie", - "minWordsCountErrorText": "Az értéknek olyan szavakkal kell rendelkeznie, amelyeknél nagyobb vagy egyenlő a {minWordsCount}", + "minLengthErrorText": "Az érték hossza legalább {minLength} karakter kell legyen.", + "minWordsCountErrorText": "Az érték szavainak száma nagyobb vagy egyenlő kell legyen, mint {minWordsCount}.", "notEqualErrorText": "Ez a mezőérték nem lehet egyenlő {value}.", "numericErrorText": "Ebbe a mezőbe csak számot lehet írni.", "requiredErrorText": "Ennek a mezőnek értéket kell adni.", - "urlErrorText": "A megadott érték nem egy érvényes URL cím." + "urlErrorText": "A megadott érték nem egy érvényes URL cím.", + "phoneErrorText": "A megadott érték nem egy érvényes telefonszám.", + "creditCardExpirationDateErrorText": "Ez a mező érvényes bankkártya lejárati dátumot igényel.", + "creditCardExpiredErrorText": "A bankkártya lejárt.", + "creditCardCVCErrorText": "Ez a mező érvényes bankkártya CVC kódot igényel.", + "colorCodeErrorText": "Ez a mező érvényes színkódot igényel.", + "uppercaseErrorText": "Ez a mező nagybetűket igényel.", + "lowercaseErrorText": "Ez a mező kisbetűket igényel.", + "fileExtensionErrorText": "Ez a mező érvényes fájlkiterjesztést igényel.", + "fileSizeErrorText": "Ez a fájl meghaladja a maximálisan megengedett méretet.", + "dateRangeErrorText": "A dátumnak a megengedett tartományon belül kell lennie.", + "mustBeTrueErrorText": "Ennek a mezőnek igaznak kell lennie.", + "mustBeFalseErrorText": "Ennek a mezőnek hamisnak kell lennie.", + "containsSpecialCharErrorText": "Ennek a mezőnek speciális karaktert kell tartalmaznia.", + "containsUppercaseCharErrorText": "Ennek a mezőnek nagybetűt kell tartalmaznia.", + "containsLowercaseCharErrorText": "Ennek a mezőnek kisbetűt kell tartalmaznia.", + "containsNumberErrorText": "Ennek a mezőnek számot kell tartalmaznia.", + "alphabeticalErrorText": "Ennek a mezőnek csak betűket kell tartalmaznia.", + "uuidErrorText": "Ez a mező érvényes UUID-t igényel.", + "jsonErrorText": "Ez a mező érvényes JSON-t igényel.", + "latitudeErrorText": "Ez a mező érvényes szélességi fokot igényel.", + "longitudeErrorText": "Ez a mező érvényes hosszúsági fokot igényel.", + "base64ErrorText": "Ez a mező érvényes Base64 karakterláncot igényel.", + "pathErrorText": "Ez a mező érvényes elérési utat igényel.", + "oddNumberErrorText": "Ez a mező páratlan számot igényel.", + "evenNumberErrorText": "Ez a mező páros számot igényel.", + "portNumberErrorText": "Ez a mező érvényes portszámot igényel.", + "macAddressErrorText": "Ez a mező érvényes MAC címet igényel.", + "startsWithErrorText": "Az értéknek {value}-val/vel kell kezdődnie.", + "endsWithErrorText": "Az értéknek {value}-val/vel kell végződnie.", + "containsErrorText": "Az értéknek tartalmaznia kell {value}-t.", + "betweenErrorText": "Az értéknek {min} és {max} között kell lennie.", + "valueInListErrorText": "Az értéknek az engedélyezett értékek listájában kell lennie." } diff --git a/lib/l10n/intl_id.arb b/lib/l10n/intl_id.arb index 8d4ea214..730ec549 100644 --- a/lib/l10n/intl_id.arb +++ b/lib/l10n/intl_id.arb @@ -1,21 +1,53 @@ { "@@locale": "id", "creditCardErrorText": "Nomor kartu kredit tidak valid.", - "dateStringErrorText": "Tanggal tidak valid", + "dateStringErrorText": "Tanggal tidak valid.", "emailErrorText": "Alamat email tidak valid.", "equalErrorText": "Nilai bidang ini harus sama dengan {value}.", - "equalLengthErrorText": "Nilai harus memiliki panjang yang sama dengan {length}", + "equalLengthErrorText": "Nilai harus memiliki panjang yang sama dengan {length}.", "integerErrorText": "Nilai harus berupa bilangan bulat.", "ipErrorText": "Alamat IP tidak valid.", "matchErrorText": "Nilai tidak cocok dengan pola.", - "maxErrorText": "Nilai harus kurang dari atau sama dengan {max}", - "maxLengthErrorText": "Panjang karakter harus kurang dari atau sama dengan {maxLength}", - "maxWordsCountErrorText": "Nilai harus memiliki jumlah kata kurang dari atau sama dengan {maxWordsCount}", + "maxErrorText": "Nilai harus kurang dari atau sama dengan {max}.", + "maxLengthErrorText": "Panjang karakter harus kurang dari atau sama dengan {maxLength}.", + "maxWordsCountErrorText": "Nilai harus memiliki jumlah kata kurang dari atau sama dengan {maxWordsCount}.", "minErrorText": "Nilai harus lebih besar dari atau sama dengan {min}.", - "minLengthErrorText": "Panjang karakter harus lebih besar dari atau sama dengan {minLength}", - "minWordsCountErrorText": "Nilai harus memiliki kata yang diperhitungkan lebih besar dari atau sama dengan {minWordsCount}", + "minLengthErrorText": "Panjang karakter harus lebih besar dari atau sama dengan {minLength}.", + "minWordsCountErrorText": "Nilai harus memiliki kata yang diperhitungkan lebih besar dari atau sama dengan {minWordsCount}.", "notEqualErrorText": "Nilai bidang ini tidak boleh sama dengan {value}.", "numericErrorText": "Nilai harus berupa angka.", "requiredErrorText": "Bidang ini tidak boleh kosong.", - "urlErrorText": "URL tidak valid" -} \ No newline at end of file + "urlErrorText": "URL tidak valid.", + "phoneErrorText": "Nomor telepon tidak valid.", + "creditCardExpirationDateErrorText": "Tanggal kedaluwarsa kartu kredit tidak valid.", + "creditCardExpiredErrorText": "Kartu kredit telah kedaluwarsa.", + "creditCardCVCErrorText": "Kode CVC kartu kredit tidak valid.", + "colorCodeErrorText": "Kode warna tidak valid.", + "uppercaseErrorText": "Bidang ini memerlukan huruf besar.", + "lowercaseErrorText": "Bidang ini memerlukan huruf kecil.", + "fileExtensionErrorText": "Ekstensi file tidak valid.", + "fileSizeErrorText": "Ukuran file melebihi batas maksimum yang diizinkan.", + "dateRangeErrorText": "Tanggal harus berada dalam rentang yang diizinkan.", + "mustBeTrueErrorText": "Bidang ini harus benar.", + "mustBeFalseErrorText": "Bidang ini harus salah.", + "containsSpecialCharErrorText": "Bidang ini harus mengandung karakter khusus.", + "containsUppercaseCharErrorText": "Bidang ini harus mengandung huruf besar.", + "containsLowercaseCharErrorText": "Bidang ini harus mengandung huruf kecil.", + "containsNumberErrorText": "Bidang ini harus mengandung angka.", + "alphabeticalErrorText": "Bidang ini harus hanya mengandung huruf.", + "uuidErrorText": "UUID tidak valid.", + "jsonErrorText": "JSON tidak valid.", + "latitudeErrorText": "Garis lintang tidak valid.", + "longitudeErrorText": "Garis bujur tidak valid.", + "base64ErrorText": "String Base64 tidak valid.", + "pathErrorText": "Path tidak valid.", + "oddNumberErrorText": "Bidang ini memerlukan angka ganjil.", + "evenNumberErrorText": "Bidang ini memerlukan angka genap.", + "portNumberErrorText": "Nomor port tidak valid.", + "macAddressErrorText": "Alamat MAC tidak valid.", + "startsWithErrorText": "Nilai harus dimulai dengan {value}.", + "endsWithErrorText": "Nilai harus diakhiri dengan {value}.", + "containsErrorText": "Nilai harus mengandung {value}.", + "betweenErrorText": "Nilai harus antara {min} dan {max}.", + "valueInListErrorText": "Nilai harus ada dalam daftar nilai yang diizinkan." +} diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index b23deaa8..099659aa 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Questo campo richiede una data valida.", "emailErrorText": "Questo campo richiede un indirizzo email valido.", "equalErrorText": "Il valore di questo campo deve essere uguale a {value}.", - "equalLengthErrorText": "Il valore deve avere una lunghezza uguale a {length}", - "integerErrorText": "Il valore deve essere un integer.", + "equalLengthErrorText": "Il valore deve avere una lunghezza uguale a {length}.", + "integerErrorText": "Il valore deve essere un numero intero.", "ipErrorText": "Questo campo richiede un indirizzo IP valido.", "matchErrorText": "Il valore non corrisponde al formato richiesto.", - "maxErrorText": "Il valore inserito deve essere minore o uguale a {max}", - "maxLengthErrorText": "Il valore inserito deve avere una lunghezza minore o uguale a {maxLength}", - "maxWordsCountErrorText": "Il valore deve avere un conteggio di parole inferiore o uguale a {maxWordsCount}", + "maxErrorText": "Il valore inserito deve essere minore o uguale a {max}.", + "maxLengthErrorText": "Il valore inserito deve avere una lunghezza minore o uguale a {maxLength}.", + "maxWordsCountErrorText": "Il valore deve avere un conteggio di parole inferiore o uguale a {maxWordsCount}.", "minErrorText": "Il valore inserito deve essere maggiore o uguale a {min}.", - "minLengthErrorText": "Il valore inserito deve avere una lunghezza maggiore o uguale a {minLength}", - "minWordsCountErrorText": "Il valore deve avere un conteggio di parole maggiore o uguale a {minWordsCount}", + "minLengthErrorText": "Il valore inserito deve avere una lunghezza maggiore o uguale a {minLength}.", + "minWordsCountErrorText": "Il valore deve avere un conteggio di parole maggiore o uguale a {minWordsCount}.", "notEqualErrorText": "Questo valore di campo non deve essere uguale a {value}.", "numericErrorText": "Il valore deve essere numerico.", "requiredErrorText": "Questo campo non può essere vuoto.", - "urlErrorText": "Questo campo richiede una URL valida." + "urlErrorText": "Questo campo richiede una URL valida.", + "phoneErrorText": "Questo campo richiede un numero di telefono valido.", + "creditCardExpirationDateErrorText": "Questo campo richiede una data di scadenza della carta di credito valida.", + "creditCardExpiredErrorText": "La carta di credito è scaduta.", + "creditCardCVCErrorText": "Questo campo richiede un codice CVC della carta di credito valido.", + "colorCodeErrorText": "Questo campo richiede un codice colore valido.", + "uppercaseErrorText": "Questo campo richiede lettere maiuscole.", + "lowercaseErrorText": "Questo campo richiede lettere minuscole.", + "fileExtensionErrorText": "Questo campo richiede un'estensione del file valida.", + "fileSizeErrorText": "Questo file supera la dimensione massima consentita.", + "dateRangeErrorText": "La data deve essere compresa nell'intervallo consentito.", + "mustBeTrueErrorText": "Questo campo deve essere vero.", + "mustBeFalseErrorText": "Questo campo deve essere falso.", + "containsSpecialCharErrorText": "Questo campo deve contenere un carattere speciale.", + "containsUppercaseCharErrorText": "Questo campo deve contenere una lettera maiuscola.", + "containsLowercaseCharErrorText": "Questo campo deve contenere una lettera minuscola.", + "containsNumberErrorText": "Questo campo deve contenere un numero.", + "alphabeticalErrorText": "Questo campo deve contenere solo lettere.", + "uuidErrorText": "Questo campo richiede un UUID valido.", + "jsonErrorText": "Questo campo richiede un JSON valido.", + "latitudeErrorText": "Questo campo richiede una latitudine valida.", + "longitudeErrorText": "Questo campo richiede una longitudine valida.", + "base64ErrorText": "Questo campo richiede una stringa Base64 valida.", + "pathErrorText": "Questo campo richiede un percorso valido.", + "oddNumberErrorText": "Questo campo richiede un numero dispari.", + "evenNumberErrorText": "Questo campo richiede un numero pari.", + "portNumberErrorText": "Questo campo richiede un numero di porta valido.", + "macAddressErrorText": "Questo campo richiede un indirizzo MAC valido.", + "startsWithErrorText": "Il valore deve iniziare con {value}.", + "endsWithErrorText": "Il valore deve terminare con {value}.", + "containsErrorText": "Il valore deve contenere {value}.", + "betweenErrorText": "Il valore deve essere compreso tra {min} e {max}.", + "valueInListErrorText": "Il valore deve essere presente nell'elenco dei valori consentiti." } diff --git a/lib/l10n/intl_ja.arb b/lib/l10n/intl_ja.arb index f4130fa1..a96af959 100644 --- a/lib/l10n/intl_ja.arb +++ b/lib/l10n/intl_ja.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "正しい日付を入力してください。", "emailErrorText": "有効なメールアドレスを入力してください。", "equalErrorText": "{value}に一致していません。", - "equalLengthErrorText": "{length}値の長さは等しい必要があります ", + "equalLengthErrorText": "値の長さは{length}と等しい必要があります。", "integerErrorText": "整数で入力してください。", "ipErrorText": "有効なIPアドレスを入力してください。", - "matchErrorText": "有効な正規表現を指定してください。", - "maxErrorText": "{max}以下にしてください。", - "maxLengthErrorText": "{maxLength}文字以下で入力してください。", - "maxWordsCountErrorText": "値には、単語が{maxWordsCount}以下にカウントされる必要があります", - "minErrorText": "{min}以上にしてください。", - "minLengthErrorText": "{minLength}文字以上で入力してください。", - "minWordsCountErrorText": "値は、{minWordsCount}以上の単語をカウントする必要があります", - "notEqualErrorText": "{value}と違うものにしてください。", - "numericErrorText": "半角数字で入力してください。", - "requiredErrorText": "必須項目です。", - "urlErrorText": "有効なURLを入力してください。" -} \ No newline at end of file + "matchErrorText": "値が正規表現と一致しません。", + "maxErrorText": "値は{max}以下にしてください。", + "maxLengthErrorText": "値は{maxLength}文字以下で入力してください。", + "maxWordsCountErrorText": "値の単語数は{maxWordsCount}以下にしてください。", + "minErrorText": "値は{min}以上にしてください。", + "minLengthErrorText": "値は{minLength}文字以上で入力してください。", + "minWordsCountErrorText": "値の単語数は{minWordsCount}以上にしてください。", + "notEqualErrorText": "値は{value}と異なる必要があります。", + "numericErrorText": "値は数字で入力してください。", + "requiredErrorText": "このフィールドは必須です。", + "urlErrorText": "有効なURLを入力してください。", + "phoneErrorText": "有効な電話番号を入力してください。", + "creditCardExpirationDateErrorText": "有効なクレジットカードの有効期限を入力してください。", + "creditCardExpiredErrorText": "クレジットカードの有効期限が切れています。", + "creditCardCVCErrorText": "有効なクレジットカードのCVCコードを入力してください。", + "colorCodeErrorText": "有効なカラーコードを入力してください。", + "uppercaseErrorText": "値は大文字で入力してください。", + "lowercaseErrorText": "値は小文字で入力してください。", + "fileExtensionErrorText": "有効なファイル拡張子を入力してください。", + "fileSizeErrorText": "ファイルサイズが最大許容サイズを超えています。", + "dateRangeErrorText": "日付は許可された範囲内である必要があります。", + "mustBeTrueErrorText": "このフィールドはtrueでなければなりません。", + "mustBeFalseErrorText": "このフィールドはfalseでなければなりません。", + "containsSpecialCharErrorText": "このフィールドには特殊文字を含める必要があります。", + "containsUppercaseCharErrorText": "このフィールドには大文字を含める必要があります。", + "containsLowercaseCharErrorText": "このフィールドには小文字を含める必要があります。", + "containsNumberErrorText": "このフィールドには数字を含める必要があります。", + "alphabeticalErrorText": "このフィールドはアルファベットのみを含める必要があります。", + "uuidErrorText": "有効なUUIDを入力してください。", + "jsonErrorText": "有効なJSONを入力してください。", + "latitudeErrorText": "有効な緯度を入力してください。", + "longitudeErrorText": "有効な経度を入力してください。", + "base64ErrorText": "有効なBase64文字列を入力してください。", + "pathErrorText": "有効なパスを入力してください。", + "oddNumberErrorText": "値は奇数でなければなりません。", + "evenNumberErrorText": "値は偶数でなければなりません。", + "portNumberErrorText": "有効なポート番号を入力してください。", + "macAddressErrorText": "有効なMACアドレスを入力してください。", + "startsWithErrorText": "値は{value}で始まる必要があります。", + "endsWithErrorText": "値は{value}で終わる必要があります。", + "containsErrorText": "値は{value}を含む必要があります。", + "betweenErrorText": "値は{min}から{max}の間である必要があります。", + "valueInListErrorText": "値は許可された値のリストに含まれている必要があります。" +} diff --git a/lib/l10n/intl_ko.arb b/lib/l10n/intl_ko.arb index 665c1bdd..75197858 100644 --- a/lib/l10n/intl_ko.arb +++ b/lib/l10n/intl_ko.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "날짜 형식이 올바르지 않습니다.", "emailErrorText": "이메일 주소 형식이 올바르지 않습니다.", "equalErrorText": "이 필드의 값은 반드시 {value}와 같아야 합니다.", - "equalLengthErrorText": "값은 {length}와 같은 길이를 가져야합니다.", + "equalLengthErrorText": "값은 {length}와 같은 길이를 가져야 합니다.", "integerErrorText": "정수만 입력 가능합니다.", "ipErrorText": "유효한 IP를 입력해 주세요.", "matchErrorText": "필드의 값이 패턴과 맞지 않습니다.", "maxErrorText": "이 필드의 값은 반드시 {max} 이하이어야 합니다.", "maxLengthErrorText": "이 필드는 반드시 {maxLength}자 이하이어야 합니다.", - "maxWordsCountErrorText": "값은 {maxWordsCount}보다 작거나 같은 단어를 가져야합니다.", + "maxWordsCountErrorText": "값은 {maxWordsCount}보다 작거나 같은 단어를 가져야 합니다.", "minErrorText": "이 필드의 값은 반드시 {min} 이상이어야 합니다.", "minLengthErrorText": "이 필드는 반드시 {minLength}자 이상이어야 합니다.", - "minWordsCountErrorText": "값은 {minWordsCount}보다 큰 단어 수를 가져야합니다.", + "minWordsCountErrorText": "값은 {minWordsCount}보다 큰 단어 수를 가져야 합니다.", "notEqualErrorText": "이 필드의 값은 반드시 {value}와 달라야 합니다.", "numericErrorText": "숫자만 입력 가능합니다.", "requiredErrorText": "이 필드는 반드시 입력해야 합니다.", - "urlErrorText": "URL 형식이 올바르지 않습니다." -} \ No newline at end of file + "urlErrorText": "URL 형식이 올바르지 않습니다.", + "phoneErrorText": "유효한 전화번호를 입력해 주세요.", + "creditCardExpirationDateErrorText": "유효한 신용카드 만료일을 입력해 주세요.", + "creditCardExpiredErrorText": "신용카드의 유효기간이 만료되었습니다.", + "creditCardCVCErrorText": "유효한 신용카드 CVC 코드를 입력해 주세요.", + "colorCodeErrorText": "유효한 색상 코드를 입력해 주세요.", + "uppercaseErrorText": "이 필드는 대문자를 포함해야 합니다.", + "lowercaseErrorText": "이 필드는 소문자를 포함해야 합니다.", + "fileExtensionErrorText": "유효한 파일 확장자를 입력해 주세요.", + "fileSizeErrorText": "파일 크기가 최대 허용 크기를 초과했습니다.", + "dateRangeErrorText": "날짜는 허용된 범위 내에 있어야 합니다.", + "mustBeTrueErrorText": "이 필드는 true여야 합니다.", + "mustBeFalseErrorText": "이 필드는 false여야 합니다.", + "containsSpecialCharErrorText": "이 필드는 특수 문자를 포함해야 합니다.", + "containsUppercaseCharErrorText": "이 필드는 대문자를 포함해야 합니다.", + "containsLowercaseCharErrorText": "이 필드는 소문자를 포함해야 합니다.", + "containsNumberErrorText": "이 필드는 숫자를 포함해야 합니다.", + "alphabeticalErrorText": "이 필드는 문자만 포함해야 합니다.", + "uuidErrorText": "유효한 UUID를 입력해 주세요.", + "jsonErrorText": "유효한 JSON을 입력해 주세요.", + "latitudeErrorText": "유효한 위도를 입력해 주세요.", + "longitudeErrorText": "유효한 경도를 입력해 주세요.", + "base64ErrorText": "유효한 Base64 문자열을 입력해 주세요.", + "pathErrorText": "유효한 경로를 입력해 주세요.", + "oddNumberErrorText": "이 필드는 홀수여야 합니다.", + "evenNumberErrorText": "이 필드는 짝수여야 합니다.", + "portNumberErrorText": "유효한 포트 번호를 입력해 주세요.", + "macAddressErrorText": "유효한 MAC 주소를 입력해 주세요.", + "startsWithErrorText": "값은 {value}로 시작해야 합니다.", + "endsWithErrorText": "값은 {value}로 끝나야 합니다.", + "containsErrorText": "값은 {value}를 포함해야 합니다.", + "betweenErrorText": "값은 {min}와 {max} 사이여야 합니다.", + "valueInListErrorText": "값은 허용된 값 목록에 있어야 합니다." +} diff --git a/lib/l10n/intl_lo.arb b/lib/l10n/intl_lo.arb index 1cf5ec8b..3b376b17 100644 --- a/lib/l10n/intl_lo.arb +++ b/lib/l10n/intl_lo.arb @@ -2,20 +2,52 @@ "@@locale": "lo", "creditCardErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງເລກບັດເຄຣດິດ.", "dateStringErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງວັນທີ.", - "emailErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງ ອີເມວ໌.", + "emailErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງອີເມວ.", "equalErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງເທົ່າກັບ {value}.", - "equalLengthErrorText": "ມູນຄ່າຕ້ອງມີຄວາມຍາວເທົ່າກັບ {length}", + "equalLengthErrorText": "ມູນຄ່າຕ້ອງມີຄວາມຍາວເທົ່າກັບ {length}.", "integerErrorText": "ຄ່າທີ່ປ້ອນໃສ່ຕ້ອງເປັນໂຕເລກຖ້ວນເທົ່ານັ້ນ.", "ipErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງເລກ IP.", "matchErrorText": "ຄ່າບໍ່ຖືກຕ້ອງຕາມຮູບແບບທີ່ກຳນົດ.", - "maxErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງນ້ອຍກວ່າ ຫຼືເທົ່າກັບ {max}", - "maxLengthErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີຄວາມຍາວໜ້ອຍກວ່າ ຫຼືເທົ່າກັບ {maxLength}", - "maxWordsCountErrorText": "ມູນຄ່າຕ້ອງມີຄໍາສັບຫນ້ອຍກວ່າຫຼືເທົ່າກັບ {maxWordsCount}", + "maxErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງນ້ອຍກວ່າ ຫຼືເທົ່າກັບ {max}.", + "maxLengthErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີຄວາມຍາວໜ້ອຍກວ່າ ຫຼືເທົ່າກັບ {maxLength}.", + "maxWordsCountErrorText": "ມູນຄ່າຕ້ອງມີຄຳສັບຫນ້ອຍກວ່າຫຼືເທົ່າກັບ {maxWordsCount}.", "minErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບ {min}.", - "minLengthErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີຄວາມຍາວຫຼາຍກວ່າ ຫຼືເທົ່າກັບ {minLength}", - "minWordsCountErrorText": "ມູນຄ່າຕ້ອງມີຄໍາສັບທີ່ໃຫຍ່ກວ່າຫຼືເທົ່າກັບ {minWordsCount}", + "minLengthErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີຄວາມຍາວຫຼາຍກວ່າ ຫຼືເທົ່າກັບ {minLength}.", + "minWordsCountErrorText": "ມູນຄ່າຕ້ອງມີຄຳສັບທີ່ໃຫຍ່ກວ່າຫຼືເທົ່າກັບ {minWordsCount}.", "notEqualErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງບໍ່ເທົ່າກັບ {value}.", "numericErrorText": "ຄ່າທີ່ປ້ອນໃສ່ຕ້ອງເປັນໂຕເລກເທົ່ານັ້ນ.", "requiredErrorText": "ແບບຟອມນີ້ບໍ່ສາມາດຫວ່າງເປົ່າໄດ້.", - "urlErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງ URL." -} \ No newline at end of file + "urlErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງ URL.", + "phoneErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບເລກໂທລະສັບ.", + "creditCardExpirationDateErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງຢູ່ໃນຮູບແບບຂອງວັນໝົດອາຍຸບັດເຄຣດິດ.", + "creditCardExpiredErrorText": "ບັດເຄຣດິດໝົດອາຍຸແລ້ວ.", + "creditCardCVCErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນ CVC ທີ່ຖືກຕ້ອງ.", + "colorCodeErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນລະຫັດສີທີ່ຖືກຕ້ອງ.", + "uppercaseErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນຕົວໃຫຍ່.", + "lowercaseErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນຕົວເລັກ.", + "fileExtensionErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນນາມສະກຸນໄຟລ໌ທີ່ຖືກຕ້ອງ.", + "fileSizeErrorText": "ໄຟລ໌ນີ້ມີຂະໜາດເກີນຂະໜາດທີ່ອະນຸຍາດໄດ້.", + "dateRangeErrorText": "ວັນທີຕ້ອງຢູ່ໃນຊ່ວງທີ່ອະນຸຍາດ.", + "mustBeTrueErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນ true.", + "mustBeFalseErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນ false.", + "containsSpecialCharErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີອັກສອນພິເສດ.", + "containsUppercaseCharErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີອັກສອນຕົວໃຫຍ່.", + "containsLowercaseCharErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີອັກສອນຕົວເລັກ.", + "containsNumberErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີຕົວເລກ.", + "alphabeticalErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງມີແຕ່ອັກສອນເທົ່ານັ້ນ.", + "uuidErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນ UUID ທີ່ຖືກຕ້ອງ.", + "jsonErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນ JSON ທີ່ຖືກຕ້ອງ.", + "latitudeErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນລະດັບຊັ້ນທີ່ຖືກຕ້ອງ.", + "longitudeErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນລະດັບຊັ້ນທີ່ຖືກຕ້ອງ.", + "base64ErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນຂໍ້ຄວາມ Base64 ທີ່ຖືກຕ້ອງ.", + "pathErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນທາງທີ່ຖືກຕ້ອງ.", + "oddNumberErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນເລກຄີ.", + "evenNumberErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງແມ່ນເລກຄູ່.", + "portNumberErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງເປັນເລກທ່າແມ່ນຖືກຕ້ອງ.", + "macAddressErrorText": "ຄ່າໃນຟອມນີ້ຕ້ອງເປັນທີ່ຢູ່ MAC ທີ່ຖືກຕ້ອງ.", + "startsWithErrorText": "ຄ່າຕ້ອງເລີ່ມຕົ້ນດ້ວຍ {value}.", + "endsWithErrorText": "ຄ່າຕ້ອງສິ້ນສຸດດ້ວຍ {value}.", + "containsErrorText": "ຄ່າຕ້ອງປະກອບດ້ວຍ {value}.", + "betweenErrorText": "ຄ່າຕ້ອງຢູ່ລະຫວ່າງ {min} ແລະ {max}.", + "valueInListErrorText": "ຄ່າຕ້ອງຢູ່ໃນລາຍຊື່ຂອງມູນຄ່າທີ່ອະນຸຍາດ." +} diff --git a/lib/l10n/intl_mn.arb b/lib/l10n/intl_mn.arb index 3540a6e9..81feed5e 100644 --- a/lib/l10n/intl_mn.arb +++ b/lib/l10n/intl_mn.arb @@ -10,12 +10,44 @@ "matchErrorText": "Утга загварт таарахгүй байна.", "maxErrorText": "{max}-аас бага утга оруулна уу.", "maxLengthErrorText": "{maxLength}-аас богино утга оруулна уу.", - "maxWordsCountErrorText" : "Утга нь түүнээс бага буюу тэнцүү тоолох үгстэй байх ёстой {maxWordsCount}", + "maxWordsCountErrorText": "Утга нь түүнээс бага буюу тэнцүү тоолох үгстэй байх ёстой {maxWordsCount}.", "minErrorText": "{min}-аас их утга оруулна уу.", "minLengthErrorText": "{minLength}-аас урт утга оруулна уу.", - "minWordsCountErrorText": "Утга нь түүнээс их буюу тэнцүү тооны үгтэй байх ёстой {minWordsCount}", + "minWordsCountErrorText": "Утга нь түүнээс их буюу тэнцүү тооны үгтэй байх ёстой {minWordsCount}.", "notEqualErrorText": "{value}-тэй тэнцүү биш утга оруулна уу.", "numericErrorText": "Тоон утга оруулна уу.", "requiredErrorText": "Заавал бөглөнө үү.", - "urlErrorText": "URL хаяг алдаатай байна." -} \ No newline at end of file + "urlErrorText": "URL хаяг алдаатай байна.", + "phoneErrorText": "Утасны дугаар алдаатай байна.", + "creditCardExpirationDateErrorText": "Кредит картын хүчинтэй хугацааг оруулна уу.", + "creditCardExpiredErrorText": "Кредит картын хүчинтэй хугацаа дууссан байна.", + "creditCardCVCErrorText": "Кредит картын CVC код алдаатай байна.", + "colorCodeErrorText": "Өнгөний код алдаатай байна.", + "uppercaseErrorText": "Үсгийг томоор оруулна уу.", + "lowercaseErrorText": "Үсгийг жижгээр оруулна уу.", + "fileExtensionErrorText": "Файлын өргөтгөл алдаатай байна.", + "fileSizeErrorText": "Файлын хэмжээ хэтэрсэн байна.", + "dateRangeErrorText": "Огноо зөвшөөрөгдсөн хязгаарт байх ёстой.", + "mustBeTrueErrorText": "Энэ талбар нь үнэн байх ёстой.", + "mustBeFalseErrorText": "Энэ талбар нь худал байх ёстой.", + "containsSpecialCharErrorText": "Тусгай тэмдэгт агуулсан байх ёстой.", + "containsUppercaseCharErrorText": "Том үсэг агуулсан байх ёстой.", + "containsLowercaseCharErrorText": "Жижиг үсэг агуулсан байх ёстой.", + "containsNumberErrorText": "Тоон утга агуулсан байх ёстой.", + "alphabeticalErrorText": "Зөвхөн үсэг агуулсан байх ёстой.", + "uuidErrorText": "UUID алдаатай байна.", + "jsonErrorText": "JSON алдаатай байна.", + "latitudeErrorText": "Өргөрөг алдаатай байна.", + "longitudeErrorText": "Уртраг алдаатай байна.", + "base64ErrorText": "Base64 мөр алдаатай байна.", + "pathErrorText": "Зам алдаатай байна.", + "oddNumberErrorText": "Сондгой тоо оруулна уу.", + "evenNumberErrorText": "Тэгш тоо оруулна уу.", + "portNumberErrorText": "Портын дугаар алдаатай байна.", + "macAddressErrorText": "MAC хаяг алдаатай байна.", + "startsWithErrorText": "Утга нь {value}-ээр эхлэх ёстой.", + "endsWithErrorText": "Утга нь {value}-ээр төгсөх ёстой.", + "containsErrorText": "Утга нь {value}-г агуулсан байх ёстой.", + "betweenErrorText": "Утга нь {min} ба {max} хооронд байх ёстой.", + "valueInListErrorText": "Утга нь зөвшөөрөгдсөн утгуудын жагсаалтад байх ёстой." +} diff --git a/lib/l10n/intl_ms.arb b/lib/l10n/intl_ms.arb index d9d196ba..55b73630 100644 --- a/lib/l10n/intl_ms.arb +++ b/lib/l10n/intl_ms.arb @@ -2,20 +2,52 @@ "@@locale": "ms", "creditCardErrorText": "Ruangan ini memerlukan nombor kad kredit yang sah.", "dateStringErrorText": "Ruangan ini memerlukan rentetan tarikh yang sah.", - "emailErrorText": "Ruang ini memerlukan alamat e-mel yang sah.", - "equalErrorText": "Nilai Ruangan ini wajib sama dengan {value}.", - "equalLengthErrorText": "Nilai mesti mempunyai panjang yang sama dengan {length}", - "integerErrorText": "Ruang ini memerlukan integer yang sah.", + "emailErrorText": "Ruangan ini memerlukan alamat e-mel yang sah.", + "equalErrorText": "Nilai ruangan ini wajib sama dengan {value}.", + "equalLengthErrorText": "Nilai mesti mempunyai panjang yang sama dengan {length}.", + "integerErrorText": "Ruangan ini memerlukan integer yang sah.", "ipErrorText": "Ruangan ini memerlukan IP yang sah.", "matchErrorText": "Nilai tidak sepadan dengan corak.", - "maxErrorText": "Nilai wajib kurang daripada atau sama dengan {max}", - "maxLengthErrorText": "Nilai mesti mempunyai panjang kurang daripada atau sama dengan {maxLength}", - "maxWordsCountErrorText": "Nilai mesti mempunyai kata -kata yang kurang daripada atau sama dengan {maxWordsCount}", + "maxErrorText": "Nilai wajib kurang daripada atau sama dengan {max}.", + "maxLengthErrorText": "Nilai mesti mempunyai panjang kurang daripada atau sama dengan {maxLength}.", + "maxWordsCountErrorText": "Nilai mesti mempunyai kata-kata yang kurang daripada atau sama dengan {maxWordsCount}.", "minErrorText": "Nilai wajib lebih besar daripada atau sama dengan {min}.", - "minLengthErrorText": "Nilai mesti mempunyai panjang lebih besar daripada atau sama dengan {minLength}", - "minWordsCountErrorText": "Nilai mesti mempunyai kata -kata yang lebih besar daripada atau sama dengan {minWordsCount}", + "minLengthErrorText": "Nilai mesti mempunyai panjang lebih besar daripada atau sama dengan {minLength}.", + "minWordsCountErrorText": "Nilai mesti mempunyai kata-kata yang lebih besar daripada atau sama dengan {minWordsCount}.", "notEqualErrorText": "Nilai ruangan ini wajib tidak sama dengan {value}.", "numericErrorText": "Nilai wajib dalam bentuk angka.", - "requiredErrorText": "Ruang ini wajib diisi.", - "urlErrorText": "Ruangan ini memerlukan alamat URL yang sah." -} \ No newline at end of file + "requiredErrorText": "Ruangan ini wajib diisi.", + "urlErrorText": "Ruangan ini memerlukan alamat URL yang sah.", + "phoneErrorText": "Ruangan ini memerlukan nombor telefon yang sah.", + "creditCardExpirationDateErrorText": "Ruangan ini memerlukan tarikh luput kad kredit yang sah.", + "creditCardExpiredErrorText": "Kad kredit telah tamat tempoh.", + "creditCardCVCErrorText": "Ruangan ini memerlukan kod CVC kad kredit yang sah.", + "colorCodeErrorText": "Ruangan ini memerlukan kod warna yang sah.", + "uppercaseErrorText": "Ruangan ini memerlukan huruf besar.", + "lowercaseErrorText": "Ruangan ini memerlukan huruf kecil.", + "fileExtensionErrorText": "Ruangan ini memerlukan sambungan fail yang sah.", + "fileSizeErrorText": "Fail ini melebihi saiz maksimum yang dibenarkan.", + "dateRangeErrorText": "Tarikh mesti dalam julat yang dibenarkan.", + "mustBeTrueErrorText": "Ruangan ini mesti benar.", + "mustBeFalseErrorText": "Ruangan ini mesti palsu.", + "containsSpecialCharErrorText": "Ruangan ini mesti mengandungi aksara khas.", + "containsUppercaseCharErrorText": "Ruangan ini mesti mengandungi huruf besar.", + "containsLowercaseCharErrorText": "Ruangan ini mesti mengandungi huruf kecil.", + "containsNumberErrorText": "Ruangan ini mesti mengandungi nombor.", + "alphabeticalErrorText": "Ruangan ini mesti mengandungi huruf sahaja.", + "uuidErrorText": "Ruangan ini memerlukan UUID yang sah.", + "jsonErrorText": "Ruangan ini memerlukan JSON yang sah.", + "latitudeErrorText": "Ruangan ini memerlukan latitud yang sah.", + "longitudeErrorText": "Ruangan ini memerlukan longitud yang sah.", + "base64ErrorText": "Ruangan ini memerlukan rentetan Base64 yang sah.", + "pathErrorText": "Ruangan ini memerlukan laluan yang sah.", + "oddNumberErrorText": "Ruangan ini memerlukan nombor ganjil.", + "evenNumberErrorText": "Ruangan ini memerlukan nombor genap.", + "portNumberErrorText": "Ruangan ini memerlukan nombor port yang sah.", + "macAddressErrorText": "Ruangan ini memerlukan alamat MAC yang sah.", + "startsWithErrorText": "Nilai mesti bermula dengan {value}.", + "endsWithErrorText": "Nilai mesti berakhir dengan {value}.", + "containsErrorText": "Nilai mesti mengandungi {value}.", + "betweenErrorText": "Nilai mesti antara {min} dan {max}.", + "valueInListErrorText": "Nilai mesti berada dalam senarai nilai yang dibenarkan." +} diff --git a/lib/l10n/intl_ne.arb b/lib/l10n/intl_ne.arb index f167ffd2..d1c8a7fd 100644 --- a/lib/l10n/intl_ne.arb +++ b/lib/l10n/intl_ne.arb @@ -3,19 +3,51 @@ "creditCardErrorText": "यो क्षेत्रलाई मान्य क्रेडिट कार्ड नम्बर चाहिन्छ।", "dateStringErrorText": "यो क्षेत्रलाई मान्य मिति स्ट्रिंग चाहिन्छ।", "emailErrorText": "यो क्षेत्रलाई मान्य इमेल ठेगाना चाहिन्छ।", - "equalErrorText": "यो क्षेत्रको मान {value} बराबर हुनुपर्छ। ", - "equalLengthErrorText": "मानको {length} बराबर लम्बाइ हुनुपर्छ।", + "equalErrorText": "यो क्षेत्रको मान {value} बराबर हुनुपर्छ।", + "equalLengthErrorText": "मानको लम्बाइ {length} बराबर हुनुपर्छ।", "integerErrorText": "यो क्षेत्रलाई मान्य पूर्णांक चाहिन्छ।", - "ipErrorText": "यो क्षेत्रलाई मान्य आईपी चाहिन्छ।", + "ipErrorText": "यो क्षेत्रलाई मान्य आईपी ठेगाना चाहिन्छ।", "matchErrorText": "मान ढाँचासँग मेल खाँदैन।", - "maxErrorText": "मान {max} भन्दा कम वा बराबर हुनुपर्छ। ", - "maxLengthErrorText": "मान लम्बाइ {maxLength} भन्दा कम वा बराबर हुनुपर्छ। ", - "maxWordsCountErrorText": "मानसँग एक शब्दहरूको एक शब्दहरूमा {maxWordsCount} भन्दा कम वा बराबर गणना हुनुपर्दछ", + "maxErrorText": "मान {max} भन्दा कम वा बराबर हुनुपर्छ।", + "maxLengthErrorText": "मानको लम्बाइ {maxLength} भन्दा कम वा बराबर हुनुपर्छ।", + "maxWordsCountErrorText": "मानसँग शब्दहरूको संख्या {maxWordsCount} भन्दा कम वा बराबर हुनुपर्छ।", "minErrorText": "मान {min} भन्दा बढी वा बराबर हुनुपर्छ।", - "minLengthErrorText": "मानको लम्बाइ {minLength} भन्दा बढी वा बराबर हुनुपर्छ। ", - "minWordsCountErrorText": "मानसँग एक शब्दहरूको गणना गरिएको छ वा बराबर {minWordsCount}", + "minLengthErrorText": "मानको लम्बाइ {minLength} भन्दा बढी वा बराबर हुनुपर्छ।", + "minWordsCountErrorText": "मानसँग शब्दहरूको संख्या {minWordsCount} भन्दा बढी वा बराबर हुनुपर्छ।", "notEqualErrorText": "यो क्षेत्रको मान {value} बराबर हुनु हुँदैन।", "numericErrorText": "मान संख्यात्मक हुनुपर्छ।", "requiredErrorText": "यो क्षेत्र खाली हुन सक्दैन।", - "urlErrorText": "यो फिल्डलाई मान्य यूआरय्ल ठेगाना चाहिन्छ।" -} \ No newline at end of file + "urlErrorText": "यो फिल्डलाई मान्य URL ठेगाना चाहिन्छ।", + "phoneErrorText": "यो क्षेत्रलाई मान्य फोन नम्बर चाहिन्छ।", + "creditCardExpirationDateErrorText": "यो क्षेत्रलाई मान्य क्रेडिट कार्ड समाप्ति मिति चाहिन्छ।", + "creditCardExpiredErrorText": "क्रेडिट कार्डको म्याद सकिएको छ।", + "creditCardCVCErrorText": "यो क्षेत्रलाई मान्य क्रेडिट कार्ड CVC कोड चाहिन्छ।", + "colorCodeErrorText": "यो क्षेत्रलाई मान्य रङ्ग कोड चाहिन्छ।", + "uppercaseErrorText": "यो क्षेत्रलाई ठूला अक्षर चाहिन्छ।", + "lowercaseErrorText": "यो क्षेत्रलाई साना अक्षर चाहिन्छ।", + "fileExtensionErrorText": "यो क्षेत्रलाई मान्य फाइल विस्तार चाहिन्छ।", + "fileSizeErrorText": "यो फाइलले अनुमत अधिकतम आकार नाघेको छ।", + "dateRangeErrorText": "मिति अनुमत दायरामा हुनुपर्छ।", + "mustBeTrueErrorText": "यो क्षेत्र सत्य हुनुपर्छ।", + "mustBeFalseErrorText": "यो क्षेत्र असत्य हुनुपर्छ।", + "containsSpecialCharErrorText": "यो क्षेत्रमा विशेष वर्ण हुनुपर्छ।", + "containsUppercaseCharErrorText": "यो क्षेत्रमा ठूला अक्षर हुनुपर्छ।", + "containsLowercaseCharErrorText": "यो क्षेत्रमा साना अक्षर हुनुपर्छ।", + "containsNumberErrorText": "यो क्षेत्रमा संख्या हुनुपर्छ।", + "alphabeticalErrorText": "यो क्षेत्रमा मात्र अक्षरहरू हुनुपर्छ।", + "uuidErrorText": "यो क्षेत्रलाई मान्य UUID चाहिन्छ।", + "jsonErrorText": "यो क्षेत्रलाई मान्य JSON चाहिन्छ।", + "latitudeErrorText": "यो क्षेत्रलाई मान्य अक्षांश चाहिन्छ।", + "longitudeErrorText": "यो क्षेत्रलाई मान्य देशान्तर चाहिन्छ।", + "base64ErrorText": "यो क्षेत्रलाई मान्य Base64 स्ट्रिंग चाहिन्छ।", + "pathErrorText": "यो क्षेत्रलाई मान्य पथ चाहिन्छ।", + "oddNumberErrorText": "यो क्षेत्रलाई बिषम संख्या चाहिन्छ।", + "evenNumberErrorText": "यो क्षेत्रलाई सम संख्या चाहिन्छ।", + "portNumberErrorText": "यो क्षेत्रलाई मान्य पोर्ट नम्बर चाहिन्छ।", + "macAddressErrorText": "यो क्षेत्रलाई मान्य MAC ठेगाना चाहिन्छ।", + "startsWithErrorText": "मान {value} बाट सुरु हुनुपर्छ।", + "endsWithErrorText": "मान {value} मा समाप्त हुनुपर्छ।", + "containsErrorText": "मानले {value} समावेश गर्नुपर्छ।", + "betweenErrorText": "मान {min} र {max} को बीचमा हुनुपर्छ।", + "valueInListErrorText": "मान अनुमत मानहरूको सूचीमा हुनुपर्छ।" +} diff --git a/lib/l10n/intl_nl.arb b/lib/l10n/intl_nl.arb index b898a4d4..2d2ccf4f 100644 --- a/lib/l10n/intl_nl.arb +++ b/lib/l10n/intl_nl.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Een geldige datum is vereist.", "emailErrorText": "Een geldig e-mailadres is vereist.", "equalErrorText": "De waarde moet gelijk zijn aan {value}.", - "equalLengthErrorText": "Waarde moet een lengte hebben die gelijk is aan {length}", + "equalLengthErrorText": "Waarde moet een lengte hebben die gelijk is aan {length}.", "integerErrorText": "Dit veld vereist een geheel getal.", "ipErrorText": "Een geldig IP-adres is vereist.", "matchErrorText": "De waarde komt niet overeen met het patroon.", - "maxErrorText": "De waarde moet kleiner of gelijk zijn aan {max}", - "maxLengthErrorText": "De waarde moet een lengte hebben die kleiner of gelijk is aan {maxLength}", - "maxWordsCountErrorText": "De waarde moet een aantal woorden tellen die minder of gelijk zijn aan {maxWordsCount}", + "maxErrorText": "De waarde moet kleiner of gelijk zijn aan {max}.", + "maxLengthErrorText": "De waarde moet een lengte hebben die kleiner of gelijk is aan {maxLength}.", + "maxWordsCountErrorText": "De waarde moet een aantal woorden tellen die minder of gelijk zijn aan {maxWordsCount}.", "minErrorText": "De waarde moet groter of gelijk zijn aan {min}.", - "minLengthErrorText": "De waarde moet een lengte hebben die groter of gelijk is aan {minLength}", - "minWordsCountErrorText": "De waarde moet een aantal woorden tellen groter of gelijk aan {minWordsCount}", - "notEqualErrorText": "De aarde mag niet gelijk zijn aan {value}.", + "minLengthErrorText": "De waarde moet een lengte hebben die groter of gelijk is aan {minLength}.", + "minWordsCountErrorText": "De waarde moet een aantal woorden tellen groter of gelijk aan {minWordsCount}.", + "notEqualErrorText": "De waarde mag niet gelijk zijn aan {value}.", "numericErrorText": "De waarde moet numeriek zijn.", "requiredErrorText": "Dit veld mag niet leeg zijn.", - "urlErrorText": "Een geldige URL is vereist." -} \ No newline at end of file + "urlErrorText": "Een geldige URL is vereist.", + "phoneErrorText": "Een geldig telefoonnummer is vereist.", + "creditCardExpirationDateErrorText": "Een geldige vervaldatum van de creditcard is vereist.", + "creditCardExpiredErrorText": "De creditcard is verlopen.", + "creditCardCVCErrorText": "Een geldige CVC-code van de creditcard is vereist.", + "colorCodeErrorText": "Een geldige kleurcode is vereist.", + "uppercaseErrorText": "Dit veld vereist hoofdletters.", + "lowercaseErrorText": "Dit veld vereist kleine letters.", + "fileExtensionErrorText": "Een geldige bestandsextensie is vereist.", + "fileSizeErrorText": "Dit bestand overschrijdt de maximaal toegestane grootte.", + "dateRangeErrorText": "De datum moet binnen het toegestane bereik liggen.", + "mustBeTrueErrorText": "Dit veld moet waar zijn.", + "mustBeFalseErrorText": "Dit veld moet onwaar zijn.", + "containsSpecialCharErrorText": "Dit veld moet een speciaal teken bevatten.", + "containsUppercaseCharErrorText": "Dit veld moet een hoofdletter bevatten.", + "containsLowercaseCharErrorText": "Dit veld moet een kleine letter bevatten.", + "containsNumberErrorText": "Dit veld moet een cijfer bevatten.", + "alphabeticalErrorText": "Dit veld mag alleen letters bevatten.", + "uuidErrorText": "Een geldige UUID is vereist.", + "jsonErrorText": "Een geldige JSON is vereist.", + "latitudeErrorText": "Een geldige breedtegraad is vereist.", + "longitudeErrorText": "Een geldige lengtegraad is vereist.", + "base64ErrorText": "Een geldige Base64-tekenreeks is vereist.", + "pathErrorText": "Een geldig pad is vereist.", + "oddNumberErrorText": "Dit veld vereist een oneven getal.", + "evenNumberErrorText": "Dit veld vereist een even getal.", + "portNumberErrorText": "Een geldig poortnummer is vereist.", + "macAddressErrorText": "Een geldig MAC-adres is vereist.", + "startsWithErrorText": "De waarde moet beginnen met {value}.", + "endsWithErrorText": "De waarde moet eindigen met {value}.", + "containsErrorText": "De waarde moet {value} bevatten.", + "betweenErrorText": "De waarde moet tussen {min} en {max} liggen.", + "valueInListErrorText": "De waarde moet in de lijst met toegestane waarden staan." +} diff --git a/lib/l10n/intl_no.arb b/lib/l10n/intl_no.arb index a41fa83f..74b7370f 100644 --- a/lib/l10n/intl_no.arb +++ b/lib/l10n/intl_no.arb @@ -17,5 +17,37 @@ "notEqualErrorText": "Verdien i feltet må ikke være lik {value}.", "numericErrorText": "Verdien må være numerisk.", "requiredErrorText": "Dette feltet må fylles ut.", - "urlErrorText": "Må være en gyldig URL-adresse." + "urlErrorText": "Må være en gyldig URL-adresse.", + "phoneErrorText": "Dette feltet krever et gyldig telefonnummer.", + "creditCardExpirationDateErrorText": "Dette feltet krever en gyldig utløpsdato for kredittkortet.", + "creditCardExpiredErrorText": "Kredittkortet er utløpt.", + "creditCardCVCErrorText": "Dette feltet krever en gyldig CVC-kode for kredittkortet.", + "colorCodeErrorText": "Dette feltet krever en gyldig fargekode.", + "uppercaseErrorText": "Dette feltet krever store bokstaver.", + "lowercaseErrorText": "Dette feltet krever små bokstaver.", + "fileExtensionErrorText": "Dette feltet krever en gyldig filtype.", + "fileSizeErrorText": "Denne filen overskrider maksimal tillatt størrelse.", + "dateRangeErrorText": "Datoen må være innenfor det tillatte området.", + "mustBeTrueErrorText": "Dette feltet må være sant.", + "mustBeFalseErrorText": "Dette feltet må være usant.", + "containsSpecialCharErrorText": "Dette feltet må inneholde spesialtegn.", + "containsUppercaseCharErrorText": "Dette feltet må inneholde store bokstaver.", + "containsLowercaseCharErrorText": "Dette feltet må inneholde små bokstaver.", + "containsNumberErrorText": "Dette feltet må inneholde tall.", + "alphabeticalErrorText": "Dette feltet må inneholde kun bokstaver.", + "uuidErrorText": "Dette feltet krever en gyldig UUID.", + "jsonErrorText": "Dette feltet krever en gyldig JSON.", + "latitudeErrorText": "Dette feltet krever en gyldig breddegrad.", + "longitudeErrorText": "Dette feltet krever en gyldig lengdegrad.", + "base64ErrorText": "Dette feltet krever en gyldig Base64-streng.", + "pathErrorText": "Dette feltet krever en gyldig bane.", + "oddNumberErrorText": "Dette feltet krever et oddetall.", + "evenNumberErrorText": "Dette feltet krever et partall.", + "portNumberErrorText": "Dette feltet krever et gyldig portnummer.", + "macAddressErrorText": "Dette feltet krever en gyldig MAC-adresse.", + "startsWithErrorText": "Verdien må starte med {value}.", + "endsWithErrorText": "Verdien må slutte med {value}.", + "containsErrorText": "Verdien må inneholde {value}.", + "betweenErrorText": "Verdien må være mellom {min} og {max}.", + "valueInListErrorText": "Verdien må være i listen over tillatte verdier." } diff --git a/lib/l10n/intl_pl.arb b/lib/l10n/intl_pl.arb index e029f202..cf2d3e37 100644 --- a/lib/l10n/intl_pl.arb +++ b/lib/l10n/intl_pl.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "To pole wymaga prawidłowej daty.", "emailErrorText": "To pole wymaga prawidłowego adresu e-mail.", "equalErrorText": "Wartość tego pola musi wynosić {value}.", - "equalLengthErrorText": "Wartość musi mieć długość równą {length}", + "equalLengthErrorText": "Wartość musi mieć długość równą {length}.", "integerErrorText": "Wartość musi być liczbą całkowitą.", "ipErrorText": "To pole wymaga prawidłowego adresu IP.", - "matchErrorText": "Wartość nie pasuje do oczekiwanego kształtu.", + "matchErrorText": "Wartość nie pasuje do oczekiwanego wzorca.", "maxErrorText": "Wartość musi być mniejsza lub równa {max}.", "maxLengthErrorText": "Wartość nie może mieć więcej niż {maxLength} znaków.", - "maxWordsCountErrorText": "Wartość musi mieć liczbę słów mniejszych lub równych {maxWordsCount}", + "maxWordsCountErrorText": "Wartość musi mieć liczbę słów mniejszych lub równych {maxWordsCount}.", "minErrorText": "Wartość musi być większa lub równa {min}.", "minLengthErrorText": "Wartość musi mieć co najmniej {minLength} znaków.", - "minWordsCountErrorText": "Wartość musi mieć liczbę słów większą lub równą {minWordsCount}", + "minWordsCountErrorText": "Wartość musi mieć liczbę słów większą lub równą {minWordsCount}.", "notEqualErrorText": "Wartość tego pola nie może być {value}.", "numericErrorText": "Wartość musi być liczbą.", "requiredErrorText": "To pole nie może być puste.", - "urlErrorText": "To pole wymaga prawidłowego adresu URL." -} \ No newline at end of file + "urlErrorText": "To pole wymaga prawidłowego adresu URL.", + "phoneErrorText": "To pole wymaga prawidłowego numeru telefonu.", + "creditCardExpirationDateErrorText": "To pole wymaga prawidłowej daty ważności karty kredytowej.", + "creditCardExpiredErrorText": "Karta kredytowa straciła ważność.", + "creditCardCVCErrorText": "To pole wymaga prawidłowego kodu CVC karty kredytowej.", + "colorCodeErrorText": "To pole wymaga prawidłowego kodu koloru.", + "uppercaseErrorText": "To pole wymaga wielkich liter.", + "lowercaseErrorText": "To pole wymaga małych liter.", + "fileExtensionErrorText": "To pole wymaga prawidłowego rozszerzenia pliku.", + "fileSizeErrorText": "Plik przekracza maksymalny dozwolony rozmiar.", + "dateRangeErrorText": "Data musi być w dozwolonym zakresie.", + "mustBeTrueErrorText": "To pole musi być prawdziwe.", + "mustBeFalseErrorText": "To pole musi być fałszywe.", + "containsSpecialCharErrorText": "To pole musi zawierać znak specjalny.", + "containsUppercaseCharErrorText": "To pole musi zawierać wielką literę.", + "containsLowercaseCharErrorText": "To pole musi zawierać małą literę.", + "containsNumberErrorText": "To pole musi zawierać cyfrę.", + "alphabeticalErrorText": "To pole może zawierać tylko litery.", + "uuidErrorText": "To pole wymaga prawidłowego UUID.", + "jsonErrorText": "To pole wymaga prawidłowego JSON.", + "latitudeErrorText": "To pole wymaga prawidłowej szerokości geograficznej.", + "longitudeErrorText": "To pole wymaga prawidłowej długości geograficznej.", + "base64ErrorText": "To pole wymaga prawidłowego ciągu Base64.", + "pathErrorText": "To pole wymaga prawidłowej ścieżki.", + "oddNumberErrorText": "To pole wymaga liczby nieparzystej.", + "evenNumberErrorText": "To pole wymaga liczby parzystej.", + "portNumberErrorText": "To pole wymaga prawidłowego numeru portu.", + "macAddressErrorText": "To pole wymaga prawidłowego adresu MAC.", + "startsWithErrorText": "Wartość musi zaczynać się od {value}.", + "endsWithErrorText": "Wartość musi kończyć się na {value}.", + "containsErrorText": "Wartość musi zawierać {value}.", + "betweenErrorText": "Wartość musi być pomiędzy {min} a {max}.", + "valueInListErrorText": "Wartość musi być na liście dozwolonych wartości." +} diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index 1b9c1638..b1711d58 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Este campo requer uma string de data válida.", "emailErrorText": "Este campo requer um endereço de e-mail válido.", "equalErrorText": "Este valor de campo deve ser igual a {value}.", - "equalLengthErrorText": "O valor deve ter um comprimento igual a {length}", + "equalLengthErrorText": "O valor deve ter um comprimento igual a {length}.", "integerErrorText": "Este campo requer um número inteiro válido.", "ipErrorText": "Este campo requer um IP válido.", "matchErrorText": "O valor não corresponde ao padrão.", - "maxErrorText": "O valor deve ser menor ou igual a {max}", - "maxLengthErrorText": "O valor deve ter um comprimento menor ou igual a {maxLength}", - "maxWordsCountErrorText": "O valor deve ter uma contagem de palavras menos ou igual a {maxWordsCount}", + "maxErrorText": "O valor deve ser menor ou igual a {max}.", + "maxLengthErrorText": "O valor deve ter um comprimento menor ou igual a {maxLength}.", + "maxWordsCountErrorText": "O valor deve ter uma contagem de palavras menor ou igual a {maxWordsCount}.", "minErrorText": "O valor deve ser maior ou igual a {min}.", - "minLengthErrorText": "O valor deve ter um comprimento maior ou igual a {minLength}", - "minWordsCountErrorText": "O valor deve ter uma contagem de palavras maiores ou igual a {minWordsCount}", - "notEqualErrorText": "O valor no deve ser igual a {value}.", + "minLengthErrorText": "O valor deve ter um comprimento maior ou igual a {minLength}.", + "minWordsCountErrorText": "O valor deve ter uma contagem de palavras maior ou igual a {minWordsCount}.", + "notEqualErrorText": "O valor não deve ser igual a {value}.", "numericErrorText": "O valor deve ser numérico.", "requiredErrorText": "Este campo não pode ficar vazio.", - "urlErrorText": "Este campo requer um endereço de URL válido." -} \ No newline at end of file + "urlErrorText": "Este campo requer um endereço de URL válido.", + "phoneErrorText": "Este campo requer um número de telefone válido.", + "creditCardExpirationDateErrorText": "Este campo requer uma data de validade do cartão de crédito válida.", + "creditCardExpiredErrorText": "O cartão de crédito está expirado.", + "creditCardCVCErrorText": "Este campo requer um código CVC do cartão de crédito válido.", + "colorCodeErrorText": "Este campo requer um código de cor válido.", + "uppercaseErrorText": "Este campo requer letras maiúsculas.", + "lowercaseErrorText": "Este campo requer letras minúsculas.", + "fileExtensionErrorText": "Este campo requer uma extensão de arquivo válida.", + "fileSizeErrorText": "Este arquivo excede o tamanho máximo permitido.", + "dateRangeErrorText": "A data deve estar dentro do intervalo permitido.", + "mustBeTrueErrorText": "Este campo deve ser verdadeiro.", + "mustBeFalseErrorText": "Este campo deve ser falso.", + "containsSpecialCharErrorText": "Este campo deve conter um caractere especial.", + "containsUppercaseCharErrorText": "Este campo deve conter uma letra maiúscula.", + "containsLowercaseCharErrorText": "Este campo deve conter uma letra minúscula.", + "containsNumberErrorText": "Este campo deve conter um número.", + "alphabeticalErrorText": "Este campo deve conter apenas letras.", + "uuidErrorText": "Este campo requer um UUID válido.", + "jsonErrorText": "Este campo requer um JSON válido.", + "latitudeErrorText": "Este campo requer uma latitude válida.", + "longitudeErrorText": "Este campo requer uma longitude válida.", + "base64ErrorText": "Este campo requer uma string Base64 válida.", + "pathErrorText": "Este campo requer um caminho válido.", + "oddNumberErrorText": "Este campo requer um número ímpar.", + "evenNumberErrorText": "Este campo requer um número par.", + "portNumberErrorText": "Este campo requer um número de porta válido.", + "macAddressErrorText": "Este campo requer um endereço MAC válido.", + "startsWithErrorText": "O valor deve começar com {value}.", + "endsWithErrorText": "O valor deve terminar com {value}.", + "containsErrorText": "O valor deve conter {value}.", + "betweenErrorText": "O valor deve estar entre {min} e {max}.", + "valueInListErrorText": "O valor deve estar na lista de valores permitidos." +} diff --git a/lib/l10n/intl_ro.arb b/lib/l10n/intl_ro.arb index b3db461b..df309e1b 100644 --- a/lib/l10n/intl_ro.arb +++ b/lib/l10n/intl_ro.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Acest câmp necesită un șir de date valid.", "emailErrorText": "Acest câmp necesită o adresă de e-mail validă.", "equalErrorText": "Valoarea câmpului trebuie să fie egală cu {value}.", - "equalLengthErrorText": "Valoarea trebuie să aibă o lungime egală cu {length}", + "equalLengthErrorText": "Valoarea trebuie să aibă o lungime egală cu {length}.", "integerErrorText": "Acest câmp necesită un număr întreg valid.", "ipErrorText": "Acest câmp necesită un IP valid.", "matchErrorText": "Valoarea nu se potrivește cu modelul.", - "maxErrorText": "Valoarea trebuie să fie mai mică sau egală cu {max}", - "maxLengthErrorText": "Valoarea trebuie să aibă o lungime mai mică sau egală cu {maxLength}", - "maxWordsCountErrorText": "Valoarea trebuie să aibă un număr de cuvinte mai mic sau egal cu {maxWordsCount}", + "maxErrorText": "Valoarea trebuie să fie mai mică sau egală cu {max}.", + "maxLengthErrorText": "Valoarea trebuie să aibă o lungime mai mică sau egală cu {maxLength}.", + "maxWordsCountErrorText": "Valoarea trebuie să aibă un număr de cuvinte mai mic sau egal cu {maxWordsCount}.", "minErrorText": "Valoarea trebuie să fie mai mare sau egală cu {min}.", - "minLengthErrorText": "Valoarea trebuie să aibă o lungime mai mare sau egală cu {minLength}", - "minWordsCountErrorText": "Valoarea trebuie să aibă un număr de cuvinte mai mare sau egal cu {minWordsCount}", + "minLengthErrorText": "Valoarea trebuie să aibă o lungime mai mare sau egală cu {minLength}.", + "minWordsCountErrorText": "Valoarea trebuie să aibă un număr de cuvinte mai mare sau egal cu {minWordsCount}.", "notEqualErrorText": "Valoarea câmpului nu trebuie să fie egală cu {value}.", "numericErrorText": "Valoarea trebuie să fie numerică.", "requiredErrorText": "Acest câmp nu poate fi gol.", - "urlErrorText": "Acest câmp necesită o adresă URL validă." -} \ No newline at end of file + "urlErrorText": "Acest câmp necesită o adresă URL validă.", + "phoneErrorText": "Acest câmp necesită un număr de telefon valid.", + "creditCardExpirationDateErrorText": "Acest câmp necesită o dată de expirare a cardului de credit validă.", + "creditCardExpiredErrorText": "Cardul de credit a expirat.", + "creditCardCVCErrorText": "Acest câmp necesită un cod CVC valid al cardului de credit.", + "colorCodeErrorText": "Acest câmp necesită un cod de culoare valid.", + "uppercaseErrorText": "Acest câmp necesită litere mari.", + "lowercaseErrorText": "Acest câmp necesită litere mici.", + "fileExtensionErrorText": "Acest câmp necesită o extensie de fișier validă.", + "fileSizeErrorText": "Acest fișier depășește dimensiunea maximă permisă.", + "dateRangeErrorText": "Data trebuie să fie în intervalul permis.", + "mustBeTrueErrorText": "Acest câmp trebuie să fie adevărat.", + "mustBeFalseErrorText": "Acest câmp trebuie să fie fals.", + "containsSpecialCharErrorText": "Acest câmp trebuie să conțină un caracter special.", + "containsUppercaseCharErrorText": "Acest câmp trebuie să conțină o literă mare.", + "containsLowercaseCharErrorText": "Acest câmp trebuie să conțină o literă mică.", + "containsNumberErrorText": "Acest câmp trebuie să conțină un număr.", + "alphabeticalErrorText": "Acest câmp trebuie să conțină doar litere.", + "uuidErrorText": "Acest câmp necesită un UUID valid.", + "jsonErrorText": "Acest câmp necesită un JSON valid.", + "latitudeErrorText": "Acest câmp necesită o latitudine validă.", + "longitudeErrorText": "Acest câmp necesită o longitudine validă.", + "base64ErrorText": "Acest câmp necesită un șir Base64 valid.", + "pathErrorText": "Acest câmp necesită o cale validă.", + "oddNumberErrorText": "Acest câmp necesită un număr impar.", + "evenNumberErrorText": "Acest câmp necesită un număr par.", + "portNumberErrorText": "Acest câmp necesită un număr de port valid.", + "macAddressErrorText": "Acest câmp necesită o adresă MAC validă.", + "startsWithErrorText": "Valoarea trebuie să înceapă cu {value}.", + "endsWithErrorText": "Valoarea trebuie să se termine cu {value}.", + "containsErrorText": "Valoarea trebuie să conțină {value}.", + "betweenErrorText": "Valoarea trebuie să fie între {min} și {max}.", + "valueInListErrorText": "Valoarea trebuie să fie în lista valorilor permise." +} diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb index fb787893..544a0d1d 100644 --- a/lib/l10n/intl_ru.arb +++ b/lib/l10n/intl_ru.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Поле должно быть датой.", "emailErrorText": "Поле должно быть email адресом.", "equalErrorText": "Значение поля должно быть равно {value}.", - "equalLengthErrorText": "Значение должно иметь длину, равную {length}", + "equalLengthErrorText": "Значение должно иметь длину, равную {length}.", "integerErrorText": "Поле должно быть целым числом.", - "ipErrorText": "Поле должно быть IP номером.", + "ipErrorText": "Поле должно быть IP адресом.", "matchErrorText": "Значение должно удовлетворять шаблону.", "maxErrorText": "Значение должно быть меньше или равно {max}.", - "maxLengthErrorText": "Длина значения должно быть меньше или равно {maxLength}.", - "maxWordsCountErrorText": "Значение должно иметь слов, что меньше или равно {maxWordsCount}", + "maxLengthErrorText": "Длина значения должна быть меньше или равна {maxLength}.", + "maxWordsCountErrorText": "Значение должно иметь количество слов, меньшее или равное {maxWordsCount}.", "minErrorText": "Значение должно быть больше или равно {min}.", - "minLengthErrorText": "Длина значения должно быть больше или равно {minLength}.", - "minWordsCountErrorText": "Значение должно иметь слов, больше или равно {minWordsCount}", - "notEqualErrorText": "Значение поля не должно быть равным {value}.", + "minLengthErrorText": "Длина значения должна быть больше или равна {minLength}.", + "minWordsCountErrorText": "Значение должно иметь количество слов, большее или равное {minWordsCount}.", + "notEqualErrorText": "Значение поля не должно быть равно {value}.", "numericErrorText": "Значение должно быть числом.", "requiredErrorText": "Поле не может быть пустым.", - "urlErrorText": "Поле должно быть URL адресом." -} \ No newline at end of file + "urlErrorText": "Поле должно быть URL адресом.", + "phoneErrorText": "Поле должно быть номером телефона.", + "creditCardExpirationDateErrorText": "Поле должно быть действительной датой истечения срока действия кредитной карты.", + "creditCardExpiredErrorText": "Срок действия кредитной карты истек.", + "creditCardCVCErrorText": "Поле должно быть действительным CVC кодом кредитной карты.", + "colorCodeErrorText": "Поле должно быть действительным цветовым кодом.", + "uppercaseErrorText": "Поле должно содержать заглавные буквы.", + "lowercaseErrorText": "Поле должно содержать строчные буквы.", + "fileExtensionErrorText": "Поле должно быть действительным расширением файла.", + "fileSizeErrorText": "Файл превышает максимально допустимый размер.", + "dateRangeErrorText": "Дата должна быть в допустимом диапазоне.", + "mustBeTrueErrorText": "Поле должно быть истинным.", + "mustBeFalseErrorText": "Поле должно быть ложным.", + "containsSpecialCharErrorText": "Поле должно содержать специальный символ.", + "containsUppercaseCharErrorText": "Поле должно содержать заглавные буквы.", + "containsLowercaseCharErrorText": "Поле должно содержать строчные буквы.", + "containsNumberErrorText": "Поле должно содержать цифры.", + "alphabeticalErrorText": "Поле должно содержать только буквы.", + "uuidErrorText": "Поле должно быть действительным UUID.", + "jsonErrorText": "Поле должно быть действительным JSON.", + "latitudeErrorText": "Поле должно быть действительной широтой.", + "longitudeErrorText": "Поле должно быть действительной долготой.", + "base64ErrorText": "Поле должно быть действительной строкой Base64.", + "pathErrorText": "Поле должно быть действительным путем.", + "oddNumberErrorText": "Поле должно быть нечетным числом.", + "evenNumberErrorText": "Поле должно быть четным числом.", + "portNumberErrorText": "Поле должно быть действительным номером порта.", + "macAddressErrorText": "Поле должно быть действительным MAC адресом.", + "startsWithErrorText": "Значение должно начинаться с {value}.", + "endsWithErrorText": "Значение должно заканчиваться на {value}.", + "containsErrorText": "Значение должно содержать {value}.", + "betweenErrorText": "Значение должно быть между {min} и {max}.", + "valueInListErrorText": "Значение должно быть в списке допустимых значений." +} diff --git a/lib/l10n/intl_se.arb b/lib/l10n/intl_se.arb index f0113266..35694f5e 100644 --- a/lib/l10n/intl_se.arb +++ b/lib/l10n/intl_se.arb @@ -1,21 +1,53 @@ { - "@@locale": "se", - "creditCardErrorText": "Detta fält kräver ett giltigt kreditkortsnummer.", - "dateStringErrorText": "Detta fält kräver ett giltigt datum.", - "emailErrorText": "Detta fält kräver en giltig e-postadress.", - "equalErrorText": "Detta fältvärde måste vara lika med {value}.", - "equalLengthErrorText": "Värdet måste ha en längd lika med {length}", - "integerErrorText": "Värdet måste vara ett heltal.", - "ipErrorText": "Detta fält kräver en giltig IP-adress.", - "matchErrorText": "Värdet matchar inte mönstret.", - "maxErrorText": "Värdet måste vara mindre än eller lika med {max}.", - "maxLengthErrorText": "Värdet måste ha en längd mindre än eller lika med {maxLength}.", - "maxWordsCountErrorText": "Värdet måste ha ett antal ord som är mindre än eller lika med {maxWordsCount}", - "minErrorText": "Värdet måste vara större än eller lika med {min}.", - "minLengthErrorText": "Värdet måste ha en längd större än eller lika med {minLength}.", - "minWordsCountErrorText": "Värdet måste ha ett antal ord som är större än eller lika med {minWordsCount}", - "notEqualErrorText": "Detta fältvärde får inte vara lika med {value}.", - "numericErrorText": "Värdet måste vara numeriskt.", - "requiredErrorText": "Detta fält får inte vara tomt.", - "urlErrorText": "Detta fält kräver en giltig URL-adress." - } \ No newline at end of file + "@@locale": "se", + "creditCardErrorText": "Detta fält kräver ett giltigt kreditkortsnummer.", + "dateStringErrorText": "Detta fält kräver ett giltigt datum.", + "emailErrorText": "Detta fält kräver en giltig e-postadress.", + "equalErrorText": "Detta fältvärde måste vara lika med {value}.", + "equalLengthErrorText": "Värdet måste ha en längd lika med {length}.", + "integerErrorText": "Värdet måste vara ett heltal.", + "ipErrorText": "Detta fält kräver en giltig IP-adress.", + "matchErrorText": "Värdet matchar inte mönstret.", + "maxErrorText": "Värdet måste vara mindre än eller lika med {max}.", + "maxLengthErrorText": "Värdet måste ha en längd mindre än eller lika med {maxLength}.", + "maxWordsCountErrorText": "Värdet måste ha ett antal ord som är mindre än eller lika med {maxWordsCount}.", + "minErrorText": "Värdet måste vara större än eller lika med {min}.", + "minLengthErrorText": "Värdet måste ha en längd större än eller lika med {minLength}.", + "minWordsCountErrorText": "Värdet måste ha ett antal ord som är större än eller lika med {minWordsCount}.", + "notEqualErrorText": "Detta fältvärde får inte vara lika med {value}.", + "numericErrorText": "Värdet måste vara numeriskt.", + "requiredErrorText": "Detta fält får inte vara tomt.", + "urlErrorText": "Detta fält kräver en giltig URL-adress.", + "phoneErrorText": "Detta fält kräver ett giltigt telefonnummer.", + "creditCardExpirationDateErrorText": "Detta fält kräver ett giltigt utgångsdatum för kreditkortet.", + "creditCardExpiredErrorText": "Kreditkortet har gått ut.", + "creditCardCVCErrorText": "Detta fält kräver en giltig CVC-kod för kreditkortet.", + "colorCodeErrorText": "Detta fält kräver en giltig färgkod.", + "uppercaseErrorText": "Detta fält kräver versaler.", + "lowercaseErrorText": "Detta fält kräver gemener.", + "fileExtensionErrorText": "Detta fält kräver en giltig filtillägg.", + "fileSizeErrorText": "Denna fil överskrider den maximalt tillåtna storleken.", + "dateRangeErrorText": "Datumet måste vara inom det tillåtna intervallet.", + "mustBeTrueErrorText": "Detta fält måste vara sant.", + "mustBeFalseErrorText": "Detta fält måste vara falskt.", + "containsSpecialCharErrorText": "Detta fält måste innehålla ett specialtecken.", + "containsUppercaseCharErrorText": "Detta fält måste innehålla versaler.", + "containsLowercaseCharErrorText": "Detta fält måste innehålla gemener.", + "containsNumberErrorText": "Detta fält måste innehålla siffror.", + "alphabeticalErrorText": "Detta fält får endast innehålla bokstäver.", + "uuidErrorText": "Detta fält kräver ett giltigt UUID.", + "jsonErrorText": "Detta fält kräver en giltig JSON.", + "latitudeErrorText": "Detta fält kräver en giltig latitud.", + "longitudeErrorText": "Detta fält kräver en giltig longitud.", + "base64ErrorText": "Detta fält kräver en giltig Base64-sträng.", + "pathErrorText": "Detta fält kräver en giltig sökväg.", + "oddNumberErrorText": "Detta fält kräver ett udda nummer.", + "evenNumberErrorText": "Detta fält kräver ett jämnt nummer.", + "portNumberErrorText": "Detta fält kräver ett giltigt portnummer.", + "macAddressErrorText": "Detta fält kräver en giltig MAC-adress.", + "startsWithErrorText": "Värdet måste börja med {value}.", + "endsWithErrorText": "Värdet måste sluta med {value}.", + "containsErrorText": "Värdet måste innehålla {value}.", + "betweenErrorText": "Värdet måste vara mellan {min} och {max}.", + "valueInListErrorText": "Värdet måste vara med i listan över tillåtna värden." +} diff --git a/lib/l10n/intl_sk.arb b/lib/l10n/intl_sk.arb index a474ad81..e7d36656 100644 --- a/lib/l10n/intl_sk.arb +++ b/lib/l10n/intl_sk.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Toto pole vyžaduje platný dátum.", "emailErrorText": "Toto pole vyžaduje platnú emailovú adresu.", "equalErrorText": "Hodnota tohto poľa musí byť {value}.", - "equalLengthErrorText": "Hodnota musí mať dĺžku rovnú {length}", + "equalLengthErrorText": "Hodnota musí mať dĺžku rovnú {length}.", "integerErrorText": "Hodnota musí byť celé číslo.", "ipErrorText": "Toto pole vyžaduje platnú IP adresu.", "matchErrorText": "Hodnota nevyhovuje očakávanému tvaru.", "maxErrorText": "Hodnota musí byť menšia alebo rovná ako {max}.", "maxLengthErrorText": "Hodnota musí mať dĺžku najviac {maxLength} znakov.", - "maxWordsCountErrorText": "Hodnota musí mať slová, ktoré sa počítajú menšie alebo rovné {maxWordsCount}", + "maxWordsCountErrorText": "Hodnota musí mať počet slov menší alebo rovný {maxWordsCount}.", "minErrorText": "Hodnota musí byť väčšia alebo rovná ako {min}.", "minLengthErrorText": "Hodnota musí mať dĺžku aspoň {minLength} znakov.", - "minWordsCountErrorText": "Hodnota musí mať počítanie slov väčšie alebo rovné {minWordsCount}", + "minWordsCountErrorText": "Hodnota musí mať počet slov väčší alebo rovný {minWordsCount}.", "notEqualErrorText": "Hodnota tohto poľa nesmie byť {value}.", "numericErrorText": "Hodnota musí byť číslo.", "requiredErrorText": "Toto pole nesmie byť prázdne.", - "urlErrorText": "Toto pole vyžaduje platnú URL adresu." -} \ No newline at end of file + "urlErrorText": "Toto pole vyžaduje platnú URL adresu.", + "phoneErrorText": "Toto pole vyžaduje platné telefónne číslo.", + "creditCardExpirationDateErrorText": "Toto pole vyžaduje platný dátum exspirácie kreditnej karty.", + "creditCardExpiredErrorText": "Platnosť kreditnej karty vypršala.", + "creditCardCVCErrorText": "Toto pole vyžaduje platný CVC kód kreditnej karty.", + "colorCodeErrorText": "Toto pole vyžaduje platný farebný kód.", + "uppercaseErrorText": "Toto pole vyžaduje veľké písmená.", + "lowercaseErrorText": "Toto pole vyžaduje malé písmená.", + "fileExtensionErrorText": "Toto pole vyžaduje platnú príponu súboru.", + "fileSizeErrorText": "Tento súbor prekračuje maximálnu povolenú veľkosť.", + "dateRangeErrorText": "Dátum musí byť v povolenom rozsahu.", + "mustBeTrueErrorText": "Toto pole musí byť pravdivé.", + "mustBeFalseErrorText": "Toto pole musí byť nepravdivé.", + "containsSpecialCharErrorText": "Toto pole musí obsahovať špeciálny znak.", + "containsUppercaseCharErrorText": "Toto pole musí obsahovať veľké písmená.", + "containsLowercaseCharErrorText": "Toto pole musí obsahovať malé písmená.", + "containsNumberErrorText": "Toto pole musí obsahovať číslo.", + "alphabeticalErrorText": "Toto pole musí obsahovať iba písmená.", + "uuidErrorText": "Toto pole vyžaduje platné UUID.", + "jsonErrorText": "Toto pole vyžaduje platný JSON.", + "latitudeErrorText": "Toto pole vyžaduje platnú zemepisnú šírku.", + "longitudeErrorText": "Toto pole vyžaduje platnú zemepisnú dĺžku.", + "base64ErrorText": "Toto pole vyžaduje platný Base64 reťazec.", + "pathErrorText": "Toto pole vyžaduje platnú cestu.", + "oddNumberErrorText": "Toto pole vyžaduje nepárne číslo.", + "evenNumberErrorText": "Toto pole vyžaduje párne číslo.", + "portNumberErrorText": "Toto pole vyžaduje platné číslo portu.", + "macAddressErrorText": "Toto pole vyžaduje platnú MAC adresu.", + "startsWithErrorText": "Hodnota musí začínať na {value}.", + "endsWithErrorText": "Hodnota musí končiť na {value}.", + "containsErrorText": "Hodnota musí obsahovať {value}.", + "betweenErrorText": "Hodnota musí byť medzi {min} a {max}.", + "valueInListErrorText": "Hodnota musí byť v zozname povolených hodnôt." +} diff --git a/lib/l10n/intl_sl.arb b/lib/l10n/intl_sl.arb index 4d269036..21144c38 100644 --- a/lib/l10n/intl_sl.arb +++ b/lib/l10n/intl_sl.arb @@ -10,12 +10,44 @@ "matchErrorText": "Vrednost ne ustreza predpisanemu vzorcu.", "maxErrorText": "Vrednost ne sme presegati {max}.", "maxLengthErrorText": "Besedilo mora biti krajše ali enako {maxLength} znakov.", - "maxWordsCountErrorText": "Vrednost mora imeti besede manj kot ali enake {maxWordsCount}", + "maxWordsCountErrorText": "Vrednost mora imeti manj ali enako število besed kot {maxWordsCount}.", "minErrorText": "Vrednost mora biti večja ali enaka {min}.", "minLengthErrorText": "Besedilo mora biti daljše ali enako {minLength} znakov.", - "minWordsCountErrorText": "Vrednost mora imeti besede, ki so večje ali enake {minWordsCount}", + "minWordsCountErrorText": "Vrednost mora imeti več ali enako število besed kot {minWordsCount}.", "notEqualErrorText": "Vrednost ne sme biti enaka {value}.", "numericErrorText": "Vrednost polja mora biti numerična.", "requiredErrorText": "Polje ne sme biti prazno.", - "urlErrorText": "Vnesite veljaven URL naslov." -} \ No newline at end of file + "urlErrorText": "Vnesite veljaven URL naslov.", + "phoneErrorText": "Vnesite veljavno telefonsko številko.", + "creditCardExpirationDateErrorText": "Vnesite veljaven datum poteka kreditne kartice.", + "creditCardExpiredErrorText": "Kreditna kartica je potekla.", + "creditCardCVCErrorText": "Vnesite veljavno CVC kodo kreditne kartice.", + "colorCodeErrorText": "Vnesite veljavno barvno kodo.", + "uppercaseErrorText": "Vrednost mora vsebovati velike črke.", + "lowercaseErrorText": "Vrednost mora vsebovati male črke.", + "fileExtensionErrorText": "Vnesite veljavno pripono datoteke.", + "fileSizeErrorText": "Datoteka presega največjo dovoljeno velikost.", + "dateRangeErrorText": "Datum mora biti v dovoljenem razponu.", + "mustBeTrueErrorText": "Polje mora biti resnično.", + "mustBeFalseErrorText": "Polje mora biti neresnično.", + "containsSpecialCharErrorText": "Vrednost mora vsebovati posebne znake.", + "containsUppercaseCharErrorText": "Vrednost mora vsebovati velike črke.", + "containsLowercaseCharErrorText": "Vrednost mora vsebovati male črke.", + "containsNumberErrorText": "Vrednost mora vsebovati številke.", + "alphabeticalErrorText": "Vrednost mora vsebovati samo črke.", + "uuidErrorText": "Vnesite veljaven UUID.", + "jsonErrorText": "Vnesite veljaven JSON.", + "latitudeErrorText": "Vnesite veljavno zemljepisno širino.", + "longitudeErrorText": "Vnesite veljavno zemljepisno dolžino.", + "base64ErrorText": "Vnesite veljaven Base64 niz.", + "pathErrorText": "Vnesite veljavno pot.", + "oddNumberErrorText": "Vrednost mora biti liho število.", + "evenNumberErrorText": "Vrednost mora biti sodo število.", + "portNumberErrorText": "Vnesite veljavno številko vrat.", + "macAddressErrorText": "Vnesite veljaven MAC naslov.", + "startsWithErrorText": "Vrednost se mora začeti z {value}.", + "endsWithErrorText": "Vrednost se mora končati z {value}.", + "containsErrorText": "Vrednost mora vsebovati {value}.", + "betweenErrorText": "Vrednost mora biti med {min} in {max}.", + "valueInListErrorText": "Vrednost mora biti v seznamu dovoljenih vrednosti." +} diff --git a/lib/l10n/intl_sw.arb b/lib/l10n/intl_sw.arb index 5af5f590..355c7f8b 100644 --- a/lib/l10n/intl_sw.arb +++ b/lib/l10n/intl_sw.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Sehemu hii inahitaji mfuatano halali wa tarehe.", "emailErrorText": "Sehemu hii inahitaji barua pepe halali.", "equalErrorText": "Thamani ya sehemu hii lazima iwe sawa na {value}.", - "equalLengthErrorText": "Thamani lazima iwe na urefu sawa na {length}", + "equalLengthErrorText": "Thamani lazima iwe na urefu sawa na {length}.", "integerErrorText": "Sehemu hii inahitaji nambari kamili halali.", "ipErrorText": "Sehemu hii inahitaji IP halali.", "matchErrorText": "Thamani hailingani na muundo.", - "maxErrorText": "Thamani lazima iwe chini ya au sawa na {max}", - "maxLengthErrorText": "Thamani lazima iwe na urefu chini ya au sawa na {maxLength}", - "maxWordsCountErrorText": "Thamani lazima iwe na hesabu ya maneno chini ya au sawa na {maxWordsCount}", + "maxErrorText": "Thamani lazima iwe chini ya au sawa na {max}.", + "maxLengthErrorText": "Thamani lazima iwe na urefu chini ya au sawa na {maxLength}.", + "maxWordsCountErrorText": "Thamani lazima iwe na hesabu ya maneno chini ya au sawa na {maxWordsCount}.", "minErrorText": "Thamani lazima iwe kubwa kuliko au sawa na {min}.", "minLengthErrorText": "Thamani lazima iwe na urefu mkubwa kuliko au sawa na {minLength}.", - "minWordsCountErrorText": "Thamani lazima iwe na maneno kuhesabu kubwa kuliko au sawa na {minWordsCount}", + "minWordsCountErrorText": "Thamani lazima iwe na maneno kuhesabu kubwa kuliko au sawa na {minWordsCount}.", "notEqualErrorText": "Thamani hii ya sehemu haifai kuwa sawa na {value}.", "numericErrorText": "Thamani lazima iwe nambari.", "requiredErrorText": "Sehemu hii haiwezi kuwa tupu.", - "urlErrorText": "Sehemu hii inahitaji anwani sahihi ya tovuti." -} \ No newline at end of file + "urlErrorText": "Sehemu hii inahitaji anwani sahihi ya tovuti.", + "phoneErrorText": "Sehemu hii inahitaji nambari halali ya simu.", + "creditCardExpirationDateErrorText": "Sehemu hii inahitaji tarehe halali ya kumalizika kwa kadi ya mkopo.", + "creditCardExpiredErrorText": "Kadi ya mkopo imeisha muda wake.", + "creditCardCVCErrorText": "Sehemu hii inahitaji msimbo halali wa CVC wa kadi ya mkopo.", + "colorCodeErrorText": "Sehemu hii inahitaji msimbo halali wa rangi.", + "uppercaseErrorText": "Sehemu hii inahitaji herufi kubwa.", + "lowercaseErrorText": "Sehemu hii inahitaji herufi ndogo.", + "fileExtensionErrorText": "Sehemu hii inahitaji kiendelezi halali cha faili.", + "fileSizeErrorText": "Faili hili linazidi ukubwa wa juu ulioruhusiwa.", + "dateRangeErrorText": "Tarehe lazima iwe ndani ya kikomo kilichoruhusiwa.", + "mustBeTrueErrorText": "Sehemu hii lazima iwe kweli.", + "mustBeFalseErrorText": "Sehemu hii lazima iwe uongo.", + "containsSpecialCharErrorText": "Sehemu hii lazima iwe na herufi maalum.", + "containsUppercaseCharErrorText": "Sehemu hii lazima iwe na herufi kubwa.", + "containsLowercaseCharErrorText": "Sehemu hii lazima iwe na herufi ndogo.", + "containsNumberErrorText": "Sehemu hii lazima iwe na nambari.", + "alphabeticalErrorText": "Sehemu hii lazima iwe na herufi pekee.", + "uuidErrorText": "Sehemu hii inahitaji UUID halali.", + "jsonErrorText": "Sehemu hii inahitaji JSON halali.", + "latitudeErrorText": "Sehemu hii inahitaji latitudo halali.", + "longitudeErrorText": "Sehemu hii inahitaji longitudo halali.", + "base64ErrorText": "Sehemu hii inahitaji mfuatano halali wa Base64.", + "pathErrorText": "Sehemu hii inahitaji njia halali.", + "oddNumberErrorText": "Sehemu hii inahitaji nambari isiyo ya kawaida.", + "evenNumberErrorText": "Sehemu hii inahitaji nambari ya kawaida.", + "portNumberErrorText": "Sehemu hii inahitaji nambari halali ya bandari.", + "macAddressErrorText": "Sehemu hii inahitaji anwani halali ya MAC.", + "startsWithErrorText": "Thamani lazima ianze na {value}.", + "endsWithErrorText": "Thamani lazima imalizike na {value}.", + "containsErrorText": "Thamani lazima iwe na {value}.", + "betweenErrorText": "Thamani lazima iwe kati ya {min} na {max}.", + "valueInListErrorText": "Thamani lazima iwe kwenye orodha ya thamani zinazokubalika." +} diff --git a/lib/l10n/intl_ta.arb b/lib/l10n/intl_ta.arb index 325b93fb..61b64167 100644 --- a/lib/l10n/intl_ta.arb +++ b/lib/l10n/intl_ta.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "இந்த உள்ளீட்டுக்கு சரியான தேதி தேவை.", "emailErrorText": "இந்த உள்ளீட்டுக்கு சரியான மின்னஞ்சல் முகவரி தேவை.", "equalErrorText": "இந்த உள்ளீடு மதிப்பு {value}க்கு சமமாக இருக்க வேண்டும்.", - "equalLengthErrorText": "மதிப்பு {length}க்கு சமமான நீளத்தைக் கொண்டிருக்க வேண்டும்", + "equalLengthErrorText": "மதிப்பு {length}க்கு சமமான நீளத்தைக் கொண்டிருக்க வேண்டும்.", "integerErrorText": "இந்த உள்ளீட்டுக்கு சரியான முழு எண் தேவை.", "ipErrorText": "இந்த உள்ளீட்டுக்கு சரியான ஐபி தேவை.", "matchErrorText": "மதிப்பு முறையுடன் பொருந்தவில்லை.", - "maxErrorText": "மதிப்பு {max} ஐ விட குறைவாகவோ அல்லது சமமாகவோ இருக்க வேண்டும்", - "maxLengthErrorText": "மதிப்பின் நீளம் {maxLength} ஐ விட குறைவாகவோ அல்லது சமமாகவோ இருக்க வேண்டும்", - "maxWordsCountErrorText": "மதிப்பை விட குறைவாகவோ அல்லது சமமாகவோ மதிப்பிடப்பட வேண்டும் {maxWordsCount}", + "maxErrorText": "மதிப்பு {max} ஐ விட குறைவாகவோ அல்லது சமமாகவோ இருக்க வேண்டும்.", + "maxLengthErrorText": "மதிப்பின் நீளம் {maxLength} ஐ விட குறைவாகவோ அல்லது சமமாகவோ இருக்க வேண்டும்.", + "maxWordsCountErrorText": "மதிப்பை விட குறைவாகவோ அல்லது சமமாகவோ மதிப்பிடப்பட வேண்டும் {maxWordsCount}.", "minErrorText": "மதிப்பு {min} ஐ விட அதிகமாகவோ அல்லது சமமாகவோ இருக்க வேண்டும்.", - "minLengthErrorText": "மதிப்பு {minLength} ஐ விட அதிகமாக அல்லது அதற்கு சமமான நீளத்தைக் கொண்டிருக்க வேண்டும்", - "minWordsCountErrorText": "மதிப்பை விட அதிகமாகவோ அல்லது சமமாகவோ மதிப்பிடப்பட வேண்டும் {minWordsCount}", + "minLengthErrorText": "மதிப்பு {minLength} ஐ விட அதிகமாக அல்லது அதற்கு சமமான நீளத்தைக் கொண்டிருக்க வேண்டும்.", + "minWordsCountErrorText": "மதிப்பை விட அதிகமாகவோ அல்லது சமமாகவோ மதிப்பிடப்பட வேண்டும் {minWordsCount}.", "notEqualErrorText": "இந்த உள்ளீடு மதிப்பு {value}க்கு சமமாக இருக்கக்கூடாது.", "numericErrorText": "மதிப்பு எண்களாக இருக்க வேண்டும்.", "requiredErrorText": "இந்த உள்ளீடு காலியாக இருக்கக்கூடாது.", - "urlErrorText": "இந்த உள்ளீட்டுக்கு சரியான URL முகவரி தேவை." + "urlErrorText": "இந்த உள்ளீட்டுக்கு சரியான URL முகவரி தேவை.", + "phoneErrorText": "இந்த உள்ளீட்டுக்கு சரியான தொலைபேசி எண் தேவை.", + "creditCardExpirationDateErrorText": "இந்த உள்ளீட்டுக்கு சரியான கிரெடிட் கார்டு காலாவதி தேதியை தேவை.", + "creditCardExpiredErrorText": "கிரெடிட் கார்டு காலாவதி செய்யப்பட்டுள்ளது.", + "creditCardCVCErrorText": "இந்த உள்ளீட்டுக்கு சரியான கிரெடிட் கார்டு CVC குறியீடு தேவை.", + "colorCodeErrorText": "இந்த உள்ளீட்டுக்கு சரியான நிறக் குறியீடு தேவை.", + "uppercaseErrorText": "இந்த உள்ளீடு பெரிய எழுத்துகளை கொண்டிருக்க வேண்டும்.", + "lowercaseErrorText": "இந்த உள்ளீடு சிறிய எழுத்துகளை கொண்டிருக்க வேண்டும்.", + "fileExtensionErrorText": "இந்த உள்ளீட்டுக்கு சரியான கோப்பு நீட்டிப்பு தேவை.", + "fileSizeErrorText": "இந்த கோப்பு அதிகபட்ச அனுமதிக்கப்பட்ட அளவை மீறுகிறது.", + "dateRangeErrorText": "தேதி அனுமதிக்கப்பட்ட வரம்பில் இருக்க வேண்டும்.", + "mustBeTrueErrorText": "இந்த உள்ளீடு உண்மையானதாக இருக்க வேண்டும்.", + "mustBeFalseErrorText": "இந்த உள்ளீடு பொய்யாக இருக்க வேண்டும்.", + "containsSpecialCharErrorText": "இந்த உள்ளீடு சிறப்பு எழுத்துக்களை கொண்டிருக்க வேண்டும்.", + "containsUppercaseCharErrorText": "இந்த உள்ளீடு பெரிய எழுத்துக்களை கொண்டிருக்க வேண்டும்.", + "containsLowercaseCharErrorText": "இந்த உள்ளீடு சிறிய எழுத்துக்களை கொண்டிருக்க வேண்டும்.", + "containsNumberErrorText": "இந்த உள்ளீடு எண்களை கொண்டிருக்க வேண்டும்.", + "alphabeticalErrorText": "இந்த உள்ளீடு எழுத்துக்களை மட்டுமே கொண்டிருக்க வேண்டும்.", + "uuidErrorText": "இந்த உள்ளீட்டுக்கு சரியான UUID தேவை.", + "jsonErrorText": "இந்த உள்ளீட்டுக்கு சரியான JSON தேவை.", + "latitudeErrorText": "இந்த உள்ளீட்டுக்கு சரியான அகலாங்கு தேவை.", + "longitudeErrorText": "இந்த உள்ளீட்டுக்கு சரியான நீளாங்கு தேவை.", + "base64ErrorText": "இந்த உள்ளீட்டுக்கு சரியான Base64 வரிசை தேவை.", + "pathErrorText": "இந்த உள்ளீட்டுக்கு சரியான பாதை தேவை.", + "oddNumberErrorText": "இந்த உள்ளீட்டுக்கு ஒற்றையன் எண் தேவை.", + "evenNumberErrorText": "இந்த உள்ளீட்டுக்கு சீரான எண் தேவை.", + "portNumberErrorText": "இந்த உள்ளீட்டுக்கு சரியான போர்ட் எண் தேவை.", + "macAddressErrorText": "இந்த உள்ளீட்டுக்கு சரியான MAC முகவரி தேவை.", + "startsWithErrorText": "மதிப்பு {value} மூலம் தொடங்க வேண்டும்.", + "endsWithErrorText": "மதிப்பு {value}ல் முடிவடைய வேண்டும்.", + "containsErrorText": "மதிப்பு {value} ஐ கொண்டிருக்க வேண்டும்.", + "betweenErrorText": "மதிப்பு {min} மற்றும் {max} இடையில் இருக்க வேண்டும்.", + "valueInListErrorText": "மதிப்பு அனுமதிக்கப்பட்ட மதிப்புகளின் பட்டியலில் இருக்க வேண்டும்." } diff --git a/lib/l10n/intl_th.arb b/lib/l10n/intl_th.arb index 3a5f4057..8239da6a 100644 --- a/lib/l10n/intl_th.arb +++ b/lib/l10n/intl_th.arb @@ -17,5 +17,37 @@ "notEqualErrorText": "ข้อมูลนี้ต้องไม่เท่ากับ {value}", "numericErrorText": "ข้อมูลนี้ต้องเป็นตัวเลขเท่านั้น", "requiredErrorText": "กรุณาระบุข้อมูล", - "urlErrorText": "ข้อมูลนี้ต้องเป็น URL address เท่านั้น" -} \ No newline at end of file + "urlErrorText": "ข้อมูลนี้ต้องเป็น URL address เท่านั้น", + "phoneErrorText": "ข้อมูลนี้ต้องเป็นเบอร์โทรศัพท์ที่ถูกต้อง", + "creditCardExpirationDateErrorText": "ข้อมูลนี้ต้องเป็นวันหมดอายุของบัตรเครดิตที่ถูกต้อง", + "creditCardExpiredErrorText": "บัตรเครดิตนี้หมดอายุแล้ว", + "creditCardCVCErrorText": "ข้อมูลนี้ต้องเป็นรหัส CVC ของบัตรเครดิตที่ถูกต้อง", + "colorCodeErrorText": "ข้อมูลนี้ต้องเป็นรหัสสีที่ถูกต้อง", + "uppercaseErrorText": "ข้อมูลนี้ต้องเป็นตัวอักษรพิมพ์ใหญ่", + "lowercaseErrorText": "ข้อมูลนี้ต้องเป็นตัวอักษรพิมพ์เล็ก", + "fileExtensionErrorText": "ข้อมูลนี้ต้องเป็นนามสกุลไฟล์ที่ถูกต้อง", + "fileSizeErrorText": "ไฟล์นี้มีขนาดใหญ่เกินไป", + "dateRangeErrorText": "วันที่ต้องอยู่ในช่วงที่กำหนด", + "mustBeTrueErrorText": "ข้อมูลนี้ต้องเป็นจริง", + "mustBeFalseErrorText": "ข้อมูลนี้ต้องเป็นเท็จ", + "containsSpecialCharErrorText": "ข้อมูลนี้ต้องมีอักขระพิเศษ", + "containsUppercaseCharErrorText": "ข้อมูลนี้ต้องมีอักษรตัวใหญ่", + "containsLowercaseCharErrorText": "ข้อมูลนี้ต้องมีอักษรตัวเล็ก", + "containsNumberErrorText": "ข้อมูลนี้ต้องมีตัวเลข", + "alphabeticalErrorText": "ข้อมูลนี้ต้องมีเฉพาะตัวอักษร", + "uuidErrorText": "ข้อมูลนี้ต้องเป็น UUID ที่ถูกต้อง", + "jsonErrorText": "ข้อมูลนี้ต้องเป็น JSON ที่ถูกต้อง", + "latitudeErrorText": "ข้อมูลนี้ต้องเป็นค่าละติจูดที่ถูกต้อง", + "longitudeErrorText": "ข้อมูลนี้ต้องเป็นค่าลองจิจูดที่ถูกต้อง", + "base64ErrorText": "ข้อมูลนี้ต้องเป็น Base64 ที่ถูกต้อง", + "pathErrorText": "ข้อมูลนี้ต้องเป็นเส้นทางที่ถูกต้อง", + "oddNumberErrorText": "ข้อมูลนี้ต้องเป็นเลขคี่", + "evenNumberErrorText": "ข้อมูลนี้ต้องเป็นเลขคู่", + "portNumberErrorText": "ข้อมูลนี้ต้องเป็นหมายเลขพอร์ตที่ถูกต้อง", + "macAddressErrorText": "ข้อมูลนี้ต้องเป็น MAC address ที่ถูกต้อง", + "startsWithErrorText": "ข้อมูลนี้ต้องขึ้นต้นด้วย {value}", + "endsWithErrorText": "ข้อมูลนี้ต้องลงท้ายด้วย {value}", + "containsErrorText": "ข้อมูลนี้ต้องประกอบด้วย {value}", + "betweenErrorText": "ข้อมูลนี้ต้องอยู่ระหว่าง {min} และ {max}", + "valueInListErrorText": "ข้อมูลนี้ต้องอยู่ในรายการค่าที่อนุญาต" +} diff --git a/lib/l10n/intl_tr.arb b/lib/l10n/intl_tr.arb index e06fecc2..5b26f172 100644 --- a/lib/l10n/intl_tr.arb +++ b/lib/l10n/intl_tr.arb @@ -10,12 +10,44 @@ "matchErrorText": "Lütfen geçerli bir değer giriniz.", "maxErrorText": "Değer {max} değerinden küçük veya eşit olmalıdır.", "maxLengthErrorText": "Değerin uzunluğu {maxLength} değerinden küçük veya eşit olmalıdır.", - "maxWordsCountErrorText": "Değer, {maxWordsCount} 'dan daha az veya eşit bir kelimeye sahip olmalıdır", + "maxWordsCountErrorText": "Değer, {maxWordsCount} 'dan daha az veya eşit bir kelimeye sahip olmalıdır.", "minErrorText": "Değer {min} değerinden büyük veya eşit olmalıdır.", "minLengthErrorText": "Değerin uzunluğu {minLength} değerinden büyük veya eşit olmalıdır.", - "minWordsCountErrorText": "Değer, {minWordsCount} 'dan daha büyük veya eşit bir kelimeye sahip olmalıdır", + "minWordsCountErrorText": "Değer, {minWordsCount} 'dan daha büyük veya eşit bir kelimeye sahip olmalıdır.", "notEqualErrorText": "Bu alanın değeri, {value} değerine eşit olmamalıdır.", "numericErrorText": "Değer sayısal olmalıdır.", "requiredErrorText": "Bu alan boş olamaz.", - "urlErrorText": "Bu alan geçerli bir URL adresi gerektirir." -} \ No newline at end of file + "urlErrorText": "Bu alan geçerli bir URL adresi gerektirir.", + "phoneErrorText": "Bu alan geçerli bir telefon numarası gerektirir.", + "creditCardExpirationDateErrorText": "Bu alan geçerli bir kredi kartı son kullanma tarihi gerektirir.", + "creditCardExpiredErrorText": "Kredi kartının son kullanma tarihi geçmiş.", + "creditCardCVCErrorText": "Bu alan geçerli bir kredi kartı CVC kodu gerektirir.", + "colorCodeErrorText": "Bu alan geçerli bir renk kodu gerektirir.", + "uppercaseErrorText": "Bu alan büyük harfler içermelidir.", + "lowercaseErrorText": "Bu alan küçük harfler içermelidir.", + "fileExtensionErrorText": "Bu alan geçerli bir dosya uzantısı gerektirir.", + "fileSizeErrorText": "Bu dosya, izin verilen maksimum boyutu aşıyor.", + "dateRangeErrorText": "Tarih izin verilen aralıkta olmalıdır.", + "mustBeTrueErrorText": "Bu alan doğru olmalıdır.", + "mustBeFalseErrorText": "Bu alan yanlış olmalıdır.", + "containsSpecialCharErrorText": "Bu alan özel karakter içermelidir.", + "containsUppercaseCharErrorText": "Bu alan büyük harf içermelidir.", + "containsLowercaseCharErrorText": "Bu alan küçük harf içermelidir.", + "containsNumberErrorText": "Bu alan bir rakam içermelidir.", + "alphabeticalErrorText": "Bu alan sadece harf içermelidir.", + "uuidErrorText": "Bu alan geçerli bir UUID gerektirir.", + "jsonErrorText": "Bu alan geçerli bir JSON gerektirir.", + "latitudeErrorText": "Bu alan geçerli bir enlem gerektirir.", + "longitudeErrorText": "Bu alan geçerli bir boylam gerektirir.", + "base64ErrorText": "Bu alan geçerli bir Base64 dizesi gerektirir.", + "pathErrorText": "Bu alan geçerli bir yol gerektirir.", + "oddNumberErrorText": "Bu alan tek sayı gerektirir.", + "evenNumberErrorText": "Bu alan çift sayı gerektirir.", + "portNumberErrorText": "Bu alan geçerli bir port numarası gerektirir.", + "macAddressErrorText": "Bu alan geçerli bir MAC adresi gerektirir.", + "startsWithErrorText": "Değer {value} ile başlamalıdır.", + "endsWithErrorText": "Değer {value} ile bitmelidir.", + "containsErrorText": "Değer {value} içermelidir.", + "betweenErrorText": "Değer {min} ile {max} arasında olmalıdır.", + "valueInListErrorText": "Değer izin verilen değerler listesinde olmalıdır." +} diff --git a/lib/l10n/intl_uk.arb b/lib/l10n/intl_uk.arb index 189f7dc1..71e8200e 100644 --- a/lib/l10n/intl_uk.arb +++ b/lib/l10n/intl_uk.arb @@ -2,20 +2,52 @@ "@@locale": "uk", "creditCardErrorText": "Значення поля має бути номером кредитної картки.", "dateStringErrorText": "Поле має бути датою.", - "emailErrorText": "Поле має бути email адрес.", + "emailErrorText": "Поле має бути email адресою.", "equalErrorText": "Значення поля має дорівнювати {value}.", - "equalLengthErrorText": "Значення повинно мати довжину, рівну {length}", + "equalLengthErrorText": "Значення повинно мати довжину, рівну {length}.", "integerErrorText": "Поле має бути цілим числом.", - "ipErrorText": "Поле має бути IP номером.", - "matchErrorText": "Значення має задовольняти шаблоном.", - "maxErrorText": "Значення має бути менше або дорівнює {max}.", - "maxLengthErrorText": "Довжина значеня Має бути менше або дорівнює {maxLength}.", - "maxWordsCountErrorText": "Значення повинно мати слова врахувати менше або дорівнює {maxWordsCount}", - "minErrorText": "Значення має бути більш або дорівнює {min}.", - "minLengthErrorText": "Довжина значеня Має бути більш або дорівнює {minLength}.", - "minWordsCountErrorText": "Значення повинно мати слова врахувати більше або дорівнює {minWordsCount}", - "notEqualErrorText": "Значення поля не повинно бути рівним {value}.", + "ipErrorText": "Поле має бути IP адресою.", + "matchErrorText": "Значення має відповідати шаблону.", + "maxErrorText": "Значення має бути менше або дорівнювати {max}.", + "maxLengthErrorText": "Довжина значення має бути менше або дорівнювати {maxLength}.", + "maxWordsCountErrorText": "Значення повинно мати кількість слів менше або дорівнювати {maxWordsCount}.", + "minErrorText": "Значення має бути більше або дорівнювати {min}.", + "minLengthErrorText": "Довжина значення має бути більше або дорівнювати {minLength}.", + "minWordsCountErrorText": "Значення повинно мати кількість слів більше або дорівнювати {minWordsCount}.", + "notEqualErrorText": "Значення поля не повинно дорівнювати {value}.", "numericErrorText": "Значення має бути числом.", "requiredErrorText": "Поле не може бути порожнім.", - "urlErrorText": "Поле має бути URL адресою." -} \ No newline at end of file + "urlErrorText": "Поле має бути URL адресою.", + "phoneErrorText": "Поле має бути дійсним номером телефону.", + "creditCardExpirationDateErrorText": "Поле має бути дійсною датою закінчення терміну дії кредитної картки.", + "creditCardExpiredErrorText": "Термін дії кредитної картки закінчився.", + "creditCardCVCErrorText": "Поле має бути дійсним CVC кодом кредитної картки.", + "colorCodeErrorText": "Поле має бути дійсним кольоровим кодом.", + "uppercaseErrorText": "Поле має містити великі літери.", + "lowercaseErrorText": "Поле має містити малі літери.", + "fileExtensionErrorText": "Поле має бути дійсним розширенням файлу.", + "fileSizeErrorText": "Цей файл перевищує максимально допустимий розмір.", + "dateRangeErrorText": "Дата має бути в дозволеному діапазоні.", + "mustBeTrueErrorText": "Поле має бути істинним.", + "mustBeFalseErrorText": "Поле має бути хибним.", + "containsSpecialCharErrorText": "Поле має містити спеціальний символ.", + "containsUppercaseCharErrorText": "Поле має містити великі літери.", + "containsLowercaseCharErrorText": "Поле має містити малі літери.", + "containsNumberErrorText": "Поле має містити число.", + "alphabeticalErrorText": "Поле має містити тільки літери.", + "uuidErrorText": "Поле має бути дійсним UUID.", + "jsonErrorText": "Поле має бути дійсним JSON.", + "latitudeErrorText": "Поле має бути дійсною широтою.", + "longitudeErrorText": "Поле має бути дійсною довготою.", + "base64ErrorText": "Поле має бути дійсним рядком Base64.", + "pathErrorText": "Поле має бути дійсним шляхом.", + "oddNumberErrorText": "Поле має бути непарним числом.", + "evenNumberErrorText": "Поле має бути парним числом.", + "portNumberErrorText": "Поле має бути дійсним номером порту.", + "macAddressErrorText": "Поле має бути дійсною MAC адресою.", + "startsWithErrorText": "Значення має починатися з {value}.", + "endsWithErrorText": "Значення має закінчуватися на {value}.", + "containsErrorText": "Значення має містити {value}.", + "betweenErrorText": "Значення має бути між {min} і {max}.", + "valueInListErrorText": "Значення має бути в списку дозволених значень." +} diff --git a/lib/l10n/intl_vi.arb b/lib/l10n/intl_vi.arb index 70692720..615bf5ec 100644 --- a/lib/l10n/intl_vi.arb +++ b/lib/l10n/intl_vi.arb @@ -4,18 +4,50 @@ "dateStringErrorText": "Yêu cầu nhập đúng định dạng ngày.", "emailErrorText": "Nhập đúng email.", "equalErrorText": "Bắt buộc bằng {value}.", - "equalLengthErrorText": "Độ dài phải bằng {length}", + "equalLengthErrorText": "Độ dài phải bằng {length}.", "integerErrorText": "Yêu cầu nhập một số nguyên.", "ipErrorText": "Yêu cầu nhập đúng địa chỉ IP.", "matchErrorText": "Giá trị không khớp.", - "maxErrorText": "Giá trị phải nhỏ hơn hoặc bằng {max}", - "maxLengthErrorText": "Độ dài phải nhỏ hơn hoặc bằng {maxLength}", - "maxWordsCountErrorText": "Giá trị phải có số từ nhỏ hơn hoặc bằng {maxWordsCount}", + "maxErrorText": "Giá trị phải nhỏ hơn hoặc bằng {max}.", + "maxLengthErrorText": "Độ dài phải nhỏ hơn hoặc bằng {maxLength}.", + "maxWordsCountErrorText": "Giá trị phải có số từ nhỏ hơn hoặc bằng {maxWordsCount}.", "minErrorText": "Giá trị phải lớn hơn hoặc bằng {min}.", - "minLengthErrorText": "Độ dài phải lớn hơn hoặc bằng {minLength}", - "minWordsCountErrorText": "Giá trị phải có số từ lớn hơn hoặc bằng {minWordsCount}", + "minLengthErrorText": "Độ dài phải lớn hơn hoặc bằng {minLength}.", + "minWordsCountErrorText": "Giá trị phải có số từ lớn hơn hoặc bằng {minWordsCount}.", "notEqualErrorText": "Bắt buộc khác {value}.", "numericErrorText": "Yêu cầu nhập một số.", "requiredErrorText": "Không được bỏ trống.", - "urlErrorText": "Nhập đúng địa chỉ URL." -} \ No newline at end of file + "urlErrorText": "Nhập đúng địa chỉ URL.", + "phoneErrorText": "Yêu cầu nhập số điện thoại hợp lệ.", + "creditCardExpirationDateErrorText": "Yêu cầu nhập đúng ngày hết hạn của thẻ tín dụng.", + "creditCardExpiredErrorText": "Thẻ tín dụng đã hết hạn.", + "creditCardCVCErrorText": "Yêu cầu nhập đúng mã CVC của thẻ tín dụng.", + "colorCodeErrorText": "Yêu cầu nhập mã màu hợp lệ.", + "uppercaseErrorText": "Yêu cầu nhập chữ hoa.", + "lowercaseErrorText": "Yêu cầu nhập chữ thường.", + "fileExtensionErrorText": "Yêu cầu nhập đúng đuôi file.", + "fileSizeErrorText": "File vượt quá kích thước tối đa cho phép.", + "dateRangeErrorText": "Ngày phải nằm trong khoảng cho phép.", + "mustBeTrueErrorText": "Yêu cầu phải đúng.", + "mustBeFalseErrorText": "Yêu cầu phải sai.", + "containsSpecialCharErrorText": "Yêu cầu chứa ký tự đặc biệt.", + "containsUppercaseCharErrorText": "Yêu cầu chứa chữ hoa.", + "containsLowercaseCharErrorText": "Yêu cầu chứa chữ thường.", + "containsNumberErrorText": "Yêu cầu chứa số.", + "alphabeticalErrorText": "Yêu cầu chỉ chứa chữ cái.", + "uuidErrorText": "Yêu cầu nhập đúng UUID.", + "jsonErrorText": "Yêu cầu nhập đúng định dạng JSON.", + "latitudeErrorText": "Yêu cầu nhập đúng vĩ độ.", + "longitudeErrorText": "Yêu cầu nhập đúng kinh độ.", + "base64ErrorText": "Yêu cầu nhập đúng chuỗi Base64.", + "pathErrorText": "Yêu cầu nhập đúng đường dẫn.", + "oddNumberErrorText": "Yêu cầu nhập số lẻ.", + "evenNumberErrorText": "Yêu cầu nhập số chẵn.", + "portNumberErrorText": "Yêu cầu nhập đúng số cổng.", + "macAddressErrorText": "Yêu cầu nhập đúng địa chỉ MAC.", + "startsWithErrorText": "Giá trị phải bắt đầu bằng {value}.", + "endsWithErrorText": "Giá trị phải kết thúc bằng {value}.", + "containsErrorText": "Giá trị phải chứa {value}.", + "betweenErrorText": "Giá trị phải nằm trong khoảng từ {min} đến {max}.", + "valueInListErrorText": "Giá trị phải nằm trong danh sách các giá trị hợp lệ." +} diff --git a/lib/l10n/intl_zh.arb b/lib/l10n/intl_zh.arb index 304f59c5..4bfae290 100644 --- a/lib/l10n/intl_zh.arb +++ b/lib/l10n/intl_zh.arb @@ -1,21 +1,53 @@ { "@@locale": "zh", - "creditCardErrorText": "该字段必须是有效的信用卡号", - "dateStringErrorText": "该字段必须是有效的时间日期", - "emailErrorText": "该字段必须是有效的电子邮件地址", - "equalErrorText": "该字段必须等于{value}", - "equalLengthErrorText": "该字段的长度必须等于{length}", - "integerErrorText": "该字段必须是整数", - "ipErrorText": "该字段必须是有效的IP", - "matchErrorText": "该字段格式不正确", - "maxErrorText": "该字段必须小于等于{max}", - "maxLengthErrorText": "该字段的长度必须小于等于{maxLength}", - "maxWordsCountErrorText": "值必须具有小于或等于{maxWordsCount}的单词计数", - "minErrorText": "该字段必须大于等于{min}", - "minLengthErrorText": "该字段的长度必须大于等于{minLength}", - "minWordsCountErrorText": "值必须具有大于或等于{minWordsCount}的单词计数", - "notEqualErrorText": "该字段不能等于{value}", - "numericErrorText": "该字段必须是数字", + "creditCardErrorText": "该字段必须是有效的信用卡号。", + "dateStringErrorText": "该字段必须是有效的时间日期。", + "emailErrorText": "该字段必须是有效的电子邮件地址。", + "equalErrorText": "该字段必须等于 {value}。", + "equalLengthErrorText": "该字段的长度必须等于 {length}。", + "integerErrorText": "该字段必须是整数。", + "ipErrorText": "该字段必须是有效的 IP。", + "matchErrorText": "该字段格式不正确。", + "maxErrorText": "该字段必须小于等于 {max}。", + "maxLengthErrorText": "该字段的长度必须小于等于 {maxLength}。", + "maxWordsCountErrorText": "值必须具有小于或等于 {maxWordsCount} 的单词计数。", + "minErrorText": "该字段必须大于等于 {min}。", + "minLengthErrorText": "该字段的长度必须大于等于 {minLength}。", + "minWordsCountErrorText": "值必须具有大于或等于 {minWordsCount} 的单词计数。", + "notEqualErrorText": "该字段不能等于 {value}。", + "numericErrorText": "该字段必须是数字。", "requiredErrorText": "该字段不能为空。", - "urlErrorText": "该字段必须是有效的URL地址" -} \ No newline at end of file + "urlErrorText": "该字段必须是有效的 URL 地址。", + "phoneErrorText": "该字段必须是有效的电话号码。", + "creditCardExpirationDateErrorText": "该字段必须是有效的信用卡到期日期。", + "creditCardExpiredErrorText": "信用卡已过期。", + "creditCardCVCErrorText": "该字段必须是有效的信用卡 CVC 码。", + "colorCodeErrorText": "该字段必须是有效的颜色代码。", + "uppercaseErrorText": "该字段必须包含大写字母。", + "lowercaseErrorText": "该字段必须包含小写字母。", + "fileExtensionErrorText": "该字段必须是有效的文件扩展名。", + "fileSizeErrorText": "该文件超出允许的最大大小。", + "dateRangeErrorText": "日期必须在允许的范围内。", + "mustBeTrueErrorText": "该字段必须为真。", + "mustBeFalseErrorText": "该字段必须为假。", + "containsSpecialCharErrorText": "该字段必须包含特殊字符。", + "containsUppercaseCharErrorText": "该字段必须包含大写字母。", + "containsLowercaseCharErrorText": "该字段必须包含小写字母。", + "containsNumberErrorText": "该字段必须包含数字。", + "alphabeticalErrorText": "该字段只能包含字母。", + "uuidErrorText": "该字段必须是有效的 UUID。", + "jsonErrorText": "该字段必须是有效的 JSON。", + "latitudeErrorText": "该字段必须是有效的纬度。", + "longitudeErrorText": "该字段必须是有效的经度。", + "base64ErrorText": "该字段必须是有效的 Base64 字符串。", + "pathErrorText": "该字段必须是有效的路径。", + "oddNumberErrorText": "该字段必须是奇数。", + "evenNumberErrorText": "该字段必须是偶数。", + "portNumberErrorText": "该字段必须是有效的端口号。", + "macAddressErrorText": "该字段必须是有效的 MAC 地址。", + "startsWithErrorText": "值必须以 {value} 开头。", + "endsWithErrorText": "值必须以 {value} 结尾。", + "containsErrorText": "值必须包含 {value}。", + "betweenErrorText": "值必须在 {min} 和 {max} 之间。", + "valueInListErrorText": "值必须在允许的值列表中。" +} diff --git a/lib/l10n/intl_zh_Hant.arb b/lib/l10n/intl_zh_Hant.arb index 9c41fa0e..a6f54d5e 100644 --- a/lib/l10n/intl_zh_Hant.arb +++ b/lib/l10n/intl_zh_Hant.arb @@ -3,19 +3,51 @@ "creditCardErrorText": "此欄位需要有效的信用卡號碼。", "dateStringErrorText": "此欄位需要有效的日期字符串。", "emailErrorText": "此欄位需要有效的電子郵件地址。", - "equalErrorText": "此欄位必須與{value}相符", - "equalLengthErrorText": "值必須具有等於{length}的長度", + "equalErrorText": "此欄位必須與 {value} 相符", + "equalLengthErrorText": "值必須具有等於 {length} 的長度", "integerErrorText": "此欄位需要有效的整數。", - "ipErrorText": "此欄位需要有效的IP。", + "ipErrorText": "此欄位需要有效的 IP。", "matchErrorText": "此欄位與格式不匹配。", - "maxErrorText": "此欄位必須小於或等於{max}", - "maxLengthErrorText": "此欄位的長度必須小於或等於{maxLength}", - "maxWordsCountErrorText": "值必須具有小於或等於{maxWordsCount}的單詞計數", - "minErrorText": "此欄位必須大於或等於{min}", - "minLengthErrorText": "此欄位的長度必須大於或等於{minLength}", - "minWordsCountErrorText": "值必須具有大於或等於{minWordsCount}的單詞計數", - "notEqualErrorText": "此欄位不得等於{value}", + "maxErrorText": "此欄位必須小於或等於 {max}", + "maxLengthErrorText": "此欄位的長度必須小於或等於 {maxLength}", + "maxWordsCountErrorText": "值必須具有小於或等於 {maxWordsCount} 的單詞計數", + "minErrorText": "此欄位必須大於或等於 {min}", + "minLengthErrorText": "此欄位的長度必須大於或等於 {minLength}", + "minWordsCountErrorText": "值必須具有大於或等於 {minWordsCount} 的單詞計數", + "notEqualErrorText": "此欄位不得等於 {value}", "numericErrorText": "此欄位必須是數字。", "requiredErrorText": "此欄位不能為空。", - "urlErrorText": "此欄位需要有效的URL地址。" -} \ No newline at end of file + "urlErrorText": "此欄位需要有效的 URL 地址。", + "phoneErrorText": "此欄位需要有效的電話號碼。", + "creditCardExpirationDateErrorText": "此欄位需要有效的信用卡到期日期。", + "creditCardExpiredErrorText": "信用卡已過期。", + "creditCardCVCErrorText": "此欄位需要有效的信用卡 CVC 碼。", + "colorCodeErrorText": "此欄位需要有效的顏色代碼。", + "uppercaseErrorText": "此欄位需要包含大寫字母。", + "lowercaseErrorText": "此欄位需要包含小寫字母。", + "fileExtensionErrorText": "此欄位需要有效的文件擴展名。", + "fileSizeErrorText": "此文件超過允許的最大大小。", + "dateRangeErrorText": "日期必須在允許的範圍內。", + "mustBeTrueErrorText": "此欄位必須為真。", + "mustBeFalseErrorText": "此欄位必須為假。", + "containsSpecialCharErrorText": "此欄位需要包含特殊字符。", + "containsUppercaseCharErrorText": "此欄位需要包含大寫字母。", + "containsLowercaseCharErrorText": "此欄位需要包含小寫字母。", + "containsNumberErrorText": "此欄位需要包含數字。", + "alphabeticalErrorText": "此欄位只能包含字母。", + "uuidErrorText": "此欄位需要有效的 UUID。", + "jsonErrorText": "此欄位需要有效的 JSON。", + "latitudeErrorText": "此欄位需要有效的緯度。", + "longitudeErrorText": "此欄位需要有效的經度。", + "base64ErrorText": "此欄位需要有效的 Base64 字符串。", + "pathErrorText": "此欄位需要有效的路徑。", + "oddNumberErrorText": "此欄位需要奇數。", + "evenNumberErrorText": "此欄位需要偶數。", + "portNumberErrorText": "此欄位需要有效的端口號。", + "macAddressErrorText": "此欄位需要有效的 MAC 地址。", + "startsWithErrorText": "值必須以 {value} 開頭。", + "endsWithErrorText": "值必須以 {value} 結尾。", + "containsErrorText": "值必須包含 {value}。", + "betweenErrorText": "值必須在 {min} 和 {max} 之間。", + "valueInListErrorText": "值必須在允許的值列表中。" +} diff --git a/lib/src/form_builder_validators.dart b/lib/src/form_builder_validators.dart index 2b306d71..5ddb97c0 100644 --- a/lib/src/form_builder_validators.dart +++ b/lib/src/form_builder_validators.dart @@ -1,6 +1,9 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import '../form_builder_validators.dart'; +import 'utils/helpers.dart'; import 'utils/validators.dart'; /// For creation of [FormFieldValidator]s. @@ -22,6 +25,82 @@ class FormBuilderValidators { }; } + /// [FormFieldValidator] that is composed of other [FormFieldValidator]s. + /// Each validator is run against the [FormField] value and if any returns a + /// null result validation passes + static FormFieldValidator or( + List> validators, + ) { + return (valueCandidate) { + String? errorResult; + for (final validator in validators) { + final validatorResult = validator.call(valueCandidate); + if (validatorResult == null) { + return null; + } else { + errorResult = validatorResult; + } + } + return errorResult; + }; + } + + /// [FormFieldValidator] that transforms the value before applying the validator. + static FormFieldValidator transform( + FormFieldValidator validator, + T Function(T? value) transformer, + ) { + return (valueCandidate) { + final transformedValue = transformer(valueCandidate); + return validator(transformedValue); + }; + } + + /// [FormFieldValidator] that debounces the validation. + /// * [duration] is the duration to wait before running the validation. + static FormFieldValidator debounce({ + required Duration duration, + required FormFieldValidator validator, + }) { + Timer? debounceTimer; + String? result; + + return (valueCandidate) { + debounceTimer?.cancel(); + debounceTimer = Timer(duration, () { + result = validator(valueCandidate); + }); + + return result; + }; + } + + /// [FormFieldValidator] that retries the validation. + /// * [times] is the number of times to retry the validation. + /// * [duration] is the duration to wait before retrying the validation. + static FormFieldValidator retry({ + required int times, + required Duration duration, + required FormFieldValidator validator, + }) { + int retries = 0; + String? result; + + return (valueCandidate) { + if (retries < times) { + result = validator(valueCandidate); + if (result != null) { + retries++; + Future.delayed(duration, () { + result = validator(valueCandidate); + }); + } + } + + return result; + }; + } + /// [FormFieldValidator] that requires the field have a non-empty value. static FormFieldValidator required({ String? errorText, @@ -267,6 +346,16 @@ class FormBuilderValidators { ? errorText ?? FormBuilderLocalizations.current.matchErrorText : null; + /// [FormFieldValidator] that requires the field's value not to match the provided regex pattern. + static FormFieldValidator notMatch( + String pattern, { + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + RegExp(pattern).hasMatch(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.matchErrorText + : null; + /// [FormFieldValidator] that requires the field's value to be a valid number. static FormFieldValidator numeric({ String? errorText, @@ -295,6 +384,35 @@ class FormBuilderValidators { ? errorText ?? FormBuilderLocalizations.current.creditCardErrorText : null; + /// [FormFieldValidator] that requires the field's value to be a valid credit card expiration date. + static FormFieldValidator creditCardExpirationDate({ + bool checkForExpiration = true, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + !isCreditCardExpirationDate(valueCandidate!) + ? errorText ?? + FormBuilderLocalizations.current.creditCardExpirationDateErrorText + : (checkForExpiration && !isNotExpiredCreditCardDate(valueCandidate!)) + ? errorText ?? + FormBuilderLocalizations.current.creditCardExpiredErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid credit card CVC. + static FormFieldValidator creditCardCVC({ + String? errorText, + }) => + compose( + [ + minLength(3, + errorText: errorText ?? + FormBuilderLocalizations.current.creditCardCVCErrorText), + maxLength(4, + errorText: errorText ?? + FormBuilderLocalizations.current.creditCardCVCErrorText), + ], + ); + /// [FormFieldValidator] that requires the field's value to be a valid IP address. /// * [version] is a `String` or an `int`. static FormFieldValidator ip({ @@ -314,4 +432,398 @@ class FormBuilderValidators { !isDate(valueCandidate!) ? errorText ?? FormBuilderLocalizations.current.dateStringErrorText : null; + + /// [FormFieldValidator] that requires the field's value to be a date within a certain range. + static FormFieldValidator dateRange({ + required DateTime minDate, + required DateTime maxDate, + String? errorText, + }) => + (String? valueCandidate) { + if (valueCandidate == null || !isDate(valueCandidate)) { + return errorText ?? + FormBuilderLocalizations.current.dateStringErrorText; + } + + final DateTime date = DateTime.parse(valueCandidate); + return date.isBefore(minDate) || date.isAfter(maxDate) + ? errorText ?? + FormBuilderLocalizations.current + .dateRangeErrorText(minDate.toString(), maxDate.toString()) + : null; + }; + + /// [FormFieldValidator] that requires the field's value to be a valid phone number. + static FormFieldValidator phoneNumber({ + String? errorText, + }) => + (valueCandidate) { + if (valueCandidate == null || valueCandidate.isEmpty) { + return errorText ?? FormBuilderLocalizations.current.phoneErrorText; + } + return !isPhoneNumber(valueCandidate) + ? errorText ?? FormBuilderLocalizations.current.phoneErrorText + : null; + }; + + /// [FormFieldValidator] that requires the field's value to be a valid color code. + /// * [formats] is a list of allowed color code formats (e.g., ['hex', 'rgb', 'hsl']) + static FormFieldValidator colorCode({ + List formats = const ['hex', 'rgb', 'hsl'], + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + !isColorCode(valueCandidate!, formats: formats) + ? errorText ?? + FormBuilderLocalizations.current + .colorCodeErrorText(formats.join(', ')) + : null; + + /// [FormFieldValidator] that requires the field's value to be uppercase. + static FormFieldValidator uppercase({ + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + valueCandidate!.toUpperCase() != valueCandidate + ? errorText ?? FormBuilderLocalizations.current.uppercaseErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be lowercase. + static FormFieldValidator lowercase({ + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + valueCandidate!.toLowerCase() != valueCandidate + ? errorText ?? FormBuilderLocalizations.current.lowercaseErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid file extension. + static FormFieldValidator fileExtension({ + required List allowedExtensions, + String? errorText, + }) => + (valueCandidate) => valueCandidate == null + ? null + : !allowedExtensions + .contains(fileExtensionFromPath(valueCandidate).toLowerCase()) + ? errorText ?? + FormBuilderLocalizations.current + .fileExtensionErrorText(allowedExtensions.join(', ')) + : null; + + /// [FormFieldValidator] that restricts the size of an file to be less than or equal to the provided maximum size. + /// * [maxSize] is the maximum size in bytes. + static FormFieldValidator fileSize({ + required int maxSize, + String? errorText, + }) => + (valueCandidate) => valueCandidate == null + ? null + : int.parse(valueCandidate) > maxSize + ? errorText ?? + FormBuilderLocalizations.current.fileSizeErrorText( + formatBytes(int.parse(valueCandidate)), + formatBytes(maxSize), + ) + : null; + + /// [FormFieldValidator] that applies another validator conditionally. + static FormFieldValidator conditional( + bool Function(T value) condition, + FormFieldValidator validator, + ) => + (T? valueCandidate) => + condition(valueCandidate as T) ? validator(valueCandidate) : null; + + /// [FormFieldValidator] that requires the field's value to be within a certain range. + static FormFieldValidator range( + num minValue, + num maxValue, { + bool inclusive = true, + String? errorText, + }) { + return compose( + [ + min(minValue, inclusive: inclusive, errorText: errorText), + max(maxValue, inclusive: inclusive, errorText: errorText), + ], + ); + } + + /// [FormFieldValidator] that requires the field's value to be a bool and true. + static FormFieldValidator mustBeTrue({ + String? errorText, + }) => + (valueCandidate) => valueCandidate != true + ? errorText ?? FormBuilderLocalizations.current.mustBeTrueErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a bool and false. + static FormFieldValidator mustBeFalse({ + String? errorText, + }) => + (valueCandidate) => valueCandidate != false + ? errorText ?? FormBuilderLocalizations.current.mustBeFalseErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to contain an amount of special characters. + static FormFieldValidator hasSpecialChars({ + int atLeast = 1, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + specialCharLength(valueCandidate!) >= atLeast + ? null + : errorText ?? + FormBuilderLocalizations.current + .containsSpecialCharErrorText(atLeast); + + /// [FormFieldValidator] that requires the field's value to contain an amount of uppercase characters. + static FormFieldValidator hasUppercaseChars({ + int atLeast = 1, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + uppercaseCharLength(valueCandidate!) >= atLeast + ? null + : errorText ?? + FormBuilderLocalizations.current + .containsUppercaseCharErrorText(atLeast); + + /// [FormFieldValidator] that requires the field's value to contain an amount of lowercase characters. + static FormFieldValidator hasLowercaseChars({ + int atLeast = 1, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + lowercaseCharLength(valueCandidate!) >= atLeast + ? null + : errorText ?? + FormBuilderLocalizations.current + .containsLowercaseCharErrorText(atLeast); + + /// [FormFieldValidator] that requires the field's value to contain an amount of numeric characters. + static FormFieldValidator hasNumericChars({ + int atLeast = 1, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + numberCharLength(valueCandidate!) >= atLeast + ? null + : errorText ?? + FormBuilderLocalizations.current.containsNumberErrorText(atLeast); + + /// [FormFieldValidator] that requires the field's value to be a valid password. + /// * [minLength] is the minimum length of the password. By default `8` + /// * [maxLength] is the maximum length of the password. By default `32` + /// * [uppercase] is the minimum amount of uppercase characters. By default `1` + /// * [lowercase] is the minimum amount of lowercase characters. By default `1` + /// * [number] is the minimum amount of numeric characters. By default `1` + /// * [specialChar] is the minimum amount of special characters. By default `1` + /// * [errorText] is the error message to display when the password is invalid + static FormFieldValidator password({ + int minLength = 8, + int maxLength = 32, + int uppercase = 1, + int lowercase = 1, + int number = 1, + int specialChar = 1, + String? errorText, + }) { + return FormBuilderValidators.compose( + [ + FormBuilderValidators.minLength(minLength, errorText: errorText), + FormBuilderValidators.maxLength(maxLength, errorText: errorText), + if (uppercase > 0) + FormBuilderValidators.hasUppercaseChars( + atLeast: uppercase, errorText: errorText), + if (lowercase > 0) + FormBuilderValidators.hasLowercaseChars( + atLeast: lowercase, errorText: errorText), + if (number > 0) + FormBuilderValidators.hasNumericChars( + atLeast: number, errorText: errorText), + if (specialChar > 0) + FormBuilderValidators.hasSpecialChars( + atLeast: specialChar, errorText: errorText), + ], + ); + } + + /// [FormFieldValidator] that requires the field's value to be alphabetical. + static FormFieldValidator alphabetical({ + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + !isAlphabetical(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.alphabeticalErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid uuid. + static FormFieldValidator uuid({ + String? errorText, + }) => + (valueCandidate) => + true == valueCandidate?.isNotEmpty && !isUUID(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.uuidErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be valid json. + static FormFieldValidator json({ + String? errorText, + }) => + (valueCandidate) => + true == valueCandidate?.isNotEmpty && !isJSON(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.jsonErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid latitude. + static FormFieldValidator latitude({ + String? errorText, + }) => + (valueCandidate) => + true == valueCandidate?.isNotEmpty && !isLatitude(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.latitudeErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid longitude. + static FormFieldValidator longitude({ + String? errorText, + }) => + (valueCandidate) => + true == valueCandidate?.isNotEmpty && !isLongitude(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.longitudeErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid base64 string. + static FormFieldValidator base64({ + String? errorText, + }) => + (valueCandidate) => + true == valueCandidate?.isNotEmpty && !isBase64(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.base64ErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid file or folder path. + static FormFieldValidator path({ + String? errorText, + }) => + (valueCandidate) => + true == valueCandidate?.isNotEmpty && !isFilePath(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.pathErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be an odd number. + static FormFieldValidator oddNumber({ + String? errorText, + }) => + (valueCandidate) => + true == valueCandidate?.isNotEmpty && !isOddNumber(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.oddNumberErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be an even number. + static FormFieldValidator evenNumber({ + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + !isEvenNumber(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.evenNumberErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to be a valid port number. + static FormFieldValidator portNumber({ + int min = 0, + int max = 65535, + String? errorText, + }) => + (valueCandidate) { + if (true == valueCandidate?.isNotEmpty) { + int? port = int.tryParse(valueCandidate!); + if (port == null || port < min || port > max) { + return errorText ?? + FormBuilderLocalizations.current.portNumberErrorText(min, max); + } + } else { + return errorText ?? + FormBuilderLocalizations.current.portNumberErrorText(min, max); + } + return null; + }; + + /// [FormFieldValidator] that requires the field's value to be a valid macAddress. + static FormFieldValidator macAddress({ + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + !isMACAddress(valueCandidate!) + ? errorText ?? FormBuilderLocalizations.current.macAddressErrorText + : null; + + /// [FormFieldValidator] that requires the field's value to starts with a specific value. + /// * [prefix] is the value that the field's value should start with. + static FormFieldValidator startsWith({ + required String prefix, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + !valueCandidate!.startsWith(prefix) + ? errorText ?? + FormBuilderLocalizations.current.startsWithErrorText(prefix) + : null; + + /// [FormFieldValidator] that requires the field's value to ends with a specific value. + /// * [suffix] is the value that the field's value should end with. + static FormFieldValidator endsWith({ + required String suffix, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + !valueCandidate!.endsWith(suffix) + ? errorText ?? + FormBuilderLocalizations.current.endsWithErrorText(suffix) + : null; + + /// [FormFieldValidator] that requires the field's value to contains a specific value. + /// * [substring] is the value that the field's value should contain. + /// * [caseSensitive] is a `bool` that sets if the search is case sensitive. By default `true` + static FormFieldValidator contains({ + required String substring, + bool caseSensitive = true, + String? errorText, + }) => + (valueCandidate) => true == valueCandidate?.isNotEmpty && + caseSensitive && + !valueCandidate!.contains(substring) || + !caseSensitive && + !valueCandidate! + .toLowerCase() + .contains(substring.toLowerCase()) + ? errorText ?? + FormBuilderLocalizations.current.containsErrorText(substring) + : null; + + /// [FormFieldValidator] that requires the field's value to be between two numbers. + /// * [min] is the minimum value that the field's value should be greater than or equal to. + /// * [max] is the maximum value that the field's value should be less than or equal to. + static FormFieldValidator between({ + required num min, + required num max, + String? errorText, + }) => + (valueCandidate) => + valueCandidate == null || valueCandidate < min || valueCandidate > max + ? errorText ?? + FormBuilderLocalizations.current.betweenErrorText(min, max) + : null; + + /// [FormFieldValidator] that requires the field's value to in a list of values. + /// * [values] is the list of values that the field's value should be in. + static FormFieldValidator inList( + List values, { + String? errorText, + }) => + (valueCandidate) => !values.contains(valueCandidate) + ? errorText ?? FormBuilderLocalizations.current.valueInListErrorText + : null; } diff --git a/lib/src/form_field_validator_extensions.dart b/lib/src/form_field_validator_extensions.dart new file mode 100644 index 00000000..f888212b --- /dev/null +++ b/lib/src/form_field_validator_extensions.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import '../form_builder_validators.dart'; + +extension FormFieldValidatorExtensions on FormFieldValidator { + /// Combines the current validator with another validator using logical AND. + FormFieldValidator and(FormFieldValidator other) { + return FormBuilderValidators.compose([this, other]); + } + + /// Combines the current validator with another validator using logical OR. + FormFieldValidator or(FormFieldValidator other) { + return FormBuilderValidators.or([this, other]); + } + + /// Adds a condition to apply the validator only if the condition is met. + FormFieldValidator when(bool Function(T value) condition) { + return FormBuilderValidators.conditional(condition, this); + } +} diff --git a/lib/src/utils/helpers.dart b/lib/src/utils/helpers.dart index d1a64f7d..4264d88d 100644 --- a/lib/src/utils/helpers.dart +++ b/lib/src/utils/helpers.dart @@ -1,5 +1,9 @@ // Helper functions for validator and sanitizer. +import 'dart:math'; + +import 'package:intl/intl.dart'; + T shift(List l) { if (l.isNotEmpty) { final first = l.first; @@ -15,3 +19,29 @@ Map merge(Map? obj, Map? defaults) { ?.forEach((dynamic key, dynamic val) => obj!.putIfAbsent(key, () => val)); return obj; } + +String fileExtensionFromPath(String path) { + final parts = path.split('.'); + + assert(parts.length > 1 && parts.last.isNotEmpty, + 'Invalid file path format: $path. Path should contain a valid extension.'); + + return parts.last; +} + +/// Helper function to format bytes into a human-readable string (e.g., KB, MB, GB). +String formatBytes(int bytes, {bool base1024 = true}) { + double log10(num x) => log(x) / ln10; + + if (bytes <= 0) return "0 B"; + + final base = base1024 ? 1024 : 1000; + final units = base1024 + ? ["B", "KiB", "MiB", "GiB", "TiB"] + : ["B", "kB", "MB", "GB", "TB"]; + + int digitGroups = (log10(bytes) / log10(base)).floor(); + double size = bytes / pow(base, digitGroups); + + return "${NumberFormat("#,##0.#").format(size)} ${units[digitGroups]}"; +} diff --git a/lib/src/utils/validators.dart b/lib/src/utils/validators.dart index eda32a81..c95d34c4 100644 --- a/lib/src/utils/validators.dart +++ b/lib/src/utils/validators.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'helpers.dart'; RegExp _email = RegExp( @@ -12,6 +14,25 @@ RegExp _creditCard = RegExp( r'^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$', ); +RegExp _phoneNumber = RegExp(r'^\+?(\d{1,4}[\s-])?(?!0+\s+,?$)\d{1,15}$'); + +RegExp _creditCardExpirationDate = RegExp(r'^[0-1][0-9]/\d{2}$'); + +RegExp _hexRegExp = RegExp(r'^#[0-9a-fA-F]{6}$'); + +RegExp _rgbRegExp = RegExp(r'^rgb\(\d{1,3},\s*\d{1,3},\s*\d{1,3}\)$'); + +RegExp _hslRegExp = RegExp(r'^hsl\(\d+,\s*\d+%,\s*\d+%\)$'); + +RegExp _alphabetical = RegExp(r'^[a-zA-Z]+$'); + +RegExp _uuid = RegExp( + r'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'); + +RegExp _filePath = RegExp(r'^[a-zA-Z0-9_\-\/]+$'); + +RegExp _macAddress = RegExp(r'^[0-9A-Fa-f]{2}$'); + int _maxUrlLength = 2083; /// check if the string [str] is an email @@ -234,3 +255,175 @@ bool isDate(String str) { return false; } } + +/// check if the string is a valid phone number +bool isPhoneNumber(String str) { + if (str.isEmpty) { + return false; + } + final phone = str.replaceAll(' ', '').replaceAll('-', ''); + return _phoneNumber.hasMatch(phone); +} + +/// check if the string is a valid credit card expiration date +bool isCreditCardExpirationDate(String str) { + // Check if the format matches MM/YY + if (!_creditCardExpirationDate.hasMatch(str)) { + return false; + } + + // Extract month and year from the value + final parts = str.split('/').map(int.parse).toList(); + final month = parts[0]; + final year = parts[1]; + + // Check for valid month (1-12) + if (month < 1 || month > 12) { + return false; + } + + return year > 0; +} + +/// check if the string is not a expired credit card date +bool isNotExpiredCreditCardDate(String str) { + final parts = str.split('/').map(int.parse).toList(); + final month = parts[0]; + final year = parts[1]; + + final now = DateTime.now(); + final currentYear = now.year % 100; + final currentMonth = now.month; + + if (year < currentYear) { + return false; + } + + if (year == currentYear && month < currentMonth) { + return false; + } + + return true; +} + +bool isColorCode(String value, + {List formats = const ['hex', 'rgb', 'hsl']}) { + if (formats.contains('hex') && _hexRegExp.hasMatch(value)) { + return true; + } else if (formats.contains('rgb') && _rgbRegExp.hasMatch(value)) { + final parts = value.substring(4, value.length - 1).split(','); + for (final part in parts) { + final int colorValue = int.tryParse(part.trim()) ?? -1; + if (colorValue < 0 || colorValue > 255) { + return false; + } + } + return true; + } else if (formats.contains('hsl') && _hslRegExp.hasMatch(value)) { + final parts = value.substring(4, value.length - 1).split(','); + for (var i = 0; i < parts.length; i++) { + final int colorValue = int.tryParse(parts[i].trim()) ?? -1; + if (i == 0) { + // Hue + if (colorValue < 0 || colorValue > 360) { + return false; + } + } else if (colorValue < 0 || colorValue > 100) { + return false; + } + } + return true; + } + return false; +} + +int uppercaseCharLength(String value) { + return value.replaceAll(RegExp(r'[^A-Z]'), '').length; +} + +int lowercaseCharLength(String value) { + return value.replaceAll(RegExp(r'[^a-z]'), '').length; +} + +int numberCharLength(String value) { + return value.replaceAll(RegExp(r'[^0-9]'), '').length; +} + +int specialCharLength(String value) { + return value.replaceAll(RegExp(r'[A-Za-z0-9]'), '').length; +} + +bool isAlphabetical(String value) { + return _alphabetical.hasMatch(value); +} + +bool isUUID(String value) { + return _uuid.hasMatch(value); +} + +bool isJSON(String value) { + try { + jsonDecode(value); + return true; + } catch (e) { + return false; + } +} + +bool isLatitude(String value) { + value = value.replaceAll(',', '.'); + + final double? latitude = double.tryParse(value); + if (latitude == null) { + return false; + } + return latitude >= -90 && latitude <= 90; +} + +bool isLongitude(String value) { + value = value.replaceAll(',', '.'); + + final double? longitude = double.tryParse(value); + if (longitude == null) { + return false; + } + return longitude >= -180 && longitude <= 180; +} + +bool isBase64(String value) { + try { + base64Decode(value); + return true; + } catch (e) { + return false; + } +} + +bool isFilePath(String value) { + return _filePath.hasMatch(value); +} + +bool isOddNumber(String value) { + final int number = int.tryParse(value) ?? 0; + return number % 2 != 0; +} + +bool isEvenNumber(String value) { + final int number = int.tryParse(value) ?? 0; + return number % 2 == 0; +} + +bool isMACAddress(String value) { + final splitChar = value.contains(':') ? ':' : '-'; + final parts = value.split(splitChar); + if (parts.length != 6) { + return false; + } + + for (final part in parts) { + if (part.length != 2 || !_macAddress.hasMatch(part)) { + return false; + } + } + return true; +} diff --git a/pubspec.yaml b/pubspec.yaml index 6d82bafa..b0793043 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: form_builder_validators description: Form Builder Validators set of validators for FlutterFormBuilder. Provides common validators and a way to make your own. -version: 10.0.2 +version: 10.1.0 repository: https://github.com/flutter-form-builder-ecosystem/form_builder_validators issue_tracker: https://github.com/flutter-form-builder-ecosystem/form_builder_validators/issues homepage: https://github.com/flutter-form-builder-ecosystem diff --git a/test/form_builder_validators_test.dart b/test/form_builder_validators_test.dart index 3d9c8b5e..9d98f2fd 100644 --- a/test/form_builder_validators_test.dart +++ b/test/form_builder_validators_test.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -490,4 +492,513 @@ void main() { expect(validator('ABC'), isNotNull); }), ); + + testWidgets( + 'FormBuilderValidators.creditCard', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.creditCard(); + // Pass + expect(validator('4111111111111111'), isNull); + // Fail + expect(validator('1234567812345678'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.creditCardExpirationDate', + (WidgetTester tester) => testValidations(tester, (context) { + final now = DateTime.now(); + final month = now.month.toString().padLeft(2, '0'); + final year = now.year.toString().substring(2); + final validator = FormBuilderValidators.creditCardExpirationDate(); + // Pass + expect(validator('$month/$year'), isNull); + // Fail + expect(validator('13/23'), isNotNull); + + final validatorNoExpiredCheck = + FormBuilderValidators.creditCardExpirationDate( + checkForExpiration: false); + // Pass + expect(validatorNoExpiredCheck('12/23'), isNull); + // Fail + expect(validatorNoExpiredCheck('13/23'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.creditCardCVC', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.creditCardCVC(); + // Pass + expect(validator('123'), isNull); + expect(validator('1234'), isNull); + // Fail + expect(validator('12'), isNotNull); + expect(validator('12345'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.phoneNumber', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.phoneNumber(); + + // Valid phone numbers from various countries + expect(validator('+1 800 555 5555'), isNull); // USA + expect(validator('+44 20 7946 0958'), isNull); // UK + expect(validator('+61 2 1234 5678'), isNull); // Australia + expect(validator('+49 30 123456'), isNull); // Germany + expect(validator('+33 1 23 45 67 89'), isNull); // France + expect(validator('+81 3-1234-5678'), isNull); // Japan + expect(validator('+91 98765 43210'), isNull); // India + expect(validator('+86 10 1234 5678'), isNull); // China + expect(validator('+55 11 91234-5678'), isNull); // Brazil + expect(validator('+27 21 123 4567'), isNull); // South Africa + + // Invalid phone numbers + expect(validator('123-abc-defg'), isNotNull); // Contains letters + expect(validator('+1-800-555-5555-00000000000'), + isNotNull); // Too many digits + expect(validator('++1 800 555 5555'), isNotNull); // Invalid prefix + expect(validator('+1 (800) 555-5555'), isNotNull); // Invalid format + expect(validator('+44 20 7946 0958 ext 123'), + isNotNull); // Extension included + + // Edge cases + expect(validator(''), isNotNull); // Empty string + expect(validator(null), isNotNull); // Null value + }), + ); + + testWidgets( + 'FormBuilderValidators.colorCode', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.colorCode(); + // Pass + expect(validator('#FFFFFF'), isNull); + expect(validator('rgb(255, 255, 255)'), isNull); + // Fail + expect(validator('#ZZZZZZ'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.uppercase', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.uppercase(); + // Pass + expect(validator('HELLO'), isNull); + // Fail + expect(validator('Hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.lowercase', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.lowercase(); + // Pass + expect(validator('hello'), isNull); + // Fail + expect(validator('Hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.fileExtension', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.fileExtension( + allowedExtensions: ['txt', 'pdf'], + ); + // Pass + expect(validator(File('test.txt').path), isNull); + // Fail + expect(validator(File('test.doc').path), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.fileSize', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.fileSize(maxSize: 1024); + // Create a temporary file + final file = File('test.txt') + ..createSync() + ..writeAsBytesSync(List.filled(512, 0)); + // Pass + expect(validator(file.lengthSync().toString()), isNull); + // Fail + file.writeAsBytesSync(List.filled(2048, 0)); + expect(validator(file.lengthSync().toString()), isNotNull); + // Cleanup + file.deleteSync(); + }), + ); + + testWidgets( + 'FormBuilderValidators.conditional', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.conditional( + (value) => value != null, + FormBuilderValidators.hasUppercaseChars(atLeast: 3), + ); + // Pass + expect(validator('HELLO'), isNull); + // Fail + expect(validator('hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.range', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.range(10, 20); + // Pass + expect(validator(15), isNull); + // Fail + expect(validator(5), isNotNull); + expect(validator(25), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.mustBeTrue', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.mustBeTrue(); + // Pass + expect(validator(true), isNull); + // Fail + expect(validator(false), isNotNull); + expect(validator(null), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.mustBeFalse', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.mustBeFalse(); + // Pass + expect(validator(false), isNull); + // Fail + expect(validator(true), isNotNull); + expect(validator(null), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.hasSpecialChars', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.hasSpecialChars(atLeast: 1); + // Pass + expect(validator('hello@'), isNull); + // Fail + expect(validator('hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.hasUppercaseChars', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.hasUppercaseChars(atLeast: 1); + // Pass + expect(validator('Hello'), isNull); + // Fail + expect(validator('hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.hasLowercaseChars', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.hasLowercaseChars(atLeast: 1); + // Pass + expect(validator('hello'), isNull); + // Fail + expect(validator('HELLO'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.hasNumericChars', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.hasNumericChars(atLeast: 1); + // Pass + expect(validator('hello1'), isNull); + // Fail + expect(validator('hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.password', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.password(); + // Pass + expect(validator('Hellohello1@'), isNull); + // Fail + expect(validator('hellohello1@'), isNotNull); + expect(validator('Hellohello1'), isNotNull); + expect(validator('Hellohello@'), isNotNull); + + // Fail - only lowercase + expect(validator('lowercasepassword'), isNotNull); + + // Fail - only uppercase + expect(validator('UPPERCASEPASSWORD'), isNotNull); + + // Fail - only numbers + expect(validator('1234567890'), isNotNull); + + // Fail - only special chars + expect(validator('~!@#%^&*'), isNotNull); + + // Fail - weak password + expect(validator('password123'), isNotNull); + + // Fail - empty password + expect(validator(''), isNotNull); + + // Fail - whitespace only + expect(validator(' '), isNotNull); + + // Fail - similar characters + expect(validator('aaaaaa1111'), isNotNull); + + final customValidator = FormBuilderValidators.password( + minLength: 4, + maxLength: 16, + uppercase: 3, + lowercase: 3, + number: 3, + specialChar: 3, + ); + // Pass - meets all requirements + expect(customValidator('PASsw0rd@123!!'), isNull); + + // Fail - less than min length + expect(customValidator('Pass@12'), isNotNull); + + // Fail - more than max length + expect(customValidator('ThisIsAP@ssw0rd1234'), isNotNull); + + // Fail - missing uppercase chars + expect(customValidator('password@123'), isNotNull); + + // Fail - missing lowercase chars + expect(customValidator('PASSWORD@123'), isNotNull); + + // Fail - missing number + expect(customValidator('Password@abc'), isNotNull); + + // Fail - missing special char + expect(customValidator('Password123abc'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.alphabetical', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.alphabetical(); + // Pass + expect(validator('Hello'), isNull); + expect(validator('world'), isNull); + // Fail + expect(validator('Hello123'), isNotNull); + expect(validator('123'), isNotNull); + expect(validator('!@#'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.uuid', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.uuid(); + // Pass + expect(validator('123e4567-e89b-12d3-a456-426614174000'), isNull); + // Fail + expect(validator('not-a-uuid'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.json', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.json(); + // Pass + expect(validator('{"key": "value"}'), isNull); + // Fail + expect(validator('not-json'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.latitude', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.latitude(); + // Pass + expect(validator('45.0'), isNull); + expect(validator('-90.0'), isNull); + // Fail + expect(validator('91.0'), isNotNull); + expect(validator('latitude'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.longitude', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.longitude(); + // Pass + expect(validator('90.0'), isNull); + expect(validator('-180.0'), isNull); + // Fail + expect(validator('181.0'), isNotNull); + expect(validator('longitude'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.base64', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.base64(); + // Pass + expect(validator('SGVsbG8gd29ybGQ='), isNull); + // Fail + expect(validator('not-base64'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.path', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.path(); + // Pass + expect(validator('/path/to/file'), isNull); + // Fail + expect(validator('path\\to\\file'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.oddNumber', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.oddNumber(); + // Pass + expect(validator('3'), isNull); + expect(validator('5'), isNull); + // Fail + expect(validator('2'), isNotNull); + expect(validator('4'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.evenNumber', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.evenNumber(); + // Pass + expect(validator('2'), isNull); + expect(validator('4'), isNull); + // Fail + expect(validator('3'), isNotNull); + expect(validator('5'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.portNumber', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.portNumber(); + // Pass + expect(validator('8080'), isNull); + expect(validator('80'), isNull); + // Fail + expect(validator('70000'), isNotNull); + expect(validator('-1'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.macAddress', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.macAddress(); + // Pass + expect(validator('00:1B:44:11:3A:B7'), isNull); + expect(validator('00-1B-44-11-3A-B7'), isNull); + // Fail + expect(validator('invalid-mac'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.startsWith', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.startsWith(prefix: 'Hello'); + // Pass + expect(validator('Hello world'), isNull); + // Fail + expect(validator('world Hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.endsWith', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.endsWith(suffix: 'world'); + // Pass + expect(validator('Hello world'), isNull); + // Fail + expect(validator('world Hello'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.contains', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.contains(substring: 'flutter'); + // Pass + expect(validator('I love flutter'), isNull); + // Fail + expect(validator('I love dart'), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.between', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.between(min: 10, max: 20); + // Pass + expect(validator(15), isNull); + // Fail + expect(validator(5), isNotNull); + expect(validator(25), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.inList', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.inList([1, 2, 3]); + // Pass + expect(validator(2), isNull); + // Fail + expect(validator(4), isNotNull); + }), + ); + + testWidgets( + 'FormBuilderValidators.or', + (WidgetTester tester) => testValidations(tester, (context) { + final validator = FormBuilderValidators.or([ + FormBuilderValidators.numeric(), + FormBuilderValidators.startsWith(prefix: 'Hello'), + ]); + // Pass + expect(validator('123'), isNull); + expect(validator('Hello world'), isNull); + // Fail + expect(validator('123 hello'), isNotNull); + }), + ); }