Skip to content

Commit

Permalink
fix: add issue.exact to ar locale
Browse files Browse the repository at this point in the history
* fix: add `issue.exact` to `ar` locale

Modifications:
 - add `issue.exact` to `ar` locale.
 - fix tests for `ar` locale.
 - change `"nan": "نان"` by `"nan": "مدخل غير رقمي"` in `ar` locale.
  • Loading branch information
ismailajizou authored Dec 16, 2022
1 parent 3dbb2c0 commit 7a22a5f
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 11 deletions.
16 changes: 13 additions & 3 deletions examples/with-next-i18next/public/locales/ar/zod.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"unrecognized_keys": "عنصر (عناصر) غير معروف في الكائن: {{- keys}}",
"invalid_union": "مدخل غير صالح",
"invalid_union_discriminator": "قيمة مميزة غير صالحة. المتوقع {{- options}}",
"invalid_enum_value": "قيمة تعداد غير صالحة. المتوقع {{- options}}، المستلم {{received}}",
"invalid_enum_value": "قيمة تعداد غير صالحة. المتوقع {{- options}}، المستلم '{{received}}'",
"invalid_arguments": "معاملات الدالة غير صالحة",
"invalid_return_type": "نوع إرجاع دالة غير صالح",
"invalid_date": "تاريخ غير صالح",
Expand All @@ -26,52 +26,62 @@
},
"too_small": {
"array": {
"exact": "يجب أن تحتوي المصفوفة على {{minimum}} عنصر (عناصر)",
"inclusive": "يجب أن تحتوي المصفوفة على {{minimum}} عنصر (عناصر) على الأقل",
"not_inclusive": "يجب أن تحتوي المصفوفة على أكثر من {{minimum}} عنصر (عناصر)"
},
"string": {
"exact": "يجب أن تحتوي السلسلة على {{minimum}} حرف (أحرف)",
"inclusive": "يجب أن تحتوي السلسلة على {{minimum}} حرف (أحرف) على الأقل",
"not_inclusive": "يجب أن تحتوي السلسلة على أكثر من {{minimum}} حرف (أحرف)"
},
"number": {
"exact": "يجب أن يكون الرقم {{minimum}}",
"inclusive": "يجب أن يكون الرقم أكبر من أو يساوي {{minimum}}",
"not_inclusive": "يجب أن يكون الرقم أكبر من {{minimum}}"
},
"set": {
"exact": "مدخل غير صالح",
"inclusive": "مدخل غير صالح",
"not_inclusive": "مدخل غير صالح"
},
"date": {
"exact": "يجب أن يكون التاريخ {{- minimum, datetime}}",
"inclusive": "يجب أن يكون التاريخ أكبر من أو يساوي {{- minimum, datetime}}",
"not_inclusive": "يجب أن يكون التاريخ أكبر من {{- minimum, datetime}}"
}
},
"too_big": {
"array": {
"exact": "يجب أن تحتوي المصفوفة على {{maximum}} عنصر (عناصر)",
"inclusive": "يجب أن تحتوي المصفوفة على {{maximum}} عنصر (عناصر) كحد أقصى",
"not_inclusive": "يجب أن تحتوي المصفوفة على أقل من {{maximum}} عنصر (عناصر)"
},
"string": {
"exact": "يجب أن تحتوي السلسلة على {{maximum}} حرف (أحرف)",
"inclusive": "يجب أن تحتوي السلسلة على {{maximum}} حرف (أحرف) كحد أقصى",
"not_inclusive": "يجب أن تحتوي السلسلة على أقل من {{maximum}} حرف (أحرف)"
},
"number": {
"exact": "يجب أن يكون الرقم {{maximum}}",
"inclusive": "يجب أن يكون الرقم أقل من أو يساوي {{maximum}}",
"not_inclusive": "يجب أن يكون الرقم أقل من {{maximum}}"
},
"set": {
"exact": "مدخل غير صالح",
"inclusive": "مدخل غير صالح",
"not_inclusive": "مدخل غير صالح"
},
"date": {
"exact": "يجب أن يكون التاريخ {{- maximum, datetime}}",
"inclusive": "يجب أن يكون التاريخ أصغر من أو يساوي {{- maximum, datetime}}",
"not_inclusive": "يجب أن يكون التاريخ أصغر من {{- maximum, datetime}}"
}
}
},
"validations": {
"email": "البريد الإلكتروني",
"url": "عنوان url",
"url": "الرابط",
"uuid": "uuid",
"cuid": "cuid",
"regex": "التعبير النمطي",
Expand All @@ -81,7 +91,7 @@
"function": "دالة",
"number": "رقم",
"string": "سلسلة",
"nan": "نان",
"nan": "مدخل غير رقمي",
"integer": "عدد صحيح",
"float": "عدد عشري",
"boolean": "قيمة منطقية",
Expand Down
12 changes: 10 additions & 2 deletions packages/core/locales/ar/zod.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,17 @@
},
"too_small": {
"array": {
"exact": "يجب أن تحتوي المصفوفة على {{minimum}} عنصر (عناصر)",
"inclusive": "يجب أن تحتوي المصفوفة على {{minimum}} عنصر (عناصر) على الأقل",
"not_inclusive": "يجب أن تحتوي المصفوفة على أكثر من {{minimum}} عنصر (عناصر)"
},
"string": {
"exact": "يجب أن تحتوي السلسلة على {{minimum}} حرف (أحرف)",
"inclusive": "يجب أن تحتوي السلسلة على {{minimum}} حرف (أحرف) على الأقل",
"not_inclusive": "يجب أن تحتوي السلسلة على أكثر من {{minimum}} حرف (أحرف)"
},
"number": {
"exact": "يجب أن يكون الرقم {{minimum}}",
"inclusive": "يجب أن يكون الرقم أكبر من أو يساوي {{minimum}}",
"not_inclusive": "يجب أن يكون الرقم أكبر من {{minimum}}"
},
Expand All @@ -43,20 +46,24 @@
"not_inclusive": "مدخل غير صالح"
},
"date": {
"exact": "يجب أن يكون التاريخ {{- minimum, datetime}}",
"inclusive": "يجب أن يكون التاريخ أكبر من أو يساوي {{- minimum, datetime}}",
"not_inclusive": "يجب أن يكون التاريخ أكبر من {{- minimum, datetime}}"
}
},
"too_big": {
"array": {
"exact": "يجب أن تحتوي المصفوفة على {{maximum}} عنصر (عناصر)",
"inclusive": "يجب أن تحتوي المصفوفة على {{maximum}} عنصر (عناصر) كحد أقصى",
"not_inclusive": "يجب أن تحتوي المصفوفة على أقل من {{maximum}} عنصر (عناصر)"
},
"string": {
"exact": "يجب أن تحتوي السلسلة على {{maximum}} حرف (أحرف)",
"inclusive": "يجب أن تحتوي السلسلة على {{maximum}} حرف (أحرف) كحد أقصى",
"not_inclusive": "يجب أن تحتوي السلسلة على أقل من {{maximum}} حرف (أحرف)"
},
"number": {
"exact": "يجب أن يكون الرقم {{maximum}}",
"inclusive": "يجب أن يكون الرقم أقل من أو يساوي {{maximum}}",
"not_inclusive": "يجب أن يكون الرقم أقل من {{maximum}}"
},
Expand All @@ -66,14 +73,15 @@
"not_inclusive": "مدخل غير صالح"
},
"date": {
"exact": "يجب أن يكون التاريخ {{- maximum, datetime}}",
"inclusive": "يجب أن يكون التاريخ أصغر من أو يساوي {{- maximum, datetime}}",
"not_inclusive": "يجب أن يكون التاريخ أصغر من {{- maximum, datetime}}"
}
}
},
"validations": {
"email": "البريد الإلكتروني",
"url": "عنوان url",
"url": "الرابط",
"uuid": "uuid",
"cuid": "cuid",
"regex": "التعبير النمطي",
Expand All @@ -83,7 +91,7 @@
"function": "دالة",
"number": "رقم",
"string": "سلسلة",
"nan": "نان",
"nan": "مدخل غير رقمي",
"integer": "عدد صحيح",
"float": "عدد عشري",
"boolean": "قيمة منطقية",
Expand Down
10 changes: 4 additions & 6 deletions packages/core/tests/integrations/ar.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ test("string parser error messages", () => {
"غير صالح البريد الإلكتروني"
);
expect(getErrorMessage(schema.url().safeParse(""))).toEqual(
"غير صالح عنوان url"
"غير صالح الرابط"
);
expect(getErrorMessage(schema.regex(/aaa/).safeParse(""))).toEqual(
"غير صالح"
Expand All @@ -45,9 +45,8 @@ test("string parser error messages", () => {
expect(getErrorMessage(schema.max(5).safeParse("abcdef"))).toEqual(
"يجب أن تحتوي السلسلة على 5 حرف (أحرف) كحد أقصى"
);
// TODO: add `zod:errors.(too_small|too_big).string.exact`
expect(getErrorMessage(schema.length(5).safeParse("abcdef"))).toEqual(
"String must contain exactly 5 character(s)"
"يجب أن تحتوي السلسلة على 5 حرف (أحرف)"
);
expect(
getErrorMessage(schema.datetime().safeParse("2020-01-01T00:00:00+02:00"))
Expand All @@ -65,7 +64,7 @@ test("number parser error messages", () => {
"المتوقع رقم، المستلم لا شيء"
);
expect(getErrorMessage(schema.safeParse(NaN))).toEqual(
"المتوقع رقم، المستلم نان"
"المتوقع رقم، المستلم مدخل غير رقمي"
);
expect(getErrorMessage(schema.int().safeParse(0.1))).toEqual(
"المتوقع عدد صحيح، المستلم عدد عشري"
Expand Down Expand Up @@ -148,9 +147,8 @@ test("array parser error messages", () => {
expect(getErrorMessage(schema.nonempty().safeParse([]))).toEqual(
"يجب أن تحتوي المصفوفة على 1 عنصر (عناصر) على الأقل"
);
// TODO: add `zod:errors.(too_small|too_big).array.exact`
expect(getErrorMessage(schema.length(2).safeParse([]))).toEqual(
"Array must contain exactly 2 element(s)"
"يجب أن تحتوي المصفوفة على 2 عنصر (عناصر)"
);
});

Expand Down

1 comment on commit 7a22a5f

@vercel
Copy link

@vercel vercel bot commented on 7a22a5f Dec 16, 2022

Choose a reason for hiding this comment

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

Successfully deployed to the following URLs:

zod-i18n – ./

zod-i18n-aiji42.vercel.app
zod-i18n-git-main-aiji42.vercel.app
zod-i18n.vercel.app

Please sign in to comment.