Skip to content

Commit 73539bc

Browse files
Persian translation (#1337)
* feat: persian translation * persian translation * lint fixes --------- Co-authored-by: Matt Roberts <roberts.mattroberts@gmail.com>
1 parent f061d95 commit 73539bc

5 files changed

Lines changed: 262 additions & 1 deletion

File tree

app/pkg/i18n/i18n.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ var localeToPlurals = map[string]string{
3232
"ja": "ja",
3333
"zh-CN": "zh",
3434
"ar": "ar",
35+
"fa": "fa",
3536
}
3637

3738
var rtlLocales = map[string]bool{

lingui.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ export default {
1313
},
1414
sourceLocale: "en",
1515
format: formatter({ style: "minimal", explicitIdAsDefault: true, sort: true }),
16-
locales: ["pt-BR", "es-ES", "nl", "sv-SE", "fr", "de", "en", "pl", "ru", "ja", "sk", "tr", "el", "it", "zh-CN", "ar"],
16+
locales: ["pt-BR", "es-ES", "nl", "sv-SE", "fr", "de", "en", "pl", "ru", "ja", "sk", "tr", "el", "it", "zh-CN", "ar", "fa"],
1717
}

locale/fa/client.json

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
{
2+
"action.cancel": "لغو",
3+
"action.change": "تغییر",
4+
"action.close": "بستن",
5+
"action.confirm": "تأیید",
6+
"action.copylink": "کپی لینک",
7+
"action.delete": "حذف",
8+
"action.edit": "ویرایش",
9+
"action.markallasread": "علامت‌گذاری همه به‌عنوان خوانده‌شده",
10+
"action.ok": "باشه",
11+
"action.respond": "پاسخ",
12+
"action.save": "ذخیره",
13+
"action.signin": "ورود",
14+
"action.submit": "ارسال",
15+
"action.vote": "به این ایده رأی دهید",
16+
"action.voted": "رأی داده شد!",
17+
"d41FkJ": "{count, plural, one {# برچسب} other {# برچسب}}",
18+
"editor.markdownmode": "تغییر به ویرایشگر مارک‌داون",
19+
"editor.richtextmode": "تغییر به ویرایشگر متن غنی",
20+
"enum.poststatus.completed": "تکمیل‌شده",
21+
"enum.poststatus.declined": "رد شده",
22+
"enum.poststatus.deleted": "حذف شده",
23+
"enum.poststatus.duplicate": "تکراری",
24+
"enum.poststatus.open": "باز",
25+
"enum.poststatus.planned": "برنامه‌ریزی شده",
26+
"enum.poststatus.started": "شروع شده",
27+
"error.expired.text": "لینکی که کلیک کردید منقضی شده است.",
28+
"error.expired.title": "منقضی شده",
29+
"error.forbidden.text": "شما اجازهٔ مشاهدهٔ این صفحه را ندارید.",
30+
"error.forbidden.title": "ممنوع",
31+
"error.internalerror.text": "خطایی رخ داده و ما در حال رفع آن هستیم! به‌زودی دوباره در دسترس خواهیم بود.",
32+
"error.internalerror.title": "اوه! انتظارش را نداشتیم…",
33+
"error.notinvited.text": "ما حسابی برای آدرس ایمیل شما پیدا نکردیم.",
34+
"error.notinvited.title": "دعوت نشده",
35+
"error.pagenotfound.text": "لینکی که کلیک کردید ممکن است خراب باشد یا صفحه حذف شده باشد.",
36+
"error.pagenotfound.title": "صفحه پیدا نشد",
37+
"error.unauthorized.text": "شما اجازهٔ مشاهدهٔ این صفحه را ندارید.",
38+
"error.unauthorized.title": "مجوز ندارید",
39+
"home.filter.label": "فیلتر",
40+
"home.filter.search.label": "جستجو در فیلترها...",
41+
"home.form.defaultinvitation": "پیشنهاد خود را اینجا وارد کنید...",
42+
"home.form.defaultwelcomemessage": "مایلیم بدانیم به چه می‌اندیشید.\n\nچه کاری می‌توانیم بهتر انجام دهیم؟ اینجا جایی است برای رأی دادن، بحث و به‌اشتراک‌گذاری ایده‌ها.",
43+
"home.lonely.suggestion": "توصیه می‌شود قبل از به‌اشتراک‌گذاری این سایت، <0>حداقل ۳</0> پیشنهاد ایجاد کنید. محتوای اولیه برای جذب مخاطبان شما مهم است.",
44+
"home.lonely.text": "هنوز هیچ پستی ایجاد نشده است.",
45+
"home.postfilter.label.view": "نمایش",
46+
"home.postfilter.option.mostdiscussed": "بیشترین بحث",
47+
"home.postfilter.option.mostwanted": "بیشترین خواسته",
48+
"home.postfilter.option.myvotes": "رأی‌های من",
49+
"home.postfilter.option.recent": "جدیدترین",
50+
"home.postfilter.option.trending": "داغ‌ترین",
51+
"home.postinput.description.placeholder": "پیشنهاد خود را توضیح دهید (اختیاری)",
52+
"home.postscontainer.label.noresults": "نتیجه‌ای پیدا نشد، مورد دیگری امتحان کنید.",
53+
"home.postscontainer.label.viewmore": "مشاهدهٔ پست‌های بیشتر",
54+
"home.postscontainer.query.placeholder": "جستجو",
55+
"home.postsort.label": "مرتب‌سازی بر اساس:",
56+
"home.similar.subtitle": "در عوض به پست‌های موجود رأی دهید.",
57+
"home.similar.title": "پست‌های مشابه",
58+
"home.tagsfilter.label.with": "دارای",
59+
"home.tagsfilter.selected.none": "هر برچسب",
60+
"label.actions": "اقدامات",
61+
"label.avatar": "آواتار",
62+
"label.custom": "سفارشی",
63+
"label.description": "توضیحات",
64+
"label.discussion": "بحث",
65+
"label.edittags": "ویرایش برچسب‌ها",
66+
"label.email": "ایمیل",
67+
"label.follow": "دنبال کردن",
68+
"label.following": "در حال دنبال",
69+
"label.gravatar": "گراواتار",
70+
"label.letter": "حرف",
71+
"label.moderation": "مدیریت",
72+
"label.name": "نام",
73+
"label.none": "هیچ‌کدام",
74+
"label.notagsavailable": "برچسبی در دسترس نیست",
75+
"label.notagsselected": "برچسبی انتخاب نشده است",
76+
"label.notifications": "اعلان‌ها",
77+
"label.or": "یا",
78+
"label.selecttags": "برچسب‌ها را انتخاب کنید...",
79+
"label.subscribe": "اشتراک",
80+
"label.tags": "برچسب‌ها",
81+
"label.unfollow": "لغو دنبال‌کردن",
82+
"label.unread": "خوانده‌نشده",
83+
"label.unsubscribe": "لغو اشتراک",
84+
"label.voters": "رأی‌دهندگان",
85+
"labels.notagsavailable": "برچسبی در دسترس نیست",
86+
"labels.notagsselected": "برچسبی انتخاب نشده است",
87+
"legal.agreement": "من <0/> و <1/> را خوانده‌ام و قبول دارم.",
88+
"legal.notice": "با ورود، شما با <2/><0/> و <1/> موافقید.",
89+
"legal.privacypolicy": "سیاست حفظ حریم خصوصی",
90+
"legal.termsofservice": "شرایط خدمات",
91+
"menu.administration": "مدیریت",
92+
"menu.mysettings": "تنظیمات من",
93+
"menu.signout": "خروج",
94+
"menu.sitesettings": "تنظیمات سایت",
95+
"modal.changeemail.header": "ایمیل جدید خود را تأیید کنید",
96+
"modal.changeemail.text": "یک لینک تأیید به <0>{0}</0> ارسال شد. <1/> روی لینک کلیک کنید تا ایمیل شما به‌روز شود.",
97+
"modal.completeprofile.header": "پروفایل خود را کامل کنید",
98+
"modal.completeprofile.name.placeholder": "نام",
99+
"modal.completeprofile.text": "چون اولین ورود شماست، لطفاً نام خود را وارد کنید.",
100+
"modal.deleteaccount.header": "حذف حساب",
101+
"modal.deleteaccount.text": "<0>با حذف حساب، تمام اطلاعات شخصی شما برای همیشه پاک می‌شود. محتوایی که منتشر کرده‌اید باقی می‌ماند اما ناشناس خواهد شد.</0><1>این فرایند غیرقابل بازگشت است. <2>مطمئن هستید؟</2></1>",
102+
"modal.deletecomment.header": "حذف نظر",
103+
"modal.deletecomment.text": "این فرایند قابل بازگشت نیست. <0>مطمئن هستید؟</0>",
104+
"modal.notifications.nonew": "اعلان جدیدی نیست",
105+
"modal.notifications.previous": "اعلان‌های قبلی",
106+
"modal.notifications.unread": "اعلان‌های خوانده‌نشده",
107+
"modal.showvotes.message.zeromatches": "کاربری با <0>{0}</0> یافت نشد.",
108+
"modal.showvotes.query.placeholder": "جستجوی کاربر بر اساس نام...",
109+
"modal.signin.header": "بازخورد خود را ارسال کنید",
110+
"mynotifications.label.readrecently": "خوانده‌شده در ۳۰ روز اخیر.",
111+
"mynotifications.message.nounread": "اعلان خوانده‌نشده‌ای نیست.",
112+
"mynotifications.page.subtitle": "در جریان اتفاقات بمانید",
113+
"mynotifications.page.title": "اعلان‌ها",
114+
"mysettings.apikey.documentation": "برای آشنایی با API، <0>مستندات رسمی</0> را بخوانید.",
115+
"mysettings.apikey.generate": "تولید کلید API",
116+
"mysettings.apikey.newkey": "کلید API جدید شما: <0>{0}</0>",
117+
"mysettings.apikey.newkeynotice": "آن را به‌صورت ایمن در سرورهای خود ذخیره کنید و هرگز در سمت کلاینت نگه ندارید.",
118+
"mysettings.apikey.notice": "کلید API فقط هنگام تولید نمایش داده می‌شود. اگر گم شد یا به خطر افتاد، کلید جدیدی تولید کرده و یادداشت کنید.",
119+
"mysettings.apikey.title": "کلید API",
120+
"mysettings.dangerzone.delete": "حذف حساب من",
121+
"mysettings.dangerzone.notice": "این فرایند غیرقابل بازگشت است. لطفاً مطمئن باشید.",
122+
"mysettings.dangerzone.text": "با حذف حساب، تمام اطلاعات شخصی شما برای همیشه پاک می‌شود. محتوایی که منتشر کرده‌اید باقی می‌ماند اما ناشناس خواهد شد.",
123+
"mysettings.dangerzone.title": "حذف حساب",
124+
"mysettings.message.avatar.custom": "تصاویر JPG، GIF و PNG کوچکتر از ۱۰۰KB با نسبت 1:1 و حداقل ابعاد 50×50 پیکسل پذیرفته می‌شود.",
125+
"mysettings.message.avatar.gravatar": "یک <0>Gravatar</0> بر اساس ایمیل شما استفاده می‌شود. در غیر این‌صورت آواتاری حروفی بر اساس نام شما ساخته می‌شود.",
126+
"mysettings.message.avatar.letter": "یک آواتار حروفی بر اساس نام شما ساخته می‌شود.",
127+
"mysettings.message.noemail": "حساب شما ایمیل ندارد.",
128+
"mysettings.message.privateemail": "ایمیل شما خصوصی است و نمایش عمومی نخواهد داشت.",
129+
"mysettings.notification.channelemail": "ایمیل",
130+
"mysettings.notification.channelweb": "وب",
131+
"mysettings.notification.event.discussion": "بحث",
132+
"mysettings.notification.event.discussion.staff": "نظرات همهٔ پست‌ها مگر این‌که لغو اشتراک شده باشد",
133+
"mysettings.notification.event.discussion.visitors": "نظرات پست‌هایی که مشترک هستید",
134+
"mysettings.notification.event.mention": "منشن‌ها",
135+
"mysettings.notification.event.newpost": "پست جدید",
136+
"mysettings.notification.event.newpost.staff": "پست‌های جدید این سایت",
137+
"mysettings.notification.event.newpost.visitors": "پست‌های جدید این سایت",
138+
"mysettings.notification.event.statuschanged": "تغییر وضعیت",
139+
"mysettings.notification.event.statuschanged.staff": "تغییر وضعیت همهٔ پست‌ها مگر این‌که لغو اشتراک شده باشد",
140+
"mysettings.notification.event.statuschanged.visitors": "تغییر وضعیت پست‌هایی که مشترک هستید",
141+
"mysettings.notification.message.emailonly": "شما اعلان‌های <0>ایمیلی</0> دربارهٔ {about} دریافت خواهید کرد.",
142+
"mysettings.notification.message.none": "شما <0>هیچ</0> اعلانی دربارهٔ این رویداد دریافت نخواهید کرد.",
143+
"mysettings.notification.message.webandemail": "شما اعلان‌های <0>وب</0> و <1>ایمیل</1> دربارهٔ {about} دریافت خواهید کرد.",
144+
"mysettings.notification.message.webonly": "شما اعلان‌های <0>وب</0> دربارهٔ {about} دریافت خواهید کرد.",
145+
"mysettings.notification.title": "رویدادهایی را که می‌خواهید اعلان دریافت کنید انتخاب کنید",
146+
"mysettings.page.subtitle": "تنظیمات پروفایل خود را مدیریت کنید",
147+
"mysettings.page.title": "تنظیمات",
148+
"page.backhome": "بازگشت به صفحهٔ اصلی <0>{0}</0>",
149+
"page.notinvited.text": "ما حسابی برای آدرس ایمیل شما پیدا نکردیم.",
150+
"page.notinvited.title": "دعوت نشده",
151+
"page.pendingactivation.text": "یک ایمیل تأیید به شما ارسال کردیم.",
152+
"page.pendingactivation.text2": "برای فعال‌سازی، صندوق ورودی خود را بررسی کنید.",
153+
"page.pendingactivation.title": "حساب در انتظار فعال‌سازی",
154+
"showpost.comment.copylink.error": "کپی لینک نظر ناموفق بود، URL صفحه را کپی کنید",
155+
"showpost.comment.copylink.success": "لینک نظر کپی شد",
156+
"showpost.comment.unknownhighlighted": "شناسهٔ نظر نامعتبر #{id}",
157+
"showpost.commentinput.placeholder": "یک نظر بگذارید",
158+
"showpost.copylink.success": "لینک کپی شد",
159+
"showpost.discussionpanel.emptymessage": "هنوز نظری ثبت نشده است.",
160+
"showpost.label.author": "ارسال‌شده توسط <0/> · <1/>",
161+
"showpost.message.nodescription": "توضیحی ارائه نشده است.",
162+
"showpost.moderationpanel.text.help": "این عملیات <0>قابل بازگشت نیست</0>.",
163+
"showpost.moderationpanel.text.placeholder": "چرا این پست را حذف می‌کنید؟ (اختیاری)",
164+
"showpost.mostwanted.comments": "{count, plural, one {# دیدگاه} other {# دیدگاه}}",
165+
"showpost.mostwanted.votes": "{count, plural, one {# رأی} other {# رأی}}",
166+
"showpost.notificationspanel.message.subscribed": "شما اعلان‌های این پست را دریافت می‌کنید.",
167+
"showpost.notificationspanel.message.unsubscribed": "شما اعلانی برای این پست دریافت نخواهید کرد.",
168+
"showpost.postsearch.numofvotes": "{0} رأی",
169+
"showpost.postsearch.query.placeholder": "جستجوی پست اصلی...",
170+
"showpost.response.date": "وضعیت در {statusDate} به {status} تغییر کرد",
171+
"showpost.responseform.message.mergedvotes": "رأی‌های این پست در پست اصلی ادغام می‌شود.",
172+
"showpost.responseform.text.placeholder": "برنامهٔ خود را دربارهٔ این پست با کاربران در میان بگذارید...",
173+
"showpost.votespanel.more": "+{extraVotesCount} بیشتر",
174+
"showpost.votespanel.seedetails": "مشاهدهٔ جزئیات",
175+
"signin.email.placeholder": "آدرس ایمیل",
176+
"signin.message.email": "ادامه با ایمیل",
177+
"signin.message.emaildisabled": "ورود با ایمیل توسط مدیر غیرفعال شده است. اگر مدیر هستید و نیاز به دسترسی دارید <0>اینجا کلیک کنید</0>.",
178+
"signin.message.emailsent": "یک لینک تأیید به <0>{email}</0> ارسال کردیم. با کلیک روی آن وارد شوید.",
179+
"signin.message.locked.text": "برای فعال‌سازی مجدد سایت، با حساب مدیر وارد شوید و تنظیمات لازم را انجام دهید.",
180+
"signin.message.locked.title": "<0>{0}</0> در حال حاضر قفل است.",
181+
"signin.message.onlyadmins": "در حال حاضر فقط مدیران می‌توانند وارد شوند",
182+
"signin.message.private.text": "اگر حساب یا دعوت‌نامه دارید، از گزینه‌های زیر برای ورود استفاده کنید.",
183+
"signin.message.private.title": "<0>{0}</0> یک فضای خصوصی است؛ برای مشارکت باید وارد شوید.",
184+
"signin.message.socialbutton.intro": "ورود با",
185+
"{count, plural, one {# tag} other {# tags}}": "{count, plural, one {# برچسب} other {# برچسب}}"
186+
}

0 commit comments

Comments
 (0)