From 084f9549804b98a266a8438614064f873fd07b07 Mon Sep 17 00:00:00 2001 From: Ali Moslemi Date: Fri, 8 Aug 2025 12:31:47 +0330 Subject: Add Persian (fa) translations for FreshRSS (#7795) * Add Persian (fa) translations for FreshRSS * Fix Persian translation and syntax issues * Apply fix-all for Persian translation2 * Fix syntax errors and update Persian translations * Mark untranslated strings as IGNORE and fix remaining TODOs * make fix-all --------- Co-authored-by: Alexandre Alapetite --- app/i18n/fa/admin.php | 20 +++---- app/i18n/fa/conf.php | 98 ++++++++++++++++----------------- app/i18n/fa/feedback.php | 16 +++--- app/i18n/fa/gen.php | 54 +++++++++--------- app/i18n/fa/index.php | 50 ++++++++--------- app/i18n/fa/install.php | 134 ++++++++++++++++++++++----------------------- app/i18n/fa/sub.php | 116 +++++++++++++++++++-------------------- docs/i18n/flags/gen/fa.svg | 4 +- 8 files changed, 246 insertions(+), 246 deletions(-) diff --git a/app/i18n/fa/admin.php b/app/i18n/fa/admin.php index 848df0f5c..249f9afb6 100644 --- a/app/i18n/fa/admin.php +++ b/app/i18n/fa/admin.php @@ -16,11 +16,11 @@ return array( 'allow_anonymous_refresh' => ' اجازه بازخوانی ناشناس مقالات را بدهید', 'api_enabled' => ' اجازه دسترسی به API (الزامی برای برنامه های تلفن همراه and sharing user queries and sharing user queries)', // DIRTY 'form' => ' فرم وب (سنتی', - 'http' => 'HTTP (advanced: managed by Web server, OIDC, SSO…)', // TODO + 'http' => 'یک پروتکل ارتباطی است که برای انتقال داده‌ها ', 'none' => ' هیچ (خطرناک)', 'title' => ' احراز هویت', - 'token' => 'Master authentication token', // TODO - 'token_help' => 'Allows access to all RSS outputs of the user as well as refreshing feeds without authentication:', // TODO + 'token' => 'به نوعی دارایی دیجیتال اشاره دارد که از ویژگی حفظ ارزش و انتقال به دیگران برخوردار است. توکن ابزار دیجیتالی است که بر روی بلاک چین رمزگذاری می‌شود. می‌توان گفت که توکن همان ارزدیجیتال با ویژگی‌های منحصر به فرد است.', + 'token_help' => 'اجازه دسترسی به تمام خروجی های ار اس اس کاربر و همچنین به روزرسانی فید ها را بدون احراز هویت می دهد', 'type' => ' روش احراز هویت', 'unsafe_autologin' => ' اجازه ورود خودکار ناامن را با استفاده از قالب:', ), @@ -116,7 +116,7 @@ return array( 'description' => ' توضیحات', 'disabled' => ' معلول', 'empty_list' => ' هیچ برنامه افزودنی نصب شده ای وجود ندارد', - 'empty_list_help' => 'Check the logs to determine the reason behind the empty extension list.', // TODO + 'empty_list_help' => 'لاگ‌ها را بررسی کنید تا دلیل خالی بودن لیست افزونه‌ها مشخص شود', 'enabled' => ' فعال است', 'latest' => ' نصب شده است', 'name' => ' نام', @@ -148,9 +148,9 @@ return array( 'main_stream' => ' جریان اصلی', 'no_idle' => ' هیچ فید بیکار وجود ندارد!', 'number_entries' => ' %d مقاله', - 'overview' => 'Overview', // TODO + 'overview' => 'بررسی اجمالی', 'percent_of_total' => ' درصد از کل', - 'repartition' => ' تقسیم مجدد مقالات: %s', // DIRTY + 'repartition' => 'تقسیم‌بندی مجدد', 'status_favorites' => ' موارد دلخواه', 'status_read' => ' بخوانید', 'status_total' => ' مجموع', @@ -162,8 +162,8 @@ return array( '_' => ' پیکربندی سیستم', 'auto-update-url' => ' به روز رسانی خودکار URL سرور', 'base-url' => array( - '_' => 'Base URL', // TODO - 'recommendation' => 'Automatic recommendation: %s', // TODO + '_' => 'آدرس پایه', + 'recommendation' => 'توصیه: %s', ), 'cookie-duration' => array( 'help' => ' در ثانیه', @@ -189,14 +189,14 @@ return array( ), 'title' => 'فرم ثبت نام کاربر', ), - 'sensitive-parameter' => 'Sensitive parameter. Edit manually in ./data/config.php', // TODO + 'sensitive-parameter' => 'پارامتر حساس. Edit manually in ./data/config.php', 'tos' => array( 'disabled' => ' داده نشده است', 'enabled' => ' فعال است', 'help' => ' نحوه فعال کردن شرایط خدمات ', ), 'websub' => array( - 'help' => 'About WebSub', // TODO + 'help' => ' در مورد وب سایت', ), ), 'update' => array( diff --git a/app/i18n/fa/conf.php b/app/i18n/fa/conf.php index 660a2e0e9..bd3647aed 100644 --- a/app/i18n/fa/conf.php +++ b/app/i18n/fa/conf.php @@ -35,7 +35,7 @@ return array( 'darkMode' => array( '_' => ' حالت تاریک خودکار', 'auto' => ' خودکار', - 'help' => 'For compatible themes only', // TODO + 'help' => 'کمک', 'no' => ' شماره', ), 'icon' => array( @@ -100,35 +100,35 @@ return array( ), ), 'mark_read_button' => array( - '_' => '"علامت گذاری همه به عنوان خوانده شده" button', // DIRTY - 'big' => 'Big', // TODO - 'none' => 'None', // TODO - 'small' => 'Small', // TODO + '_' => '"علامت گذاری همه به عنوان خوانده شده" دکمه', + 'big' => 'بزرگ', + 'none' => 'هیچ', + 'small' => 'کوچک', ), 'privacy' => array( - '_' => 'Privacy', // TODO - 'retrieve_extension_list' => 'Retrieve extension list', // TODO + '_' => 'حریم خصوصی', + 'retrieve_extension_list' => 'بازیابی لیست افزونه‌ها', ), 'profile' => array( '_' => ' مدیریت پروفایل', 'api' => array( '_' => ' مدیریت API', - 'api_not_set' => 'API password not set', // TODO - 'api_set' => 'API password set', // TODO - 'check_link' => 'Check API status via: %s', // TODO - 'disabled' => 'The API access is disabled.', // TODO - 'documentation_link' => 'See the documentation and list of known apps', // TODO - 'help' => 'See documentation', // TODO + 'api_not_set' => 'API تنظیم نشده', + 'api_set' => 'API تنظیم شده', + 'check_link' => 'بررسی وضعیت از طریق: %s', + 'disabled' => 'غیرفعال', + 'documentation_link' => 'See the مستندات و فهرست برنامه‌های شناخته‌شده', // IGNORE + 'help' => 'See documentation', // IGNORE ), - 'change_password' => 'Change password', // TODO - 'confirm_new_password' => 'Confirm new password', // TODO - 'current_password' => 'Current password
(for the Web-form login method)', // TODO + 'change_password' => 'تغییر رمز عبور', + 'confirm_new_password' => 'تأیید رمز عبور جدید', + 'current_password' => 'رمز عبور کنونی
(for the Web-form login method)', 'delete' => array( '_' => ' حذف اکانت', 'warn' => ' حساب شما و تمام داده های مرتبط حذف خواهد شد.', ), 'email' => ' آدرس ایمیل', - 'new_password' => 'New password', // TODO + 'new_password' => 'رمز عبور جدید', 'password_api' => ' رمز عبور API
(مثلاً برای برنامه های تلفن همراه)', 'password_format' => ' حداقل 7 کاراکتر', 'title' => ' نمایه', @@ -136,51 +136,51 @@ return array( 'query' => array( '_' => ' پرس و جوهای کاربر', 'deprecated' => ' این عبارت دیگر معتبر نیست. دسته یا فید ارجاع شده حذف شده است.', - 'description' => 'Description', // TODO + 'description' => 'توضیحات', 'filter' => array( '_' => ' فیلتر اعمال شده:', 'categories' => ' نمایش بر اساس دسته بندی', 'feeds' => ' نمایش با فید', 'order' => ' مرتب سازی بر اساس تاریخ', 'search' => ' بیان', - 'shareOpml' => 'Enable sharing by OPML of corresponding categories and feeds', // TODO - 'shareRss' => 'Enable sharing by HTML & RSS', // TODO + 'shareOpml' => 'فعال‌سازی اشتراک‌گذاری دسته‌ها و فیدهای مربوطه با OPML', + 'shareRss' => 'اشتراک‌گذاری RSS', 'state' => ' ایالت', 'tags' => ' نمایش بر اساس برچسب', 'type' => ' نوع', ), - 'get_A' => 'Show all feeds, also those shown in their category', // TODO - 'get_Z' => 'Show all feeds, also archived ones', // TODO + 'get_A' => 'نمایش همه فیدها، از جمله فیدهایی که در دسته‌بندی خودشان نشان داده شده‌اند', + 'get_Z' => 'نمایش همه فیدها، از جمله فیدهای بایگانی‌شده', 'get_all' => ' نمایش همه مقالات', - 'get_all_labels' => 'Display articles with any label', // TODO + 'get_all_labels' => 'نمایش مقالات با هر برچسبی', 'get_category' => ' دسته «%s» را نمایش دهید', 'get_favorite' => ' نمایش مقالات مورد علاقه', 'get_feed' => ' فید "%s" را نمایش دهید', - 'get_important' => 'Display articles from important feeds', // TODO - 'get_label' => 'Display articles with “%s” label', // TODO - 'help' => 'See the documentation for user queries and resharing by HTML / RSS / OPML.', // TODO - 'image_url' => 'Image URL', // TODO + 'get_important' => 'نمایش مقالات از فیدهای مهم', + 'get_label' => 'نمایش مقالات با برچسب %s', + 'help' => 'See the مستندات مربوط به پرس‌وجوهای کاربران و بازنشر آن‌ها HTML / RSS / OPML.', + 'image_url' => 'نشانی اینترنتی تصویر', 'name' => ' نام', 'no_filter' => ' بدون فیلتر', 'no_queries' => array( - '_' => 'No user queries are saved yet.', // TODO - 'help' => 'See documentation', // TODO + '_' => 'هنوز هیچ پرس‌وجوی کاربری ذخیره نشده است', + 'help' => 'See سند', ), 'number' => ' پرس و جو n°%d', 'order_asc' => ' ابتدا قدیمی ترین مقالات را نمایش دهید', 'order_desc' => ' ابتدا جدیدترین مقالات را نمایش دهید', 'search' => ' «%s» را جستجو کنید', 'share' => array( - '_' => 'Share this query by link', // TODO + '_' => 'اشتراک‌گذاری این پرس‌وجو از طریق لینک', 'disabled' => array( - '_' => 'disabled', // TODO - 'title' => 'Sharing', // TODO + '_' => 'غیرفعال', + 'title' => 'اشتراک‌گذاری', ), - 'greader' => 'Shareable link to the GReader JSON', // TODO - 'help' => 'Give this link if you want to share this query with anyone', // TODO - 'html' => 'Shareable link to the HTML page', // TODO - 'opml' => 'Shareable link to the OPML list of feeds', // TODO - 'rss' => 'Shareable link to the RSS feed', // TODO + 'greader' => 'لینک قابل اشتراک‌گذاری برای JSON GReader', + 'help' => 'اگر می‌خواهید این جستجو را با کسی به اشتراک بگذارید، این پیوند را بدهید', + 'html' => 'لینک قابل اشتراک‌گذاری به صفحه HTML', + 'opml' => 'لینک قابل اشتراک‌گذاری برای فهرست OPML فیدها', + 'rss' => 'لینک قابل اشتراک‌گذاری برای فید RSS', ), 'state_0' => 'نمایش همه مقالات', 'state_1' => 'نمایش مقالات خوانده شده', @@ -204,7 +204,7 @@ return array( '_' => ' خواندن', 'after_onread' => ' بعد از "علامت گذاری همه به عنوان خوانده شده"', 'always_show_favorites' => ' نمایش همه مقالات در موارد دلخواه به طور پیش فرض', - 'apply_to_individual_feed' => 'Applies to feeds individually', // TODO + 'apply_to_individual_feed' => 'به صورت جداگانه برای هر فید اعمال می‌شود', 'article' => array( 'authors_date' => array( '_' => ' نویسندگان و تاریخ', @@ -220,9 +220,9 @@ return array( ), 'feed_title' => ' عنوان خوراک', 'icons' => array( - '_' => 'Article icons position
(Reading view only)', // TODO - 'above_title' => 'Above title', // TODO - 'with_authors' => 'In authors and date row', // TODO + '_' => 'موقعیت آیکون‌ها
(Reading view only)', + 'above_title' => 'بالاتر از عنوان', + 'with_authors' => 'در سطر نویسنده و تاریخ', ), 'tags' => array( '_' => ' برچسب ها', @@ -258,25 +258,25 @@ return array( 'read' => array( 'article_open_on_website' => ' هنگامی که مقاله در وب سایت اصلی خود باز می شود', 'article_viewed' => ' هنگام مشاهده مقاله', - 'focus' => 'when focused (except for important feeds)', // TODO + 'focus' => 'فقط هنگام انتخاب فید (به‌جز فیدهای مهم)', 'keep_max_n_unread' => ' حداکثر تعداد مقالات خوانده نشده', - 'scroll' => '(except for important feeds) در حین پیمایش', // DIRTY + 'scroll' => '(به‌جز فیدهای مهم) در حین پیمایش', 'upon_gone' => ' زمانی که دیگر در فید اخبار بالادستی نیست', 'upon_reception' => ' پس از دریافت مقاله', 'when' => ' علامت گذاری یک مقاله به عنوان خوانده شده…', - 'when_same_title_in_category' => 'if an identical title already exists in the top n newest articles of the category', // TODO - 'when_same_title_in_feed' => ' اگر عنوان یکسانی از قبل در n جدیدترین مقالات بالا وجود داشته باشد (of the feed)', // DIRTY + 'when_same_title_in_category' => 'اگر عنوان مشابهی در بخش بالا وجود دارد n تازه‌ترین مقالات این دسته', + 'when_same_title_in_feed' => ' اگر عنوان یکسانی از قبل در n جدیدترین مقالات بالا وجود داشته باشد (از فید)', ), 'show' => array( '_' => ' مقالات برای نمایش', 'active_category' => ' دسته فعال', - 'adaptive' => 'Show unreads if any, all articles otherwise', // TODO + 'adaptive' => 'اگر مقاله‌ای خوانده‌نشده موجود است، آن‌ها را نمایش دهد؛ در غیر این صورت، تمام مقالات را نشان دهد.', 'all_articles' => ' نمایش همه مقالات', 'all_categories' => ' همه دسته ها', 'no_category' => ' بدون دسته', 'remember_categories' => ' دسته بندی های باز را به خاطر بسپارید', 'unread' => ' فقط خوانده نشده را نشان دهد', - 'unread_or_favorite' => 'Show unreads and favourites', // TODO + 'unread_or_favorite' => 'نمایش خوانده‌نشده‌ها و موردعلاقه‌ها', ), 'show_fav_unread_help' => ' روی برچسب ها نیز اعمال می شود', 'sides_close_article' => ' با کلیک کردن خارج از ناحیه متن مقاله', @@ -286,7 +286,7 @@ return array( 'older_first' => ' اول قدیمی ترین', ), 'star' => array( - 'when' => 'Mark an article as favourite…', // TODO + 'when' => 'یک مطلب را به عنوان مورد علاقه علامت‌گذاری کن...', ), 'sticky_post' => ' وقتی باز شد مقاله را به بالا بچسبانید', 'title' => ' خواندن', @@ -300,7 +300,7 @@ return array( 'sharing' => array( '_' => ' اشتراک گذاری', 'add' => ' یک روش اشتراک گذاری اضافه کنید', - 'bluesky' => 'Bluesky', // TODO + 'bluesky' => 'Bluesky( یک شبکه اجتماعی غیرمتمرکز است که به کاربران اجازه می‌دهد پست‌های کوتاه، عکس و ویدیو به اشتراک بگذارند)', 'deprecated' => ' این سرویس منسوخ شده است و در نسخه آینده.', 'diaspora' => ' دیاسپورا*', 'email' => ' ایمیل', diff --git a/app/i18n/fa/feedback.php b/app/i18n/fa/feedback.php index 980f8793a..ecc5d14c5 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”! Fall back to “Normal view”.', // TODO + 'invalid_view_mode' => 'حالت نمایشی که انتخاب کردی درست نیست! برمی‌گردم به حالت', 'no_access' => ' شما به %s دسترسی ندارید', 'not_enabled' => '%s فعال نیست', 'not_found' => '%s وجود ندارد', @@ -58,15 +58,15 @@ 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.', // DIRTY - '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.', // DIRTY + '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.', 'file_cannot_be_uploaded' => ' فایل قابل آپلود نیست!', 'no_zip_extension' => ' پسوند ZIP در سرور شما وجود ندارد.', 'zip_error' => ' در حین پردازش ZIP خطایی روی داد.', ), 'profile' => array( 'error' => ' نمایه شما قابل تغییر نیست', - 'passwords_dont_match' => 'Passwords don’t match', // TODO + 'passwords_dont_match' => 'رمزهای عبور مطابقت ندارند', 'updated' => ' نمایه شما اصلاح شده است', ), 'sub' => array( @@ -97,8 +97,8 @@ return array( 'deleted' => ' فید حذف شده است', 'error' => ' فید را نمی توان به روز کرد', 'favicon' => array( - 'too_large' => 'Uploaded icon is too large. The maximum file size is %s.', // TODO - 'unsupported_format' => 'Unsupported image file format!', // TODO + 'too_large' => 'نماد آپلود شده خیلی بزرگ است. حداکثر حجم فایل %s.', + 'unsupported_format' => 'فرمت فایل تصویری پشتیبانی نمی‌شود!', ), 'internal_problem' => ' فید خبری اضافه نشد. برای جزئیات گزارش‌های FreshRSS را بررسی کنید. می‌توانید با اضافه کردن #force_feed به URL', 'invalid_url' => ' URL %s نامعتبر است', @@ -122,10 +122,10 @@ return array( ), 'tag' => array( 'created' => ' برچسب "%s" ایجاد شده است.', - 'error' => 'Label could not be updated!', // TODO + 'error' => 'برچسب به‌روزرسانی نشد!', 'name_exists' => ' نام برچسب از قبل وجود دارد.', 'renamed' => ' برچسب "%s" به "%s" تغییر نام داده است.', - 'updated' => 'Label has been updated.', // TODO + 'updated' => 'برچسب به‌روزرسانی شد.', ), 'update' => array( 'can_apply' => ' به‌روزرسانی FreshRSS موجود است: نسخه %s.', diff --git a/app/i18n/fa/gen.php b/app/i18n/fa/gen.php index 33f3056cc..99a411f4e 100644 --- a/app/i18n/fa/gen.php +++ b/app/i18n/fa/gen.php @@ -16,14 +16,14 @@ return array( 'add' => ' اضافه کنید', 'back_to_rss_feeds' => '← به فیدهای RSS خود برگردید', 'cancel' => ' لغو', - 'close' => 'Close', // TODO + 'close' => 'بستن', 'create' => ' ایجاد کنید', - 'delete_all_feeds' => 'Delete all feeds', // TODO - 'delete_errored_feeds' => 'Delete feeds with errors', // TODO + 'delete_all_feeds' => 'حذف تمام فیدها', + 'delete_errored_feeds' => 'فیدهای دارای خطا را حذف کن', 'delete_muted_feeds' => ' فیدهای خاموش را حذف کنید', 'demote' => ' تنزل دادن', 'disable' => ' غیر فعال کردن', - 'download' => 'Download', // TODO + 'download' => 'دانلود', 'empty' => ' خالی', 'enable' => ' فعال کنید', 'export' => ' صادرات', @@ -33,12 +33,12 @@ return array( 'manage' => ' مدیریت', 'mark_read' => ' علامت گذاری به عنوان خوانده شده', 'menu' => array( - 'open' => 'Open menu', // TODO + 'open' => 'باز کردن منو', ), 'nav_buttons' => array( - 'next' => 'Next article', // TODO - 'prev' => 'Previous article', // TODO - 'up' => 'Go up', // TODO + 'next' => 'مقاله بعدی', + 'prev' => 'مقاله قبلی', + 'up' => 'برو بالا', ), 'open_url' => ' URL را باز کنید', 'promote' => ' ترویج', @@ -62,9 +62,9 @@ return array( 'format' => 'حداقل 7 نویسه', ), 'reauth' => array( - 'header' => 'Reauthentication is required', // TODO - 'tip' => 'You won’t be asked to sign in again for %d minutes', // TODO - 'title' => 'Reauthentication', // TODO + 'header' => 'احراز هویت مجدد لازم است', + 'tip' => 'دیگر از شما خواسته نمی‌شود که دوباره وارد شوید %d دقیقه', + 'title' => 'ورود مجدد', ), 'registration' => array( '_' => ' حساب جدید', @@ -77,18 +77,18 @@ return array( ), ), 'date' => array( - 'Apr' => '\\A\\p\\r\\i\\l', // TODO - 'Aug' => '\\A\\u\\g\\u\\s\\t', // TODO - 'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r', // TODO - 'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y', // TODO - 'Jan' => '\\J\\a\\n\\u\\a\\r\\y', // TODO - 'Jul' => '\\J\\u\\l\\y', // TODO - 'Jun' => '\\J\\u\\n\\e', // TODO - 'Mar' => '\\M\\a\\r\\c\\h', // TODO - 'May' => '\\M\\a\\y', // TODO - 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', // TODO - 'Oct' => '\\O\\c\\t\\o\\b\\e\\r', // TODO - 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', // TODO + 'Apr' => 'آ/و/ر/ی/ل//', + 'Aug' => 'آ/گ/و/س/ت//', + 'Dec' => 'د/س/ا/م/ب/ر//', + 'Feb' => 'ف/و/ر/ی/ه//', + 'Jan' => 'ژ/ا/ن/و/ی/ه//', + 'Jul' => 'ژ/و/ئ/ی/ه//', + 'Jun' => 'ژ/و/ئ/ن//', + 'Mar' => 'م/ا/ر/س//', + 'May' => 'م/ی//', + 'Nov' => 'ن/و/ا/م/ب/ر//', + 'Oct' => 'ا/ک/ت/ب/ر//', + 'Sep' => 'س/پ/ت/ا/م/ب/ر//', 'apr' => ' آوریل', 'april' => ' آوریل', 'aug' => ' آگوست', @@ -98,8 +98,8 @@ return array( 'december' => ' دسامبر', 'feb' => ' فوریه', 'february' => ' فوریه', - 'format_date' => 'j %s Y', // TODO - 'format_date_hour' => 'j %s Y \\a\\t H\\:i', // TODO + 'format_date' => 'j %s Y', // IGNORE + 'format_date_hour' => 'j %s Y \\a\\t H\\:i', // IGNORE 'fri' => ' جمعه', 'jan' => ' ژانویه', 'january' => ' ژانویه', @@ -151,7 +151,7 @@ return array( 'request_failed' => ' یک درخواست شکست خورده است', 'title_new_articles' => ' FreshRSS: مقالات جدید!', ), - 'labels_empty' => 'No labels', // TODO + 'labels_empty' => 'بدون برچسب', 'new_article' => 'مقالات جدیدی موجود است', 'should_be_activated' => ' جاوا اسکریپت باید فعال باشد', ), @@ -194,7 +194,7 @@ return array( 'display' => 'نمایش', 'extensions' => ' برنامه های افزودنی', 'logs' => ' سیاهههای مربوط', - 'privacy' => 'Privacy', // TODO + 'privacy' => 'حریم خصوصی', 'queries' => ' پرس و جوهای کاربر', 'reading' => ' خواندن', 'search' => ' کلمات یا #برچسب ها را جستجو کنید', diff --git a/app/i18n/fa/index.php b/app/i18n/fa/index.php index 283bbf805..716f818da 100644 --- a/app/i18n/fa/index.php +++ b/app/i18n/fa/index.php @@ -16,13 +16,13 @@ return array( 'agpl3' => ' AGPL 3', 'bug_reports' => array( 'environment_information' => array( - '_' => 'System information', // TODO - 'browser' => 'Browser', // TODO - 'database' => 'Database', // TODO - 'server_software' => 'Server software', // TODO - 'version_curl' => 'cURL version', // TODO - 'version_frss' => 'FreshRSS version', // TODO - 'version_php' => 'PHP version', // TODO + '_' => ' اطلاعات سیستم', + 'browser' => 'مرورگر', + 'database' => 'پایگاه داده', + 'server_software' => 'نرم‌افزار سرور', + 'version_curl' => 'نسخه cURL', + 'version_frss' => 'سخه FreshRSS', + 'version_php' => 'نسخه PHP', ), ), 'bugs_reports' => ' گزارش اشکال', @@ -37,9 +37,9 @@ return array( 'feed' => array( 'empty' => ' هیچ مقاله ای برای نمایش وجود ندارد.', 'received' => array( - 'before_yesterday' => 'Received before yesterday', // TODO - 'today' => 'Received today', // TODO - 'yesterday' => 'Received yesterday', // TODO + 'before_yesterday' => 'پیش از دیروز دریافت شد', + 'today' => 'امروز دریافت شد', + 'yesterday' => 'دیروز دریافت شد', ), 'rss_of' => ' فید RSS %s', 'title' => ' جریان اصلی', @@ -59,7 +59,7 @@ return array( 'bookmark_query' => ' درخواست فعلی را نشانک‌گذاری کنید', 'favorites' => ' موارد دلخواه (%s)', 'global_view' => ' نمای جهانی', - 'important' => 'Important feeds', // TODO + 'important' => 'فیدهای مهم', 'main_stream' => ' جریان اصلی', 'mark_all_read' => ' همه را به عنوان خوانده شده علامت گذاری کنید', 'mark_cat_read' => ' دسته را به عنوان خوانده شده علامت گذاری کنید', @@ -76,24 +76,24 @@ return array( 'rss_view' => ' خوراک RSS', 'search_short' => ' جستجو', 'sort' => array( - '_' => 'Sorting criteria', // TODO + '_' => 'معیارهای مرتب‌سازی', 'c' => array( - 'name_asc' => 'Category, feed titles A→Z', // TODO - 'name_desc' => 'Category, feed titles Z→A', // TODO + 'name_asc' => 'دسته بندی، عناوین فید A→Z', + 'name_desc' => 'دسته بندی، عناوین فید Z→A', ), - 'date_asc' => 'Publication date 1→9', // TODO - 'date_desc' => 'Publication date 9→1', // TODO + 'date_asc' => 'تاریخ انتشار ۱→۹', + 'date_desc' => 'تاریخ انتشار ۹→۱', 'f' => array( - 'name_asc' => 'Feed title A→Z', // TODO - 'name_desc' => 'Feed title Z→A', // TODO + 'name_asc' => 'عنوان فید A→Z', + 'name_desc' => 'عنوان فید Z→A', ), - 'id_asc' => 'Freshly received last', // TODO - 'id_desc' => 'Freshly received first', // TODO - 'link_asc' => 'Link A→Z', // TODO - 'link_desc' => 'Link Z→A', // TODO - 'rand' => 'Random order', // TODO - 'title_asc' => 'Title A→Z', // TODO - 'title_desc' => 'Title Z→A', // TODO + 'id_asc' => 'آخرین مورد، به تازه گی دریافت شد', + 'id_desc' => 'نخستین مورد دریافت‌شده به تازگی', + 'link_asc' => 'لینک A→Z', + 'link_desc' => 'لینک Z→A', + 'rand' => 'ترتیب تصادفی', + 'title_asc' => 'عنوانA→Z', + 'title_desc' => 'عنوان Z→A', ), 'starred' => ' نمایش موارد دلخواه', 'stats' => ' آمار', diff --git a/app/i18n/fa/install.php b/app/i18n/fa/install.php index e0c39193f..f48d9876c 100644 --- a/app/i18n/fa/install.php +++ b/app/i18n/fa/install.php @@ -12,117 +12,117 @@ return array( 'action' => array( - 'finish' => 'Complete installation', // TODO - 'fix_errors_before' => 'Please all fix errors before continuing to the next step.', // TODO - 'keep_install' => 'Keep previous configuration', // TODO - 'next_step' => 'Go to the next step', // TODO - 'reinstall' => 'Reinstall FreshRSS', // TODO + 'finish' => 'مراحل نصب به پایان رسید', + 'fix_errors_before' => 'لطفاً تمام خطاها را قبل از رفتن به مرحله بعد برطرف کنید.', + 'keep_install' => 'پیکربندی قبلی را حفظ کنید', + 'next_step' => 'به مرحله بعد بروید', + 'reinstall' => 'نصب مجدد FreshRSS', ), 'bdd' => array( - '_' => 'Database', // TODO + '_' => 'پایگاه داده', 'conf' => array( - '_' => 'Database configuration', // TODO - 'ko' => 'Verify your database configuration.', // TODO - 'ok' => 'Database configuration has been saved.', // TODO - ), - 'host' => 'Host', // TODO - 'password' => 'Database password', // TODO - 'prefix' => 'Table prefix', // TODO - 'type' => 'Type of database', // TODO - 'username' => 'Database username', // TODO + '_' => 'پیکربندی پایگاه داده', + 'ko' => 'یکربندی پایگاه داده خود را تأیید کنید.', + 'ok' => 'تنظیمات پایگاه داده ذخیره شد.', + ), + 'host' => 'هاست', + 'password' => 'رمز عبور پایگاه داده', + 'prefix' => 'پیشوند جدول', + 'type' => 'نوع پایگاه داده', + 'username' => 'نام کاربری پایگاه داده', ), 'check' => array( - '_' => 'Checks', // TODO - 'already_installed' => 'We have detected that FreshRSS is already installed!', // TODO + '_' => 'بررسی‌ها', + 'already_installed' => 'ما تشخیص دادم FreshRSS قبلا نصب شده', 'cache' => array( - 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permission.', // TODO - 'ok' => 'Permissions on the cache directory are good.', // TODO + 'nok' => 'بررسی مجوزها در %1$s دایرکتوری برای %2$s کاربر.سرور وب نیاز به دسترسی نوشتن دارد', + 'ok' => 'مجوزهای موجود در فهرست حافظه پنهان خوب است.', ), 'ctype' => array( - 'nok' => 'Cannot find the required library for character type checking (php-ctype).', // TODO - 'ok' => 'You have the required library for character type checking (ctype).', // TODO + 'nok' => 'کتابخانه مورد نیاز برای بررسی نوع کاراکتر (php-ctype) را نمی‌توان پیدا کرد.', + 'ok' => 'شما کتابخانه مورد نیاز برای بررسی نوع کاراکتر (ctype) را دارید.', ), 'curl' => array( - 'nok' => 'Cannot find the cURL library (php-curl package).', // TODO - 'ok' => 'You have the cURL library.', // TODO + 'nok' => 'کتابخانه cURL (بسته php-curl)را نمی‌تواند پیدا کند.', + 'ok' => 'شما کتابخانه cURL را دارید.', ), 'data' => array( - 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permission.', // TODO - 'ok' => 'Permissions on the data directory are good.', // TODO + 'nok' => 'مجوزهای دایرکتوری %1$s را برای کاربر %2$s بررسی کنید. سرور HTTP باید مجوز نوشتن داشته باشد.', + 'ok' => 'مجوزهای مربوط به دایرکتوری داده خوب است.', ), 'dom' => array( - 'nok' => 'Cannot find the required library to browse the DOM.', // TODO - 'ok' => 'You have the required library to browse the DOM.', // TODO + 'nok' => 'کتابخانه مورد نیاز برای مرور DOM را نمی‌توان پیدا کرد.', + 'ok' => 'شما کتابخانه مورد نیاز برای مرور DOM را دارید.', ), 'favicons' => array( - 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permission.', // TODO - 'ok' => 'Permissions on the favicons directory are good.', // TODO + 'nok' => 'مجوزهای دایرکتوری %1$s را برای کاربر %2$s بررسی کنید. سرور HTTP باید مجوز نوشتن داشته باشد.', + 'ok' => 'دسترسی‌ها به پوشه‌ی favicons خوب است.', ), 'fileinfo' => array( - 'nok' => 'Cannot find the PHP fileinfo library (fileinfo package).', // TODO - 'ok' => 'You have the fileinfo library.', // TODO + 'nok' => 'نمی‌توانم کتابخانه‌ی PHP fileinfo (بسته‌ی fileinfo) را پیدا کنم.', + 'ok' => 'شما کتابخانه fileinfo را دارید.', ), 'json' => array( - 'nok' => 'Cannot find the recommended library to parse JSON.', // TODO - 'ok' => 'You have the recommended library to parse JSON.', // TODO + 'nok' => 'کتابخانه پیشنهادی برای تجزیه JSON پیدا نشد.', + 'ok' => 'شما کتابخانه پیشنهادی برای تجزیه JSON را دارید.', ), 'mbstring' => array( - 'nok' => 'Cannot find the recommended library mbstring for Unicode.', // TODO - 'ok' => 'You have the recommended library mbstring for Unicode.', // TODO + 'nok' => 'کتابخانه ضروری mbstring جهت پشتیبانی از یونیکد پیدا نشد', + 'ok' => 'کتابخانه توصیه شده mbstring برای یونیکد روی سیستم شما نصب است.', ), 'pcre' => array( - 'nok' => 'Cannot find the required library for regular expressions (php-pcre).', // TODO - 'ok' => 'You have the required library for regular expressions (PCRE).', // TODO + 'nok' => 'کتابخانه مورد نیاز برای عبارات منظم (php-pcre) را نمی‌توان پیدا کرد', + 'ok' => 'شما کتابخانه مورد نیاز برای عبارات منظم (PCRE) را دارید.', ), 'pdo' => array( - 'nok' => 'Cannot find PDO or one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', // TODO - 'ok' => 'You have PDO and at least one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', // TODO + 'nok' => 'نمی‌توان PDO یا یکی از درایورهای پشتیبانی‌شده (pdo_mysql، pdo_sqlite، pdo_pgsql) را پیدا کرد.', + 'ok' => 'شما PDO و حداقل یکی از درایورهای پشتیبانی شده (pdo_mysql، pdo_sqlite، pdo_pgsql) را دارید.', ), 'php' => array( - 'nok' => 'Your PHP version is %s, but FreshRSS requires at least version %s.', // TODO - 'ok' => 'Your PHP version, %s, is compatible with FreshRSS.', // TODO + 'nok' => 'نسخه PHP شما %s است، اما FreshRSS حداقل به نسخه %s نیاز دارد.', + 'ok' => 'نسخه PHP شما، %s، با FreshRSS سازگار است.', ), - 'reload' => 'Check again', // TODO + 'reload' => 'دوباره بررسی کنید', 'tmp' => array( - 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permissions.', // TODO - 'ok' => 'Permissions on the temp directory are good.', // TODO + 'nok' => 'مجوزهای دایرکتوری %1$s را برای کاربر %2$s بررسی کنید. سرور HTTP باید مجوزهای نوشتن داشته باشد.', + 'ok' => 'مجوزهای مربوط به دایرکتوری موقت خوب است.', ), - 'unknown_process_username' => 'unknown', // TODO + 'unknown_process_username' => 'ناشناخته', 'users' => array( - 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permissions.', // TODO - 'ok' => 'Permissions on the users directory are good.', // TODO + 'nok' => 'مجوزهای دایرکتوری %1$s را برای کاربر %2$s بررسی کنید. سرور HTTP باید مجوزهای نوشتن داشته باشد.', + 'ok' => 'مجوزهای مربوط به دایرکتوری کاربران خوب است.', ), 'xml' => array( - 'nok' => 'Cannot find the required library to parse XML.', // TODO - 'ok' => 'You have the required library to parse XML.', // TODO + 'nok' => 'کتابخانه مورد نیاز برای تجزیه XML پیدا نمی‌شود.', + 'ok' => 'شما کتابخانه مورد نیاز برای تجزیه XML را دارید.', ), ), 'conf' => array( - '_' => 'General configuration', // TODO - 'ok' => 'General configuration has been saved.', // TODO + '_' => 'پیکربندی عمومی', + 'ok' => 'پیکربندی عمومی ذخیره شده است.', ), - 'congratulations' => 'Congratulations!', // TODO + 'congratulations' => 'تبریک می‌گویم!', 'default_user' => array( - '_' => 'Username of the default user', // TODO - 'max_char' => 'maximum 16 alphanumeric characters', // TODO + '_' => 'نام کاربری کاربر پیش‌فرض', + 'max_char' => 'حداکثر ۱۶ کاراکتر الفبایی-عددی', ), - 'fix_errors_before' => 'Please fix errors before continuing to the next step.', // TODO - 'javascript_is_better' => 'FreshRSS is more pleasant with JavaScript enabled', // TODO + 'fix_errors_before' => 'لطفا قبل از رفتن به مرحله بعدی، خطاها را برطرف کنید.', + 'javascript_is_better' => 'FreshRSS با فعال بودن جاوا اسکریپت، کار امد تر است.', 'js' => array( - 'confirm_reinstall' => 'You will lose your previous configuration by reinstalling FreshRSS. Are you sure you want to continue?', // TODO + 'confirm_reinstall' => 'با نصب مجدد FreshRSS، تنظیمات قبلی خود را از دست خواهید داد. آیا مطمئن هستید که می‌خواهید ادامه دهید؟', ), 'language' => array( - '_' => 'Language', // TODO - 'choose' => 'Choose a language for FreshRSS', // TODO - 'defined' => 'Language has been defined.', // TODO + '_' => 'زبان', + 'choose' => 'یک زبان برای FreshRSS انتخاب کنید', + 'defined' => 'زبان تعریف شده است.', ), - 'missing_applied_migrations' => 'Something went wrong; you should create an empty file %s manually.', // TODO - 'ok' => 'The installation process was successful.', // TODO + 'missing_applied_migrations' => 'مشکلی پیش آمده است؛ شما باید یک فایل خالی %s به صورت دستی ایجاد کنید.', + 'ok' => 'مراحل نصب با موفقیت انجام شد.', 'session' => array( - 'nok' => 'The web server seems to be incorrectly configured for cookies required for PHP sessions!', // TODO + 'nok' => 'به نظر می‌رسد وب سرور برای کوکی‌های مورد نیاز برای جلسات PHP به طور نادرست پیکربندی شده است!', ), - 'step' => 'step %d', // TODO - 'steps' => 'Steps', // TODO - 'this_is_the_end' => 'This is the end', // TODO - 'title' => 'Installation · FreshRSS', // TODO + 'step' => 'مرحله %d', + 'steps' => 'مراحل', + 'this_is_the_end' => 'پایان', + 'title' => 'نصب · FreshRSS', ); diff --git a/app/i18n/fa/sub.php b/app/i18n/fa/sub.php index c577c6869..9eb445f39 100644 --- a/app/i18n/fa/sub.php +++ b/app/i18n/fa/sub.php @@ -29,9 +29,9 @@ return array( 'help' => ' URL را به فایل OPML ارائه دهید تا به صورت پویا این دسته با فیدها پر شود.', ), 'empty' => ' دسته خالی', - 'expand' => 'Expand category', // TODO + 'expand' => 'دسته‌بندی را گسترش دهید', 'information' => ' اطلاعات', - 'open' => 'Open category', // TODO + 'open' => 'دسته‌بندی باز', 'opml_url' => ' URL OPML', 'position' => ' موقعیت نمایش', 'position_help' => ' برای کنترل ترتیب مرتب سازی دسته بندی', @@ -50,7 +50,7 @@ return array( 'password' => ' رمز عبور HTTP', 'username' => ' نام کاربری HTTP', ), - 'change_favicon' => 'Change…', // TODO + 'change_favicon' => 'تغییر…', 'clear_cache' => ' همیشه حافظه پنهان را پاک کنید', 'content_action' => array( '_' => ' اقدام محتوا هنگام واکشی محتوای مقاله', @@ -58,7 +58,7 @@ return array( 'prepend' => ' قبل از محتوای موجود اضافه کنید', 'replace' => ' محتوای موجود را جایگزین کنید', ), - 'content_retrieval' => 'Content retrieval', // TODO + 'content_retrieval' => 'بازیابی محتوا', 'css_cookie' => ' هنگام واکشی محتوای مقاله از کوکی ها استفاده کنید', 'css_cookie_help' => ' مثال: foo=bar; gdpr_consent=true; cookie=value', 'css_help' => ' فیدهای RSS کوتاه شده را بازیابی می کند (احتیاط', @@ -71,28 +71,28 @@ return array( 'empty' => ' این فید خالی است. لطفاً بررسی کنید که هنوز نگهداری می شود.', 'error' => ' این فید با مشکل مواجه شده است. لطفاً بررسی کنید که همیشه در دسترس است و سپس آن را به روز کنید.', // DIRTY 'export-as-opml' => array( - 'download' => 'Download', // TODO - 'help' => 'XML file (data subset. See documentation)', // TODO - 'label' => 'Export as OPML', // TODO + 'download' => 'دانلود', + 'help' => 'فایل XML (زیرمجموعه داده‌ها. مستندات را ببینید)', + 'label' => 'خروجی به صورت OPML', ), - 'ext_favicon' => 'Set automatically', // TODO - 'favicon_changed_by_ext' => 'The icon has been set by the %s extension.', // TODO + 'ext_favicon' => 'تنظیم خودکار', + 'favicon_changed_by_ext' => 'این آیکون توسط افزونه‌ی %s تنظیم شده است.', 'filteractions' => array( '_' => ' اعمال فیلتر', 'help' => ' در هر خط یک فیلتر جستجو بنویسید. اپراتورها مستندات را ببینید.', ), - 'http_headers' => 'HTTP Headers', // TODO - 'http_headers_help' => 'Headers are separated by a newline, and the name and value of a header are separated by a colon (e.g: Accept: application/atom+xml
Authorization: Bearer some-token
).', // TODO - 'icon' => 'Icon', // TODO + 'http_headers' => 'HTTP سربرگ‌ها', + 'http_headers_help' => 'سر برگ ها با یک خط جدید از هم جدا می‌شوند و نام و مقدار سربرگ ها با یک دونقطه از هم جدا می‌شوند (مثلاً: پذیرش: application/atom+xml
مجوز: Bearer some-token
).', + 'icon' => 'آیکون', 'information' => ' اطلاعات', 'keep_min' => ' حداقل تعداد مقالات برای نگهداری', 'kind' => array( '_' => ' نوع منبع خوراک', 'html_json' => array( - '_' => 'HTML + XPath + JSON dot notation (JSON in HTML)', // TODO + '_' => 'HTML + XPath + JSON dot notation (JSON in HTML)', // IGNORE 'xpath' => array( - '_' => 'XPath for JSON in HTML', // TODO - 'help' => 'Example: normalize-space(//script[@type="application/json"]) (single JSON)
or: //script[@type="application/ld+json"] (one JSON object per article)', // TODO + '_' => 'XPath برای JSON در HTML', + 'help' => 'مثال: normalize-space(//script[@type="application/json"]) (یک JSON)
یا: //script[@type="application/ld+json"] (یک شیء JSON برای هر مقاله)', ), ), 'html_xpath' => array( @@ -143,44 +143,44 @@ return array( 'xpath' => ' XPath برای:', ), 'json_dotnotation' => array( - '_' => 'JSON (dot notation)', // TODO + '_' => 'JSON (نماد نقطه‌ای)', 'feed_title' => array( - '_' => 'feed title', // TODO - 'help' => 'Example: meta.title or a static string: "My custom feed"', // TODO + '_' => 'عنوان فید', + 'help' => 'مثال: meta.title یا یک رشته استاتیک: "My custom feed"', ), - 'help' => 'A JSON dot notated uses dots between objects and brackets for arrays (e.g. data.items[0].title)', // TODO + 'help' => 'یک نماد نقطه‌ای در JSON از نقطه بین اشیاء و از براکت برای آرایه‌ها استفاده می‌کند (مثلاً data.items[0].title)', 'item' => array( - '_' => 'finding news items
(most important)', // TODO - 'help' => 'JSON path to the array containing the items, e.g. $ or newsItems', // TODO + '_' => 'یافتن اخبار آیتم‌ها
(مهم‌ترین)', + 'help' => 'مسیر JSON به آرایه حاوی آیتم‌ها، مثلاً $ یا newsItems', ), - 'item_author' => 'item author', // TODO - 'item_categories' => 'item tags', // TODO + 'item_author' => 'نویسنده ', + 'item_categories' => 'برچسب‌های آیتم', 'item_content' => array( - '_' => 'item content', // TODO - 'help' => 'Key under which the content is found, e.g. content', // TODO + '_' => 'محتوای در مورد', + 'help' => 'کلیدی که محتوا در آن یافت می‌شود، مثلاً content', ), 'item_thumbnail' => array( - '_' => 'item thumbnail', // TODO - 'help' => 'Example: image', // TODO + '_' => 'تصویر مینیاتوری', + 'help' => 'مثال: تصویر', ), 'item_timeFormat' => array( - '_' => 'Custom date/time format', // TODO - 'help' => 'Optional. A format supported by DateTime::createFromFormat() such as d-m-Y H:i:s', // TODO + '_' => 'قالب تاریخ/زمان سفارشی', + 'help' => 'اختیاری. فرمتی که توسط DateTime::createFromFormat() پشتیبانی می‌شود، مانند d-m-Y H:i:s', ), 'item_timestamp' => array( - '_' => 'item date', // TODO - 'help' => 'The result will be parsed by strtotime()', // TODO + '_' => 'تاریخ کالا', + 'help' => 'نتیجه توسط strtotime() تجزیه و تحلیل خواهد شد.', ), - 'item_title' => 'item title', // TODO - 'item_uid' => 'item unique ID', // TODO + 'item_title' => 'عنوان مورد', + 'item_uid' => 'شناسه منحصر به فرد کالا', 'item_uri' => array( - '_' => 'item link (URL)', // TODO - 'help' => 'Example: permalink', // TODO + '_' => 'لینک مورد (URL)', + 'help' => 'مثال: پیوند یکتا', ), - 'json' => 'dot notation for:', // TODO - 'relative' => 'dot notated path (relative to item) for:', // TODO + 'json' => 'نمادگذاری نقطه‌ای برای:', + 'relative' => 'مسیر با نقطه (نسبت به آیتم) برای:', ), - 'jsonfeed' => 'JSON Feed', // TODO + 'jsonfeed' => 'فید JSON', 'rss' => ' RSS / Atom (پیش‌فرض)', 'xml_xpath' => ' XML + XPath', ), @@ -194,29 +194,29 @@ return array( 'max_http_redir' => ' حداکثر تغییر مسیر HTTP', 'max_http_redir_help' => ' روی 0 تنظیم کنید یا برای غیرفعال کردن آن را خالی بگذارید', 'method' => array( - '_' => 'HTTP Method', // TODO + '_' => 'روش HTTP', ), - 'method_help' => 'The POST payload has automatic support for application/x-www-form-urlencoded and application/json', // TODO - 'method_postparams' => 'Payload for POST', // TODO + 'method_help' => 'بار داده‌ی POST به طور خودکار از application/x-www-form-urlencoded و application/json پشتیبانی می‌کند.', + 'method_postparams' => 'بار مفید برای پست', 'moved_category_deleted' => ' هنگامی که یک دسته را حذف می کنید', 'mute' => array( '_' => ' بی صدا', - 'state_is_muted' => 'This feed is muted', // TODO + 'state_is_muted' => 'این فید بی‌صدا است', ), 'no_selected' => ' هیچ خوراکی انتخاب نشده است.', 'number_entries' => ' %d مقاله', - 'open_feed' => 'Open feed %s', // TODO - 'path_entries_conditions' => 'Conditions for content retrieval', // TODO + 'open_feed' => 'باز کردن فید %s', + 'path_entries_conditions' => 'شرایط بازیابی محتوا', 'priority' => array( '_' => ' دید', 'archived' => ' نشان داده نشود (بایگانی شده)', 'category' => ' نمایش در دسته بندی خود', - 'important' => 'Show in important feeds', // TODO + 'important' => 'نمایش در فیدهای مهم', 'main_stream' => ' نمایش در جریان اصلی', ), 'proxy' => ' یک پروکسی برای واکشی این فید تنظیم کنید', - 'proxy_help' => ' یک پروتکل (به عنوان مثال: SOCKS5) انتخاب کنید و آدرس پراکسی را وارد کنید (به عنوان مثال: 127.0.0.1:1080 or username:password@127.0.0.1:1080)', // DIRTY - 'reset_favicon' => 'Reset to default', // TODO + 'proxy_help' => ' یک پروتکل (به عنوان مثال: SOCKS5) انتخاب کنید و آدرس پراکسی را وارد کنید (به عنوان مثال: 127.0.0.1:1080 or username:password@127.0.0.1:1080)', + 'reset_favicon' => 'تنظیم مجدد به حالت پیش‌فرض', 'selector_preview' => array( 'show_raw' => ' نمایش کد منبع', 'show_rendered' => 'نمایش محتوا', @@ -236,16 +236,16 @@ return array( 'title_add' => ' یک فید RSS اضافه کنید', 'ttl' => ' به‌طور خودکار بیشتر از آن رفرش نکنید', 'unicityCriteria' => array( - '_' => 'Article unicity criteria', // TODO - 'forced' => 'forced', // TODO - 'help' => 'Relevant for invalid feeds.
⚠️ Changing the policy will create duplicates.', // TODO - 'id' => 'Standard ID (default)', // TODO - 'link' => 'Link', // TODO + '_' => 'معیارهای وحدت مقاله', + 'forced' => 'اجباری', + 'help' => 'مربوط به فیدهای نامعتبر.
⚠️ تغییر سیاست باعث ایجاد موارد تکراری می‌شود..', + 'id' => 'شناسه استاندارد (پیش‌ فرض)', + 'link' => 'لینک', 'sha1:content' => 'Content', // TODO 'sha1:content_published' => 'Content + Date', // TODO - 'sha1:link_published' => 'Link + Date', // TODO - 'sha1:link_published_title' => 'Link + Date + Title', // TODO - 'sha1:link_published_title_content' => 'Link + Date + Title + Content', // TODO + '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 @@ -261,7 +261,7 @@ return array( 'import_export' => array( 'export' => array( '_' => ' صادرات', - 'sqlite' => 'Download user database as SQLite', // TODO + 'sqlite' => 'دانلود پایگاه داده کاربر به عنوان SQLite', ), 'export_labelled' => ' مقالات برچسب دار خود را صادر کنید', 'export_opml' => ' لیست صادرات فیدها (OPML)', @@ -286,7 +286,7 @@ return array( 'subscription_tools' => 'ابزارهای اشتراک', ), 'tag' => array( - 'auto_label' => 'Add this label to new articles', // TODO + 'auto_label' => 'این برچسب را به مقالات جدید اضافه کنید', 'name' => ' نام', 'new_name' => ' نام جدید', 'old_name' => ' نام قدیمی', @@ -298,7 +298,7 @@ return array( 'add_dynamic_opml' => ' OPML پویا را اضافه کنید', 'add_feed' => ' یک فید اضافه کنید', 'add_label' => ' یک برچسب اضافه کنید', - 'add_opml_category' => 'OPML category name', // TODO + 'add_opml_category' => 'نام دسته OPML', 'delete_label' => ' یک برچسب را حذف کنید', 'feed_management' => ' فیدهای RSS را مدیریت می کندment', 'rename_label' => ' نام یک برچسب را تغییر دهید', diff --git a/docs/i18n/flags/gen/fa.svg b/docs/i18n/flags/gen/fa.svg index 53962da35..52a95d1c8 100644 --- a/docs/i18n/flags/gen/fa.svg +++ b/docs/i18n/flags/gen/fa.svg @@ -1,7 +1,7 @@ - - 🇮🇷 77% + + 🇮🇷 99% \ No newline at end of file -- cgit v1.2.3