Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion api/_rss-allowed-domains.js
Original file line number Diff line number Diff line change
Expand Up @@ -323,5 +323,8 @@ export default [
"rss.libsyn.com",
"feeds.megaphone.fm",
"rss.art19.com",
"idp.nature.com"
"idp.nature.com",
"www.lsm.lv",
"www.delfi.lv",
"www.la.lv",
];
1 change: 1 addition & 0 deletions public/offline.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ <h1 id="t-title">You're Offline</h1>
it: { title: "Sei Offline", msg: "World Monitor richiede una connessione Internet per i dati di intelligence in tempo reale.", retry: "Riprova" },
ja: { title: "オフラインです", msg: "World Monitorはリアルタイムインテリジェンスデータのためにインターネット接続が必要です。", retry: "再試行" },
ko: { title: "오프라인입니다", msg: "World Monitor는 실시간 인텔리전스 데이터를 위해 인터넷 연결이 필요합니다.", retry: "다시 시도" },
lv: { title: "Neesat savienots", msg: "World Monitor prasa interneta savienojumu reāllaika izlūkošanas datiem.", retry: "Mēģināt vēlreiz" },
nl: { title: "Je bent offline", msg: "World Monitor heeft een internetverbinding nodig voor real-time inlichtingengegevens.", retry: "Opnieuw proberen" },
pl: { title: "Jesteś offline", msg: "World Monitor wymaga połączenia internetowego do otrzymywania danych wywiadowczych w czasie rzeczywistym.", retry: "Ponów próbę" },
pt: { title: "Você está offline", msg: "World Monitor requer uma conexão com a internet para dados de inteligência em tempo real.", retry: "Tentar novamente" },
Expand Down
5 changes: 4 additions & 1 deletion scripts/shared/rss-allowed-domains.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,8 @@
"rss.libsyn.com",
"feeds.megaphone.fm",
"rss.art19.com",
"idp.nature.com"
"idp.nature.com",
"www.lsm.lv",
"www.delfi.lv",
"www.la.lv"
]
14 changes: 10 additions & 4 deletions scripts/shared/source-tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"The National": 2,
"Yonhap News": 2,
"Chosun Ilbo": 2,
"El País": 2,
"El Pa\u00eds": 2,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Unrelated Unicode-escape churn on pre-existing entries

Three existing entries were re-serialised with JSON Unicode escapes as a side-effect of this PR: "El País""El Pa\u00eds", "Híradó""H\u00edrad\u00f3", "La Silla Vacía""La Silla Vac\u00eda". The same change appears in shared/source-tiers.json. JSON \uXXXX escapes and literal Unicode characters are parsed identically, so there is no runtime impact; but the diff noise makes it harder to review the Latvian additions and could trigger downstream churn if a future contributor normalises the file in the opposite direction. The churn is likely a serialiser artifact — worth stripping before merge.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

"El Mundo": 2,
"BBC Mundo": 2,
"Brasil Paralelo": 2,
Expand All @@ -71,7 +71,7 @@
"HVG": 2,
"444.hu": 2,
"24.hu": 2,
"Híradó": 2,
"H\u00edrad\u00f3": 2,
"Portfolio.hu": 2,
"ATV": 2,
"BBC Russian": 2,
Expand Down Expand Up @@ -217,7 +217,7 @@
"Entrackr (India)": 3,
"India Tech News": 3,
"Taiwan Tech News": 3,
"La Silla Vacía": 3,
"La Silla Vac\u00eda": 3,
"LATAM Tech News": 3,
"Startups.co (LATAM)": 3,
"Contxto (LATAM)": 3,
Expand Down Expand Up @@ -262,5 +262,11 @@
"ArXiv AI": 4,
"AI News": 4,
"Layoffs News": 4,
"GloNewswire (Taiwan)": 4
"GloNewswire (Taiwan)": 4,
"LSM": 1,
"Delfi LV": 2,
"Latvijas Av\u012bze": 2,
"Diena": 2,
"TVNet": 2,
"Neatkar\u012bg\u0101": 2
}
2 changes: 1 addition & 1 deletion scripts/sync-offline-translations.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import { readFileSync, writeFileSync } from 'node:fs';
import path from 'node:path';

