diff options
| author | 2025-08-07 22:20:08 +0200 | |
|---|---|---|
| committer | 2025-08-07 22:20:08 +0200 | |
| commit | 1f8273803f632b40c260721cb3257ae4e2251f5a (patch) | |
| tree | 4c60bfc77bb815600c4a8fbd505281b57834be4c /app | |
| parent | 62f32ccadff77594f5b8e3ad24c4c2541ff35885 (diff) | |
Add more unicity criteria based on title and/or content (#7789)
* Add more unicity criteria based on title and/or content
https://github.com/FreshRSS/FreshRSS/discussions/7788
* More
Diffstat (limited to 'app')
32 files changed, 183 insertions, 15 deletions
diff --git a/app/Models/Feed.php b/app/Models/Feed.php index 48a1d108f..26f85093e 100644 --- a/app/Models/Feed.php +++ b/app/Models/Feed.php @@ -661,6 +661,12 @@ class FreshRSS_Feed extends Minz_Model { 'sha1:link_published' => sha1($item->get_permalink() . $item->get_date('U')), 'sha1:link_published_title' => sha1($item->get_permalink() . $item->get_date('U') . $item->get_title()), 'sha1:link_published_title_content' => sha1($item->get_permalink() . $item->get_date('U') . $item->get_title() . $item->get_content()), + 'sha1:title' => sha1($item->get_title() ?? ''), + 'sha1:title_published' => sha1($item->get_title() . $item->get_date('U')), + 'sha1:title_published_content' => sha1($item->get_title() . $item->get_date('U') . $item->get_content()), + 'sha1:content' => sha1($item->get_content() ?? ''), + 'sha1:content_published' => sha1($item->get_content() . $item->get_date('U')), + 'sha1:published' => sha1((string)($item->get_date('U') ?? '')), default => $entryId, }; diff --git a/app/i18n/cs/sub.php b/app/i18n/cs/sub.php index aee11fb22..260dd8e53 100644 --- a/app/i18n/cs/sub.php +++ b/app/i18n/cs/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'Adresa URL kanálu', 'useragent' => 'Nastavte uživatelský agent pro načítání tohoto kanálu', diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php index 710c8e1d1..8df861c24 100644 --- a/app/i18n/de/sub.php +++ b/app/i18n/de/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant für defekte Feeds.<br />⚠️ Änderungen werden Duplikate erzeugen.', 'id' => 'Standard ID (Standardeinstellung)', 'link' => 'Link', // IGNORE + 'sha1:content' => 'Inhalt', + 'sha1:content_published' => 'Inhalt + Datum', 'sha1:link_published' => 'Link + Datum', 'sha1:link_published_title' => 'Link + Datum + Titel', 'sha1:link_published_title_content' => 'Link + Datum + Titel + Inhalt', + 'sha1:published' => 'Datum', + 'sha1:title' => 'Titel', + 'sha1:title_published' => 'Titel + Datum', + 'sha1:title_published_content' => 'Titel + Datum + Inhalt', ), 'url' => 'Feed-URL', 'useragent' => 'Browser User Agent für den Abruf des Feeds verwenden', diff --git a/app/i18n/el/sub.php b/app/i18n/el/sub.php index 50be23da9..dfe308c3b 100644 --- a/app/i18n/el/sub.php +++ b/app/i18n/el/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'Feed URL', // TODO 'useragent' => 'Set the user agent for fetching this feed', // TODO diff --git a/app/i18n/en-us/sub.php b/app/i18n/en-us/sub.php index dc71cb859..b42e9769b 100644 --- a/app/i18n/en-us/sub.php +++ b/app/i18n/en-us/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // IGNORE 'id' => 'Standard ID (default)', // IGNORE 'link' => 'Link', // IGNORE + 'sha1:content' => 'Content', // IGNORE + 'sha1:content_published' => 'Content + Date', // IGNORE 'sha1:link_published' => 'Link + Date', // IGNORE 'sha1:link_published_title' => 'Link + Date + Title', // IGNORE 'sha1:link_published_title_content' => 'Link + Date + Title + Content', // IGNORE + 'sha1:published' => 'Date', // IGNORE + 'sha1:title' => 'Title', // IGNORE + 'sha1:title_published' => 'Title + Date', // IGNORE + 'sha1:title_published_content' => 'Title + Date + Content', // IGNORE ), 'url' => 'Feed URL', // IGNORE 'useragent' => 'Set the user agent for fetching this feed', // IGNORE diff --git a/app/i18n/en/admin.php b/app/i18n/en/admin.php index aa0c110fe..a553a4ac0 100644 --- a/app/i18n/en/admin.php +++ b/app/i18n/en/admin.php @@ -116,7 +116,7 @@ return array( 'description' => 'Description', 'disabled' => 'Disabled', 'empty_list' => 'There are no installed extensions', - 'empty_list_help' => 'Check the logs to determine the reason behind the empty extension list.', // TODO + 'empty_list_help' => 'Check the logs to determine the reason behind the empty extension list.', 'enabled' => 'Enabled', 'latest' => 'Installed', 'name' => 'Name', @@ -148,7 +148,7 @@ return array( 'main_stream' => 'Main stream', 'no_idle' => 'There are no idle feeds!', 'number_entries' => '%d articles', - 'overview' => 'Overview', // TODO + 'overview' => 'Overview', 'percent_of_total' => '% of total', 'repartition' => 'Articles repartition: %s', 'status_favorites' => 'Favourites', diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php index 1dc75704a..5ec6797d8 100644 --- a/app/i18n/en/conf.php +++ b/app/i18n/en/conf.php @@ -149,8 +149,8 @@ return array( 'tags' => 'Display by label', 'type' => 'Type', ), - 'get_A' => 'Show all feeds, also those shown in their category', // TODO - 'get_Z' => 'Show all feeds, also archived ones', // TODO + 'get_A' => 'Show all feeds, also those shown in their category', + 'get_Z' => 'Show all feeds, also archived ones', 'get_all' => 'Display all articles', 'get_all_labels' => 'Display articles with any label', 'get_category' => 'Display “%s” category', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 398e7e60b..3b3872561 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -16,7 +16,7 @@ return array( 'add' => 'Add', 'back_to_rss_feeds' => '← Go back to your RSS feeds', 'cancel' => 'Cancel', - 'close' => 'Close', // TODO + 'close' => 'Close', 'create' => 'Create', 'delete_all_feeds' => 'Delete all feeds', 'delete_errored_feeds' => 'Delete feeds with errors', diff --git a/app/i18n/en/index.php b/app/i18n/en/index.php index c5404e6ce..d0b7a95dc 100644 --- a/app/i18n/en/index.php +++ b/app/i18n/en/index.php @@ -16,13 +16,13 @@ return array( 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', 'bug_reports' => array( 'environment_information' => array( - '_' => 'System information', // TODO - 'browser' => 'Browser', // TODO - 'database' => 'Database', // TODO - 'server_software' => 'Server software', // TODO + '_' => 'System information', + 'browser' => 'Browser', + 'database' => 'Database', + 'server_software' => 'Server software', 'version_curl' => 'cURL version', - 'version_frss' => 'FreshRSS version', // TODO - 'version_php' => 'PHP version', // TODO + 'version_frss' => 'FreshRSS version', + 'version_php' => 'PHP version', ), ), 'bugs_reports' => 'Bug reports', diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php index a392a52af..0122eff29 100644 --- a/app/i18n/en/sub.php +++ b/app/i18n/en/sub.php @@ -237,13 +237,19 @@ return array( 'ttl' => 'Do not automatically refresh more often than', 'unicityCriteria' => array( '_' => 'Article unicity criteria', - 'forced' => '<span title="Block the unicity criteria, even when the feed has duplicate articles">forced</span>', // TODO - 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO + 'forced' => '<span title="Block the unicity criteria, even when the feed has duplicate articles">forced</span>', + 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', 'id' => 'Standard ID (default)', 'link' => 'Link', + 'sha1:content' => 'Content', + 'sha1:content_published' => 'Content + Date', 'sha1:link_published' => 'Link + Date', 'sha1:link_published_title' => 'Link + Date + Title', 'sha1:link_published_title_content' => 'Link + Date + Title + Content', + 'sha1:published' => 'Date', + 'sha1:title' => 'Title', + 'sha1:title_published' => 'Title + Date', + 'sha1:title_published_content' => 'Title + Date + Content', ), 'url' => 'Feed URL', 'useragent' => 'Set the user agent for fetching this feed', @@ -255,7 +261,7 @@ return array( 'import_export' => array( 'export' => array( '_' => 'Export', - 'sqlite' => 'Download user database as SQLite', // TODO + 'sqlite' => 'Download user database as SQLite', ), 'export_labelled' => 'Export your labelled articles', 'export_opml' => 'Export list of feeds (OPML)', diff --git a/app/i18n/es/sub.php b/app/i18n/es/sub.php index d57bb0a9f..65bb1ae92 100644 --- a/app/i18n/es/sub.php +++ b/app/i18n/es/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevante para fuentes inválidas.<br />⚠️ Cambiar la política creara duplicados.', 'id' => 'ID Estándar (por defecto)', 'link' => 'Link', // IGNORE + 'sha1:content' => 'Contenido', + 'sha1:content_published' => 'Contenido + Fecha', 'sha1:link_published' => 'Link + Fecha', 'sha1:link_published_title' => 'Link + Fecha + Título', 'sha1:link_published_title_content' => 'Link + Fecha + Título + Contenido', + 'sha1:published' => 'Fecha', + 'sha1:title' => 'Título', + 'sha1:title_published' => 'Título + Fecha', + 'sha1:title_published_content' => 'Título + Fecha + Contenido', ), 'url' => 'URL de la fuente', 'useragent' => 'Selecciona el agente de usuario por recuperar la fuente', diff --git a/app/i18n/fa/sub.php b/app/i18n/fa/sub.php index 2a7e96f6d..c577c6869 100644 --- a/app/i18n/fa/sub.php +++ b/app/i18n/fa/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => ' URL فید', 'useragent' => ' عامل کاربر را برای واکشی این فید تنظیم کنید', diff --git a/app/i18n/fi/sub.php b/app/i18n/fi/sub.php index 6e852e10f..39f5a69d2 100644 --- a/app/i18n/fi/sub.php +++ b/app/i18n/fi/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Olennainen virheellisille syötteille.<br />⚠️ Käytännön muuttaminen luo kaksoiskappaleita.', 'id' => 'Perustunnus (oletus)', 'link' => 'Linkki', + 'sha1:content' => 'Sisältö', + 'sha1:content_published' => 'Sisältö + päiväys', 'sha1:link_published' => 'Linkki + päiväys', 'sha1:link_published_title' => 'Linkki + päiväys + otsikko', 'sha1:link_published_title_content' => 'Linkki + päiväys + otsikko + sisältö', + 'sha1:published' => 'Päiväys', + 'sha1:title' => 'Otsikko', + 'sha1:title_published' => 'Otsikko + päiväys', + 'sha1:title_published_content' => 'Otsikko + päiväys + sisältö', ), 'url' => 'Syötteen URL-osoite', 'useragent' => 'Määritä syötteen noutamiseen käytettävä käyttäjäagentti', diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index 19b1348e0..226307dda 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Utile pour les flux invalides.<br />⚠️ Changer le critère peut créer des doublons.', 'id' => 'ID standard (défaut)', 'link' => 'Lien', + 'sha1:content' => 'Contenu', + 'sha1:content_published' => 'Contenu + Date', 'sha1:link_published' => 'Lien + Date', 'sha1:link_published_title' => 'Lien + Date + Titre', 'sha1:link_published_title_content' => 'Lien + Date + Titre + Contenu', + 'sha1:published' => 'Date', // IGNORE + 'sha1:title' => 'Titre', + 'sha1:title_published' => 'Titre + Date', + 'sha1:title_published_content' => 'Titre + Date + Contenu', ), 'url' => 'URL du flux', 'useragent' => 'Sélectionner l’agent utilisateur pour télécharger ce flux', diff --git a/app/i18n/he/sub.php b/app/i18n/he/sub.php index 076945003..0b7cd5459 100644 --- a/app/i18n/he/sub.php +++ b/app/i18n/he/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'הזנה URL', 'useragent' => 'Set the user agent for fetching this feed', // TODO diff --git a/app/i18n/hu/sub.php b/app/i18n/hu/sub.php index d4f21a813..0259da2a5 100755 --- a/app/i18n/hu/sub.php +++ b/app/i18n/hu/sub.php @@ -240,10 +240,16 @@ return array( 'forced' => '<span title="Blokkolja az egységességi feltételeket, még akkor is, ha a hírcsatorna ismétlődő cikkeket tartalmaz">kényszerít</span>', 'help' => 'Érvénytelen hírforrásokra vonatkozik.<br />⚠️ A házirend módosítása duplikációkat fog létrehozni.', 'id' => 'Standard ID (alapértelmezés)', - 'link' => 'Link', // TODO + 'link' => 'Link', // IGNORE + 'sha1:content' => 'Tartalom', + 'sha1:content_published' => 'Tartalom + Dátum', 'sha1:link_published' => 'Link + Dátum', 'sha1:link_published_title' => 'Link + Dátum + Cím', 'sha1:link_published_title_content' => 'Link + Dátum + Cím + Tartalom', + 'sha1:published' => 'Dátum', + 'sha1:title' => 'Cím', + 'sha1:title_published' => 'Cím + Dátum', + 'sha1:title_published_content' => 'Cím + Dátum + Tartalom', ), 'url' => 'Hírforrás URL', 'useragent' => 'Állíts be egy user agent-et ehhez a hírforráshoz', diff --git a/app/i18n/id/sub.php b/app/i18n/id/sub.php index b5f667e4b..85ab3572e 100644 --- a/app/i18n/id/sub.php +++ b/app/i18n/id/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevan untuk umpan yang tidak valid.<br />⚠️ Mengubah ini akan membuat artikel duplikat.', 'id' => 'ID standar (baku)', 'link' => 'Tautan', + 'sha1:content' => 'Konten', + 'sha1:content_published' => 'Konten + Tanggal', 'sha1:link_published' => 'Tautan + Tanggal', 'sha1:link_published_title' => 'Tautan + Tanggal + Judul', 'sha1:link_published_title_content' => 'Tautan + Tanggal + Judul + Konten', + 'sha1:published' => 'Tanggal', + 'sha1:title' => 'Judul', + 'sha1:title_published' => 'Judul + Tanggal', + 'sha1:title_published_content' => 'Judul + Tanggal + Konten', ), 'url' => 'URL umpan', 'useragent' => 'Atur UA (user agent) untuk mengambil umpan ini', diff --git a/app/i18n/it/sub.php b/app/i18n/it/sub.php index 3d4b29c40..84d9b3347 100644 --- a/app/i18n/it/sub.php +++ b/app/i18n/it/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Rilevante per i feed non validi.<br />⚠️ La modifica del criterio creerà dei duplicati.', 'id' => 'Standard ID (default)', // IGNORE 'link' => 'Link', // IGNORE + 'sha1:content' => 'Contenuto', + 'sha1:content_published' => 'Contenuto + Data', 'sha1:link_published' => 'Link + Data', 'sha1:link_published_title' => 'Link + Data + Titolo', 'sha1:link_published_title_content' => 'Link + Data + Titolo + Contenuto', + 'sha1:published' => 'Data', + 'sha1:title' => 'Titolo', + 'sha1:title_published' => 'Titolo + Data', + 'sha1:title_published_content' => 'Titolo + Data + Contenuto', ), 'url' => 'URL del feed', 'useragent' => 'Imposta lo user agent per recuperare questo feed', diff --git a/app/i18n/ja/sub.php b/app/i18n/ja/sub.php index cd9ff501e..d8303119a 100644 --- a/app/i18n/ja/sub.php +++ b/app/i18n/ja/sub.php @@ -241,9 +241,15 @@ return array( 'help' => '不正なフィードに対処します。<br />⚠️ ポリシーを変更すると重複が発生します。', 'id' => '標準的な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' => 'フィードを取得するときのユーザーエージェント', diff --git a/app/i18n/ko/sub.php b/app/i18n/ko/sub.php index 41d06dc19..8208e4a65 100644 --- a/app/i18n/ko/sub.php +++ b/app/i18n/ko/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => '피드 URL', 'useragent' => '이 피드를 가져올 때 사용할 유저 에이전트 설정', diff --git a/app/i18n/lv/sub.php b/app/i18n/lv/sub.php index f597f5747..428240a84 100644 --- a/app/i18n/lv/sub.php +++ b/app/i18n/lv/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'Barotnes URL', 'useragent' => 'Lietotāja aģenta iestatīšana šīs barotnes iegūšanai', diff --git a/app/i18n/nl/sub.php b/app/i18n/nl/sub.php index 968bef419..ca4c52ac4 100644 --- a/app/i18n/nl/sub.php +++ b/app/i18n/nl/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'Feed-url', 'useragent' => 'Stelt de useragent in om deze feed op te halen', diff --git a/app/i18n/oc/sub.php b/app/i18n/oc/sub.php index c342fe9e7..f8082d6cb 100644 --- a/app/i18n/oc/sub.php +++ b/app/i18n/oc/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'Flux URL', 'useragent' => 'Definir un user agent per recuperar aqueste flux', diff --git a/app/i18n/pl/sub.php b/app/i18n/pl/sub.php index b334265bc..18b6b63de 100644 --- a/app/i18n/pl/sub.php +++ b/app/i18n/pl/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Istotne dla niezgodnych kanałów.<br />⚠️ Wprowadzenie zmian w polityce utworzy duplikaty.', 'id' => 'standardowe ID (domyślne)', 'link' => 'odnośnik', + 'sha1:content' => 'zawartość', + 'sha1:content_published' => 'zawartość + data', 'sha1:link_published' => 'odnośnik + data', 'sha1:link_published_title' => 'odnośnik + data + tytuł', 'sha1:link_published_title_content' => 'odnośnik + data + tytuł + zawartość', + 'sha1:published' => 'data', + 'sha1:title' => 'tytuł', + 'sha1:title_published' => 'tytuł + data', + 'sha1:title_published_content' => 'tytuł + data + zawartość', ), 'url' => 'Adres kanału', 'useragent' => 'Ciąg user agent używany podczas pobierania kanału', diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php index f26f8afc4..1d694baed 100644 --- a/app/i18n/pt-br/sub.php +++ b/app/i18n/pt-br/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'URL do Feed', 'useragent' => 'Defina um usuário para buscar este feed', diff --git a/app/i18n/pt-pt/sub.php b/app/i18n/pt-pt/sub.php index 12c5c2b5b..7cddeb767 100644 --- a/app/i18n/pt-pt/sub.php +++ b/app/i18n/pt-pt/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'URL do Feed', 'useragent' => 'Defina um utilizador para pesquisar este feed', diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php index 3b5ca6ca0..edbc219b2 100644 --- a/app/i18n/ru/sub.php +++ b/app/i18n/ru/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'URL ленты', 'useragent' => 'Указать юзерагент для извлечения лент', diff --git a/app/i18n/sk/sub.php b/app/i18n/sk/sub.php index b603e8d9e..8d6472f5d 100644 --- a/app/i18n/sk/sub.php +++ b/app/i18n/sk/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => 'Odkaz kanála', 'useragent' => 'Nastaviť používateľského agenta na sťahovanie tohto kanála', diff --git a/app/i18n/tr/sub.php b/app/i18n/tr/sub.php index 5c92c8e8c..d47ad49b0 100644 --- a/app/i18n/tr/sub.php +++ b/app/i18n/tr/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Geçersiz beslemeler için geçerlidir.<br />⚠️ Politikayı değiştirmek kopyalar oluşturur.', 'id' => 'Standart Kimlik (varsayılan)', 'link' => 'Bağlantı', + 'sha1:content' => 'İçerik', + 'sha1:content_published' => 'İçerik + Tarih', 'sha1:link_published' => 'Bağlantı + Tarih', 'sha1:link_published_title' => 'Bağlantı + Tarih + Başlık', 'sha1:link_published_title_content' => 'Bağlantı + Tarih + Başlık + İçerik', + 'sha1:published' => 'Tarih', + 'sha1:title' => 'Başlık', + 'sha1:title_published' => 'Başlık + Tarih', + 'sha1:title_published_content' => 'Başlık + Tarih + İçerik', ), 'url' => 'Besleme URL’si', 'useragent' => 'Bu beslemeyi almak için kullanıcı aracısını ayarlayın', diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php index 07af113a9..ecdf964cc 100644 --- a/app/i18n/zh-cn/sub.php +++ b/app/i18n/zh-cn/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => '源地址', 'useragent' => '设置用于获取此源的 User Agent', diff --git a/app/i18n/zh-tw/sub.php b/app/i18n/zh-tw/sub.php index d0ff30f94..b1ccf1c13 100644 --- a/app/i18n/zh-tw/sub.php +++ b/app/i18n/zh-tw/sub.php @@ -241,9 +241,15 @@ return array( 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO 'id' => 'Standard ID (default)', // TODO 'link' => 'Link', // TODO + '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:published' => 'Date', // TODO + 'sha1:title' => 'Title', // TODO + 'sha1:title_published' => 'Title + Date', // TODO + 'sha1:title_published_content' => 'Title + Date + Content', // TODO ), 'url' => '源地址', 'useragent' => '設置用於獲取此源的 User Agent', diff --git a/app/views/helpers/feed/update.phtml b/app/views/helpers/feed/update.phtml index f6c88d372..430f8608b 100644 --- a/app/views/helpers/feed/update.phtml +++ b/app/views/helpers/feed/update.phtml @@ -143,6 +143,12 @@ <option value="sha1:link_published" <?= $unicityCriteria === 'sha1:link_published' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:link_published') ?></option> <option value="sha1:link_published_title" <?= $unicityCriteria === 'sha1:link_published_title' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:link_published_title') ?></option> <option value="sha1:link_published_title_content" <?= $unicityCriteria === 'sha1:link_published_title_content' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:link_published_title_content') ?></option> + <option value="sha1:title" <?= $unicityCriteria === 'sha1:title' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:title') ?></option> + <option value="sha1:title_published" <?= $unicityCriteria === 'sha1:title_published' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:title_published') ?></option> + <option value="sha1:title_published_content" <?= $unicityCriteria === 'sha1:title_published_content' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:title_published_content') ?></option> + <option value="sha1:content" <?= $unicityCriteria === 'sha1:content' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:content') ?></option> + <option value="sha1:content_published" <?= $unicityCriteria === 'sha1:content_published' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:content_published') ?></option> + <option value="sha1:published" <?= $unicityCriteria === 'sha1:published' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:published') ?></option> </select> <label for="unicityCriteriaForced" class="inline"> <input type="checkbox" name="unicityCriteriaForced" id="unicityCriteriaForced" value="1"<?= $this->feed->attributeBoolean('unicityCriteriaForced') ? ' checked="checked"' : '' ?> /> |
