Skip to content

Commit

Permalink
feat: add "fa" locale
Browse files Browse the repository at this point in the history
  • Loading branch information
dnyall committed Oct 29, 2024
1 parent c1048e9 commit 12a8348
Show file tree
Hide file tree
Showing 3 changed files with 187 additions and 4 deletions.
182 changes: 182 additions & 0 deletions frontend/apps/remark42/app/locales/fa.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
{
"auth.back": "بازگشت",
"auth.email-address": "آدرس ایمیل",
"auth.loading": "در حال بارگذاری...",
"auth.oauth-button": "ورود با {provider}",
"auth.oauth-source": "استفاده از شبکه اجتماعی",
"auth.open-profile": "نمایش پروفایل من",
"auth.or": "یا",
"auth.signin": "ورود",
"auth.signout": "خروج",
"auth.submit": "ارسال",
"auth.symbols-restriction": "نام کاربری باید فقط شامل حروف، اعداد، زیرخط یا فضا باشد",
"auth.telegram-check": "بررسی",
"auth.telegram-link": "از طریق لینک",
"auth.telegram-message-1": "تلگرام را باز کنید",
"auth.telegram-message-2": "و در آنجا روی “شروع” کلیک کنید.",
"auth.telegram-message-3": "سپس، روی “بررسی” زیر کلیک کنید.",
"auth.telegram-optional-qr": "یا با اسکن کد QR",
"auth.telegram-qr": "کد QR تلگرام",
"auth.user-not-found": "هیچ کاربری پیدا نشد",
"auth.username": "نام کاربری",
"authPanel.disable-comments": "غیرفعال کردن نظرات",
"authPanel.disabled-cookies": "غیرفعال کردن مسدودسازی کوکی‌های شخص ثالث برای ورود یا باز کردن نظرات",
"authPanel.enable-comments": "فعال کردن نظرات",
"authPanel.enable-cookies": "اجازه دادن به کوکی‌ها برای ورود و نظر دادن",
"authPanel.hide-settings": "پنهان کردن تنظیمات",
"authPanel.new-page": "صفحه جدید",
"authPanel.read-only": "فقط خواندنی",
"authPanel.show-settings": "نمایش تنظیمات",
"blockingDuration.day": "برای یک روز",
"blockingDuration.month": "برای یک ماه",
"blockingDuration.permanently": "به طور دائمی",
"blockingDuration.week": "برای یک هفته",
"comment.block": "مسدود کردن",
"comment.block-user": "آیا می‌خواهید {userName} را {duration} مسدود کنید؟",
"comment.blocked-user": "مسدود شده",
"comment.blocking-period": "دوره مسدودسازی",
"comment.cancel": "لغو",
"comment.copied": "کپی شد!",
"comment.copy": "کپی",
"comment.delete": "حذف",
"comment.delete-message": "آیا می‌خواهید این نظر را حذف کنید؟",
"comment.deleted-comment": "این نظر حذف شد",
"comment.deleted-user": "حذف شده",
"comment.edit": "ویرایش",
"comment.edit-countdown": "ویرایش غیرفعال خواهد شد",
"comment.expired-time": "زمان ویرایش منقضی شده است.",
"comment.go-to-parent": "رفتن به نظر والد",
"comment.hide": "پنهان کردن",
"comment.hide-user-comment": "آیا می‌خواهید نظرات {userName} را پنهان کنید؟",
"comment.paid-patreon": "مشترک پرداختی پاترئون",
"comment.pin": "سنجاق کردن",
"comment.pin-comment": "آیا می‌خواهید این نظر را سنجاق کنید؟",
"comment.reply": "پاسخ",
"comment.time": "{day} در {time}",
"comment.toggle-verification": "تغییر وضعیت تأیید",
"comment.unblock": "رفع مسدودیت",
"comment.unblock-user": "آیا می‌خواهید این کاربر را رفع مسدود کنید؟",
"comment.unpin": "برداشتن سنجاق",
"comment.unpin-comment": "آیا می‌خواهید این نظر را از سنجاق بردارید؟",
"comment.unverified-user": "کاربر تأیید نشده",
"comment.unverify-user": "آیا می‌خواهید {userName} را تأیید نکنید؟",
"comment.verified-user": "کاربر تأیید شده",
"comment.verify-user": "آیا می‌خواهید {userName} را تأیید کنید؟",
"commentForm.anonymous-uploading-disabled": "بارگذاری تصویر برای کاربران ناشناس غیرفعال است. لطفاً به عنوان کاربر ناشناس وارد نشوید تا بتوانید تصاویر را پیوست کنید.",
"commentForm.exceeded-size": "{fileName} از حد مجاز اندازه {maxImageSize} فراتر رفته است",
"commentForm.input-placeholder": "نظر خود را وارد نمایید",
"commentForm.new-comment": "نظر جدید",
"commentForm.notice-about-styling": "استفاده از <a>Markdown</a> پشتیبانی می‌شود",
"commentForm.preview": "پیش‌نمایش",
"commentForm.reply": "پاسخ",
"commentForm.save": "ذخیره",
"commentForm.send": "ارسال",
"commentForm.subscribe-by": "مشترک شدن توسط",
"commentForm.subscribe-or": "یا",
"commentForm.unauthorized-uploading-disabled": "بارگذاری تصویر برای کاربران غیرمجاز غیرفعال است. شما باید قبل از بارگذاری وارد شوید.",
"commentForm.unexpected-error": "مشکلی پیش آمده است. لطفاً کمی بعد دوباره تلاش کنید.",
"commentForm.upload-file-fail": "{fileName} بارگذاری با خطای \"{errorMessage}\" ناموفق بود",
"commentForm.uploading": "در حال بارگذاری...",
"commentForm.uploading-file": "در حال بارگذاری {fileName}...",
"commentsSort.best": "بهترین",
"commentsSort.least-controversial": "کمترین جنجالی",
"commentsSort.least-recently-updated": "کمترین به‌روز شده",
"commentsSort.most-controversial": "بیشترین جنجالی",
"commentsSort.newest": "جدیدترین",
"commentsSort.oldest": "قدیمی‌ترین",
"commentsSort.recently-updated": "به تازگی به‌روز شده",
"commentsSort.worst": "بدترین",
"empty-state": "هنوز نظری وجود ندارد",
"errors.0": "مشکلی پیش آمده است. لطفاً کمی بعد دوباره تلاش کنید.",
"errors.1": "نظر پیدا نشد. لطفاً صفحه را تازه‌سازی کنید و دوباره تلاش کنید.",
"errors.10": "برای ویرایش نظر خیلی دیر شده است.",
"errors.11": "نظر قبلاً پاسخی دارد، ویرایش ممکن نیست.",
"errors.12": "نتیجه رأی‌گیری را نمی‌توان ذخیره کرد. لطفاً کمی بعد دوباره تلاش کنید.",
"errors.13": "شما نمی‌توانید برای نظر خود رأی دهید.",
"errors.14": "شما قبلاً برای این نظر رأی داده‌اید.",
"errors.15": "رأی‌های زیادی برای این نظر وجود دارد.",
"errors.16": "حداقل امتیاز برای نظر رسیده است.",
"errors.17": "عملیات رد شد. لطفاً کمی بعد دوباره تلاش کنید.",
"errors.18": "فایل درخواستی پیدا نشد.",
"errors.19": "نظر شامل کلمات ممنوعه است.",
"errors.2": "عدم موفقیت در تجزیه درخواست ورودی.",
"errors.20": "تصویر ارسال شده پیدا نشد. لطفاً دوباره آن را بارگذاری کنید.",
"errors.3": "شما اجازه انجام این عملیات را ندارید.",
"errors.4": "داده‌های نظر نامعتبر است.",
"errors.5": "نظر پیدا نشد. لطفاً صفحه را تازه‌سازی کنید و دوباره تلاش کنید.",
"errors.6": "سایت پیدا نشد. لطفاً صفحه را تازه‌سازی کنید و دوباره تلاش کنید.",
"errors.7": "کاربر مسدود شده است.",
"errors.8": "نمی‌توان نظرات را در این صفحه ارسال کرد. نظرات فقط خواندنی هستند.",
"errors.9": "تغییر نظر ناموفق بود. لطفاً کمی بعد دوباره تلاش کنید.",
"errors.conflict": "تعارض.",
"errors.failed-fetch": "عدم موفقیت در دریافت. لطفاً اتصال اینترنت خود را بررسی کنید یا کمی بعد دوباره تلاش کنید.",
"errors.forbidden": "ممنوع.",
"errors.not-authorized": "مجوز ندارید.",
"errors.to-many-request": "شما به حداکثر حد درخواست رسیده‌اید.",
"errors.unexpected-error": "مشکلی پیش آمده است.",
"profile.close": "بستن پروفایل",
"profile.request-to-delete-data": "درخواست حذف داده‌های من",
"retry": "دوباره تلاش کنید",
"root.pinned-comments": "نظرات سنجاق شده",
"root.powered-by": "توسعه داده شده توسط <a>Remark42</a>",
"root.show-more": "نمایش بیشتر",
"settings.block": "مسدود کردن",
"settings.block-time": "تا {day} در {time}",
"settings.block-user": "آیا می‌خواهید {userName} را مسدود کنید؟",
"settings.blocked-users-header": "کاربران مسدود شده:",
"settings.blocked-users-title": "کاربران مسدود شده",
"settings.hidden-user-header": "کاربران پنهان شده:",
"settings.hidden-users-title": "کاربران پنهان شده",
"settings.hide": "پنهان کردن",
"settings.no-blocked-users": "هیچ کاربر مسدود شده‌ای وجود ندارد.",
"settings.no-hidden-users": "هیچ کاربر پنهان شده‌ای وجود ندارد.",
"settings.permanently": "به طور دائمی",
"settings.show": "نمایش",
"settings.unblock": "رفع مسدودیت",
"settings.unblock-user": "آیا می‌خواهید {userName} را رفع مسدود کنید؟",
"settings.unknown": "ناشناس",
"sort-by": "مرتب‌سازی بر اساس",
"subscribeByEmail.back": "بازگشت",
"subscribeByEmail.close": "بستن",
"subscribeByEmail.email": "ایمیل",
"subscribeByEmail.have-been-subscribed": "شما به‌روزرسانی‌ها را از طریق ایمیل دریافت کرده‌اید",
"subscribeByEmail.have-been-unsubscribed": "شما از به‌روزرسانی‌های ایمیل حذف شده‌اید",
"subscribeByEmail.only-registered-users": "فقط برای کاربران ثبت‌نام شده در دسترس است",
"subscribeByEmail.submit": "ارسال",
"subscribeByEmail.subscribe": "مشترک شدن",
"subscribeByEmail.subscribe-by-email": "مشترک شدن از طریق ایمیل",
"subscribeByEmail.subscribe-to-replies": "مشترک شدن به پاسخ‌ها",
"subscribeByEmail.subscribed": "شما به‌روزرسانی‌ها را از طریق ایمیل دریافت کرده‌اید",
"subscribeByEmail.unsubscribe": "حذف اشتراک",
"subscribeByRSS.button-title": "مشترک شدن از طریق RSS",
"subscribeByRSS.replies": "پاسخ‌ها",
"subscribeByRSS.site": "سایت",
"subscribeByRSS.thread": "موضوع",
"subscribeByRSS.title": "RSS",
"subscribeByTelegram.have-been-subscribed": "شما به‌روزرسانی‌ها را از طریق تلگرام دریافت کرده‌اید",
"subscribeByTelegram.have-been-unsubscribed": "شما از به‌روزرسانی‌های تلگرام حذف شده‌اید",
"subscribeByTelegram.only-registered-users": "فقط برای کاربران ثبت‌نام شده در دسترس است",
"subscribeByTelegram.resubscribe": "دوباره مشترک شوید",
"subscribeByTelegram.subscribe-by-telegram": "مشترک شدن از طریق تلگرام",
"subscribeByTelegram.telegram": "تلگرام",
"subscribeByTelegram.unsubscribe": "حذف اشتراک",
"token": "توکن را از ایمیل کپی و پیست کنید",
"token.expired": "توکن منقضی شده است",
"token.invalid": "توکن نامعتبر است",
"toolbar.attach-image": "تصویر را پیوست کنید، بکشید و رها کنید یا از کلیپ بورد پیست کنید",
"toolbar.bold": "متن پررنگ را اضافه کنید {shortcut}",
"toolbar.code": "کد را وارد کنید",
"toolbar.header": "متن عنوان را اضافه کنید",
"toolbar.italic": "متن کج را اضافه کنید {shortcut}",
"toolbar.link": "لینک را اضافه کنید {shortcut}",
"toolbar.ordered-list": "لیست شماره‌دار را اضافه کنید",
"toolbar.quote": "نقل قول را وارد کنید",
"toolbar.unordered-list": "لیست گلوله‌دار را اضافه کنید",
"user.comments": "نظرات",
"user.load-more": "بیشتر بارگذاری کنید",
"user.my-comments": "نظرات من",
"vote.controversy": "جنجال: {value}",
"vote.downvote": "رأی منفی",
"vote.score": "امتیاز رأی‌ها",
"vote.upvote": "رأی مثبت"
}
7 changes: 4 additions & 3 deletions frontend/apps/remark42/app/utils/loadLocale.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,17 @@ export async function loadLocale(locale: string): Promise<Record<string, string>
return import(/* webpackChunkName: "ar" */ '../locales/ar.json').then((res) => res.default).catch(() => enMessages);
}
if (locale === 'zh-tw') {
return import(/* webpackChunkName: "zh-tw" */ '../locales/zh-tw.json')
.then((res) => res.default)
.catch(() => enMessages);
return import(/* webpackChunkName: "zh-tw" */ '../locales/zh-tw.json').then((res) => res.default).catch(() => enMessages);
}
if (locale === 'th') {
return import(/* webpackChunkName: "th" */ '../locales/th.json').then((res) => res.default).catch(() => enMessages);
}
if (locale === 'cs') {
return import(/* webpackChunkName: "cs" */ '../locales/cs.json').then((res) => res.default).catch(() => enMessages);
}
if (locale === 'fa') {
return import(/* webpackChunkName: "fa" */ '../locales/fa.json').then((res) => res.default).catch(() => enMessages);
}

return enMessages;
}
2 changes: 1 addition & 1 deletion frontend/apps/remark42/tasks/supportedLocales.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
["en", "ru", "de", "fi", "es", "zh", "tr", "bg", "ua", "pl", "vi", "be", "fr", "ja", "ko", "bp", "it", "ar", "zh-tw", "th", "cs"]
["en", "ru", "de", "fi", "es", "zh", "tr", "bg", "ua", "pl", "vi", "be", "fr", "ja", "ko", "bp", "it", "ar", "zh-tw", "th", "cs", "fa"]

0 comments on commit 12a8348

Please sign in to comment.