const LOCALES = ['en', 'ar', 'bg', 'cs', 'de', 'el', 'es', 'fr', 'hu', 'it', 'ja', 'ko', 'nl', 'pl', 'pt', 'ro', 'ru', 'sv', 'th', 'tr', 'vi', 'zh'];
const LOCALES = ['ar', 'bg', 'cs', 'de', 'el', 'en', 'es', 'fr', 'hu', 'it', 'ja', 'ko', 'lv', 'nl', 'pl', 'pt', 'ro', 'ru', 'sv', 'th', 'tr', 'vi', 'zh'];
const OFFLINE_HTML = 'public/offline.html';
const LOCALES_DIR = 'src/locales';

Expand Down
4 changes: 2 additions & 2 deletions scripts/translate-locales.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ const onlyArg = [...args].find(a => a.startsWith('--only='));
const onlyLocales = onlyArg ? onlyArg.slice('--only='.length).split(',') : null;

const ROOT = proTest ? 'pro-test/src/locales' : 'src/locales';
const LOCALES = ['ar', 'bg', 'cs', 'de', 'el', 'es', 'fr', 'hu', 'it', 'ja', 'ko', 'nl', 'pl', 'pt', 'ro', 'ru', 'sv', 'th', 'tr', 'vi', 'zh'];
const LOCALES = ['ar', 'bg', 'cs', 'de', 'el', 'es', 'fr', 'hu', 'it', 'ja', 'ko', 'lv', 'nl', 'pl', 'pt', 'ro', 'ru', 'sv', 'th', 'tr', 'vi', 'zh'];
const LANG_NAMES = {
ar: 'Arabic', bg: 'Bulgarian', cs: 'Czech', de: 'German', el: 'Greek',
es: 'Spanish', fr: 'French', hu: 'Hungarian', it: 'Italian', ja: 'Japanese',
ko: 'Korean', nl: 'Dutch', pl: 'Polish', pt: 'Portuguese (Brazil)',
ro: 'Romanian', ru: 'Russian', sv: 'Swedish', th: 'Thai', tr: 'Turkish',
lv: 'Latvian', ro: 'Romanian', ru: 'Russian', sv: 'Swedish', th: 'Thai', tr: 'Turkish',
vi: 'Vietnamese', zh: 'Simplified Chinese',
};
const BATCH_SIZE = 50;
Expand Down
7 changes: 7 additions & 0 deletions server/worldmonitor/news/v1/_feeds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ export const VARIANT_FEEDS: Record<string, Record<string, ServerFeed[]>> = {
{ name: 'Híradó', url: gnLocale('site:hirado.hu when:2d', 'hu', 'HU', 'HU:hu'), lang: 'hu' },
{ name: 'Portfolio.hu', url: 'https://portfolio.hu/rss/all.xml', lang: 'hu' },
{ name: 'ATV', url: 'https://www.atv.hu/rss', lang: 'hu' },
// Latvian (LV)
{ name: 'LSM', url: 'https://www.lsm.lv/rss/', lang: 'lv' },
{ name: 'Delfi LV', url: 'https://www.delfi.lv/rss/feeds/rss.xml', lang: 'lv' },
{ name: 'Latvijas Avīze', url: 'https://www.la.lv/rss', lang: 'lv' },
{ name: 'Diena', url: gnLocale('site:diena.lv when:2d', 'lv', 'LV', 'LV:lv'), lang: 'lv' },
{ name: 'TVNet', url: gnLocale('site:tvnet.lv when:2d', 'lv', 'LV', 'LV:lv'), lang: 'lv' },
{ name: 'Neatkarīgā', url: gnLocale('site:nra.lv when:2d', 'lv', 'LV', 'LV:lv'), lang: 'lv' },
],
middleeast: [
{ name: 'BBC Middle East', url: 'https://feeds.bbci.co.uk/news/world/middle_east/rss.xml' },
Expand Down
5 changes: 4 additions & 1 deletion shared/rss-allowed-domains.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,8 @@
"rss.libsyn.com",
"feeds.megaphone.fm",
"rss.art19.com",
"idp.nature.com"
"idp.nature.com",
"www.lsm.lv",
"www.delfi.lv",
"www.la.lv"
]
14 changes: 10 additions & 4 deletions shared/source-tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"The National": 2,
"Yonhap News": 2,
"Chosun Ilbo": 2,
"El País": 2,
"El Pa\u00eds": 2,
"El Mundo": 2,
"BBC Mundo": 2,
"Brasil Paralelo": 2,
Expand All @@ -71,7 +71,7 @@
"HVG": 2,
"444.hu": 2,
"24.hu": 2,
"Híradó": 2,
"H\u00edrad\u00f3": 2,
"Portfolio.hu": 2,
"ATV": 2,
"BBC Russian": 2,
Expand Down Expand Up @@ -217,7 +217,7 @@
"Entrackr (India)": 3,
"India Tech News": 3,
"Taiwan Tech News": 3,
"La Silla Vacía": 3,
"La Silla Vac\u00eda": 3,
"LATAM Tech News": 3,
"Startups.co (LATAM)": 3,
"Contxto (LATAM)": 3,
Expand Down Expand Up @@ -262,5 +262,11 @@
"ArXiv AI": 4,
"AI News": 4,
"Layoffs News": 4,
"GloNewswire (Taiwan)": 4
"GloNewswire (Taiwan)": 4,
"LSM": 1,
"Delfi LV": 2,
"Latvijas Av\u012bze": 2,
"Diena": 2,
"TVNet": 2,
"Neatkar\u012bg\u0101": 2
}
9 changes: 9 additions & 0 deletions src/config/feeds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ export const SOURCE_TYPES: Record<string, SourceType> = {
'Telex': 'mainstream', 'Index.hu': 'mainstream', 'HVG': 'mainstream',
'444.hu': 'mainstream', '24.hu': 'mainstream', 'Híradó': 'mainstream',
'ATV': 'mainstream', 'Portfolio.hu': 'market',
// Latvian (LV)
'LSM': 'mainstream', 'Delfi LV': 'mainstream', 'Latvijas Avīze': 'mainstream', 'Diena': 'mainstream', 'TVNet': 'mainstream', 'Neatkarīgā': 'mainstream',
'SVT Nyheter': 'mainstream', 'Dagens Nyheter': 'mainstream', 'Svenska Dagbladet': 'mainstream',
// Brazilian Addition
'Brasil Paralelo': 'mainstream',
Expand Down Expand Up @@ -278,6 +280,13 @@ const FULL_FEEDS: Record<string, Feed[]> = {
{ name: 'in.gr', url: rss('https://www.in.gr/feed/'), lang: 'el' },
{ name: 'iefimerida', url: rss('https://www.iefimerida.gr/rss.xml'), lang: 'el' },
{ name: 'Proto Thema', url: rss('https://news.google.com/rss/search?q=site:protothema.gr+when:2d&hl=el&gl=GR&ceid=GR:el'), lang: 'el' },
// Latvian (LV)
{ name: 'LSM', url: rss('https://www.lsm.lv/rss/'), lang: 'lv' },
{ name: 'Delfi LV', url: rss('https://www.delfi.lv/rss/feeds/rss.xml'), lang: 'lv' },
{ name: 'Latvijas Avīze', url: rss('https://www.la.lv/rss'), lang: 'lv' },
{ name: 'Diena', url: rss('https://news.google.com/rss/search?q=site:diena.lv+when:2d&hl=lv&gl=LV&ceid=LV:lv'), lang: 'lv' },
{ name: 'TVNet', url: rss('https://news.google.com/rss/search?q=site:tvnet.lv+when:2d&hl=lv&gl=LV&ceid=LV:lv'), lang: 'lv' },
{ name: 'Neatkarīgā', url: rss('https://news.google.com/rss/search?q=site:nra.lv+when:2d&hl=lv&gl=LV&ceid=LV:lv'), lang: 'lv' },
// Russia & Ukraine (independent sources)
{ name: 'BBC Russian', url: rss('https://feeds.bbci.co.uk/russian/rss.xml'), lang: 'ru' },
{ name: 'Meduza', url: rss('https://meduza.io/rss/all'), lang: 'ru' },
Expand Down
Loading
Loading