about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorMasoud Abkenar <ampbox@gmail.com>2017-04-24 22:39:15 +0200
committerEugen <eugen@zeonfederated.com>2017-04-24 22:39:15 +0200
commitbb04a9be52e005fb8bbeef22e5b8d30f0d202903 (patch)
treea42cca2b528b1030d81eeb1ddb1b584889c34bec /app
parent338df98ddf14493d655a72f38f2bde482becab54 (diff)
Persian translation (#2405)
* Persian translation

* adding :fa to make the site use the rtl stylesheet

based on [this comment](https://github.com/tootsuite/mastodon/pull/2405#issuecomment-296721105)

* fix missing quotes

* add 'fa' locale
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/components/locales/fa.jsx146
-rw-r--r--app/assets/javascripts/components/locales/index.jsx2
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--app/helpers/settings_helper.rb1
4 files changed, 150 insertions, 1 deletions
diff --git a/app/assets/javascripts/components/locales/fa.jsx b/app/assets/javascripts/components/locales/fa.jsx
new file mode 100644
index 000000000..ed46a890b
--- /dev/null
+++ b/app/assets/javascripts/components/locales/fa.jsx
@@ -0,0 +1,146 @@
+/**
+ * Note for Contributors:
+ * This file (en.jsx) serve as a template for other languages.
+ * To make other contributors' life easier, please REMEMBER:
+ *   1. to add your new string here; and
+ *   2. to remove old strings that are no longer needed; and
+ *   3. to sort the strings by the key.
+ *   4. To rename the `en` const name and export default name to match your locale.
+ * Thanks!
+ */
+const fa = {
+  "account.block": "@{name} را مسدود کن",
+  "account.disclaimer": "این کاربر عضو سرور متفاوتی است. شاید عدد واقعی بیشتر از این باشد.",
+  "account.edit_profile": "ویرایش نمایه",
+  "account.follow": "پی بگیرید",
+  "account.followers": "پیگیران",
+  "account.follows_you": "پیگیر شماست",
+  "account.follows": "پی می‌گیرد",
+  "account.mention": "نام‌بردن از @{name}",
+  "account.mute": "بی‌صدا کردن @{name}",
+  "account.posts": "نوشته‌ها",
+  "account.report": "گزارش @{name}",
+  "account.requested": "در انتظار پذیرش",
+  "account.unblock": "رفع انسداد @{name}",
+  "account.unfollow": "پایان پیگیری",
+  "account.unmute": "باصدا کردن @{name}",
+  "boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
+  "column_back_button.label": "بازگشت",
+  "column.blocks": "کاربران مسدودشده",
+  "column.community": "نوشته‌های محلی",
+  "column.favourites": "پسندیده‌ها",
+  "column.follow_requests": "درخواست‌های پیگیری",
+  "column.home": "خانه",
+  "column.mutes": "کاربران بی‌صداشده",
+  "column.notifications": "اعلان‌ها",
+  "column.public": "نوشته‌های همه‌جا",
+  "compose_form.placeholder": "تازه چه خبر؟",
+  "compose_form.privacy_disclaimer": "نوشتهٔ خصوصی شما به کاربران نام‌برده‌شده در {domains} فرستاده می‌شود. آیا به {domainsCount, plural, one {آن سرور} other {آن سرورها}} اعتماد دارید؟ تنظیمات حریم خصوصی نوشته‌ها تنها در سرورهای ماستدون کار می‌کند. اگر {domains} {domainsCount, plural, one {یک سرور ماستدون نباشد} other {سرورهای ماستدون نباشند}}، اشاره‌ای به خصوصی‌بودن نوشتهٔ شما نخواهد شد و شاید نوشتهٔ شما هم‌رسان شود یا برای کاربرانی که نمی‌خواهید نمایش یابد.",
+  "compose_form.publish": "بوق",
+  "compose_form.sensitive": "تصاویر حساس هستند",
+  "compose_form.spoiler_placeholder": "هشدار محتوا",
+  "compose_form.spoiler": "نوشته را پشت هشدار پنهان کنید",
+  "emoji_button.label": "افزودن شکلک",
+  "emoji_button.search": "جستجو...",
+  "emoji_button.people": "مردم",
+  "emoji_button.nature": "طبیعت",
+  "emoji_button.food": "غذا و نوشیدنی",
+  "emoji_button.activity": "فعالیت",
+  "emoji_button.travel": "سفر و مکان",
+  "emoji_button.objects": "اشیا",
+  "emoji_button.symbols": "نمادها",
+  "emoji_button.flags": "پرچم‌ها",
+  "empty_column.community": "فهرست نوشته‌های محلی خالی است. چیزی بنویسید تا چرخش بچرخد!",
+  "empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.",
+  "empty_column.home.public_timeline": "فهرست نوشته‌های همه‌جا",
+  "empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.",
+  "empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.",
+  "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران دیگر را پی بگیرید تا این‌جا پر شود",
+  "follow_request.authorize": "اجازه دهید",
+  "follow_request.reject": "اجازه ندهید",
+  "getting_started.apps": "اپ‌های گوناگونی در دسترس‌اند",
+  "getting_started.heading": "آغاز کنید",
+  "getting_started.open_source_notice": "ماستدون یک نرم‌افزار آزاد است. می‌توانید در ساخت آن مشارکت کنید یا مشکلاتش را در {github} گزارش دهید. {apps}.",
+  "home.column_settings.advanced": "پیشرفته",
+  "home.column_settings.basic": "اصلی",
+  "home.column_settings.filter_regex": "با عبارت‌های باقاعده فیلتر کنید",
+  "home.column_settings.show_reblogs": "نمایش بازبوق‌ها",
+  "home.column_settings.show_replies": "نمایش پاسخ‌ها",
+  "home.settings": "تنظیمات ستون",
+  "lightbox.close": "بستن",
+  "loading_indicator.label": "بارگیری...",
+  "media_gallery.toggle_visible": "تغییر پیدایی",
+  "missing_indicator.label": "پیدا نشد",
+  "navigation_bar.blocks": "کاربران مسدودشده",
+  "navigation_bar.community_timeline": "نوشته‌های محلی",
+  "navigation_bar.edit_profile": "ویرایش نمایه",
+  "navigation_bar.favourites": "پسندیده‌ها",
+  "navigation_bar.follow_requests": "درخواست‌های پیگیری",
+  "navigation_bar.info": "اطلاعات تکمیلی",
+  "navigation_bar.logout": "خروج",
+  "navigation_bar.mutes": "کاربران بی‌صداشده",
+  "navigation_bar.preferences": "ترجیحات",
+  "navigation_bar.public_timeline": "نوشته‌های همه‌جا",
+  "notification.favourite": "{name} نوشتهٔ شما را پسندید",
+  "notification.follow": "{name} پیگیر شما شد",
+  "notification.mention": "{name} از شما نام برد",
+  "notification.reblog": "{name} نوشتهٔ شما را بازبوقید",
+  "notifications.clear_confirmation": "واقعاً می‌خواهید همهٔ اعلان‌هایتان را برای همیشه پاک کنید؟",
+  "notifications.clear": "پاک‌کردن اعلان‌ها",
+  "notifications.column_settings.alert": "اعلان در کامپیوتر",
+  "notifications.column_settings.favourite": "پسندیده‌ها:",
+  "notifications.column_settings.follow": "پیگیران تازه:",
+  "notifications.column_settings.mention": "نام‌بردن‌ها:",
+  "notifications.column_settings.reblog": "بازبوق‌ها:",
+  "notifications.column_settings.show": "در ستون نشان بده",
+  "notifications.column_settings.sound": "صدا را پخش کن",
+  "notifications.settings": "تنظیمات ستون",
+  "privacy.change": "تنظیم حریم خصوصی نوشته‌ها",
+  "privacy.direct.long": "تنها به کاربران نام‌برده‌شده نشان بده",
+  "privacy.direct.short": "مستقیم",
+  "privacy.private.long": "تنها به پیگیران نشان بده",
+  "privacy.private.short": "خصوصی",
+  "privacy.public.long": "در فهرست نوشته‌های عمومی نشان بده",
+  "privacy.public.short": "عمومی",
+  "privacy.unlisted.long": "در فهرست نوشته‌های همه‌جا نشان نده",
+  "privacy.unlisted.short": "فهرست‌نشده",
+  "reply_indicator.cancel": "لغو",
+  "report.heading": "گزارش تازه",
+  "report.placeholder": "توضیح اضافه",
+  "report.submit": "بفرست",
+  "report.target": "گزارش‌دادن",
+  "search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}",
+  "search.placeholder": "جستجو",
+  "search.status_by": "نوشتهٔ {name}",
+  "status.delete": "پاک‌کردن",
+  "status.favourite": "پسندیدن",
+  "status.load_more": "بیشتر نشان بده",
+  "status.media_hidden": "تصویر پنهان شده",
+  "status.mention": "از @{name} نام ببرید",
+  "status.open": "این نوشته را باز کن",
+  "status.reblog": "بوق",
+  "status.cannot_reblog": "این نوشته را نمی‌شود بازبوقید",
+  "status.reblogged_by": "{name} بازبوقید",
+  "status.reply": "پاسخ",
+  "status.replyAll": "به نوشته پاسخ دهید",
+  "status.report": "@{name} را گزارش دهید",
+  "status.sensitive_toggle": "برای دیدن کلیک کنید",
+  "status.sensitive_warning": "محتوای حساس",
+  "status.show_less": "نهفتن",
+  "status.show_more": "نمایش",
+  "tabs_bar.compose": "بنویسید",
+  "tabs_bar.federated_timeline": "همگانی",
+  "tabs_bar.home": "خانه",
+  "tabs_bar.local_timeline": "محلی",
+  "tabs_bar.notifications": "اعلان‌ها",
+  "upload_area.title": "برای بارگذاری به این‌جا بکشید",
+  "upload_button.label": "افزودن تصویر",
+  "upload_form.undo": "واگردانی",
+  "upload_progress.label": "بارگذاری...",
+  "video_player.toggle_sound": "تغییر صداداری",
+  "video_player.toggle_visible": "تغییر پیدایی",
+  "video_player.expand": "بازکردن ویدیو",
+  "video_player.video_error": "ویدیو نمی‌تواند پخش شود",
+};
+
+export default fa;
diff --git a/app/assets/javascripts/components/locales/index.jsx b/app/assets/javascripts/components/locales/index.jsx
index 9bda9a83e..9d187774a 100644
--- a/app/assets/javascripts/components/locales/index.jsx
+++ b/app/assets/javascripts/components/locales/index.jsx
@@ -2,6 +2,7 @@ import ar from './ar';
 import en from './en';
 import de from './de';
 import es from './es';
+import fa from './fa';
 import hr from './hr';
 import hu from './hu';
 import io from './io';
@@ -27,6 +28,7 @@ const locales = {
   en,
   de,
   es,
+  fa,
   hr,
   hu,
   io,
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index e2ea94856..ba6803b4b 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -10,7 +10,7 @@ module ApplicationHelper
   end
 
   def add_rtl_body_class(other_classes)
-    other_classes = "#{other_classes} rtl" if [:ar].include?(I18n.locale)
+    other_classes = "#{other_classes} rtl" if [:ar, :fa].include?(I18n.locale)
     other_classes
   end
 end
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index 128e1e98c..cbc0adbba 100644
--- a/app/helpers/settings_helper.rb
+++ b/app/helpers/settings_helper.rb
@@ -8,6 +8,7 @@ module SettingsHelper
     de: 'Deutsch',
     eo: 'Esperanto',
     es: 'Español',
+    fa: 'فارسی',
     fi: 'Suomi',
     fr: 'Français',
     hr: 'Hrvatski',