diff --git a/README.fr.md b/README.fr.md
index de6b87252..4b7277144 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -233,7 +233,7 @@ Voir le [dépôt dédié à ces extensions](https://github.com/FreshRSS/Extensio
| English (en) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen+%2F%28TODO%7CDIRTY%29%24%2F) |
| English (United States) (en-US) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen-US+%2F%28TODO%7CDIRTY%29%24%2F) |
| Español (es) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) |
-| فارسی (fa) | ■■■■■■■■■・ 90% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
+| فارسی (fa) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
| Suomi (fi) | ■■■■■■■■■・ 92% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) |
| Français (fr) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) |
| עברית (he) | ■■■■・・・・・・ 42% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
diff --git a/README.md b/README.md
index 0b1541321..24583e9f2 100644
--- a/README.md
+++ b/README.md
@@ -129,7 +129,7 @@ See the [repository dedicated to those extensions](https://github.com/FreshRSS/E
| English (en) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen+%2F%28TODO%7CDIRTY%29%24%2F) |
| English (United States) (en-US) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen-US+%2F%28TODO%7CDIRTY%29%24%2F) |
| Español (es) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) |
-| فارسی (fa) | ■■■■■■■■■・ 90% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
+| فارسی (fa) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
| Suomi (fi) | ■■■■■■■■■・ 92% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) |
| Français (fr) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) |
| עברית (he) | ■■■■・・・・・・ 42% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
diff --git a/app/i18n/fa/admin.php b/app/i18n/fa/admin.php
index a50ec88f8..ffcfbc98d 100644
--- a/app/i18n/fa/admin.php
+++ b/app/i18n/fa/admin.php
@@ -14,81 +14,81 @@ return array(
'auth' => array(
'allow_anonymous' => ' اجازه خواندن ناشناس مقالات کاربر پیشفرض (%s)',
'allow_anonymous_refresh' => ' اجازه بازخوانی ناشناس مقالات را بدهید',
- 'api_enabled' => ' اجازه دسترسی به API (الزامی برای برنامه های تلفن همراه and sharing user queries and sharing user queries)', // DIRTY
- 'form' => ' فرم وب (سنتی',
- 'http' => 'یک پروتکل ارتباطی است که برای انتقال دادهها ',
+ 'api_enabled' => 'اجازه دسترسی به API (برای برنامههای موبایل و اشتراکگذاری پرسوجوهای کاربر لازم است)',
+ 'form' => 'فرم وب (سنتی، نیازمند JavaScript)',
+ 'http' => 'HTTP (پیشرفته: مدیریتشده توسط وبسرور، OIDC، SSO و...)',
'none' => ' هیچ (خطرناک)',
'title' => ' احراز هویت',
- 'token' => 'به نوعی دارایی دیجیتال اشاره دارد که از ویژگی حفظ ارزش و انتقال به دیگران برخوردار است. توکن ابزار دیجیتالی است که بر روی بلاک چین رمزگذاری میشود. میتوان گفت که توکن همان ارزدیجیتال با ویژگیهای منحصر به فرد است.',
- 'token_help' => 'اجازه دسترسی به تمام خروجی های ار اس اس کاربر و همچنین به روزرسانی فید ها را بدون احراز هویت می دهد',
+ 'token' => 'توکن اصلی احراز هویت',
+ 'token_help' => 'اجازه دسترسی به همه خروجیهای RSS کاربر و بهروزرسانی فیدها را بدون احراز هویت میدهد:',
'type' => ' روش احراز هویت',
),
'extensions' => array(
'author' => ' نویسنده',
- 'community' => ' پسوندهای جامعه موجود',
+ 'community' => ' افزونههای جامعه کاربری موجود',
'description' => ' توضیحات',
- 'disabled' => ' معلول',
- 'empty_list' => ' هیچ برنامه افزودنی نصب شده ای وجود ندارد',
+ 'disabled' => 'غیرفعال',
+ 'empty_list' => 'هیچ افزونهای نصب نشده است',
'empty_list_help' => 'لاگها را بررسی کنید تا دلیل خالی بودن لیست افزونهها مشخص شود',
'enabled' => ' فعال است',
- 'is_compatible' => 'Is compatible', // TODO
- 'latest' => ' نصب شده است',
+ 'is_compatible' => 'سازگار است',
+ 'latest' => 'نصبشده',
'name' => ' نام',
'no_configure_view' => ' این برنامه افزودنی قابل پیکربندی نیست.',
'system' => array(
- '_' => ' پسوندهای سیستم',
- 'no_rights' => ' پسوند سیستم (شما مجوزهای لازم را ندارید)',
+ '_' => 'افزونههای سیستم',
+ 'no_rights' => 'افزونه سیستم (شما مجوزهای لازم را ندارید)',
),
- 'title' => ' برنامه های افزودنی',
- 'update' => ' به روز رسانی موجود است',
- 'user' => ' پسوندهای کاربر',
+ 'title' => 'افزونهها',
+ 'update' => 'بهروزرسانی موجود است',
+ 'user' => 'افزونههای کاربر',
'version' => ' نسخه',
),
'stats' => array(
'_' => 'آمار',
'all_feeds' => ' همه فیدها',
'category' => ' دسته',
- 'date_published' => 'Publication date', // TODO
- 'date_received' => 'Received date', // TODO
+ 'date_published' => 'تاریخ انتشار',
+ 'date_received' => 'تاریخ دریافت',
'entry_count' => ' تعداد ورودی',
'entry_per_category' => ' ورودی در هر دسته',
'entry_per_day' => ' ورودی در روز (30 روز گذشته)',
- 'entry_per_day_of_week' => ' در هر روز هفته (میانگین: %2f پیام)',
- 'entry_per_hour' => ' در ساعت (میانگین: %2f پیام)',
- 'entry_per_month' => ' در هر ماه (میانگین: %2f پیام)',
- 'entry_repartition' => ' پارتیشن مجدد ورودی ها',
+ 'entry_per_day_of_week' => 'در هر روز هفته (میانگین: %.2f پیام)',
+ 'entry_per_hour' => 'در هر ساعت (میانگین: %.2f پیام)',
+ 'entry_per_month' => 'در هر ماه (میانگین: %.2f پیام)',
+ 'entry_repartition' => 'توزیع مقالهها',
'feed' => ' خوراک',
'feed_per_category' => ' فید در هر دسته',
- 'idle' => ' تغذیه بیکار',
+ 'idle' => 'فیدهای غیرفعال',
'main' => ' آمار اصلی',
'main_stream' => ' جریان اصلی',
- 'nb_unreads' => 'Number of unread articles', // TODO
- 'no_idle' => ' هیچ فید بیکار وجود ندارد!',
+ 'nb_unreads' => 'تعداد مقالههای خواندهنشده',
+ 'no_idle' => 'هیچ فید غیرفعالی وجود ندارد!',
'number_entries' => ' %d مقاله',
'overview' => 'بررسی اجمالی',
- 'percent_of_total' => ' درصد از کل',
- 'repartition' => 'تقسیمبندی مجدد',
+ 'percent_of_total' => 'درصد از کل',
+ 'repartition' => 'توزیع مقالهها: %s',
'status_favorites' => ' موارد دلخواه',
- 'status_read' => ' بخوانید',
+ 'status_read' => 'خواندهشده',
'status_total' => ' مجموع',
- 'status_unread' => ' خوانده نشده',
+ 'status_unread' => 'خواندهنشده',
'title' => 'آمار',
'top_feed' => ' ده فید برتر',
- 'unread_dates' => 'Dates with most unread articles', // TODO
+ 'unread_dates' => 'تاریخهایی با بیشترین مقاله خواندهنشده',
),
'system' => array(
'_' => ' پیکربندی سیستم',
- 'auto-update-url' => ' به روز رسانی خودکار URL سرور',
+ 'auto-update-url' => 'نشانی سرور بهروزرسانی خودکار',
'base-url' => array(
'_' => 'آدرس پایه',
'recommendation' => 'توصیه: %s',
),
- 'closed_registration_message' => 'Message if registrations are closed', // TODO
+ 'closed_registration_message' => 'پیام هنگام بسته بودن ثبتنام',
'cookie-duration' => array(
'help' => ' در ثانیه',
'number' => ' مدت زمان ورود به سیستم',
),
- 'default_closed_registration_message' => 'This server does not accept new registrations at the moment.', // TODO
+ 'default_closed_registration_message' => 'این سرور در حال حاضر ثبتنام جدید نمیپذیرد.',
'force_email_validation' => ' اعتبارسنجی آدرس ایمیل اجباری',
'instance-name' => ' نام نمونه',
'max-categories' => ' حداکثر تعداد دسته ها برای هر کاربر',
@@ -98,9 +98,9 @@ return array(
'select' => array(
'label' => ' فرم ثبت نام',
'option' => array(
- 'noform' => ' معلولین: بدون فرم ثبت نام',
- 'nolimit' => ' فعال: بدون محدودیت حساب',
- 'setaccountsnumber' => ' حداکثر تنظیم کنید. تعداد حساب ها',
+ 'noform' => 'غیرفعال: بدون فرم ثبتنام',
+ 'nolimit' => 'فعال: بدون محدودیت تعداد حسابها',
+ 'setaccountsnumber' => 'فعال: با حداکثر تعداد حسابها',
),
),
'status' => array(
@@ -109,33 +109,33 @@ return array(
),
'title' => 'فرم ثبت نام کاربر',
),
- 'sensitive-parameter' => 'پارامتر حساس. Edit manually in ./data/config.php',
+ 'sensitive-parameter' => 'پارامتر حساس. به صورت دستی در ./data/config.php ویرایش کنید',
'tos' => array(
'disabled' => ' داده نشده است',
'enabled' => ' فعال است',
'help' => ' نحوه فعال کردن شرایط خدمات ',
),
'websub' => array(
- 'help' => ' در مورد وب سایت',
+ 'help' => 'درباره WebSub',
),
),
'update' => array(
- '_' => ' FreshRSS را به روز کنید',
- 'apply' => ' شروع به روز رسانی',
+ '_' => 'بهروزرسانی FreshRSS',
+ 'apply' => 'شروع بهروزرسانی',
'changelog' => ' تغییرات',
- 'check' => ' به روز رسانی های جدید را بررسی کنید',
+ 'check' => 'بررسی بهروزرسانیهای جدید',
'copiedFromURL' => 'update.php از %s به ./data کپی شد',
'current_version' => ' نسخه نصب شده فعلی',
'last' => ' آخرین بررسی',
- 'loading' => ' به روز رسانی…',
- 'none' => ' به روز رسانی در دسترس نیست',
+ 'loading' => 'در حال بهروزرسانی…',
+ 'none' => 'بهروزرسانی در دسترس نیست',
'releaseChannel' => array(
'_' => ' کانال انتشار',
- 'edge' => ' انتشار نورد ("لبه")',
- 'latest' => ' انتشار پایدار ("آخرین")',
+ 'edge' => 'انتشار پیوسته («edge»)',
+ 'latest' => 'انتشار پایدار («latest»)',
),
- 'title' => ' FreshRSS را به روز کنید',
- 'viaGit' => ' به روز رسانی از طریق git و GitHub.com شروع شد',
+ 'title' => 'بهروزرسانی FreshRSS',
+ 'viaGit' => 'بهروزرسانی از طریق git و GitHub.com شروع شد',
),
'user' => array(
'admin' => ' مدیر',
@@ -152,7 +152,7 @@ return array(
'list' => ' لیست کاربران',
'number' => ' %d حساب ایجاد شده است',
'numbers' => ' %d حساب ایجاد شده است',
- 'password_form' => ' رمز عبور
(برایروش ورود به فرم وب)',
+ 'password_form' => 'رمز عبور
(برای روش ورود با فرم وب)',
'password_format' => ' حداقل 7 کاراکتر',
'title' => ' مدیریت کاربران',
'username' => ' نام کاربری',
diff --git a/app/i18n/fa/api.php b/app/i18n/fa/api.php
index 0021dfa98..517bd6007 100644
--- a/app/i18n/fa/api.php
+++ b/app/i18n/fa/api.php
@@ -12,22 +12,22 @@
return array(
'information' => array(
- 'address' => 'Your API address:', // TODO
+ 'address' => 'نشانی API شما:',
'output' => array(
- 'encoding-support' => '⚠️ WARN: no %2F support, some clients might not work!', // TODO
- 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
- 'pass' => '✔️ PASS', // TODO
- 'unknown-error' => '❌ ', // TODO
+ 'encoding-support' => '⚠️ هشدار: پشتیبانی از %2F وجود ندارد؛ ممکن است برخی کلاینتها کار نکنند!',
+ 'invalid-configuration' => '⚠️ هشدار: احتمالاً نشانی پایه در ./data/config.php نامعتبر است',
+ 'pass' => '✔️ قبول',
+ 'unknown-error' => '❌ خطای ناشناخته',
),
'test' => array(
- 'fever' => 'Fever API configuration test:', // TODO
- 'greader' => 'Google Reader API configuration test:', // TODO
+ 'fever' => 'آزمون پیکربندی API سازگار با Fever:',
+ 'greader' => 'آزمون پیکربندی API سازگار با Google Reader:',
),
'title' => array(
- '_' => 'FreshRSS API endpoints', // TODO
- 'extension' => 'API for extensions', // TODO
- 'fever' => 'Fever compatible API', // TODO
- 'greader' => 'Google Reader compatible API', // TODO
+ '_' => 'نقاط پایانی API در FreshRSS',
+ 'extension' => 'API برای افزونهها',
+ 'fever' => 'API سازگار با Fever',
+ 'greader' => 'API سازگار با Google Reader',
),
),
);
diff --git a/app/i18n/fa/conf.php b/app/i18n/fa/conf.php
index dc698de92..264b1ead3 100644
--- a/app/i18n/fa/conf.php
+++ b/app/i18n/fa/conf.php
@@ -36,7 +36,7 @@ return array(
'_' => ' حالت تاریک خودکار',
'auto' => ' خودکار',
'help' => 'کمک',
- 'no' => ' شماره',
+ 'no' => 'خیر',
),
'icon' => array(
'bottom_line' => ' خط پایین',
@@ -56,21 +56,21 @@ return array(
'show_nav_buttons' => ' دکمه های ناوبری را نشان دهید',
'show_title_unread' => 'نمایش تعداد مقالات خوانده نشده در عنوان',
'show_unread_count' => array(
- '_' => 'Show unread counts in sidebar', // TODO
- 'all' => 'For all categories and feeds', // TODO
- 'important' => 'For important feeds only', // TODO
- 'important_locked' => 'Important feeds always show their unread count.', // TODO
- 'none' => 'Never', // TODO
+ '_' => 'نمایش تعداد خواندهنشدهها در نوار کناری',
+ 'all' => 'برای همه دستهها و فیدها',
+ 'important' => 'فقط برای فیدهای مهم',
+ 'important_locked' => 'فیدهای مهم همیشه تعداد خواندهنشدههای خود را نشان میدهند.',
+ 'none' => 'هرگز',
),
- 'sidebar_hidden_by_default' => 'Hide sidebar by default', // TODO
+ 'sidebar_hidden_by_default' => 'پنهان کردن نوار کناری به صورت پیشفرض',
'theme' => array(
'_' => ' موضوع',
'deprecated' => array(
'_' => ' منسوخ شده است',
- 'description' => ' این طرح زمینه دیگر پشتیبانی نمیشود و در آینده در دسترس نخواهد بود انتشار FreshRSS',
+ 'description' => 'این پوسته دیگر پشتیبانی نمیشود و در نسخه آینده FreshRSS در دسترس نخواهد بود',
),
),
- 'theme_not_available' => ' طرح زمینه "%s" دیگر در دسترس نیست. لطفا موضوع دیگری را انتخاب کنید.',
+ 'theme_not_available' => 'پوسته «%s» دیگر در دسترس نیست. لطفاً پوسته دیگری انتخاب کنید.',
'thumbnail' => array(
'label' => ' تصویر بند انگشتی',
'landscape' => ' منظره',
@@ -83,7 +83,7 @@ return array(
'website' => array(
'full' => ' نماد و نام',
'icon' => ' فقط نماد',
- 'label' => ' وب سایت',
+ 'label' => 'وبسایت',
'name' => ' فقط نام',
'none' => ' هیچکدام',
),
@@ -115,22 +115,22 @@ return array(
'small' => 'کوچک',
),
'notification' => array(
- 'html5_enable_notif' => 'Enable notification', // TODO
+ 'html5_enable_notif' => 'فعال کردن اعلان',
),
'notification_timeout' => array(
'bad' => array(
- 'label' => 'Show warning banner', // TODO
- 'seconds' => 'seconds (at least 1)', // TODO
+ 'label' => 'نمایش نوار هشدار',
+ 'seconds' => 'ثانیه (حداقل ۱)',
),
'good' => array(
- 'label' => 'Show acknowledgement banner', // TODO
- 'seconds' => 'seconds (0 means not shown)', // TODO
+ 'label' => 'نمایش نوار تأیید',
+ 'seconds' => 'ثانیه (۰ یعنی نمایش داده نشود)',
),
),
'privacy' => array(
'_' => 'حریم خصوصی',
'retrieve_extension_list' => 'بازیابی لیست افزونهها',
- 'send_referrer_allowlist' => 'Sites allowed to see your server address (%s)', // TODO
+ 'send_referrer_allowlist' => 'سایتهایی که مجازند نشانی سرور شما را ببینند (%s)',
),
'profile' => array(
'_' => ' مدیریت پروفایل',
@@ -142,11 +142,11 @@ return array(
'disabled' => 'غیرفعال',
'documentation_link' => 'See the مستندات و فهرست برنامههای شناختهشده', // IGNORE
'help' => 'See documentation', // IGNORE
- 'security_warning' => 'Use HTTPS. The API password is transmitted in clear text and may appear in server logs if sent via GET.', // TODO
+ 'security_warning' => 'از HTTPS استفاده کنید. رمز عبور API به صورت متن ساده ارسال میشود و اگر با GET فرستاده شود ممکن است در لاگهای سرور ثبت شود.',
),
'change_password' => 'تغییر رمز عبور',
'confirm_new_password' => 'تأیید رمز عبور جدید',
- 'current_password' => 'رمز عبور کنونی
(for the Web-form login method)',
+ 'current_password' => 'رمز عبور کنونی
(برای روش ورود با فرم وب)',
'delete' => array(
'_' => ' حذف اکانت',
'warn' => ' حساب شما و تمام داده های مرتبط حذف خواهد شد.',
@@ -159,19 +159,19 @@ return array(
),
'query' => array(
'_' => ' پرس و جوهای کاربر',
- 'create' => 'Create new user query', // TODO
+ 'create' => 'ایجاد پرسوجوی کاربری جدید',
'deprecated' => ' این عبارت دیگر معتبر نیست. دسته یا فید ارجاع شده حذف شده است.',
'description' => 'توضیحات',
'filter' => array(
'_' => ' فیلتر اعمال شده:',
- 'categories' => ' نمایش بر اساس دسته بندی',
+ 'categories' => 'نمایش بر اساس دستهبندی',
'feeds' => ' نمایش با فید',
'order' => ' مرتب سازی بر اساس تاریخ',
- 'publish_labels_instead_of_tags' => 'Replace feed tags by user labels in the shared RSS', // TODO
+ 'publish_labels_instead_of_tags' => 'در RSS اشتراکی، برچسبهای فید را با برچسبهای کاربر جایگزین کنید',
'search' => ' بیان',
'shareOpml' => 'فعالسازی اشتراکگذاری دستهها و فیدهای مربوطه با OPML',
'shareRss' => 'اشتراکگذاری RSS',
- 'state' => ' ایالت',
+ 'state' => 'وضعیت',
'tags' => ' نمایش بر اساس برچسب',
'type' => ' نوع',
),
@@ -184,15 +184,15 @@ return array(
'get_feed' => ' فید "%s" را نمایش دهید',
'get_important' => 'نمایش مقالات از فیدهای مهم',
'get_label' => 'نمایش مقالات با برچسب %s',
- 'help' => 'See the مستندات مربوط به پرسوجوهای کاربران و بازنشر آنها HTML / RSS / OPML.',
+ 'help' => 'مستندات مربوط به پرسوجوهای کاربر و بازنشر آنها با HTML / RSS / OPML را ببینید.',
'image_url' => 'نشانی اینترنتی تصویر',
'name' => ' نام',
'no_filter' => ' بدون فیلتر',
'no_queries' => array(
'_' => 'هنوز هیچ پرسوجوی کاربری ذخیره نشده است',
- 'help' => 'See سند',
+ 'help' => 'مستندات را ببینید',
),
- 'number' => ' پرس و جو n°%d',
+ 'number' => 'پرسوجوی شماره %d',
'order_asc' => ' ابتدا قدیمی ترین مقالات را نمایش دهید',
'order_desc' => ' ابتدا جدیدترین مقالات را نمایش دهید',
'search' => ' «%s» را جستجو کنید',
@@ -216,10 +216,10 @@ return array(
'state_5' => ' نمایش مقالات مورد علاقه خوانده شده',
'state_6' => 'نمایش مقالات مورد علاقه خوانده نشده',
'state_7' => ' نمایش مقالات مورد علاقه',
- 'state_8' => ' نمایش مقالات مورد علاقه نیست',
+ 'state_8' => 'نمایش مقالههای غیرموردعلاقه',
'state_9' => ' نمایش مقالات مورد علاقه خوانده نشده',
- 'state_10' => ' نمایش مقالات خوانده نشده و نه مورد علاقه',
- 'state_11' => ' نمایش مقالات مورد علاقه نیست',
+ 'state_10' => 'نمایش مقالههای خواندهنشده و غیرموردعلاقه',
+ 'state_11' => 'نمایش مقالههای غیرموردعلاقه',
'state_12' => ' نمایش همه مقالات',
'state_13' => ' نمایش مقالات خوانده شده',
'state_14' => ' نمایش مقالات خوانده نشده',
@@ -246,7 +246,7 @@ return array(
),
'feed_title' => ' عنوان خوراک',
'icons' => array(
- '_' => 'موقعیت آیکونها
(Reading view only)',
+ '_' => 'موقعیت آیکونها
(فقط در نمای خواندن)',
'above_title' => 'بالاتر از عنوان',
'with_authors' => 'در سطر نویسنده و تاریخ',
),
@@ -267,7 +267,7 @@ return array(
'auto_remove_article' => ' مخفی کردن مقالات پس از خواندن',
'confirm_enabled' => ' یک دیالوگ تأیید را روی اقدامات "علامت گذاری همه به عنوان خوانده شده" نمایش دهید',
'display_articles_unfolded' => ' نمایش مقالاتی که به طور پیش فرض باز شده اند',
- 'display_categories_unfolded' => ' دسته بندی هایی که باید آشکار شوند',
+ 'display_categories_unfolded' => 'دستهبندیهایی که باید باز باشند',
'headline' => array(
'articles' => ' مقالات: باز/بستن',
'articles_header_footer' => ' مقالات: سرصفحه / پاورقی',
@@ -278,11 +278,11 @@ return array(
),
'hide_read_feeds' => ' دستهها و فیدها را بدون مقاله خوانده نشده پنهان کنید (با پیکربندی «نمایش همه مقالهها» کار نمیکند)',
'img_with_lazyload' => ' از حالت بار تنبل برای بارگیری تصاویر استفاده کنید',
- 'jump_next' => ' پرش به خواهر و برادر خوانده نشده بعدی',
+ 'jump_next' => 'پرش به مورد خواندهنشده بعدی در همان سطح',
'mark_updated_article_unread' => ' مقالات به روز شده را به عنوان خوانده نشده علامت گذاری کنید',
'number_divided_when_reader' => ' در نمای خواندن بر 2 تقسیم کنید.',
'read' => array(
- 'article_open_on_website' => ' هنگامی که مقاله در وب سایت اصلی خود باز می شود',
+ 'article_open_on_website' => 'هنگامی که مقاله در وبسایت اصلی خود باز میشود',
'article_viewed' => ' هنگام مشاهده مقاله',
'focus' => 'فقط هنگام انتخاب فید (بهجز فیدهای مهم)',
'keep_max_n_unread' => ' حداکثر تعداد مقالات خوانده نشده',
@@ -290,9 +290,9 @@ return array(
'upon_gone' => ' زمانی که دیگر در فید اخبار بالادستی نیست',
'upon_reception' => ' پس از دریافت مقاله',
'when' => ' علامت گذاری یک مقاله به عنوان خوانده شده…',
- 'when_same_guid_in_category' => 'if an identical GUID already exists in the top n newest articles of the category', // TODO
- 'when_same_title_in_category' => 'اگر عنوان مشابهی در بخش بالا وجود دارد n تازهترین مقالات این دسته',
- 'when_same_title_in_feed' => ' اگر عنوان یکسانی از قبل در n جدیدترین مقالات بالا وجود داشته باشد (از فید)',
+ 'when_same_guid_in_category' => 'اگر GUID یکسانی از قبل در n مقاله جدیدتر دسته وجود داشته باشد',
+ 'when_same_title_in_category' => 'اگر عنوان مشابهی از قبل در n مقاله جدیدتر این دسته وجود داشته باشد',
+ 'when_same_title_in_feed' => 'اگر عنوان مشابهی از قبل در n مقاله جدیدتر این فید وجود داشته باشد',
),
'show' => array(
'_' => ' مقالات برای نمایش',
@@ -301,7 +301,7 @@ return array(
'all_articles' => ' نمایش همه مقالات',
'all_categories' => ' همه دسته ها',
'no_category' => ' بدون دسته',
- 'remember_categories' => ' دسته بندی های باز را به خاطر بسپارید',
+ 'remember_categories' => 'دستهبندیهای باز را به خاطر بسپارید',
'unread' => ' فقط خوانده نشده را نشان دهد',
'unread_or_favorite' => 'نمایش خواندهنشدهها و موردعلاقهها',
),
@@ -323,7 +323,7 @@ return array(
'_' => ' اشتراک گذاری',
'add' => ' یک روش اشتراک گذاری اضافه کنید',
'bluesky' => 'Bluesky( یک شبکه اجتماعی غیرمتمرکز است که به کاربران اجازه میدهد پستهای کوتاه، عکس و ویدیو به اشتراک بگذارند)',
- 'deprecated' => ' این سرویس منسوخ شده است و در نسخه آینده.',
+ 'deprecated' => 'این سرویس منسوخ شده است و در نسخه آینده از FreshRSS حذف خواهد شد.',
'diaspora' => ' دیاسپورا*',
'email' => ' ایمیل',
'facebook' => ' فیس بوک',
@@ -340,11 +340,11 @@ return array(
),
'shortcut' => array(
'_' => ' میانبرها',
- 'article_action' => ' اقدامات ماده',
+ 'article_action' => 'اقدامهای مقاله',
'auto_share' => ' اشتراک گذاری',
'auto_share_help' => ' اگر فقط یک حالت اشتراک گذاری وجود داشته باشد',
'close_menus' => ' منوها را ببندید',
- 'collapse_article' => ' فروپاشی',
+ 'collapse_article' => 'جمع کردن مقاله',
'first_article' => ' اولین مقاله را باز کنید',
'focus_search' => ' به کادر جستجو دسترسی پیدا کنید',
'global_view' => ' تغییر به نمای جهانی',
@@ -365,16 +365,16 @@ return array(
'previous_article' => ' مقاله قبلی را باز کنید',
'reading_view' => ' به نمای خواندن بروید',
'rss_view' => ' به عنوان فید RSS باز شود',
- 'see_on_website' => ' به وب سایت اصلی مراجعه کنید',
+ 'see_on_website' => 'به وبسایت اصلی مراجعه کنید',
'shift_for_all_read' => '+ Alt ⎇ برای علامت گذاری مقالات قبلی به عنوان خوانده شده
+ ⇧ Shift برای علامت گذاری همه مقالات به عنوان خوانده شده',
'skip_next_article' => ' فوکوس بعدی بدون باز کردن',
'skip_previous_article' => ' فوکوس قبلی بدون باز کردن',
'title' => ' میانبرها',
- 'toggle_aside' => 'Toggle sidebar', // TODO
+ 'toggle_aside' => 'تغییر وضعیت نوار کناری',
'toggle_media' => ' پخش/مکث رسانه',
'user_filter' => ' به درخواست های کاربر دسترسی پیدا کنید',
'user_filter_help' => ' اگر فقط یک درخواست کاربر وجود داشته باشد',
- 'views' => ' بازدید',
+ 'views' => 'نماها',
),
'user' => array(
'articles_and_size' => '%s مقاله (%s)',
diff --git a/app/i18n/fa/feedback.php b/app/i18n/fa/feedback.php
index ee594c02e..22d9bd60b 100644
--- a/app/i18n/fa/feedback.php
+++ b/app/i18n/fa/feedback.php
@@ -50,7 +50,7 @@ return array(
'ko' => ' %s را نمی توان فعال کرد. برای جزئیات گزارشهای FreshRSS را بررسی کنید.',
'ok' => ' %s اکنون فعال است',
),
- 'invalid_view_mode' => 'حالت نمایشی که انتخاب کردی درست نیست! برمیگردم به حالت',
+ 'invalid_view_mode' => 'حالت نمایش «%s» نامعتبر است! بازگشت به «نمای عادی».',
'no_access' => ' شما به %s دسترسی ندارید',
'not_enabled' => '%s فعال نیست',
'not_found' => '%s وجود ندارد',
@@ -58,8 +58,8 @@ return array(
),
'import_export' => array(
'export_no_zip_extension' => ' پسوند ZIP در سرور شما وجود ندارد. لطفا سعی کنید فایل ها را یکی یکی صادر کنید.',
- 'feeds_imported' => ' فیدهای شما وارد شده اند و اکنون به روز خواهند شد / Your feeds have been imported. If you are done importing, you can now click the Update feeds button.',
- 'feeds_imported_with_errors' => ' فیدهای شما وارد شده است / Your feeds have been imported, but some errors occurred. If you are done importing, you can now click the Update feeds button.',
+ 'feeds_imported' => 'فیدهای شما وارد شدهاند. اگر کار وارد کردن تمام شده است، اکنون میتوانید روی دکمه بهروزرسانی فیدها کلیک کنید.',
+ 'feeds_imported_with_errors' => 'فیدهای شما وارد شدهاند، اما چند خطا رخ داده است. اگر کار وارد کردن تمام شده است، اکنون میتوانید روی دکمه بهروزرسانی فیدها کلیک کنید.',
'file_cannot_be_uploaded' => ' فایل قابل آپلود نیست!',
'no_zip_extension' => ' پسوند ZIP در سرور شما وجود ندارد.',
'zip_error' => ' در حین پردازش ZIP خطایی روی داد.',
@@ -83,9 +83,9 @@ return array(
'name_exists' => ' نام دسته از قبل وجود دارد.',
'no_id' => ' شما باید شناسه دسته را مشخص کنید.',
'no_name' => ' نام دسته نمی تواند خالی باشد.',
- 'not_delete_default' => ' شما نمی توانید دسته بندی پیش فرض را حذف کنید!',
- 'not_exist' => ' دسته بندی وجود ندارد!',
- 'over_max' => ' شما به حد مجاز دسته بندی خود رسیده اید (%d)',
+ 'not_delete_default' => 'شما نمیتوانید دستهبندی پیشفرض را حذف کنید!',
+ 'not_exist' => 'دستهبندی وجود ندارد!',
+ 'over_max' => 'شما به حد مجاز دستهبندیهای خود رسیدهاید (%d)',
'updated' => ' رده به روز شده است.',
),
'feed' => array(
@@ -100,7 +100,7 @@ return array(
'too_large' => 'نماد آپلود شده خیلی بزرگ است. حداکثر حجم فایل %s.',
'unsupported_format' => 'فرمت فایل تصویری پشتیبانی نمیشود!',
),
- 'internal_problem' => ' فید خبری اضافه نشد. برای جزئیات گزارشهای FreshRSS را بررسی کنید. میتوانید با اضافه کردن #force_feed به URL',
+ 'internal_problem' => 'فید خبری اضافه نشد. برای جزئیات گزارشهای FreshRSS را بررسی کنید. میتوانید با افزودن #force_feed به انتهای URL، افزودن اجباری را امتحان کنید.',
'invalid_url' => ' URL %s نامعتبر است',
'n_actualized' => ' %d فید به روز شده است',
'n_entries_deleted' => ' %d مقاله حذف شده است',
@@ -110,7 +110,7 @@ return array(
'over_max' => ' شما به حد مجاز فید خود رسیده اید (%d)',
'reloaded' => '%s دوباره بارگیری شده است',
'selector_preview' => array(
- 'http_error' => ' محتوای وب سایت بارگیری نشد.',
+ 'http_error' => 'محتوای وبسایت بارگیری نشد.',
'no_entries' => ' هیچ مقاله ای در این فید وجود ندارد. برای ایجاد پیش نمایش به حداقل یک مقاله نیاز دارید.',
'no_feed' => ' خطای داخلی (فید یافت نمی شود).',
'no_result' => ' انتخابگر با چیزی مطابقت نداشت. به عنوان یک بازگشت',
@@ -130,7 +130,7 @@ return array(
'update' => array(
'can_apply' => ' بهروزرسانی FreshRSS موجود است: نسخه %s.',
'error' => ' فرآیند به روز رسانی با خطا مواجه شده است: %s',
- 'file_is_nok' => ' بهروزرسانی FreshRSS موجود است (نسخه %s)',
+ 'file_is_nok' => 'بهروزرسانی FreshRSS موجود است (نسخه %s)، اما مجوزهای دایرکتوری %s را بررسی کنید. سرور HTTP باید مجوز نوشتن داشته باشد',
'finished' => ' به روز رسانی کامل شد!',
'none' => ' به روز رسانی در دسترس نیست',
'server_not_found' => ' سرور به روز رسانی یافت نمی شود. [%s]',
diff --git a/app/i18n/fa/gen.php b/app/i18n/fa/gen.php
index dff895f69..94395ef48 100644
--- a/app/i18n/fa/gen.php
+++ b/app/i18n/fa/gen.php
@@ -46,7 +46,7 @@ return array(
'refresh_opml' => ' OPML را بازخوانی کنید',
'remove' => ' حذف کنید',
'rename' => ' تغییر نام',
- 'see_website' => ' به وب سایت مراجعه کنید',
+ 'see_website' => 'به وبسایت مراجعه کنید',
'submit' => ' ارسال کنید',
'truncate' => ' تمام مقالات را حذف کنید',
'update' => ' به روز رسانی',
@@ -77,18 +77,18 @@ return array(
),
),
'date' => array(
- 'Apr' => 'آ/و/ر/ی/ل//',
- 'Aug' => 'آ/گ/و/س/ت//',
- 'Dec' => 'د/س/ا/م/ب/ر//',
- 'Feb' => 'ف/و/ر/ی/ه//',
- 'Jan' => 'ژ/ا/ن/و/ی/ه//',
- 'Jul' => 'ژ/و/ئ/ی/ه//',
- 'Jun' => 'ژ/و/ئ/ن//',
- 'Mar' => 'م/ا/ر/س//',
- 'May' => 'م/ی//',
- 'Nov' => 'ن/و/ا/م/ب/ر//',
- 'Oct' => 'ا/ک/ت/ب/ر//',
- 'Sep' => 'س/پ/ت/ا/م/ب/ر//',
+ 'Apr' => 'آوریل',
+ 'Aug' => 'اوت',
+ 'Dec' => 'دسامبر',
+ 'Feb' => 'فوریه',
+ 'Jan' => 'ژانویه',
+ 'Jul' => 'ژوئیه',
+ 'Jun' => 'ژوئن',
+ 'Mar' => 'مارس',
+ 'May' => 'مه',
+ 'Nov' => 'نوامبر',
+ 'Oct' => 'اکتبر',
+ 'Sep' => 'سپتامبر',
'apr' => ' آوریل',
'april' => ' آوریل',
'aug' => ' آگوست',
@@ -115,7 +115,7 @@ return array(
'last_month' => ' ماه گذشته',
'last_week' => ' هفته گذشته',
'last_year' => ' سال گذشته',
- 'mar' => ' مارس.',
+ 'mar' => ' مارس',
'march' => ' مارس',
'may' => ' مه',
'may_' => ' مه',
@@ -126,7 +126,7 @@ return array(
'oct' => ' اکتبر',
'october' => ' اکتبر',
'sat' => ' شنبه',
- 'sep' => ' سپتامبر.',
+ 'sep' => ' سپتامبر',
'september' => ' سپتامبر',
'sun' => ' یکشنبه',
'thu' => ' پنجشنبه',
@@ -171,7 +171,7 @@ return array(
'category_empty' => ' دسته خالی',
'confirm_action' => ' آیا مطمئن هستید که می خواهید این عمل را انجام دهید؟ نمی توان آن را لغو کرد!',
'confirm_action_feed_cat' => ' آیا مطمئن هستید که می خواهید این عمل را انجام دهید؟ موارد دلخواه و درخواست های کاربر مرتبط را از دست خواهید داد. نمی توان آن را لغو کرد!',
- 'confirm_exit_slider' => 'Are you sure you want to discard unsaved settings?', // TODO
+ 'confirm_exit_slider' => 'مطمئنید میخواهید تنظیمات ذخیرهنشده را نادیده بگیرید؟',
'feedback' => array(
'body_new_articles' => ' %%d مقاله جدید برای خواندن در FreshRSS وجود دارد.',
'body_unread_articles' => ' (خوانده نشده: %%d)',
@@ -181,7 +181,7 @@ return array(
'labels_empty' => 'بدون برچسب',
'new_article' => 'مقالات جدیدی موجود است',
'should_be_activated' => ' جاوا اسکریپت باید فعال باشد',
- 'unsafe_csp_header' => 'The CSP header in use is unsafe and FreshRSS may be vulnerable to XSS attacks. See documentation', // TODO
+ 'unsafe_csp_header' => 'سرآیند CSP فعلی امن نیست و FreshRSS ممکن است در برابر حملات XSS آسیبپذیر باشد. مستندات را ببینید',
),
'lang' => array(
'cs' => 'Čeština', // IGNORE
@@ -215,20 +215,20 @@ return array(
'menu' => array(
'about' => ' در مورد',
'account' => ' حساب',
- 'admin' => ' اداره',
- 'advanced_search' => 'Advanced Search', // TODO
+ 'admin' => 'مدیریت',
+ 'advanced_search' => 'جستجوی پیشرفته',
'archiving' => ' آرشیو',
'authentication' => ' احراز هویت',
'check_install' => ' بررسی نصب',
'configuration' => ' پیکربندی',
'display' => 'نمایش',
- 'extensions' => ' برنامه های افزودنی',
- 'logs' => ' سیاهههای مربوط',
+ 'extensions' => 'افزونهها',
+ 'logs' => 'گزارشها',
'privacy' => 'حریم خصوصی',
'queries' => ' پرس و جوهای کاربر',
'reading' => ' خواندن',
'search' => ' کلمات یا #برچسب ها را جستجو کنید',
- 'search_help' => ' به مستندات پارامترهای جستجوی پیشرفته',
+ 'search_help' => 'به مستندات پارامترهای جستجوی پیشرفته مراجعه کنید',
'sharing' => ' اشتراک گذاری',
'shortcuts' => ' میانبرها',
'stats' => 'آمار',
@@ -250,32 +250,32 @@ return array(
'translated' => 'Progress', // IGNORE
),
'search' => array(
- 'advanced_search_help' => 'This form helps construct search queries, but manual queries are even more powerful.', // TODO
- 'authors' => 'Authors', // TODO
- 'categories' => 'Categories', // TODO
- 'content' => 'Content', // TODO
- 'date_from' => 'From', // TODO
- 'date_modified' => 'Server Modification Date', // TODO
- 'date_past' => 'In the past', // TODO
- 'date_published' => 'Publication Date', // TODO
- 'date_range' => 'Date Range', // TODO
- 'date_received' => 'Received Date', // TODO
- 'date_to' => 'To', // TODO
- 'date_user' => 'User Modification Date', // TODO
- 'feeds' => 'Feeds', // TODO
- 'free_text' => 'Free Text', // TODO
- 'free_text_help' => 'Search both in title and content', // TODO
- 'full_documentation' => 'View full search documentation', // TODO
- 'labels' => 'My Labels', // TODO
- 'multiple_help' => 'Select one or more (hold Ctrl or Cmd)', // TODO
- 'sources' => 'Sources', // TODO
- 'tags' => 'Article Tags', // TODO
- 'text' => 'Text Search', // TODO
- 'text_help' => 'Multiple lines are combined by a logical or. Also supports regular expressions.', // TODO
- 'text_placeholder' => 'Keyword', // TODO
- 'title' => 'Title', // TODO
- 'url' => 'URL', // TODO
- 'user_queries' => 'User Queries', // TODO
+ 'advanced_search_help' => 'این فرم به ساخت پرسوجوهای جستجو کمک میکند، اما پرسوجوهای دستی حتی قدرتمندتر هستند.',
+ 'authors' => 'نویسندگان',
+ 'categories' => 'دستهها',
+ 'content' => 'محتوا',
+ 'date_from' => 'از',
+ 'date_modified' => 'تاریخ ویرایش در سرور',
+ 'date_past' => 'در گذشته',
+ 'date_published' => 'تاریخ انتشار',
+ 'date_range' => 'بازه تاریخ',
+ 'date_received' => 'تاریخ دریافت',
+ 'date_to' => 'تا',
+ 'date_user' => 'تاریخ ویرایش کاربر',
+ 'feeds' => 'فیدها',
+ 'free_text' => 'متن آزاد',
+ 'free_text_help' => 'جستجو در عنوان و محتوا',
+ 'full_documentation' => 'مستندات کامل جستجو را ببینید',
+ 'labels' => 'برچسبهای من',
+ 'multiple_help' => 'یک یا چند مورد را انتخاب کنید (Ctrl یا Cmd را نگه دارید)',
+ 'sources' => 'منابع',
+ 'tags' => 'برچسبهای مقاله',
+ 'text' => 'جستجوی متن',
+ 'text_help' => 'چند خط با یا منطقی ترکیب میشوند. همچنین از عبارتهای منظم پشتیبانی میکند.',
+ 'text_placeholder' => 'کلیدواژه',
+ 'title' => 'عنوان',
+ 'url' => 'نشانی وب',
+ 'user_queries' => 'پرسوجوهای کاربر',
),
'share' => array(
'Known' => ' سایت های مبتنی بر شناخته شده',
@@ -316,9 +316,9 @@ return array(
'blank_to_disable' => ' برای غیرفعال کردن',
'by_author' => ' توسط:',
'by_default' => ' به طور پیش فرض',
- 'damn' => ' انفجار!',
- 'default_category' => ' دسته بندی نشده',
- 'no' => ' شماره',
+ 'damn' => 'خطا!',
+ 'default_category' => 'دستهبندینشده',
+ 'no' => 'خیر',
'not_applicable' => ' در دسترس نیست',
'ok' => ' باشه!',
'or' => ' یا',
diff --git a/app/i18n/fa/index.php b/app/i18n/fa/index.php
index c538d4117..3facc07ba 100644
--- a/app/i18n/fa/index.php
+++ b/app/i18n/fa/index.php
@@ -21,29 +21,29 @@ return array(
'database' => 'پایگاه داده',
'server_software' => 'نرمافزار سرور',
'version_curl' => 'نسخه cURL',
- 'version_frss' => 'سخه FreshRSS',
+ 'version_frss' => 'نسخه FreshRSS',
'version_php' => 'نسخه PHP',
),
),
'bugs_reports' => ' گزارش اشکال',
'documentation' => ' اسناد و مدارک',
- 'freshrss_description' => ' FreshRSS یک جمع کننده و خواننده RSS خود میزبان است. این به شما امکان می دهد بدون نیاز به مرور از یک وب سایت به وب سایت دیگر',
+ 'freshrss_description' => 'FreshRSS یک گردآورنده و خواننده RSS خودمیزبان است. با آن میتوانید بدون رفتن از یک وبسایت به وبسایت دیگر، محتوای تازه را دنبال کنید.',
'github' => ' در GitHub',
'license' => ' مجوز',
- 'project_website' => ' وب سایت پروژه',
+ 'project_website' => 'وبسایت پروژه',
'title' => ' در مورد',
'version' => ' نسخه',
),
'feed' => array(
'empty' => ' هیچ مقاله ای برای نمایش وجود ندارد.',
'published' => array(
- '_' => 'Published', // TODO
- 'future' => 'Published in the future', // TODO
- 'today' => 'Published today', // TODO
- 'yesterday' => 'Published yesterday', // TODO
+ '_' => 'منتشر شده',
+ 'future' => 'منتشر شده در آینده',
+ 'today' => 'امروز منتشر شده',
+ 'yesterday' => 'دیروز منتشر شده',
),
'received' => array(
- '_' => 'Received', // TODO
+ '_' => 'دریافت شده',
'today' => 'امروز دریافت شد',
'yesterday' => 'دیروز دریافت شد',
),
@@ -52,21 +52,21 @@ return array(
'title_fav' => ' موارد دلخواه',
'title_global' => ' نمای جهانی',
'userModified' => array(
- '_' => 'Modified by user', // TODO
- 'today' => 'Modified by user today', // TODO
- 'yesterday' => 'Modified by user yesterday', // TODO
+ '_' => 'ویرایش شده توسط کاربر',
+ 'today' => 'امروز توسط کاربر ویرایش شده',
+ 'yesterday' => 'دیروز توسط کاربر ویرایش شده',
),
),
'log' => array(
- '_' => ' سیاهههای مربوط',
- 'clear' => ' سیاهههای مربوط را پاک کنید',
+ '_' => 'گزارشها',
+ 'clear' => 'گزارشها را پاک کنید',
'empty' => ' فایل لاگ خالی است',
- 'title' => ' سیاهههای مربوط',
+ 'title' => 'گزارشها',
),
'menu' => array(
'about' => ' درباره FreshRSS',
- 'before_one_day' => ' بزرگتر از یک روز',
- 'before_one_week' => ' بزرگتر از یک هفته',
+ 'before_one_day' => 'قدیمیتر از یک روز',
+ 'before_one_week' => 'قدیمیتر از یک هفته',
'bookmark_query' => ' درخواست فعلی را نشانکگذاری کنید',
'favorites' => ' موارد دلخواه (%s)',
'global_view' => ' نمای جهانی',
@@ -85,37 +85,37 @@ return array(
'rss_view' => ' خوراک RSS',
'search_short' => ' جستجو',
'sort' => array(
- 'asc' => 'Ascending', // TODO
+ 'asc' => 'صعودی',
'c' => array(
- 'name_asc' => 'دسته بندی، عناوین فید A→Z',
- 'name_desc' => 'دسته بندی، عناوین فید Z→A',
+ 'name_asc' => 'دستهبندی، عنوانهای فید A→Z',
+ 'name_desc' => 'دستهبندی، عنوانهای فید Z→A',
),
'date_asc' => 'تاریخ انتشار ۱→۹',
'date_desc' => 'تاریخ انتشار ۹→۱',
- 'desc' => 'Descending', // TODO
+ 'desc' => 'نزولی',
'f' => array(
'name_asc' => 'عنوان فید A→Z',
'name_desc' => 'عنوان فید Z→A',
),
- 'id_asc' => 'آخرین مورد، به تازه گی دریافت شد',
- 'id_desc' => 'نخستین مورد دریافتشده به تازگی',
- 'length_asc' => 'Content length 1→9', // TODO
- 'length_desc' => 'Content length 9→1', // TODO
+ 'id_asc' => 'قدیمیترین دریافتشده',
+ 'id_desc' => 'تازهترین دریافتشده',
+ 'length_asc' => 'طول محتوا ۱→۹',
+ 'length_desc' => 'طول محتوا ۹→۱',
'link_asc' => 'لینک A→Z',
'link_desc' => 'لینک Z→A',
'primary' => array(
- '_' => 'Sorting criterion', // TODO
- 'help' => 'Sorting by received date is recommended in most cases, for consistency and performance', // TODO
+ '_' => 'معیار مرتبسازی',
+ 'help' => 'در بیشتر موارد، مرتبسازی بر اساس تاریخ دریافت برای سازگاری و کارایی بهتر پیشنهاد میشود',
),
'rand' => 'ترتیب تصادفی',
'secondary' => array(
- '_' => 'Secondary sorting criterion', // TODO
- 'help' => 'Only relevant when the primary sorting criterion is categories or feeds titles', // TODO
+ '_' => 'معیار مرتبسازی دوم',
+ 'help' => 'فقط زمانی کاربرد دارد که معیار اصلی مرتبسازی، عنوان دستهها یا فیدها باشد',
),
- 'title_asc' => 'عنوانA→Z',
+ 'title_asc' => 'عنوان A→Z',
'title_desc' => 'عنوان Z→A',
- 'user_modified_asc' => 'User modified 1→9', // TODO
- 'user_modified_desc' => 'User modified 9→1', // TODO
+ 'user_modified_asc' => 'ویرایش کاربر ۱→۹',
+ 'user_modified_desc' => 'ویرایش کاربر ۹→۱',
),
'starred' => ' نمایش موارد دلخواه',
'stats' => ' آمار',
diff --git a/app/i18n/fa/install.php b/app/i18n/fa/install.php
index 526ba757e..252e196af 100644
--- a/app/i18n/fa/install.php
+++ b/app/i18n/fa/install.php
@@ -22,7 +22,7 @@ return array(
'_' => 'پایگاه داده',
'conf' => array(
'_' => 'پیکربندی پایگاه داده',
- 'ko' => 'یکربندی پایگاه داده خود را تأیید کنید.',
+ 'ko' => 'پیکربندی پایگاه داده خود را بررسی کنید.',
'ok' => 'تنظیمات پایگاه داده ذخیره شد.',
),
'host' => 'هاست',
@@ -33,9 +33,9 @@ return array(
),
'check' => array(
'_' => 'بررسیها',
- 'already_installed' => 'ما تشخیص دادم FreshRSS قبلا نصب شده',
+ 'already_installed' => 'تشخیص دادیم که FreshRSS قبلاً نصب شده است.',
'cache' => array(
- 'nok' => 'بررسی مجوزها در %1$s دایرکتوری برای %2$s کاربر.سرور وب نیاز به دسترسی نوشتن دارد',
+ 'nok' => 'مجوزهای دایرکتوری %1$s را برای کاربر %2$s بررسی کنید. سرور وب به دسترسی نوشتن نیاز دارد.',
'ok' => 'مجوزهای موجود در فهرست حافظه پنهان خوب است.',
),
'ctype' => array(
@@ -43,7 +43,7 @@ return array(
'ok' => 'شما کتابخانه مورد نیاز برای بررسی نوع کاراکتر (ctype) را دارید.',
),
'curl' => array(
- 'nok' => 'کتابخانه cURL (بسته php-curl)را نمیتواند پیدا کند.',
+ 'nok' => 'کتابخانه cURL (بسته php-curl) پیدا نشد.',
'ok' => 'شما کتابخانه cURL را دارید.',
),
'data' => array(
@@ -51,18 +51,18 @@ return array(
'ok' => 'مجوزهای مربوط به دایرکتوری داده خوب است.',
),
'database-connection' => array(
- 'nok' => 'Database connection error.', // TODO
- 'ok' => 'Database connection is good.', // TODO
+ 'nok' => 'خطا در اتصال به پایگاه داده.',
+ 'ok' => 'اتصال به پایگاه داده درست است.',
),
'database-table' => array(
- 'nok' => 'Database table "%s" is incomplete.', // TODO
- 'ok' => 'Database table "%s" is good.', // TODO
+ 'nok' => 'جدول پایگاه داده "%s" ناقص است.',
+ 'ok' => 'جدول پایگاه داده "%s" درست است.',
),
'database-tables' => array(
- 'nok' => 'Some database tables are missing.', // TODO
- 'ok' => 'All database tables exist.', // TODO
+ 'nok' => 'برخی جدولهای پایگاه داده وجود ندارند.',
+ 'ok' => 'همه جدولهای پایگاه داده وجود دارند.',
),
- 'database-title' => 'Database', // TODO
+ 'database-title' => 'پایگاه داده',
'dom' => array(
'nok' => 'کتابخانه مورد نیاز برای مرور DOM را نمیتوان پیدا کرد.',
'ok' => 'شما کتابخانه مورد نیاز برای مرور DOM را دارید.',
@@ -77,8 +77,8 @@ return array(
),
'files' => ' نصب فایل',
'intl' => array(
- 'nok' => 'Cannot find the recommended library php-intl for internationalisation.', // TODO
- 'ok' => 'You have the recommended library php-intl for internationalisation.', // TODO
+ 'nok' => 'کتابخانه پیشنهادی php-intl برای بینالمللیسازی پیدا نشد.',
+ 'ok' => 'کتابخانه پیشنهادی php-intl برای بینالمللیسازی روی سیستم شما نصب است.',
),
'json' => array(
'nok' => 'کتابخانه پیشنهادی برای تجزیه JSON پیدا نشد.',
@@ -93,21 +93,21 @@ return array(
'ok' => 'شما کتابخانه مورد نیاز برای عبارات منظم (PCRE) را دارید.',
),
'pdo-mysql' => array(
- 'nok' => 'Cannot find the required PDO driver for MySQL/MariaDB.', // TODO
+ 'nok' => 'درایور PDO مورد نیاز برای MySQL/MariaDB پیدا نشد.',
),
'pdo-pgsql' => array(
- 'nok' => 'Cannot find the required PDO driver for PostgreSQL.', // TODO
+ 'nok' => 'درایور PDO مورد نیاز برای PostgreSQL پیدا نشد.',
),
'pdo-sqlite' => array(
- 'nok' => 'Cannot find the PDO driver for SQLite.', // TODO
- 'ok' => 'You have the PDO driver for SQLite.', // TODO
+ 'nok' => 'درایور PDO برای SQLite پیدا نشد.',
+ 'ok' => 'درایور PDO برای SQLite روی سیستم شما نصب است.',
),
'pdo' => array(
'nok' => 'نمیتوان PDO یا یکی از درایورهای پشتیبانیشده (pdo_mysql، pdo_sqlite، pdo_pgsql) را پیدا کرد.',
'ok' => 'شما PDO و حداقل یکی از درایورهای پشتیبانی شده (pdo_mysql، pdo_sqlite، pdo_pgsql) را دارید.',
),
'php' => array(
- '_' => ' نصب پی اچ پی',
+ '_' => 'نصب PHP',
'nok' => ' نسخه PHP شما %s است اما FreshRSS حداقل به نسخه %s نیاز دارد.',
'ok' => ' نسخه PHP شما (%s) با FreshRSS سازگار است.',
),
@@ -144,7 +144,7 @@ return array(
'max_char' => 'حداکثر ۱۶ کاراکتر الفبایی-عددی',
),
'fix_errors_before' => 'لطفا قبل از رفتن به مرحله بعدی، خطاها را برطرف کنید.',
- 'javascript_is_better' => 'FreshRSS با فعال بودن جاوا اسکریپت، کار امد تر است.',
+ 'javascript_is_better' => 'FreshRSS با فعال بودن جاوااسکریپت کارآمدتر است.',
'js' => array(
'confirm_reinstall' => 'با نصب مجدد FreshRSS، تنظیمات قبلی خود را از دست خواهید داد. آیا مطمئن هستید که میخواهید ادامه دهید؟',
),
diff --git a/app/i18n/fa/sub.php b/app/i18n/fa/sub.php
index 32291d3da..31a3e5f92 100644
--- a/app/i18n/fa/sub.php
+++ b/app/i18n/fa/sub.php
@@ -16,7 +16,7 @@ return array(
'title' => ' API',
),
'bookmarklet' => array(
- 'documentation' => ' این دکمه را به نوار ابزار نشانکهای خود بکشید یا روی آن راست کلیک کرده و «Bookmark This Link» را انتخاب کنید. سپس روی دکمه "اشتراک" در هر صفحه ای که می خواهید مشترک شوید کلیک کنید.',
+ 'documentation' => 'این دکمه را به نوار ابزار نشانکهای خود بکشید یا روی آن راستکلیک کنید و «نشانکگذاری این پیوند» را انتخاب کنید. سپس در هر صفحهای که میخواهید مشترک آن شوید، روی دکمه «اشتراک» کلیک کنید.',
'label' => ' مشترک شوید',
'title' => ' Bookmarklet',
),
@@ -29,13 +29,13 @@ return array(
'help' => ' URL را به فایل OPML ارائه دهید تا به صورت پویا این دسته با فیدها پر شود.',
),
'empty' => ' دسته خالی',
- 'error' => 'This dynamic OPML category has encountered a problem. Check that the OPML URL is still reachable and that the maximum number of feeds per user has not been exceeded.', // TODO
+ 'error' => 'این دسته OPML پویا با مشکل روبهرو شده است. بررسی کنید که URL فایل OPML هنوز در دسترس باشد و حداکثر تعداد فید برای هر کاربر رد نشده باشد.',
'expand' => 'دستهبندی را گسترش دهید',
'information' => ' اطلاعات',
'open' => 'دستهبندی باز',
'opml_url' => ' URL OPML',
'position' => ' موقعیت نمایش',
- 'position_help' => ' برای کنترل ترتیب مرتب سازی دسته بندی',
+ 'position_help' => 'برای کنترل ترتیب مرتبسازی دستهبندی',
'title' => ' عنوان',
),
'feed' => array(
@@ -63,14 +63,14 @@ return array(
'css_cookie' => ' هنگام واکشی محتوای مقاله از کوکی ها استفاده کنید',
'css_cookie_help' => ' مثال: foo=bar; gdpr_consent=true; cookie=value',
'css_help' => ' فیدهای RSS کوتاه شده را بازیابی می کند (احتیاط',
- 'css_path' => ' انتخاب کننده CSS مقاله در وب سایت اصلی',
+ 'css_path' => 'انتخابگر CSS مقاله در وبسایت اصلی',
'css_path_filter' => array(
'_' => ' انتخابگر CSS از عناصر برای حذف',
'help' => ' یک انتخابگر CSS ممکن است لیستی باشد مانند: .footer',
),
'description' => ' توضیحات',
'empty' => ' این فید خالی است. لطفاً بررسی کنید که هنوز نگهداری می شود.',
- 'error' => ' این فید با مشکل مواجه شده است. لطفاً بررسی کنید که همیشه در دسترس است و سپس آن را به روز کنید.', // DIRTY
+ 'error' => 'این فید با مشکل روبهرو شده است. بررسی کنید که هنوز در دسترس باشد و سپس آن را بهروزرسانی کنید.',
'export-as-opml' => array(
'download' => 'دانلود',
'help' => 'فایل XML (زیرمجموعه دادهها. مستندات را ببینید)',
@@ -81,13 +81,13 @@ return array(
'filteractions' => array(
'_' => ' اعمال فیلتر',
'help' => ' در هر خط یک فیلتر جستجو بنویسید. اپراتورها مستندات را ببینید.',
- 'view_filter' => 'Preview filters on existing articles (new window)', // TODO
+ 'view_filter' => 'پیشنمایش فیلترها روی مقالههای موجود (پنجره جدید)',
),
'http_headers' => 'HTTP سربرگها',
'http_headers_help' => 'سر برگ ها با یک خط جدید از هم جدا میشوند و نام و مقدار سربرگ ها با یک دونقطه از هم جدا میشوند (مثلاً: پذیرش: application/atom+xml
مجوز: Bearer some-token).',
'icon' => 'آیکون',
'information' => ' اطلاعات',
- 'keep_adding_feed' => 'Then add more feeds', // TODO
+ 'keep_adding_feed' => 'سپس فیدهای بیشتری اضافه کنید',
'keep_min' => ' حداقل تعداد مقالات برای نگهداری',
'kind' => array(
'_' => ' نوع منبع خوراک',
@@ -104,7 +104,7 @@ return array(
'_' => ' عنوان خوراک',
'help' => ' مثال: //title یا یک رشته ثابت: "فید سفارشی من"',
),
- 'help' => 'XPath 1.0 یک زبان جستجوی استاندارد برای پیشرفته است کاربران',
+ 'help' => 'XPath 1.0 یک زبان جستجوی استاندارد برای کاربران پیشرفته است',
'item' => array(
'_' => ' یافتن اخبار اقلام
(مهمترین)',
'help' => ' مثال: //div[@class="news-item"]',
@@ -124,7 +124,7 @@ return array(
),
'item_timeFormat' => array(
'_' => ' فرمت تاریخ/زمان سفارشی',
- 'help' => ' اختیاری. قالبی که توسط DateTime::createFromFormat() پشتیبانی میشود', // DIRTY
+ 'help' => 'اختیاری. قالبی که توسط DateTime::createFromFormat() پشتیبانی میشود، مانند d-m-Y H:i:s',
),
'item_timestamp' => array(
'_' => ' تاریخ مورد',
@@ -132,7 +132,7 @@ return array(
),
'item_title' => array(
'_' => ' عنوان مورد',
- 'help' => ' به طور خاص از محور XPath descendant:: مانند descendant::h2',
+ 'help' => 'به طور مشخص از محور XPath descendant:: استفاده کنید؛ مانند descendant::h2',
),
'item_uid' => array(
'_' => ' شناسه منحصر به فرد مورد',
@@ -159,7 +159,7 @@ return array(
'item_author' => 'نویسنده ',
'item_categories' => 'برچسبهای آیتم',
'item_content' => array(
- '_' => 'محتوای در مورد',
+ '_' => 'محتوای آیتم',
'help' => 'کلیدی که محتوا در آن یافت میشود، مثلاً content',
),
'item_thumbnail' => array(
@@ -171,11 +171,11 @@ return array(
'help' => 'اختیاری. فرمتی که توسط DateTime::createFromFormat() پشتیبانی میشود، مانند d-m-Y H:i:s',
),
'item_timestamp' => array(
- '_' => 'تاریخ کالا',
+ '_' => 'تاریخ آیتم',
'help' => 'نتیجه توسط strtotime() تجزیه و تحلیل خواهد شد.',
),
'item_title' => 'عنوان مورد',
- 'item_uid' => 'شناسه منحصر به فرد کالا',
+ 'item_uid' => 'شناسه یکتای آیتم',
'item_uri' => array(
'_' => 'لینک مورد (URL)',
'help' => 'مثال: پیوند یکتا',
@@ -187,10 +187,10 @@ return array(
'rss' => ' RSS / Atom (پیشفرض)',
'xml_xpath' => ' XML + XPath',
),
- 'last-entry-publication-date' => 'Last article published .', // TODO
- 'last-entry-received-date' => 'Last article received .', // TODO
- 'last-error-date' => 'Last erroneous update .', // TODO
- 'last-update' => 'Last successful update .', // TODO
+ 'last-entry-publication-date' => 'آخرین مقاله در منتشر شده است.',
+ 'last-entry-received-date' => 'آخرین مقاله در دریافت شده است.',
+ 'last-error-date' => 'آخرین بهروزرسانی ناموفق در بوده است.',
+ 'last-update' => 'آخرین بهروزرسانی موفق در بوده است.',
'maintenance' => array(
'clear_cache' => ' کش را پاک کنید',
'clear_cache_help' => ' کش این فید را پاک کنید.',
@@ -204,8 +204,8 @@ return array(
'_' => 'روش HTTP',
),
'method_help' => 'بار دادهی POST به طور خودکار از application/x-www-form-urlencoded و application/json پشتیبانی میکند.',
- 'method_postparams' => 'بار مفید برای پست',
- 'moved_category_deleted' => ' هنگامی که یک دسته را حذف می کنید',
+ 'method_postparams' => 'بدنه درخواست POST',
+ 'moved_category_deleted' => 'هنگام حذف دسته «%s»',
'mute' => array(
'_' => ' بی صدا',
'state_is_muted' => 'این فید بیصدا است',
@@ -216,8 +216,8 @@ return array(
'path_entries_conditions' => 'شرایط بازیابی محتوا',
'priority' => array(
'_' => ' دید',
- 'category' => ' نمایش در دسته بندی خود',
- 'feed' => 'Show in its feed', // TODO
+ 'category' => 'نمایش در دستهبندی خودش',
+ 'feed' => 'در فید خودش نشان داده شود',
'hidden' => 'نشان ندهید.',
'important' => 'نمایش در فیدهای مهم',
'main_stream' => ' نمایش در جریان اصلی',
@@ -244,26 +244,26 @@ return array(
'title_add' => ' یک فید RSS اضافه کنید',
'ttl' => ' بهطور خودکار بیشتر از آن رفرش نکنید',
'unicityCriteria' => array(
- '_' => 'معیارهای وحدت مقاله',
- 'forced' => 'اجباری',
- 'help' => 'مربوط به فیدهای نامعتبر.
⚠️ تغییر سیاست باعث ایجاد موارد تکراری میشود..',
+ '_' => 'معیارهای یکتایی مقاله',
+ 'forced' => 'اجباری',
+ 'help' => 'مربوط به فیدهای نامعتبر.
⚠️ تغییر این سیاست باعث ایجاد موارد تکراری میشود.',
'id' => 'شناسه استاندارد (پیش فرض)',
'link' => 'لینک',
- 'sha1:content' => 'Content', // TODO
- 'sha1:content_published' => 'Content + Date', // TODO
+ 'sha1:content' => 'محتوا',
+ 'sha1:content_published' => 'محتوا + تاریخ',
'sha1:link_published' => 'لینک + تاریخ',
'sha1:link_published_title' => 'لینک + تاریخ + عنوان',
'sha1:link_published_title_content' => 'لینک + تاریخ + عنوان + محتوا',
- 'sha1:published' => 'Date', // TODO
- 'sha1:title' => 'Title', // TODO
- 'sha1:title_published' => 'Title + Date', // TODO
- 'sha1:title_published_content' => 'Title + Date + Content', // TODO
+ 'sha1:published' => 'تاریخ',
+ 'sha1:title' => 'عنوان',
+ 'sha1:title_published' => 'عنوان + تاریخ',
+ 'sha1:title_published_content' => 'عنوان + تاریخ + محتوا',
),
'url' => ' URL فید',
'useragent' => ' عامل کاربر را برای واکشی این فید تنظیم کنید',
'useragent_help' => ' مثال: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)',
'validator' => ' اعتبار خوراک را بررسی کنید',
- 'website' => ' آدرس وب سایت',
+ 'website' => 'نشانی وبسایت',
'websub' => ' اطلاع رسانی فوری با WebSub',
),
'import_export' => array(
@@ -286,10 +286,10 @@ return array(
'import_export' => ' واردات / صادرات',
'label_management' => ' مدیریت برچسب',
'stats' => array(
- 'idle' => ' تغذیه بیکار',
+ 'idle' => 'فیدهای غیرفعال',
'main' => ' آمار اصلی',
- 'repartition' => ' تقسیم مجدد مقالات',
- 'unread_dates' => 'Unread dates', // TODO
+ 'repartition' => 'توزیع مقالهها',
+ 'unread_dates' => 'تاریخهای خواندهنشده',
),
'subscription_management' => ' مدیریت اشتراک',
'subscription_tools' => 'ابزارهای اشتراک',
@@ -309,7 +309,7 @@ return array(
'add_label' => ' یک برچسب اضافه کنید',
'add_opml_category' => 'نام دسته OPML',
'delete_label' => ' یک برچسب را حذف کنید',
- 'feed_management' => ' فیدهای RSS را مدیریت می کندment',
+ 'feed_management' => 'مدیریت فیدهای RSS',
'subscription_tools' => 'ابزارهای اشتراک',
),
);
diff --git a/app/i18n/fa/user.php b/app/i18n/fa/user.php
index 39fa69782..409f583c8 100644
--- a/app/i18n/fa/user.php
+++ b/app/i18n/fa/user.php
@@ -27,16 +27,16 @@ return array(
'unnecessary' => ' این آدرس ایمیل قبلاً تأیید شده است.',
'wrong_token' => ' این آدرس ایمیل به دلیل یک توکن اشتباه تأیید نشد.',
),
- 'need_to' => ' قبل از اینکه بتوانید از %s استفاده کنید',
+ 'need_to' => 'پیش از اینکه بتوانید از %s استفاده کنید، باید آدرس ایمیل خود را تأیید کنید.',
'resend_email' => ' ایمیل را دوباره ارسال کنید',
'title' => ' اعتبار سنجی آدرس ایمیل',
),
),
'mailer' => array(
'email_need_validation' => array(
- 'body' => ' شما به تازگی در %s ثبت نام کرده اید',
+ 'body' => 'شما بهتازگی در %s ثبتنام کردهاید، اما هنوز باید آدرس ایمیل خود را تأیید کنید. برای این کار، کافی است این پیوند را دنبال کنید:',
'title' => ' باید حساب خود را تأیید کنید',
- 'welcome' => ' خوش آمدید %s',
+ 'welcome' => 'خوش آمدید %s،',
),
),
'password' => array(
@@ -49,6 +49,6 @@ return array(
),
'username' => array(
'invalid' => ' این نام کاربری نامعتبر است.',
- 'taken' => ' این نام کاربری',
+ 'taken' => 'این نام کاربری، %s، قبلاً گرفته شده است.',
),
);