Files
FreshRSS/app/i18n/fa/sub.php
T
Tommaso FerrariandAlexandre Alapetite 581b81006a Add option to apply filter actions to existing articles (#7959)
* Add option to apply filter actions to existing articles

* make fix-all

* Fixes

* Another approach with preview
New approach: https://github.com/FreshRSS/FreshRSS/pull/7959/commits/20479475c90ac954b991b3703c3cc76c16aa2d5c

<img width="666" height="202" alt="image" src="https://github.com/user-attachments/assets/bb68ede4-60c8-4e0c-9317-c5ed7a6ad7df" />

Additional improvements:
* Also implemented at category level, and at global level
* Also implemented for favourites at global level

Shortcomings:
* Does not always work reliably with advanced regex, since the DB's flavour is not necessarily the same than PHP's

Related: https://github.com/FreshRSS/FreshRSS/pull/8141

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-22 21:28:33 +02:00

310 lines
17 KiB
PHP

<?php
/******************************************************************************
* Each entry of that file can be associated with a comment to indicate its *
* state. When there is no comment, it means the entry is fully translated. *
* The recognized comments are (comment matching is case-insensitive): *
* + TODO: the entry has never been translated. *
* + DIRTY: the entry has been translated but needs to be updated. *
* + IGNORE: the entry does not need to be translated. *
* When a comment is not recognized, it is discarded. *
******************************************************************************/
return array(
'api' => array(
'documentation' => ' URL زیر را برای استفاده از آن در یک ابزار خارجی کپی کنید.',
'title' => ' API',
),
'bookmarklet' => array(
'documentation' => ' این دکمه را به نوار ابزار نشانک‌های خود بکشید یا روی آن راست کلیک کرده و «Bookmark This Link» را انتخاب کنید. سپس روی دکمه "اشتراک" در هر صفحه ای که می خواهید مشترک شوید کلیک کنید.',
'label' => ' مشترک شوید',
'title' => ' Bookmarklet',
),
'category' => array(
'_' => ' دسته',
'add' => ' یک دسته اضافه کنید',
'archiving' => ' بایگانی',
'dynamic_opml' => array(
'_' => ' OPML پویا',
'help' => ' URL را به <a href="http://opml.org/" target="_blank">فایل OPML</a> ارائه دهید تا به صورت پویا این دسته با فیدها پر شود.',
),
'empty' => ' دسته خالی',
'expand' => 'دسته‌بندی را گسترش دهید',
'information' => ' اطلاعات',
'open' => 'دسته‌بندی باز',
'opml_url' => ' URL OPML',
'position' => ' موقعیت نمایش',
'position_help' => ' برای کنترل ترتیب مرتب سازی دسته بندی',
'title' => ' عنوان',
),
'feed' => array(
'accept_cookies' => ' کوکی ها را بپذیرید',
'accept_cookies_help' => ' به سرور فید اجازه دهید تا کوکی ها را تنظیم کند (فقط برای مدت زمان درخواست در حافظه ذخیره می شود)',
'add' => ' یک فید اضافه کنید',
'advanced' => ' پیشرفته',
'archiving' => ' بایگانی',
'auth' => array(
'configuration' => ' ورود',
'help' => ' دسترسی به فیدهای RSS محافظت شده HTTP را می دهد',
'http' => ' احراز هویت HTTP',
'password' => ' رمز عبور HTTP',
'username' => ' نام کاربری HTTP',
),
'change_favicon' => 'تغییر…',
'clear_cache' => ' همیشه حافظه پنهان را پاک کنید',
'content_action' => array(
'_' => ' اقدام محتوا هنگام واکشی محتوای مقاله',
'append' => ' پس از محتوای موجود اضافه کنید',
'prepend' => ' قبل از محتوای موجود اضافه کنید',
'replace' => ' محتوای موجود را جایگزین کنید',
),
'content_retrieval' => 'بازیابی محتوا',
'css_cookie' => ' هنگام واکشی محتوای مقاله از کوکی ها استفاده کنید',
'css_cookie_help' => ' مثال: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>',
'css_help' => ' فیدهای RSS کوتاه شده را بازیابی می کند (احتیاط',
'css_path' => ' انتخاب کننده CSS مقاله در وب سایت اصلی',
'css_path_filter' => array(
'_' => ' انتخابگر CSS از عناصر برای حذف',
'help' => ' یک انتخابگر CSS ممکن است لیستی باشد مانند: <kbd>.footer',
),
'description' => ' توضیحات',
'empty' => ' این فید خالی است. لطفاً بررسی کنید که هنوز نگهداری می شود.',
'error' => ' این فید با مشکل مواجه شده است. لطفاً بررسی کنید که همیشه در دسترس است و سپس آن را به روز کنید.', // DIRTY
'export-as-opml' => array(
'download' => 'دانلود',
'help' => 'فایل XML (زیرمجموعه داده‌ها. <a href="https://freshrss.github.io/FreshRSS/en/developers/OPML.html" target="_blank">مستندات را ببینید</a>)',
'label' => 'خروجی به صورت OPML',
),
'ext_favicon' => 'تنظیم خودکار',
'favicon_changed_by_ext' => 'این آیکون توسط افزونه‌ی <b>%s</b> تنظیم شده است.',
'filteractions' => array(
'_' => ' اعمال فیلتر',
'help' => ' در هر خط یک فیلتر جستجو بنویسید. اپراتورها <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">مستندات را ببینید</a>.',
'view_filter' => 'Preview filters on existing articles (new window)', // TODO
),
'http_headers' => 'HTTP سربرگ‌ها',
'http_headers_help' => 'سر برگ ها با یک خط جدید از هم جدا می‌شوند و نام و مقدار سربرگ ها با یک دونقطه از هم جدا می‌شوند (مثلاً: <kbd><code>پذیرش: application/atom+xml<br />مجوز: Bearer some-token</code></kbd>).',
'icon' => 'آیکون',
'information' => ' اطلاعات',
'keep_min' => ' حداقل تعداد مقالات برای نگهداری',
'kind' => array(
'_' => ' نوع منبع خوراک',
'html_json' => array(
'_' => 'HTML + XPath + JSON dot notation (JSON in HTML)', // IGNORE
'xpath' => array(
'_' => 'XPath برای JSON در HTML',
'help' => 'مثال: <code>normalize-space(//script[@type="application/json"])</code> (یک JSON)<br />یا: <code>//script[@type="application/ld+json"]</code> (یک شیء JSON برای هر مقاله)',
),
),
'html_xpath' => array(
'_' => ' HTML + XPath (خراش دادن وب)',
'feed_title' => array(
'_' => ' عنوان خوراک',
'help' => ' مثال: <code>//title</code> یا یک رشته ثابت: <code>"فید سفارشی من"</code>',
),
'help' => '<dfn><a href="https://www.w3.org/TR/xpath-10/" target="_blank">XPath 1.0</a></dfn> یک زبان جستجوی استاندارد برای پیشرفته است کاربران',
'item' => array(
'_' => ' یافتن اخبار <strong>اقلام</strong><br /><small>(مهمترین)</small>',
'help' => ' مثال: <code>//div[@class="news-item"]</code>',
),
'item_author' => array(
'_' => ' نویسنده مورد',
'help' => ' همچنین می تواند یک رشته ثابت باشد. مثال: <code>"ناشناس"</code>',
),
'item_categories' => ' برچسب های آیتم',
'item_content' => array(
'_' => ' محتوای مورد',
'help' => ' مثالی برای گرفتن کامل مورد: <code>.</code>',
),
'item_thumbnail' => array(
'_' => ' تصویر کوچک مورد',
'help' => ' مثال: <code>descendant::img/@src</code>',
),
'item_timeFormat' => array(
'_' => ' فرمت تاریخ/زمان سفارشی',
'help' => ' اختیاری. قالبی که توسط <a href="https://php.net/datetime.createfromformat" target="_blank"><code>DateTime::createFromFormat()</code></a> پشتیبانی می‌شود', // DIRTY
),
'item_timestamp' => array(
'_' => ' تاریخ مورد',
'help' => ' نتیجه با <a href="https://php.net/strtotime" target="_blank"><code>strtotime()</code></a> تجزیه خواهد شد',
),
'item_title' => array(
'_' => ' عنوان مورد',
'help' => ' به طور خاص از <a href="https://developer.mozilla.org/docs/Web/XPath/Axes" target="_blank">محور XPath</a> <code>descendant::</code استفاده کنید > مانند <code>descendant::h2</code>',
),
'item_uid' => array(
'_' => ' شناسه منحصر به فرد مورد',
'help' => ' اختیاری. مثال: <code>descendant::div/@data-uri</code>',
),
'item_uri' => array(
'_' => ' پیوند مورد (URL)',
'help' => ' مثال: <code>descendant::a/@href</code>',
),
'relative' => 'XPath (نسبت به مورد) برای:',
'xpath' => ' XPath برای:',
),
'json_dotnotation' => array(
'_' => 'JSON (نماد نقطه‌ای)',
'feed_title' => array(
'_' => 'عنوان فید',
'help' => 'مثال: <code>meta.title</code> یا یک رشته استاتیک: <code>"My custom feed"</code>',
),
'help' => 'یک نماد نقطه‌ای در JSON از نقطه بین اشیاء و از براکت برای آرایه‌ها استفاده می‌کند (مثلاً <code>data.items[0].title</code>)',
'item' => array(
'_' => 'یافتن اخبار <strong>آیتم‌ها</strong><br /><small>(مهم‌ترین)</small>',
'help' => 'مسیر JSON به آرایه حاوی آیتم‌ها، مثلاً <code>$</code> یا <code>newsItems</code>',
),
'item_author' => 'نویسنده ',
'item_categories' => 'برچسب‌های آیتم',
'item_content' => array(
'_' => 'محتوای در مورد',
'help' => 'کلیدی که محتوا در آن یافت می‌شود، مثلاً <code>content</code>',
),
'item_thumbnail' => array(
'_' => 'تصویر مینیاتوری',
'help' => 'مثال: <code>تصویر</code>',
),
'item_timeFormat' => array(
'_' => 'قالب تاریخ/زمان سفارشی',
'help' => 'اختیاری. فرمتی که توسط <a href="https://php.net/datetime.createfromformat" target="_blank"><code>DateTime::createFromFormat()</code></a> پشتیبانی می‌شود، مانند <code>d-m-Y H:i:s</code>',
),
'item_timestamp' => array(
'_' => 'تاریخ کالا',
'help' => 'نتیجه توسط <a href="https://php.net/strtotime" target="_blank"><code>strtotime()</code></a> تجزیه و تحلیل خواهد شد.',
),
'item_title' => 'عنوان مورد',
'item_uid' => 'شناسه منحصر به فرد کالا',
'item_uri' => array(
'_' => 'لینک مورد (URL)',
'help' => 'مثال: <code>پیوند یکتا</code>',
),
'json' => 'نمادگذاری نقطه‌ای برای:',
'relative' => 'مسیر با نقطه (نسبت به آیتم) برای:',
),
'jsonfeed' => 'فید JSON',
'rss' => ' RSS / Atom (پیش‌فرض)',
'xml_xpath' => ' XML + XPath',
),
'maintenance' => array(
'clear_cache' => ' کش را پاک کنید',
'clear_cache_help' => ' کش این فید را پاک کنید.',
'reload_articles' => ' بارگذاری مجدد مقالات',
'reload_articles_help' => ' تعداد زیادی مقاله را بارگیری مجدد کنید و در صورت تعریف انتخابگر',
'title' => ' تعمیر و نگهداری',
),
'max_http_redir' => ' حداکثر تغییر مسیر HTTP',
'max_http_redir_help' => ' روی 0 تنظیم کنید یا برای غیرفعال کردن آن را خالی بگذارید',
'method' => array(
'_' => 'روش HTTP',
),
'method_help' => 'بار داده‌ی POST به طور خودکار از <code>application/x-www-form-urlencoded</code> و <code>application/json</code> پشتیبانی می‌کند.',
'method_postparams' => 'بار مفید برای پست',
'moved_category_deleted' => ' هنگامی که یک دسته را حذف می کنید',
'mute' => array(
'_' => ' بی صدا',
'state_is_muted' => 'این فید بی‌صدا است',
),
'no_selected' => ' هیچ خوراکی انتخاب نشده است.',
'number_entries' => ' %d مقاله',
'open_feed' => 'باز کردن فید %s',
'path_entries_conditions' => 'شرایط بازیابی محتوا',
'priority' => array(
'_' => ' دید',
'category' => ' نمایش در دسته بندی خود',
'feed' => 'Show in its feed', // TODO
'hidden' => 'نشان ندهید.',
'important' => 'نمایش در فیدهای مهم',
'main_stream' => ' نمایش در جریان اصلی',
),
'proxy' => ' یک پروکسی برای واکشی این فید تنظیم کنید',
'proxy_help' => ' یک پروتکل (به عنوان مثال: SOCKS5) انتخاب کنید و آدرس پراکسی را وارد کنید (به عنوان مثال: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)',
'reset_favicon' => 'تنظیم مجدد به حالت پیش‌فرض',
'selector_preview' => array(
'show_raw' => ' نمایش کد منبع',
'show_rendered' => 'نمایش محتوا',
),
'show' => array(
'all' => ' نمایش همه فیدها',
'error' => ' نمایش فقط فیدهای دارای خطا',
),
'showing' => array(
'error' => ' نمایش فقط فیدهای دارای خطا',
),
'ssl_verify' => ' امنیت SSL را تأیید کنید',
'stats' => ' آمار',
'think_to_add' => ' می توانید چند فید اضافه کنید.',
'timeout' => ' تایم اوت در ثانیه',
'title' => ' عنوان',
'title_add' => ' یک فید RSS اضافه کنید',
'ttl' => ' به‌طور خودکار بیشتر از آن رفرش نکنید',
'unicityCriteria' => array(
'_' => 'معیارهای وحدت مقاله',
'forced' => '<span title="مسدود کردن معیارهای تک‌شاخگی، حتی زمانی که فید دارای مقالات تکراری است">اجباری</span>',
'help' => 'مربوط به فیدهای نامعتبر.<br />⚠️ تغییر سیاست باعث ایجاد موارد تکراری می‌شود..',
'id' => 'شناسه استاندارد (پیش‌ فرض)',
'link' => 'لینک',
'sha1:content' => 'Content', // TODO
'sha1:content_published' => 'Content + Date', // 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
'sha1:title_published_content' => 'Title + Date + Content', // TODO
),
'url' => ' URL فید',
'useragent' => ' عامل کاربر را برای واکشی این فید تنظیم کنید',
'useragent_help' => ' مثال: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>',
'validator' => ' اعتبار خوراک را بررسی کنید',
'website' => ' آدرس وب سایت',
'websub' => ' اطلاع رسانی فوری با WebSub',
),
'import_export' => array(
'export' => array(
'_' => ' صادرات',
'sqlite' => 'دانلود پایگاه داده کاربر به عنوان SQLite',
),
'export_labelled' => ' مقالات برچسب دار خود را صادر کنید',
'export_opml' => ' لیست صادرات فیدها (OPML)',
'export_starred' => ' موارد دلخواه خود را صادر کنید',
'feed_list' => ' فهرست %s مقاله',
'file_to_import' => ' فایل برای وارد کردن<br />(OPML',
'file_to_import_no_zip' => ' فایل برای وارد کردن<br /> (OPML یا JSON)',
'import' => 'واردات',
'starred_list' => ' فهرست مقالات مورد علاقه',
'title' => ' واردات / صادرات',
),
'menu' => array(
'add' => ' یک فید یا دسته اضافه کنید',
'import_export' => ' واردات / صادرات',
'label_management' => ' مدیریت برچسب',
'stats' => array(
'idle' => ' تغذیه بیکار',
'main' => ' آمار اصلی',
'repartition' => ' تقسیم مجدد مقالات',
'unread_dates' => 'Unread dates', // TODO
),
'subscription_management' => ' مدیریت اشتراک',
'subscription_tools' => 'ابزارهای اشتراک',
),
'tag' => array(
'auto_label' => 'این برچسب را به مقالات جدید اضافه کنید',
'name' => ' نام',
'new_name' => ' نام جدید',
'old_name' => ' نام قدیمی',
),
'title' => array(
'_' => ' مدیریت اشتراک',
'add' => ' یک فید یا دسته اضافه کنید',
'add_category' => ' یک دسته اضافه کنید',
'add_dynamic_opml' => ' OPML پویا را اضافه کنید',
'add_feed' => ' یک فید اضافه کنید',
'add_label' => ' یک برچسب اضافه کنید',
'add_opml_category' => 'نام دسته OPML',
'delete_label' => ' یک برچسب را حذف کنید',
'feed_management' => ' فیدهای RSS را مدیریت می کندment',
'subscription_tools' => 'ابزارهای اشتراک',
),
);