From 73c900593ebfb2cec404025f5a2a13d674f79dcb Mon Sep 17 00:00:00 2001
From: mohamadkhani <74563982+mohamadkhani@users.noreply.github.com>
Date: Sun, 9 Jan 2022 11:01:32 +0330
Subject: [PATCH 1/8] Persian messages added to messages/index.js
---
messages/index.js | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/messages/index.js b/messages/index.js
index e81b2d4..8f01c0f 100644
--- a/messages/index.js
+++ b/messages/index.js
@@ -32,6 +32,7 @@ module.exports = {
"th",
"zh",
"zh-TW",
+ "fa",
],
// shared defines
@@ -54,6 +55,7 @@ module.exports = {
ru: "{{? n>=2 && n<=4 }}а{{?? n!=1 }}ов{{?}}",
sk: "{{? n==1 }}ok{{??}}kov{{?}}",
sv: "{{? n!=1 }}er{{?}}",
+ fa: '{{? n!=1 }}ها{{?}}',
},
propPlural: {
// plural for the word property (attribute)
@@ -73,6 +75,7 @@ module.exports = {
ru: "{{? n==1 }}е{{?? n>=2 && n<=4 }}я{{??}}ей{{?}}",
sk: "{{? n>=2 && n<=4 }}ky{{?? n!=1 }}iek{{??}}ka{{?}}",
sv: "{{? n!=1 }}er{{?}}",
+ fa: '{{? n!=1 }}ها{{?}}',
},
},
@@ -99,6 +102,7 @@ module.exports = {
th: 'ต้องผ่านคีย์เวิร์ด "{{=e.keyword}}"',
zh: '应当通过 "{{=e.keyword}} 关键词校验"',
"zh-TW": '應該通過 "{{=e.keyword}} 關鍵詞檢驗"',
+ fa: '"{{=e.keyword}}" باید معتبر باشد',
},
"false schema": {
@@ -122,6 +126,7 @@ module.exports = {
th: "schema เป็น false",
zh: "布尔模式出错",
"zh-TW": "布林模式不正確",
+ fa: 'الگو اشتباه است',
},
additionalItems: {
_keywords: ["items"], // for JSON Schema draft-2020-12
@@ -148,6 +153,7 @@ module.exports = {
th: "{{#def.n}}ต้องมีสมาชิกไม่เกิน {{=n}} ตัว",
zh: "{{#def.n}}不允许超过{{=n}}个元素",
"zh-TW": "{{#def.n}}不可以超過{{=n}}個元素",
+ fa: '{{#def.n}} نباید بیشتر از {{=n}} ایتم باشد {{#def.mPlural}}',
},
additionalProperties: {
en: "must NOT have additional properties",
@@ -173,6 +179,7 @@ module.exports = {
th: "ต้องไม่มี property อื่นๆ นอกเหนีอจากที่กำหนดไว้",
zh: "不允许有额外的属性",
"zh-TW": "不可以有額外的屬性",
+ fa: 'فیلد مازاد مجاز نمیباشد',
},
anyOf: {
en: 'must match a schema in "anyOf"',
@@ -198,6 +205,7 @@ module.exports = {
th: 'ต้องตรงกับหนึ่งใน schema ที่กำหนดไว้ใน "anyOf"',
zh: "数据应为 anyOf 所指定的其中一个",
"zh-TW": "不符合 anyOf 指定的模式",
+ fa: 'الزام به همخوانی داشتن فیلد ها در "anyOf" است.',
},
dependencies: {
_keywords: ["dependentRequired"],
@@ -228,6 +236,8 @@ module.exports = {
th: "{{#def.n}}เมื่อมี property {{=e.params.property}} แล้วจะต้องมี property {{=e.params.deps}} ด้วย",
zh: "{{#def.n}}应当拥有属性{{=e.params.property}}的依赖属性{{=e.params.deps}}",
"zh-TW": "{{#def.n}}應該要有屬性{{=e.params.property}}的依賴屬性{{=e.params.deps}}",
+ fa:
+ '{{#def.n}} باید حاوی مقدار {{=e.params.deps}} وقتی ویژگی {{=e.params.property}} وجود دارد',
},
enum: {
en: "must be equal to one of the allowed values",
@@ -253,6 +263,7 @@ module.exports = {
th: "ต้องตรงกับหนึ่งในค่าที่กำหนดไว้",
zh: "应当是预设定的枚举值之一",
"zh-TW": "應該要在預設的值之中",
+ fa: 'مقدار باید با یکی از مقادیر تعریف شده همخوانی داشته باشد',
},
format: {
en: 'must match format "{{=e.params.format}}"',
@@ -278,6 +289,7 @@ module.exports = {
th: 'ต้องเป็นรูปแบบ "{{=e.params.format}}"',
zh: '应当匹配格式 "{{=e.params.format}}"',
"zh-TW": "應該要符合{{=e.params.format}}格式",
+ fa: 'باید با فرمت "{{=e.params.format}}" مطابقت داشته باشد',
},
maximum: {
_keywords: ["exclusiveMaximum"],
@@ -307,6 +319,7 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当为 {{=cond}}",
"zh-TW": "{{#def.c}}應該要 {{=cond}}",
+ fa: '{{#def.c}} باید {{=cond}} باشد',
},
minimum: {
_keywords: ["exclusiveMinimum"],
@@ -336,6 +349,7 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当为 {{=cond}}",
"zh-TW": "{{#def.c}}應該要 {{=cond}}",
+ fa: '{{#def.c}} باید {{=cond}} باشد',
},
maxItems: {
en: "{{#def.n}}must NOT have more than {{=n}} item{{#def.mPlural}}",
@@ -361,6 +375,7 @@ module.exports = {
th: "{{#def.n}}ต้องมีสมาชิกไม่เกิน {{=n}}",
zh: "{{#def.n}}不应多于 {{=n}} 个项",
"zh-TW": "{{#def.n}}不應該多於 {{=n}} 個",
+ fa: '{{#def.n}} نباید بیشتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
minItems: {
en: "{{#def.n}}must NOT have less than {{=n}} item{{#def.mPlural}}",
@@ -386,6 +401,7 @@ module.exports = {
th: "{{#def.n}}ควรมีสมาชิกไม่น้อยกว่า {{=n}}",
zh: "{{#def.n}}不应少于 {{=n}} 个项",
"zh-TW": "{{#def.n}}不應該少於 {{=n}} 個",
+ fa: '{{#def.n}} نباید کمتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
maxLength: {
en: "{{#def.n}}must NOT be longer than {{=n}} character{{#def.mPlural}}",
@@ -411,6 +427,7 @@ module.exports = {
th: "{{#def.n}}ต้องยาวไม่เกิน {{=n}} ตัวอักษร",
zh: "{{#def.n}}不应多于 {{=n}} 个字符",
"zh-TW": "{{#def.n}}不應該多於 {{=n}} 個字元",
+ fa: '{{#def.n}}نباید بیشتر از {{=n}} کارکتر باشد{{#def.mPlural}}',
},
minLength: {
en: "{{#def.n}}must NOT be shorter than {{=n}} character{{#def.mPlural}}",
@@ -436,6 +453,7 @@ module.exports = {
th: "{{#def.n}}ต้องมีอย่างน้อย {{=n}} ตัวอักษร",
zh: "{{#def.n}}不应少于 {{=n}} 个字符",
"zh-TW": "{{#def.n}}不應該少於 {{=n}} 個字元",
+ fa: '{{#def.n}}نباید کمتر از {{=n}} کارکتر باشد{{#def.mPlural}}',
},
maxProperties: {
en: "{{#def.n}}must NOT have more than {{=n}} propert{{#def.propPlural}}",
@@ -461,6 +479,7 @@ module.exports = {
th: "{{#def.n}}ต้องมี property ไม่เกิน {{=n}} ตัว",
zh: "{{#def.n}}不应有多于 {{=n}} 个属性",
"zh-TW": "{{#def.n}}不應該多於 {{=n}} 個屬性",
+ fa: '{{#def.n}}نباید بیشتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
minProperties: {
en: "{{#def.n}}must NOT have less than {{=n}} propert{{#def.propPlural}}",
@@ -486,6 +505,7 @@ module.exports = {
th: "{{#def.n}}ต้องมี property อย่างน้อย {{=n}} ตัว",
zh: "{{#def.n}}不应有少于 {{=n}} 个属性",
"zh-TW": "{{#def.n}}不應該少於 {{=n}} 個屬性",
+ fa: '{{#def.n}}نباید کمتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
multipleOf: {
en: "must be a multiple of {{=e.params.multipleOf}}",
@@ -511,6 +531,7 @@ module.exports = {
th: "ต้องเป็นเลขที่หาร {{=e.params.multipleOf}} ลงตัว",
zh: "应当是 {{=e.params.multipleOf}} 的整数倍",
"zh-TW": "應該是 {{=e.params.multipleOf}} 的整數倍",
+ fa: 'باید مضربی از {{=e.params.multipleOf}} باشد',
},
not: {
en: 'must NOT be valid according to schema in "not"',
@@ -536,6 +557,7 @@ module.exports = {
th: 'ต้องไม่ผ่าน schema ที่กำหนดไว้ใน "not"',
zh: '不应当匹配 "not" schema',
"zh-TW": '不應該符合 "not" schema',
+ fa: 'نباید معتبر باشد بر اساس "not"',
},
oneOf: {
en: 'must match exactly one schema in "oneOf"',
@@ -561,6 +583,7 @@ module.exports = {
th: 'ต้องตรงกับ schema ตัวเดียวใน "oneOf" เท่านั้น',
zh: '只能匹配一个 "oneOf" 中的 schema',
"zh-TW": '只能符合一個 "oneOf" 中的 schema',
+ fa: 'باید حداقل با یکی از طرح های "oneOf" مطابقت داشته',
},
pattern: {
en: 'must match pattern "{{=e.params.pattern}}"',
@@ -586,6 +609,7 @@ module.exports = {
th: 'ต้องตรงตาม pattern "{{=e.params.pattern}}"',
zh: '应当匹配模式 "{{=e.params.pattern}}"',
"zh-TW": '應該符合模式 "{{=e.params.pattern}}"',
+ fa: 'باید با الگوی "{{=e.params.pattern}}" مطابقت داشته باشد',
},
required: {
en: "must have required property {{=e.params.missingProperty}}",
@@ -611,6 +635,7 @@ module.exports = {
th: "ต้องมี property {{=e.params.missingProperty}} ด้วย",
zh: "应当有必需属性 {{=e.params.missingProperty}}",
"zh-TW": "應該有必須屬性 {{=e.params.missingProperty}}",
+ fa: 'فیلد {{=e.params.missingProperty}} الزامی میباشد.',
},
type: {
_defs: {
@@ -640,6 +665,7 @@ module.exports = {
th: "ต้องเป็น {{=e.params.type}}",
zh: "应当是 {{=e.params.type}} 类型",
"zh-TW": "應該是 {{=e.params.type}} 類型",
+ fa: 'باید از نوع {{=e.params.type}} باشد',
},
unevaluatedProperties: {
en: "must NOT have unevaluated properties",
@@ -653,6 +679,7 @@ module.exports = {
th: "ต้องไม่มี property ที่ยังไม่ได้ผ่านการตรวจสอบเงื่อนไขใดๆ",
zh: "不允许存在未求值的属性",
"zh-TW": "不應該有未驗證的屬性",
+ fa: "نباید مورد مقدار دهی نشده داشته باشد",
},
unevaluatedItems: {
_defs: {
@@ -669,6 +696,7 @@ module.exports = {
th: "{{#def.n}}ต้องมีไม่เกิน {{=n}} ตัว",
zh: "{{#def.n}} 不允许有超过 {{=n}} 个元素",
"zh-TW": "{{#def.n}} 的元素不可以超過 {{=n}} 個",
+ fa: "{{#def.n}} باید موردی بیشتر از {{=n}} نداشته باشد",
},
uniqueItems: {
en: "must NOT have duplicate items (items ## {{=e.params.j}} and {{=e.params.i}} are identical)",
@@ -695,6 +723,8 @@ module.exports = {
th: "ต้องมีสมาชิกไม่ซ้ำักัน (ลำดับที่ {{=e.params.j}} กับ {{=e.params.i}} ซ้ำกัน)",
zh: "不应当含有重复项 (第 {{=e.params.j}} 项与第 {{=e.params.i}} 项是重复的)",
"zh-TW": "不應該有重複項目 (第 {{=e.params.j}} 項和第 {{=e.params.i}} 項是重複的)",
+ fa:
+ 'نباید ایتم تکراری داشته باشد (items ## {{=e.params.j}} و {{=e.params.i}} برابر هستند)',
},
propertyNames: {
en: "property name is invalid",
@@ -717,6 +747,7 @@ module.exports = {
th: "ชื่อ property ไม่ถูกต้อง",
zh: "属性名 无效",
"zh-TW": "属性名 無效",
+ fa: "ویژگی '{{=e.params.propertyName}}' مجاز نمی باشد",
},
patternRequired: {
en: 'must have property matching pattern "{{=e.params.missingPattern}}"',
@@ -740,6 +771,8 @@ module.exports = {
th: 'ต้องมี property ที่มีชื่อตรงตาม pattern "{{=e.params.missingPattern}}"',
zh: "应当有属性匹配模式 {{=e.params.missingPattern}}",
"zh-TW": "應該有屬性對應模式 {{=e.params.missingPattern}}",
+ fa:
+ 'باید ویژگی سازگار با الگوی "{{=e.params.missingPattern}}" وجود داشته باشد',
},
const: {
en: "must be equal to constant",
@@ -763,6 +796,7 @@ module.exports = {
th: "ต้องเท่ากับค่าคงที่",
zh: "应当等于常量",
"zh-TW": "應該等於常數",
+ fa: 'باید برابر با ثابت باشد',
},
contains: {
en: "must contain a valid item",
@@ -785,6 +819,7 @@ module.exports = {
th: "ต้องมีสมาชิกที่ผ่านเงื่อนไขอยู่",
zh: "应当包含一个有效项",
"zh-TW": "應該包含一個有效元素",
+ fa: 'باید حاوی ایتم معتبر باشد',
},
formatMaximum: {
_keywords: ["formatExclusiveMaximum"],
@@ -812,6 +847,7 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当是 {{=cond}}",
"zh-TW": "{{#def.c}}應該是 {{=cond}}",
+ fa: '{{#def.c}}باید مطابق {{=cond}} باشد',
},
formatMinimum: {
_keywords: ["formatExclusiveMinimum"],
@@ -839,6 +875,7 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当是 {{=cond}}",
"zh-TW": "{{#def.c}}應該是 {{=cond}}",
+ fa: '{{#def.c}}باید مطابق {{=cond}} باشد',
},
if: {
en: 'must match "{{=e.params.failingKeyword}}" schema',
@@ -873,6 +910,7 @@ module.exports = {
th: 'tag "{{=e.params.tag}}" ต้องเป็น string',
zh: '标签 "{{=e.params.tag}}" 的类型必须为字符串',
"zh-TW": '標籤 "{{=e.params.tag}}" 的類型必須是字串',
+ fa: 'تگ "{{=e.params.tag}}" باید رشته باشد'
},
mapping: {
en: 'value of tag "{{=e.params.tag}}" must be in oneOf',
@@ -886,6 +924,7 @@ module.exports = {
th: 'ต้องมีค่าของ tag "{{=e.params.tag}}" ใน oneOf',
zh: '标签 "{{=e.params.tag}}" 的值必须在 oneOf 之中',
"zh-TW": '標籤 "{{=e.params.tag}}" 必須在 oneOf 其中之一',
+ fa: 'مقدار باید در یکی "{{=e.params.tag}}" از oneOf باشد'
},
},
}
From 9958c4de794ca2d79eb16d5b11e857460b508ff8 Mon Sep 17 00:00:00 2001
From: mohamadkhani <74563982+mohamadkhani@users.noreply.github.com>
Date: Sun, 9 Jan 2022 11:07:57 +0330
Subject: [PATCH 2/8] Update jtd.js
---
messages/jtd.js | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/messages/jtd.js b/messages/jtd.js
index 1fd69d4..df77a2b 100644
--- a/messages/jtd.js
+++ b/messages/jtd.js
@@ -31,6 +31,7 @@ module.exports = {
"th",
"zh",
"zh-TW",
+ "fa"
],
// shared defines
@@ -58,6 +59,7 @@ module.exports = {
th: 'ต้องผ่านคีย์เวิร์ด "{{=e.keyword}}"',
zh: '应当通过 "{{=e.keyword}} 关键词校验"',
"zh-TW": '應該通過 "{{=e.keyword}} 關鍵詞檢驗"',
+ fa: '"{{=e.keyword}}" باید معتبر باشد',
},
_type: {
@@ -87,6 +89,7 @@ module.exports = {
th: "{{#def.t}}ต้องเป็น {{=t+n}}",
zh: "{{#def.t}}应当是 {{=t+n}} 类型",
"zh-TW": "{{#def.t}}應該是 {{=t+n}} 類型",
+ fa: "{{#def.t}}باید {{=t+n}} باشد",
},
type: {
@@ -119,6 +122,7 @@ module.exports = {
th: "ต้องไม่มี property อื่นๆ นอกเหนีอจากที่กำหนดไว้",
zh: "不允许有额外的属性",
"zh-TW": "不可以有額外的屬性",
+ fa: "نباید مورد اضافی داشته باشه",
},
missing: {
en: "must have property {{=e.params.missingProperty}}",
@@ -143,6 +147,7 @@ module.exports = {
th: "ต้องมี property {{=e.params.missingProperty}} ด้วย",
zh: "应当有必需属性 {{=e.params.missingProperty}}",
"zh-TW": "應該有必須屬性 {{=e.params.missingProperty}}",
+ ir: "باید مورد {{=e.params.missingProperty}} را دارا باشد",
},
},
@@ -160,6 +165,8 @@ module.exports = {
th: 'tag "{{=e.params.tag}}" ต้องเป็น string',
zh: '标签 "{{=e.params.tag}}" 的类型必须为字符串',
"zh-TW": '標籤 "{{=e.params.tag}}" 的類型必須是字串',
+ fa: 'تگ "{{=e.params.tag}}" باید رشته باشد',
+
},
mapping: {
en: 'value of tag "{{=e.params.tag}}" must be in mapping',
@@ -173,6 +180,7 @@ module.exports = {
th: 'ต้องมีค่าของ tag "{{=e.params.tag}}" ใน mapping',
zh: '标签 "{{=e.params.tag}}" 的值必须在 mapping 之中',
"zh-TW": '標籤 "{{=e.params.tag}}" 必須在 mapping 其中之一',
+ fa: 'مقدار تگ "{{=e.params.tag}}" باید در الگو موجود باشد',
},
},
@@ -199,6 +207,7 @@ module.exports = {
th: "ต้องตรงกับหนึ่งในค่าที่กำหนดไว้",
zh: "应当是预设定的枚举值之一",
"zh-TW": "應該要在預設的值之中",
+ fa: "باید برابر با یکی از مقادیر مجاز باشد",
},
union: {
@@ -224,5 +233,6 @@ module.exports = {
th: 'ต้องตรงกับหนึ่งใน schema ที่กำหนดไว้ใน "union"',
zh: "数据应为 union 所指定的其中一个",
"zh-TW": "不符合 union 指定的模式",
+ fa: 'باید با یکی از الگوهای "union" مطابق باشد',
},
}
From b35eeb723957f170dbd44dbccd59977440418c7e Mon Sep 17 00:00:00 2001
From: mohamadkhani <74563982+mohamadkhani@users.noreply.github.com>
Date: Sun, 9 Jan 2022 11:11:37 +0330
Subject: [PATCH 3/8] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 20d437d..836e5df 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,7 @@ Internationalised error messages for [Ajv](https://github.com/ajv-validator/ajv)
|🇹🇭 th|Thai |[encX](https://github.com/encX)|✓|✓|✓|✓|✓|
|🇨🇳 zh|Chinese |[jinzhubaofu](https://github.com/jinzhubaofu)
[leuction](https://github.com/leuction)|✓
|
✓|
✓|
✓|
✓|
|🇹🇼 zh-TW|Chinese - Taiwan|[minipai](https://github.com/minipai)|✓|✓|✓|✓|✓|
+|🇮🇷 fa|Persian|[mohamadkhani](https://github.com/mohamadkhani)|✓|✓|✓|✓|✓|
1 added boolean schema, keywords `const`, `contains`, `propertyNames`
From ed14bf2c93a55c5f54b2603b56bc0420b6f002a7 Mon Sep 17 00:00:00 2001
From: mohamadkhani <74563982+mohamadkhani@users.noreply.github.com>
Date: Sun, 9 Jan 2022 11:20:34 +0330
Subject: [PATCH 4/8] Update index.js
---
messages/index.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/messages/index.js b/messages/index.js
index 8f01c0f..106140d 100644
--- a/messages/index.js
+++ b/messages/index.js
@@ -665,7 +665,7 @@ module.exports = {
th: "ต้องเป็น {{=e.params.type}}",
zh: "应当是 {{=e.params.type}} 类型",
"zh-TW": "應該是 {{=e.params.type}} 類型",
- fa: 'باید از نوع {{=e.params.type}} باشد',
+ fa: 'باید {{? t == "number" }}عددی{{?? t == "integer"}}عددی صحیح{{?? t == "string"}}رشته{{?? t == "boolean"}}\'بله یا خیر\'{{??}}{{=t}}{{?}} باشد',
},
unevaluatedProperties: {
en: "must NOT have unevaluated properties",
From f7de5416ed6da237d323a59db5f8a647b4c8cd34 Mon Sep 17 00:00:00 2001
From: mohamadkhani <74563982+mohamadkhani@users.noreply.github.com>
Date: Sun, 9 Jan 2022 11:46:25 +0330
Subject: [PATCH 5/8] Wrong ir key changed to fa
---
messages/jtd.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/messages/jtd.js b/messages/jtd.js
index df77a2b..f598a62 100644
--- a/messages/jtd.js
+++ b/messages/jtd.js
@@ -147,7 +147,7 @@ module.exports = {
th: "ต้องมี property {{=e.params.missingProperty}} ด้วย",
zh: "应当有必需属性 {{=e.params.missingProperty}}",
"zh-TW": "應該有必須屬性 {{=e.params.missingProperty}}",
- ir: "باید مورد {{=e.params.missingProperty}} را دارا باشد",
+ fa: "باید مورد {{=e.params.missingProperty}} را دارا باشد",
},
},
From 165753ce0599b9a078997b0acf817f6e5628d41f Mon Sep 17 00:00:00 2001
From: mohamadkhani <74563982+mohamadkhani@users.noreply.github.com>
Date: Sun, 9 Jan 2022 11:48:03 +0330
Subject: [PATCH 6/8] fa added for if keyword
---
messages/index.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/messages/index.js b/messages/index.js
index 106140d..a78d2f8 100644
--- a/messages/index.js
+++ b/messages/index.js
@@ -895,6 +895,7 @@ module.exports = {
th: 'ต้องตรงกับ schema "{{=e.params.failingKeyword}}"',
zh: '应当匹配模式 "{{=e.params.failingKeyword}}" ',
"zh-TW": '應該符合 "{{=e.params.failingKeyword}}" schema',
+ fa: 'باید با الگوی "{{=e.params.failingKeyword}}" مطابق باشد',
},
discriminator: {
_type: false,
From 9194ffd659b0c71e97503c79660d0435ac874c82 Mon Sep 17 00:00:00 2001
From: Mohammadreza Khani
Date: Mon, 18 Jul 2022 13:15:12 +0430
Subject: [PATCH 7/8] fix: fa messages sort fix: fa t is undefined
---
messages/index.js | 115 ++++++++++++++++++++++------------------------
messages/jtd.js | 19 ++++----
2 files changed, 65 insertions(+), 69 deletions(-)
diff --git a/messages/index.js b/messages/index.js
index a78d2f8..b6046e1 100644
--- a/messages/index.js
+++ b/messages/index.js
@@ -15,6 +15,7 @@ module.exports = {
"cs",
"de",
"es",
+ "fa",
"fi",
"fr",
"hu",
@@ -32,7 +33,6 @@ module.exports = {
"th",
"zh",
"zh-TW",
- "fa",
],
// shared defines
@@ -45,7 +45,8 @@ module.exports = {
ca: "{{? n!=1 }}s{{?}}",
cs: "{{? n>=2 && n<=4 }}ky{{?? n!=1 }}ek{{??}}ků{{?}}",
de: "{{? n!=1 }}e{{?}}",
- es: "{{? n!=1 }}s{{?}}", //only item (element)
+ es: "{{? n!=1 }}s{{?}}",
+ fa: "{{? n!=1 }}ها{{?}}",
fr: "{{? n!=1 }}s{{?}}",
it: "{{? n==1 }}o{{??}}i{{?}}",
nb: "{{? n!=1 }}er{{?}}",
@@ -55,7 +56,6 @@ module.exports = {
ru: "{{? n>=2 && n<=4 }}а{{?? n!=1 }}ов{{?}}",
sk: "{{? n==1 }}ok{{??}}kov{{?}}",
sv: "{{? n!=1 }}er{{?}}",
- fa: '{{? n!=1 }}ها{{?}}',
},
propPlural: {
// plural for the word property (attribute)
@@ -65,6 +65,7 @@ module.exports = {
cs: "{{? n>=2 && n<=4 }}ky{{?? n!=1 }}ek{{??}}ka{{?}}",
de: "{{? n!=1 }}e{{?}}",
es: "{{? n!=1 }}es{{?}}",
+ fa: "{{? n!=1 }}ها{{?}}",
fr: "{{? n!=1 }}s{{?}}",
hu: "{{? n!=1 }}i{{?}}",
it: "{{? n==1 }}o{{??}}i{{?}}",
@@ -75,7 +76,6 @@ module.exports = {
ru: "{{? n==1 }}е{{?? n>=2 && n<=4 }}я{{??}}ей{{?}}",
sk: "{{? n>=2 && n<=4 }}ky{{?? n!=1 }}iek{{??}}ka{{?}}",
sv: "{{? n!=1 }}er{{?}}",
- fa: '{{? n!=1 }}ها{{?}}',
},
},
@@ -87,6 +87,7 @@ module.exports = {
cs: 'musí vyhovět "{{=e.keyword}}" validaci',
de: 'muss die Validierung "{{=e.keyword}}" bestehen',
es: 'debe pasar la validación de palabra clave "{{=e.keyword}}"',
+ fa: '"{{=e.keyword}}" باید معتبر باشد',
fi: 'täytyy läpäistä "{{=e.keyword}}" avainsanatarkistus',
fr: 'doit être valide selon le critère "{{=e.keyword}}"',
id: 'harus lulus validasi kata kunci "{{=e.keyword}}"',
@@ -102,7 +103,6 @@ module.exports = {
th: 'ต้องผ่านคีย์เวิร์ด "{{=e.keyword}}"',
zh: '应当通过 "{{=e.keyword}} 关键词校验"',
"zh-TW": '應該通過 "{{=e.keyword}} 關鍵詞檢驗"',
- fa: '"{{=e.keyword}}" باید معتبر باشد',
},
"false schema": {
@@ -112,6 +112,7 @@ module.exports = {
cs: "schéma je false",
de: "boolesches Schema ist falsch",
es: "el esquema és falso",
+ fa: "الگو اشتباه است",
fi: "boolean skeema on väärä",
fr: 'le schema est "false"',
id: "skema boolean salah",
@@ -126,7 +127,6 @@ module.exports = {
th: "schema เป็น false",
zh: "布尔模式出错",
"zh-TW": "布林模式不正確",
- fa: 'الگو اشتباه است',
},
additionalItems: {
_keywords: ["items"], // for JSON Schema draft-2020-12
@@ -136,6 +136,7 @@ module.exports = {
cs: "{{#def.n}}nemůže mít víc, než {{=n}} prv{{#def.mPlural}}",
de: "{{#def.n}}darf nicht mehr als {{=n}} Element{{#def.mPlural}} enthalten",
es: "{{#def.n}}no debe tener más de {{=n}} elemento{{#def.mPlural}}",
+ fa: "{{#def.n}} نباید بیشتر از {{=n}} ایتم باشد {{#def.mPlural}}",
fi: "{{#def.n}}saa sisältää enintään {{=n}}{{? n==1 }}:n elementin{{??}} elementtiä{{?}}",
fr: "{{#def.n}}ne doit pas contenir plus de {{=n}} élémént{{#def.mPlural}}",
hu: "{{#def.n}}nem lehet több, mint {{=n}} eleme",
@@ -153,7 +154,6 @@ module.exports = {
th: "{{#def.n}}ต้องมีสมาชิกไม่เกิน {{=n}} ตัว",
zh: "{{#def.n}}不允许超过{{=n}}个元素",
"zh-TW": "{{#def.n}}不可以超過{{=n}}個元素",
- fa: '{{#def.n}} نباید بیشتر از {{=n}} ایتم باشد {{#def.mPlural}}',
},
additionalProperties: {
en: "must NOT have additional properties",
@@ -162,6 +162,7 @@ module.exports = {
cs: "nemůže mít další položky",
de: "darf keine zusätzlichen Attribute haben",
es: "no debe tener propiedades adicionales",
+ fa: "فیلد مازاد مجاز نمیباشد",
fi: "ei saa sisältää ylimääräisiä ominaisuuksia",
fr: "ne doit pas contenir de propriétés additionnelles",
hu: "nem lehetnek további elemei",
@@ -179,7 +180,6 @@ module.exports = {
th: "ต้องไม่มี property อื่นๆ นอกเหนีอจากที่กำหนดไว้",
zh: "不允许有额外的属性",
"zh-TW": "不可以有額外的屬性",
- fa: 'فیلد مازاد مجاز نمیباشد',
},
anyOf: {
en: 'must match a schema in "anyOf"',
@@ -188,6 +188,7 @@ module.exports = {
cs: 'musí vyhovět alespoň jednomu schématu v "anyOf"',
de: 'muss einem der Schemata in "anyOf" entsprechen',
es: 'debe coincidir con algún esquema en "anyOf"',
+ fa: 'الزام به همخوانی داشتن فیلد ها در "anyOf" است.',
fi: 'täytyy vastata "anyOf" skeemaa',
fr: 'doit correspondre à un schéma de "anyOf"',
hu: 'meg kell feleljen legalább egy "anyOf" alaknak',
@@ -205,7 +206,6 @@ module.exports = {
th: 'ต้องตรงกับหนึ่งใน schema ที่กำหนดไว้ใน "anyOf"',
zh: "数据应为 anyOf 所指定的其中一个",
"zh-TW": "不符合 anyOf 指定的模式",
- fa: 'الزام به همخوانی داشتن فیلد ها در "anyOf" است.',
},
dependencies: {
_keywords: ["dependentRequired"],
@@ -218,6 +218,7 @@ module.exports = {
cs: "{{#def.n}}musí mít polož{{#def.propPlural}}: {{=e.params.deps}}, pokud obsahuje {{=e.params.property}}",
de: "{{#def.n}}muss Attribut{{#def.propPlural}} {{=e.params.deps}} aufweisen, wenn Attribut {{=e.params.property}} gesetzt ist",
es: "{{#def.n}}debe contener la{{#def.mPlural}} propiedad{{#def.propPlural}} {{=e.params.deps}} cuando la propiedad {{=e.params.property}} se encuentra presente",
+ fa: "{{#def.n}} باید حاوی مقدار {{=e.params.deps}} وقتی ویژگی {{=e.params.property}} وجود دارد",
fi: "{{#def.n}}täytyy sisältää {{=e.params.deps}} ominaisuu{{? n==1 }}s{{??}}det{{?}} kun {{=e.params.property}}-ominaisuus on läsnä",
fr: "{{#def.n}}doit avoir la propriété {{=e.params.deps}} quand la propriété {{=e.params.property}} est présente",
hu: "{{#def.n}}-nak kell legyen{{? n>1 }}ek{{?}} a következő tulajdonsága{{#def.propPlural}}: {{=e.params.deps}}, ha van {{=e.params.property}} tulajdonsága",
@@ -236,8 +237,6 @@ module.exports = {
th: "{{#def.n}}เมื่อมี property {{=e.params.property}} แล้วจะต้องมี property {{=e.params.deps}} ด้วย",
zh: "{{#def.n}}应当拥有属性{{=e.params.property}}的依赖属性{{=e.params.deps}}",
"zh-TW": "{{#def.n}}應該要有屬性{{=e.params.property}}的依賴屬性{{=e.params.deps}}",
- fa:
- '{{#def.n}} باید حاوی مقدار {{=e.params.deps}} وقتی ویژگی {{=e.params.property}} وجود دارد',
},
enum: {
en: "must be equal to one of the allowed values",
@@ -246,6 +245,7 @@ module.exports = {
cs: "musí být rovno jedné hodnotě z výčtu",
de: "muss einem der vorgegebenen Werte entsprechen",
es: "deber ser igual a uno de los valores predefinidos",
+ fa: "مقدار باید با یکی از مقادیر تعریف شده همخوانی داشته باشد",
fi: "täytyy olla yhtä kuin jokin sallituista arvoista",
fr: "doit être égal à une des valeurs prédéfinies",
hu: "egyenlő kell legyen valamely előre meghatározott értékkel",
@@ -263,7 +263,6 @@ module.exports = {
th: "ต้องตรงกับหนึ่งในค่าที่กำหนดไว้",
zh: "应当是预设定的枚举值之一",
"zh-TW": "應該要在預設的值之中",
- fa: 'مقدار باید با یکی از مقادیر تعریف شده همخوانی داشته باشد',
},
format: {
en: 'must match format "{{=e.params.format}}"',
@@ -272,6 +271,7 @@ module.exports = {
cs: 'musí být ve formátu "{{=e.params.format}}"',
de: 'muss diesem Format entsprechen: "{{=e.params.format}}"',
es: 'debe coincidir con el formato "{{=e.params.format}}"',
+ fa: 'باید با فرمت "{{=e.params.format}}" مطابقت داشته باشد',
fi: 'täytyy vastata muotoa "{{=e.params.format}}"',
fr: 'doit correspondre au format "{{=e.params.format}}"',
hu: 'meg kell feleljen a következő formátumnak: "{{=e.params.format}}"',
@@ -289,7 +289,6 @@ module.exports = {
th: 'ต้องเป็นรูปแบบ "{{=e.params.format}}"',
zh: '应当匹配格式 "{{=e.params.format}}"',
"zh-TW": "應該要符合{{=e.params.format}}格式",
- fa: 'باید با فرمت "{{=e.params.format}}" مطابقت داشته باشد',
},
maximum: {
_keywords: ["exclusiveMaximum"],
@@ -302,6 +301,7 @@ module.exports = {
cs: "{{#def.c}}musí být {{=cond}}",
de: "{{#def.c}}muss {{=cond}} sein",
es: "{{#def.c}}debe ser {{=cond}}",
+ fa: "{{#def.c}} باید {{=cond}} باشد",
fi: "{{#def.c}}täytyy olla {{=cond}}",
fr: "{{#def.c}}doit être {{=cond}}",
hu: "{{#def.c}}kell legyen {{=cond}}",
@@ -319,7 +319,6 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当为 {{=cond}}",
"zh-TW": "{{#def.c}}應該要 {{=cond}}",
- fa: '{{#def.c}} باید {{=cond}} باشد',
},
minimum: {
_keywords: ["exclusiveMinimum"],
@@ -332,6 +331,7 @@ module.exports = {
cs: "{{#def.c}}musí být {{=cond}}",
de: "{{#def.c}}muss {{=cond}} sein",
es: "{{#def.c}}debe ser {{=cond}}",
+ fa: "{{#def.c}} باید {{=cond}} باشد",
fi: "{{#def.c}}täytyy olla {{=cond}}",
fr: "{{#def.c}}doit être {{=cond}}",
hu: "{{#def.c}}kell legyen {{=cond}}",
@@ -349,7 +349,6 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当为 {{=cond}}",
"zh-TW": "{{#def.c}}應該要 {{=cond}}",
- fa: '{{#def.c}} باید {{=cond}} باشد',
},
maxItems: {
en: "{{#def.n}}must NOT have more than {{=n}} item{{#def.mPlural}}",
@@ -358,6 +357,7 @@ module.exports = {
cs: "{{#def.n}}nesmí obsahovat víc než {{=n}} prv{{#def.mPlural}}",
de: "{{#def.n}}darf nicht mehr als {{=n}} Element{{#def.mPlural}} haben",
es: "{{#def.n}}no debe contener más de {{=n}} elemento{{#def.mPlural}}",
+ fa: "{{#def.n}} نباید بیشتر از {{=n}} ایتم باشد{{#def.mPlural}}",
fi: "{{#def.n}}tulee sisältää enintään {{=n}} {{? n==1 }}elementti{{??}}elementtiä{{?}}",
fr: "{{#def.n}}ne doit pas contenir plus de {{=n}} élément{{#def.mPlural}}",
hu: "{{#def.n}}nem lehet több, mint {{=n}} eleme",
@@ -375,7 +375,6 @@ module.exports = {
th: "{{#def.n}}ต้องมีสมาชิกไม่เกิน {{=n}}",
zh: "{{#def.n}}不应多于 {{=n}} 个项",
"zh-TW": "{{#def.n}}不應該多於 {{=n}} 個",
- fa: '{{#def.n}} نباید بیشتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
minItems: {
en: "{{#def.n}}must NOT have less than {{=n}} item{{#def.mPlural}}",
@@ -384,6 +383,7 @@ module.exports = {
cs: "{{#def.n}}nesmí obsahovat méně než {{=n}} prv{{#def.mPlural}}",
de: "{{#def.n}}darf nicht weniger als {{=n}} Element{{#def.mPlural}} haben",
es: "{{#def.n}}no debe contener menos de {{=n}} elemento{{#def.mPlural}}",
+ fa: "{{#def.n}} نباید کمتر از {{=n}} ایتم باشد{{#def.mPlural}}",
fi: "{{#def.n}}tulee sisältää vähintään {{=n}} {{? n==1 }}elementti{{??}}elementtiä{{?}}",
fr: "{{#def.n}}ne doit pas contenir moins de {{=n}} élément{{#def.mPlural}}",
hu: "{{#def.n}}nem lehet kevesebb, mint {{=n}} eleme",
@@ -401,7 +401,6 @@ module.exports = {
th: "{{#def.n}}ควรมีสมาชิกไม่น้อยกว่า {{=n}}",
zh: "{{#def.n}}不应少于 {{=n}} 个项",
"zh-TW": "{{#def.n}}不應該少於 {{=n}} 個",
- fa: '{{#def.n}} نباید کمتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
maxLength: {
en: "{{#def.n}}must NOT be longer than {{=n}} character{{#def.mPlural}}",
@@ -410,6 +409,7 @@ module.exports = {
cs: "{{#def.n}}nesmí být delší než {{=n}} zna{{? n>=2 && n<=4 }}ky{{?? n!=1 }}k{{??}}ků{{?}}",
de: "{{#def.n}}darf nicht länger als {{=n}} Zeichen sein",
es: "{{#def.n}}no debe contener más de {{=n}} caracter{{? n!=1 }}es{{?}}",
+ fa: "{{#def.n}}نباید بیشتر از {{=n}} کارکتر باشد{{#def.mPlural}}",
fi: "{{#def.n}}ei saa olla pidempi kuin {{=n}} merkki{{? n!=1 }}ä{{?}}",
fr: "{{#def.n}}ne doit pas dépasser {{=n}} caractère{{#def.mPlural}}",
hu: "{{#def.n}}nem lehet hosszabb, mint {{=n}} szimbólum",
@@ -427,7 +427,6 @@ module.exports = {
th: "{{#def.n}}ต้องยาวไม่เกิน {{=n}} ตัวอักษร",
zh: "{{#def.n}}不应多于 {{=n}} 个字符",
"zh-TW": "{{#def.n}}不應該多於 {{=n}} 個字元",
- fa: '{{#def.n}}نباید بیشتر از {{=n}} کارکتر باشد{{#def.mPlural}}',
},
minLength: {
en: "{{#def.n}}must NOT be shorter than {{=n}} character{{#def.mPlural}}",
@@ -436,6 +435,7 @@ module.exports = {
cs: "{{#def.n}}nesmí být kratší než {{=n}} zna{{? n>=2 && n<=4 }}ky{{?? n!=1 }}k{{??}}ků{{?}}",
de: "{{#def.n}}darf nicht kürzer als {{=n}} Zeichen sein",
es: "{{#def.n}}no debe contener menos de {{=n}} caracter{{? n!=1 }}es{{?}}",
+ fa: "{{#def.n}}نباید کمتر از {{=n}} کارکتر باشد{{#def.mPlural}}",
fi: "{{#def.n}}ei saa olla lyhyempi kuin {{=n}} merkki{{? n!=1 }}ä{{?}}",
fr: "{{#def.n}}ne doit pas faire moins de {{=n}} caractère{{#def.mPlural}}",
hu: "{{#def.n}}nem lehet rövidebb, mint {{=n}} szimbólum",
@@ -453,7 +453,6 @@ module.exports = {
th: "{{#def.n}}ต้องมีอย่างน้อย {{=n}} ตัวอักษร",
zh: "{{#def.n}}不应少于 {{=n}} 个字符",
"zh-TW": "{{#def.n}}不應該少於 {{=n}} 個字元",
- fa: '{{#def.n}}نباید کمتر از {{=n}} کارکتر باشد{{#def.mPlural}}',
},
maxProperties: {
en: "{{#def.n}}must NOT have more than {{=n}} propert{{#def.propPlural}}",
@@ -462,6 +461,7 @@ module.exports = {
cs: "{{#def.n}}nesmí mít víc než {{=n}} polož{{#def.propPlural}}",
de: "{{#def.n}}darf nicht mehr als {{=n}} Attribut{{#def.propPlural}} haben",
es: "{{#def.n}}no debe contener más de {{=n}} propiedad{{#def.propPlural}}",
+ fa: "{{#def.n}}نباید بیشتر از {{=n}} ایتم باشد{{#def.mPlural}}",
fi: "{{#def.n}}tulee sisältää enintään {{=n}} {{? n==1 }}ominaisuus{{??}}ominaisuutta{{?}}",
fr: "{{#def.n}}ne doit pas contenir plus de {{=n}} propriété{{#def.propPlural}}",
hu: "{{#def.n}}nem lehet több, mint {{=n}} tulajdonsága",
@@ -479,7 +479,6 @@ module.exports = {
th: "{{#def.n}}ต้องมี property ไม่เกิน {{=n}} ตัว",
zh: "{{#def.n}}不应有多于 {{=n}} 个属性",
"zh-TW": "{{#def.n}}不應該多於 {{=n}} 個屬性",
- fa: '{{#def.n}}نباید بیشتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
minProperties: {
en: "{{#def.n}}must NOT have less than {{=n}} propert{{#def.propPlural}}",
@@ -488,6 +487,7 @@ module.exports = {
cs: "{{#def.n}}nesmí mít méně než {{=n}} polož{{#def.propPlural}}",
de: "{{#def.n}}darf nicht weniger als {{=n}} Attribut{{#def.propPlural}} haben",
es: "{{#def.n}}no debe contener menos de {{=n}} propiedad{{#def.propPlural}}",
+ fa: "{{#def.n}}نباید کمتر از {{=n}} ایتم باشد{{#def.mPlural}}",
fi: "{{#def.n}}tulee sisältää vähintään {{=n}} {{? n==1 }}ominaisuus{{??}}ominaisuutta{{?}}",
fr: "{{#def.n}}ne doit pas contenir moins de {{=n}} propriété{{#def.propPlural}}",
hu: "{{#def.n}}nem lehet kevesebb, mint {{=n}} tulajdonsága",
@@ -505,7 +505,6 @@ module.exports = {
th: "{{#def.n}}ต้องมี property อย่างน้อย {{=n}} ตัว",
zh: "{{#def.n}}不应有少于 {{=n}} 个属性",
"zh-TW": "{{#def.n}}不應該少於 {{=n}} 個屬性",
- fa: '{{#def.n}}نباید کمتر از {{=n}} ایتم باشد{{#def.mPlural}}',
},
multipleOf: {
en: "must be a multiple of {{=e.params.multipleOf}}",
@@ -514,6 +513,7 @@ module.exports = {
cs: "musí být násobkem {{=e.params.multipleOf}}",
de: "muss ein Vielfaches von {{=e.params.multipleOf}} sein",
es: "debe ser múltiplo de {{=e.params.multipleOf}}",
+ fa: "باید مضربی از {{=e.params.multipleOf}} باشد",
fi: "täytyy olla moninkertainen: {{=e.params.multipleOf}}",
fr: "doit être un multiple de {{=e.params.multipleOf}}",
hu: "a többszöröse kell legyen a következő számnak: {{=e.params.multipleOf}}",
@@ -531,7 +531,6 @@ module.exports = {
th: "ต้องเป็นเลขที่หาร {{=e.params.multipleOf}} ลงตัว",
zh: "应当是 {{=e.params.multipleOf}} 的整数倍",
"zh-TW": "應該是 {{=e.params.multipleOf}} 的整數倍",
- fa: 'باید مضربی از {{=e.params.multipleOf}} باشد',
},
not: {
en: 'must NOT be valid according to schema in "not"',
@@ -540,6 +539,7 @@ module.exports = {
cs: 'nesmí vyhovět schématu v "not"',
de: 'muss dem in "not" angegebenen Schema widersprechen',
es: 'no debe ser válido según el esquema en "not"',
+ fa: 'نباید معتبر باشد بر اساس "not"',
fi: 'ei saa olla hyväksytty skeeman "not" mukaan',
fr: 'est invalide selon le schéma "not"',
hu: 'nem lehet érvényes a "not" alaknak megfelelően',
@@ -557,7 +557,6 @@ module.exports = {
th: 'ต้องไม่ผ่าน schema ที่กำหนดไว้ใน "not"',
zh: '不应当匹配 "not" schema',
"zh-TW": '不應該符合 "not" schema',
- fa: 'نباید معتبر باشد بر اساس "not"',
},
oneOf: {
en: 'must match exactly one schema in "oneOf"',
@@ -566,6 +565,7 @@ module.exports = {
cs: 'musí vyhovět právě jednomu schématu v "oneOf"',
de: 'muss genau einem der Schemata in "oneOf" entsprechen',
es: 'debe coincidir con un solo esquema en "oneOf"',
+ fa: 'باید حداقل با یکی از طرح های "oneOf" مطابقت داشته',
fi: 'täytyy vastata täsmälleen yhtä "oneOf" -kohdassa määriteltyä skeemaa',
fr: 'doit correspondre à exactement un schéma de "oneOf"',
hu: 'meg kell feleljen pontosan egy "oneOf" alaknak',
@@ -583,7 +583,6 @@ module.exports = {
th: 'ต้องตรงกับ schema ตัวเดียวใน "oneOf" เท่านั้น',
zh: '只能匹配一个 "oneOf" 中的 schema',
"zh-TW": '只能符合一個 "oneOf" 中的 schema',
- fa: 'باید حداقل با یکی از طرح های "oneOf" مطابقت داشته',
},
pattern: {
en: 'must match pattern "{{=e.params.pattern}}"',
@@ -592,6 +591,7 @@ module.exports = {
cs: 'musí vyhovět regulárnímu výrazu "{{=e.params.pattern}}"',
de: 'muss diesem Muster entsprechen: "{{=e.params.pattern}}"',
es: 'debe coincidir con el patron "{{=e.params.pattern}}"',
+ fa: 'باید با الگوی "{{=e.params.pattern}}" مطابقت داشته باشد',
fi: 'täytyy vastata muotoa "{{=e.params.pattern}}"',
fr: 'doit correspondre au format "{{=e.params.pattern}}"',
hu: 'meg kell feleljen a következő mintának: "{{=e.params.pattern}}"',
@@ -609,7 +609,6 @@ module.exports = {
th: 'ต้องตรงตาม pattern "{{=e.params.pattern}}"',
zh: '应当匹配模式 "{{=e.params.pattern}}"',
"zh-TW": '應該符合模式 "{{=e.params.pattern}}"',
- fa: 'باید با الگوی "{{=e.params.pattern}}" مطابقت داشته باشد',
},
required: {
en: "must have required property {{=e.params.missingProperty}}",
@@ -618,6 +617,7 @@ module.exports = {
cs: "musí obsahovat požadovanou položku {{=e.params.missingProperty}}",
de: "muss das erforderliche Attribut {{=e.params.missingProperty}} enthalten",
es: "debe tener la propiedad requerida {{=e.params.missingProperty}}",
+ fa: "فیلد {{=e.params.missingProperty}} الزامی میباشد.",
fi: "täytyy sisältää vaadittu ominaisuus {{=e.params.missingProperty}}",
fr: "requiert la propriété {{=e.params.missingProperty}}",
hu: "kell legyen {{=e.params.missingProperty}} tulajdonsága",
@@ -635,41 +635,41 @@ module.exports = {
th: "ต้องมี property {{=e.params.missingProperty}} ด้วย",
zh: "应当有必需属性 {{=e.params.missingProperty}}",
"zh-TW": "應該有必須屬性 {{=e.params.missingProperty}}",
- fa: 'فیلد {{=e.params.missingProperty}} الزامی میباشد.',
},
type: {
_defs: {
t: "{{var t = e.params.type;}}",
},
- en: "must be {{=e.params.type}}",
+ en: "{{#def.t}}must be {{=t}}",
ar: "قيمة هذا الحقل غير صالحة",
- ca: "ha de ser del tipus {{=e.params.type}}",
- cs: "musí být {{=e.params.type}}",
- de: "muss sein: {{=e.params.type}}",
- es: "debe ser {{=e.params.type}}",
+ ca: "{{#def.t}}ha de ser del tipus {{=t}}",
+ cs: "{{#def.t}}musí být {{=t}}",
+ de: "{{#def.t}}muss sein: {{=t}}",
+ es: "{{#def.t}}debe ser {{=t}}",
+ fa: '{{#def.t}}باید {{? t == "number" }}عددی{{?? t == "integer"}}عددی صحیح{{?? t == "string"}}رشته{{?? t == "boolean"}}\'بله یا خیر\'{{??}}{{=t}}{{?}} باشد',
fi: '{{#def.t}}täytyy olla {{? t == "number" }}numero{{?? t == "integer"}}kokonaisluku{{?? t == "string"}}merkkijono{{?? t == "boolean"}}boolean{{??}}{{=t}}{{?}}',
- fr: "doit être de type {{=e.params.type}}",
- hu: "{{=e.params.type}} kell legyen",
- id: "harus berupa {{=e.params.type}}",
- it: "deve essere di tipo {{=e.params.type}}",
- ja: "{{=e.params.type}}でなければいけない",
- ko: "{{=e.params.type}}이여야 합니다",
+ fr: "{{#def.t}}doit être de type {{=t}}",
+ hu: "{{#def.t}}{{=t}} kell legyen",
+ id: "{{#def.t}}harus berupa {{=t}}",
+ it: "{{#def.t}}deve essere di tipo {{=t}}",
+ ja: "{{#def.t}}{{=t}}でなければいけない",
+ ko: "{{#def.t}}{{=t}}이여야 합니다",
nb: '{{#def.t}}må være {{? t == "number" }}et tall{{?? t == "integer"}}et heltall{{?? t == "string"}}en streng{{?? t == "boolean"}}ja eller nei{{??}}{{=t}}{{?}}',
nl: '{{#def.t}}moet een {{? t == "number" }}nummer{{?? t == "integer"}}geheel getal{{?? t == "string"}}tekenreeks{{?? t == "boolean"}}ja of nee waarde{{?}} ({{=t}}) bevatten',
- pl: "powinien być {{=e.params.type}}",
+ pl: "{{#def.t}}powinien być {{=t}}",
"pt-BR":
'{{#def.t}}deve ser {{? t == "number" }}um número{{?? t == "integer"}}um número inteiro{{?? t == "string"}}um texto{{?? t == "boolean"}}um booleano{{??}}{{=t}}{{?}}',
- ru: "должно быть {{=e.params.type}}",
- sk: "musí byť {{=e.params.type}}",
- sv: "borde vara {{=e.params.type}}",
- th: "ต้องเป็น {{=e.params.type}}",
- zh: "应当是 {{=e.params.type}} 类型",
- "zh-TW": "應該是 {{=e.params.type}} 類型",
- fa: 'باید {{? t == "number" }}عددی{{?? t == "integer"}}عددی صحیح{{?? t == "string"}}رشته{{?? t == "boolean"}}\'بله یا خیر\'{{??}}{{=t}}{{?}} باشد',
+ ru: "{{#def.t}}должно быть {{=t}}",
+ sk: "{{#def.t}}musí byť {{=t}}",
+ sv: "{{#def.t}}borde vara {{=t}}",
+ th: "{{#def.t}}ต้องเป็น {{=t}}",
+ zh: "{{#def.t}}应当是 {{=t}} 类型",
+ "zh-TW": "{{#def.t}}應該是 {{=t}} 類型",
},
unevaluatedProperties: {
en: "must NOT have unevaluated properties",
de: "darf keine unausgewerteten Attribute haben",
+ fa: "نباید مورد مقدار دهی نشده داشته باشد",
fi: "ei saa sisältää arvioimattomia ominaisuuksia",
it: "non deve avere attributi non valutati",
ko: "평가되지 않은 속성이 없어야합니다.",
@@ -679,7 +679,6 @@ module.exports = {
th: "ต้องไม่มี property ที่ยังไม่ได้ผ่านการตรวจสอบเงื่อนไขใดๆ",
zh: "不允许存在未求值的属性",
"zh-TW": "不應該有未驗證的屬性",
- fa: "نباید مورد مقدار دهی نشده داشته باشد",
},
unevaluatedItems: {
_defs: {
@@ -687,6 +686,7 @@ module.exports = {
},
en: "{{#def.n}}must NOT have more than {{=n}} item{{#def.mPlural}}",
de: "{{#def.n}}darf nicht mehr als {{=n}} Element{{#def.mPlural}} haben",
+ fa: "{{#def.n}} باید موردی بیشتر از {{=n}} نداشته باشد",
fi: "{{#def.n}}ei saa olla enemmän kuin {{=n}} elementti{{? n!=1 }}ä{{?}}",
it: "{{#def.n}}non deve avere più di {{=n}} elementi{{#def.mPlural}}",
ko: "{{#def.n}}항목이 {{=n}}개 아이템을 초과하면 안됩니다",
@@ -696,7 +696,6 @@ module.exports = {
th: "{{#def.n}}ต้องมีไม่เกิน {{=n}} ตัว",
zh: "{{#def.n}} 不允许有超过 {{=n}} 个元素",
"zh-TW": "{{#def.n}} 的元素不可以超過 {{=n}} 個",
- fa: "{{#def.n}} باید موردی بیشتر از {{=n}} نداشته باشد",
},
uniqueItems: {
en: "must NOT have duplicate items (items ## {{=e.params.j}} and {{=e.params.i}} are identical)",
@@ -705,6 +704,7 @@ module.exports = {
cs: "nesmí obsahovat duplicitní prvky (prvky ## {{=e.params.j}} a {{=e.params.i}} jsou identické)",
de: "darf keine Duplikate enthalten (Elemente #{{=e.params.j}} und #{{=e.params.i}} sind gleich)",
es: "no debe contener elementos duplicados, (los elementos ## {{=e.params.j}} y {{=e.params.i}} son idénticos)",
+ fa: "نباید ایتم تکراری داشته باشد (items ## {{=e.params.j}} و {{=e.params.i}} برابر هستند)",
fi: "ei saa sisältää duplikaatteja (elementit ## {{=e.params.j}} ja {{=e.params.i}} ovat identtiset)",
fr: "ne doit pas contenir de doublons (les éléments ## {{=e.params.j}} et {{=e.params.i}} sont identiques)",
hu: "nem lehetnek azonos elemei ({{=e.params.j}} és {{=e.params.i}} elemek azonosak)",
@@ -723,8 +723,6 @@ module.exports = {
th: "ต้องมีสมาชิกไม่ซ้ำักัน (ลำดับที่ {{=e.params.j}} กับ {{=e.params.i}} ซ้ำกัน)",
zh: "不应当含有重复项 (第 {{=e.params.j}} 项与第 {{=e.params.i}} 项是重复的)",
"zh-TW": "不應該有重複項目 (第 {{=e.params.j}} 項和第 {{=e.params.i}} 項是重複的)",
- fa:
- 'نباید ایتم تکراری داشته باشد (items ## {{=e.params.j}} و {{=e.params.i}} برابر هستند)',
},
propertyNames: {
en: "property name is invalid",
@@ -733,6 +731,7 @@ module.exports = {
cs: "název položky není platný",
de: "Attributname ist ungültig",
es: "la propiedad no és válida",
+ fa: "ویژگی '{{=e.params.propertyName}}' مجاز نمی باشد",
fi: "ominaisuuden nimi on virheellinen",
fr: "le nom de propriété est invalide",
id: "nama properti tidak valid",
@@ -747,7 +746,6 @@ module.exports = {
th: "ชื่อ property ไม่ถูกต้อง",
zh: "属性名 无效",
"zh-TW": "属性名 無效",
- fa: "ویژگی '{{=e.params.propertyName}}' مجاز نمی باشد",
},
patternRequired: {
en: 'must have property matching pattern "{{=e.params.missingPattern}}"',
@@ -756,6 +754,7 @@ module.exports = {
cs: 'musí obsahovat položku vyhovující regulárnímu výrazu "{{=e.params.missingPattern}}"',
de: 'muss ein Attribut nach folgendem Muster haben "{{=e.params.missingPattern}}"',
es: 'la propiedad debe coincidir con el patrón "{{=e.params.missingPattern}}"',
+ fa: 'باید ویژگی سازگار با الگوی "{{=e.params.missingPattern}}" وجود داشته باشد',
fi: 'täytyy sisältää ominaisuus joka vastaa kaavaa "{{=e.params.missingPattern}}"',
fr: 'la propriété doit correspondre au format "{{=e.params.missingPattern}}"',
id: 'harus memiliki pola pencocokan properti "{{=e.params.missingPattern}}"',
@@ -771,8 +770,6 @@ module.exports = {
th: 'ต้องมี property ที่มีชื่อตรงตาม pattern "{{=e.params.missingPattern}}"',
zh: "应当有属性匹配模式 {{=e.params.missingPattern}}",
"zh-TW": "應該有屬性對應模式 {{=e.params.missingPattern}}",
- fa:
- 'باید ویژگی سازگار با الگوی "{{=e.params.missingPattern}}" وجود داشته باشد',
},
const: {
en: "must be equal to constant",
@@ -781,6 +778,7 @@ module.exports = {
cs: "musí být roven konstantě",
de: "muss gleich der Konstanten sein",
es: "debe ser igual a la constante",
+ fa: "باید برابر با ثابت باشد",
fi: "täytyy olla yhtä kuin vakio",
fr: "doit être égal à la constante",
id: "harus sama dengan konstan",
@@ -796,7 +794,6 @@ module.exports = {
th: "ต้องเท่ากับค่าคงที่",
zh: "应当等于常量",
"zh-TW": "應該等於常數",
- fa: 'باید برابر با ثابت باشد',
},
contains: {
en: "must contain a valid item",
@@ -805,6 +802,7 @@ module.exports = {
cs: "musí obsahovat prvek odpovídající schématu",
de: "muss ein valides Element enthalten",
es: "debe contener un elemento válido",
+ fa: "باید حاوی ایتم معتبر باشد",
fi: "täytyy sisältää kelvollinen elementti",
fr: "doit contenir un élément valide",
id: "harus berisi item yang valid",
@@ -819,7 +817,6 @@ module.exports = {
th: "ต้องมีสมาชิกที่ผ่านเงื่อนไขอยู่",
zh: "应当包含一个有效项",
"zh-TW": "應該包含一個有效元素",
- fa: 'باید حاوی ایتم معتبر باشد',
},
formatMaximum: {
_keywords: ["formatExclusiveMaximum"],
@@ -832,6 +829,7 @@ module.exports = {
cs: "{{#def.c}}musí být {{=cond}}",
de: "{{#def.c}}muss {{=cond}} sein",
es: "{{#def.c}}debe ser {{=cond}}",
+ fa: "{{#def.c}}باید مطابق {{=cond}} باشد",
fi: "{{#def.c}}täytyy olla {{=cond}}",
fr: "{{#def.c}}doit être {{=cond}}",
id: "{{#def.c}}harus {{=cond}}",
@@ -847,7 +845,6 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当是 {{=cond}}",
"zh-TW": "{{#def.c}}應該是 {{=cond}}",
- fa: '{{#def.c}}باید مطابق {{=cond}} باشد',
},
formatMinimum: {
_keywords: ["formatExclusiveMinimum"],
@@ -860,6 +857,7 @@ module.exports = {
cs: "{{#def.c}}musí být {{=cond}}",
de: "{{#def.c}}muss {{=cond}} sein",
es: "{{#def.c}}debe ser {{=cond}}",
+ fa: "{{#def.c}}باید مطابق {{=cond}} باشد",
fi: "{{#def.c}}täytyy olla {{=cond}}",
fr: "{{#def.c}}doit être {{=cond}}",
id: "{{#def.c}}harus {{=cond}}",
@@ -875,7 +873,6 @@ module.exports = {
th: "{{#def.c}}ต้อง {{=cond}}",
zh: "{{#def.c}}应当是 {{=cond}}",
"zh-TW": "{{#def.c}}應該是 {{=cond}}",
- fa: '{{#def.c}}باید مطابق {{=cond}} باشد',
},
if: {
en: 'must match "{{=e.params.failingKeyword}}" schema',
@@ -884,6 +881,7 @@ module.exports = {
cs: 'musí vyhovět "{{=e.params.failingKeyword}}" schématu',
de: 'muss dem Schema "{{=e.params.failingKeyword}}" entsprechen',
es: 'debe corresponderse con el esquema "{{=e.params.failingKeyword}}"',
+ fa: 'باید با الگوی "{{=e.params.failingKeyword}}" مطابق باشد',
fi: 'täytyy vastata "{{=e.params.failingKeyword}}" skeemaa',
fr: 'doit correspondre au schéma "{{=e.params.failingKeyword}}"',
id: 'harus cocok dengan skema "{{=e.params.failingKeyword}}"',
@@ -895,13 +893,13 @@ module.exports = {
th: 'ต้องตรงกับ schema "{{=e.params.failingKeyword}}"',
zh: '应当匹配模式 "{{=e.params.failingKeyword}}" ',
"zh-TW": '應該符合 "{{=e.params.failingKeyword}}" schema',
- fa: 'باید با الگوی "{{=e.params.failingKeyword}}" مطابق باشد',
},
discriminator: {
_type: false,
tag: {
en: 'tag "{{=e.params.tag}}" must be string',
de: 'der Tag "{{=e.params.tag}}" muss eine Zeichenkette sein',
+ fa: 'تگ "{{=e.params.tag}}" باید رشته باشد',
fi: 'tunniste "{{=e.params.tag}}" täytyy olla merkkijono',
it: 'il tag "{{=e.params.tag}}" deve essere di tipo stringa',
ko: '"{{=e.params.tag}}"태그는 반드시 문자열이여야 합니다',
@@ -911,11 +909,11 @@ module.exports = {
th: 'tag "{{=e.params.tag}}" ต้องเป็น string',
zh: '标签 "{{=e.params.tag}}" 的类型必须为字符串',
"zh-TW": '標籤 "{{=e.params.tag}}" 的類型必須是字串',
- fa: 'تگ "{{=e.params.tag}}" باید رشته باشد'
},
mapping: {
en: 'value of tag "{{=e.params.tag}}" must be in oneOf',
de: 'der Wert vom Tag "{{=e.params.tag}}" muss im oneOf enthalten sein',
+ fa: 'مقدار باید در یکی "{{=e.params.tag}}" از oneOf باشد',
fi: 'tunnisteen "{{=e.params.tag}}" arvon muoto pitää olla oneOf',
it: 'il valore del tag "{{=e.params.tag}}" deve essere nei oneOf',
ko: '"{{=e.params.tag}}"태그의 값은 반드시 oneOf에 있어야 합니다',
@@ -925,7 +923,6 @@ module.exports = {
th: 'ต้องมีค่าของ tag "{{=e.params.tag}}" ใน oneOf',
zh: '标签 "{{=e.params.tag}}" 的值必须在 oneOf 之中',
"zh-TW": '標籤 "{{=e.params.tag}}" 必須在 oneOf 其中之一',
- fa: 'مقدار باید در یکی "{{=e.params.tag}}" از oneOf باشد'
},
},
}
diff --git a/messages/jtd.js b/messages/jtd.js
index f598a62..1fc53e0 100644
--- a/messages/jtd.js
+++ b/messages/jtd.js
@@ -14,6 +14,7 @@ module.exports = {
"cs",
"de",
"es",
+ "fa",
"fi",
"fr",
"hu",
@@ -31,7 +32,6 @@ module.exports = {
"th",
"zh",
"zh-TW",
- "fa"
],
// shared defines
@@ -44,6 +44,7 @@ module.exports = {
cs: 'musí vyhovět "{{=e.keyword}}" validaci',
de: 'muss die Validierung "{{=e.keyword}}" bestehen',
es: 'debe pasar la validación de palabra clave "{{=e.keyword}}"',
+ fa: '"{{=e.keyword}}" باید معتبر باشد',
fi: 'täytyy läpäistä "{{=e.keyword}}" avainsanatarkistus',
fr: 'doit être valide selon le critère "{{=e.keyword}}"',
id: 'harus lulus validasi kata kunci "{{=e.keyword}}"',
@@ -59,7 +60,6 @@ module.exports = {
th: 'ต้องผ่านคีย์เวิร์ด "{{=e.keyword}}"',
zh: '应当通过 "{{=e.keyword}} 关键词校验"',
"zh-TW": '應該通過 "{{=e.keyword}} 關鍵詞檢驗"',
- fa: '"{{=e.keyword}}" باید معتبر باشد',
},
_type: {
@@ -71,6 +71,7 @@ module.exports = {
cs: "{{#def.t}}musí být {{=t+n}}",
de: "{{#def.t}}muss sein: {{=t+n}}",
es: "{{#def.t}}debe ser {{=t+n}}",
+ fa: "{{#def.t}}باید {{=t+n}} باشد",
fi: "{{#def.t}}täytyy olla {{=t+n}}",
fr: "{{#def.t}}doit être de type {{=t+n}}",
hu: "{{#def.t}}{{=t+n}} kell legyen",
@@ -89,7 +90,6 @@ module.exports = {
th: "{{#def.t}}ต้องเป็น {{=t+n}}",
zh: "{{#def.t}}应当是 {{=t+n}} 类型",
"zh-TW": "{{#def.t}}應該是 {{=t+n}} 類型",
- fa: "{{#def.t}}باید {{=t+n}} باشد",
},
type: {
@@ -105,6 +105,7 @@ module.exports = {
cs: "nemůže mít další položky",
de: "darf keine zusätzlichen Attribute haben",
es: "no debe tener propiedades adicionales",
+ fa: "نباید مورد اضافی داشته باشه",
fi: "ei saa sisältää ylimääräisiä ominaisuuksia",
fr: "ne doit pas contenir de propriétés additionnelles",
hu: "nem lehetnek további elemei",
@@ -122,7 +123,6 @@ module.exports = {
th: "ต้องไม่มี property อื่นๆ นอกเหนีอจากที่กำหนดไว้",
zh: "不允许有额外的属性",
"zh-TW": "不可以有額外的屬性",
- fa: "نباید مورد اضافی داشته باشه",
},
missing: {
en: "must have property {{=e.params.missingProperty}}",
@@ -130,6 +130,7 @@ module.exports = {
cs: "musí obsahovat požadovanou položku {{=e.params.missingProperty}}",
de: "muss das erforderliche Attribut {{=e.params.missingProperty}} enthalten",
es: "debe tener la propiedad requerida {{=e.params.missingProperty}}",
+ fa: "باید مورد {{=e.params.missingProperty}} را دارا باشد",
fi: "täytyy sisältää ominaisuus {{=e.params.missingProperty}}",
fr: "requiert la propriété {{=e.params.missingProperty}}",
hu: "kell legyen {{=e.params.missingProperty}} tulajdonsága",
@@ -147,7 +148,6 @@ module.exports = {
th: "ต้องมี property {{=e.params.missingProperty}} ด้วย",
zh: "应当有必需属性 {{=e.params.missingProperty}}",
"zh-TW": "應該有必須屬性 {{=e.params.missingProperty}}",
- fa: "باید مورد {{=e.params.missingProperty}} را دارا باشد",
},
},
@@ -156,6 +156,7 @@ module.exports = {
tag: {
en: 'tag "{{=e.params.tag}}" must be string',
de: 'der Tag "{{=e.params.tag}}" muss eine Zeichenkette sein',
+ fa: 'تگ "{{=e.params.tag}}" باید رشته باشد',
fi: 'tunniste "{{=e.params.tag}}" täytyy olla merkkijono',
it: 'il tag "{{=e.params.tag}}" deve essere di tipo stringa',
ko: '"{{=e.params.tag}}"태그는 문자열이여야 합니다',
@@ -165,12 +166,11 @@ module.exports = {
th: 'tag "{{=e.params.tag}}" ต้องเป็น string',
zh: '标签 "{{=e.params.tag}}" 的类型必须为字符串',
"zh-TW": '標籤 "{{=e.params.tag}}" 的類型必須是字串',
- fa: 'تگ "{{=e.params.tag}}" باید رشته باشد',
-
},
mapping: {
en: 'value of tag "{{=e.params.tag}}" must be in mapping',
de: 'der Wert vom Tag "{{=e.params.tag}}" muss im Mapping enthalten sein',
+ fa: 'مقدار تگ "{{=e.params.tag}}" باید در الگو موجود باشد',
fi: 'tunnisteen arvon "{{=e.params.tag}}" on oltava kartoituksessa',
it: 'il valore del tag "{{=e.params.tag}}" deve essere nei mapping',
ko: '"{{=e.params.tag}}"태그의 값은 반드시 매핑에 있어야합니다.',
@@ -180,7 +180,6 @@ module.exports = {
th: 'ต้องมีค่าของ tag "{{=e.params.tag}}" ใน mapping',
zh: '标签 "{{=e.params.tag}}" 的值必须在 mapping 之中',
"zh-TW": '標籤 "{{=e.params.tag}}" 必須在 mapping 其中之一',
- fa: 'مقدار تگ "{{=e.params.tag}}" باید در الگو موجود باشد',
},
},
@@ -190,6 +189,7 @@ module.exports = {
cs: "musí být rovno jedné hodnotě z výčtu",
de: "muss einem der vorgegebenen Werte entsprechen",
es: "deber ser igual a uno de los valores predefinidos",
+ fa: "باید برابر با یکی از مقادیر مجاز باشد",
fi: "täytyy olla yhtä kuin jokin sallituista arvoista",
fr: "doit être égal à une des valeurs prédéfinies",
hu: "egyenlő kell legyen valamely előre meghatározott értékkel",
@@ -207,7 +207,6 @@ module.exports = {
th: "ต้องตรงกับหนึ่งในค่าที่กำหนดไว้",
zh: "应当是预设定的枚举值之一",
"zh-TW": "應該要在預設的值之中",
- fa: "باید برابر با یکی از مقادیر مجاز باشد",
},
union: {
@@ -216,6 +215,7 @@ module.exports = {
cs: 'musí vyhovět alespoň jednomu schématu v "union"',
de: 'muss einem der Schemata in "union" entsprechen',
es: 'debe coincidir con algún esquema en "union"',
+ fa: 'باید با یکی از الگوهای "union" مطابق باشد',
fi: 'täytyy vastata "union" skeemaa',
fr: 'doit correspondre à un schéma de "union"',
hu: 'meg kell feleljen legalább egy "union" alaknak',
@@ -233,6 +233,5 @@ module.exports = {
th: 'ต้องตรงกับหนึ่งใน schema ที่กำหนดไว้ใน "union"',
zh: "数据应为 union 所指定的其中一个",
"zh-TW": "不符合 union 指定的模式",
- fa: 'باید با یکی از الگوهای "union" مطابق باشد',
},
}
From 00fb501a184bba58d0e8ee87c8e5eacae5b7e90f Mon Sep 17 00:00:00 2001
From: Mohammadreza Khani
Date: Mon, 18 Jul 2022 13:20:51 +0430
Subject: [PATCH 8/8] fix: fa sort in readme
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 836e5df..6079119 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,7 @@ Internationalised error messages for [Ajv](https://github.com/ajv-validator/ajv)
|🇨🇿 cs|Czech |[kiskovacs](https://github.com/kiskovacs)
[NAM0007](https://github.com/NAM0007)|✓
|✓
|
✓|-|*|
|🇩🇪 de|German |[jmtoball](https://github.com/jmtoball)
[gflohr](https://github.com/gflohr)|✓
|✓
|
✓|✓
|✓
|
|🇪🇸 es|Spanish |[jpablom](https://github.com/jpablom)|✓|✓|✓|-|*|
+|🇮🇷 fa|Persian|[mohamadkhani](https://github.com/mohamadkhani)|✓|✓|✓|✓|✓|
|🇫🇮 fi|Finnish |[saulipurhonen](https://github.com/saulipurhonen)|✓|✓|✓|✓|✓|
|🇫🇷 fr|French |[monlouisj](https://github.com/monlouisj)
[Telokis](https://github.com/Telokis)|✓
|✓
|
✓|-|*|
|🇭🇺 hu|Hungarian|[szilveszter9](https://github.com/szilveszter9)|✓|-|-|-|*|
@@ -34,7 +35,6 @@ Internationalised error messages for [Ajv](https://github.com/ajv-validator/ajv)
|🇹🇭 th|Thai |[encX](https://github.com/encX)|✓|✓|✓|✓|✓|
|🇨🇳 zh|Chinese |[jinzhubaofu](https://github.com/jinzhubaofu)
[leuction](https://github.com/leuction)|✓
|
✓|
✓|
✓|
✓|
|🇹🇼 zh-TW|Chinese - Taiwan|[minipai](https://github.com/minipai)|✓|✓|✓|✓|✓|
-|🇮🇷 fa|Persian|[mohamadkhani](https://github.com/mohamadkhani)|✓|✓|✓|✓|✓|
1 added boolean schema, keywords `const`, `contains`, `propertyNames`