added romanian translations for learnings

Этот коммит содержится в:
Constantin Rusu 2025-05-08 01:14:53 +01:00
родитель d373d95c9b
Коммит 2b637e78c1
5 изменённых файлов: 282 добавлений и 25 удалений

Просмотреть файл

@ -12,10 +12,13 @@ export const LanguageSwitcher = () => {
if (savedLang && savedLang !== i18n.language) { if (savedLang && savedLang !== i18n.language) {
i18n.changeLanguage(savedLang); i18n.changeLanguage(savedLang);
} }
// Log current language for debugging
console.log('Current language:', i18n.language);
}, [i18n]); }, [i18n]);
const toggleLanguage = () => { const toggleLanguage = () => {
const newLang = i18n.language === 'en' ? 'ro' : 'en'; const newLang = i18n.language === 'en' ? 'ro' : 'en';
console.log('Switching language to:', newLang);
i18n.changeLanguage(newLang); i18n.changeLanguage(newLang);
localStorage.setItem('i18nextLng', newLang); localStorage.setItem('i18nextLng', newLang);
}; };

Просмотреть файл

@ -26,7 +26,7 @@ export const CollapsibleLearningSection: React.FC<CollapsibleLearningSectionProp
onClick={() => setIsExpanded(!isExpanded)} onClick={() => setIsExpanded(!isExpanded)}
> >
<BookOpenIcon className="w-5 h-5" /> <BookOpenIcon className="w-5 h-5" />
<span className="mb-0">Learning from real world examples</span> <span className="mb-0">{t('learning.header')}</span>
<ChevronRightIcon className={`w-4 h-4 transition-transform ${isExpanded ? 'rotate-90' : ''}`} /> <ChevronRightIcon className={`w-4 h-4 transition-transform ${isExpanded ? 'rotate-90' : ''}`} />
</h3> </h3>
@ -40,7 +40,7 @@ export const CollapsibleLearningSection: React.FC<CollapsibleLearningSectionProp
<div className="mt-4 space-y-4"> <div className="mt-4 space-y-4">
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<AcademicCapIcon className="w-5 h-5 text-yellow-500" /> <AcademicCapIcon className="w-5 h-5 text-yellow-500" />
<h4 className="text-yellow-500">Further reading</h4> <h4 className="text-yellow-500">{t('learning.learnMore')}</h4>
</div> </div>
<div className="space-y-3"> <div className="space-y-3">
{learningData.references.map((ref, index) => ( {learningData.references.map((ref, index) => (

Просмотреть файл

@ -1,4 +1,4 @@
import React, { useState } from 'react'; import React, { useState, useEffect } from 'react';
import { ExternalLinkIcon } from 'lucide-react'; import { ExternalLinkIcon } from 'lucide-react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { LearningMaterial } from '@/hooks/useLearnings'; import { LearningMaterial } from '@/hooks/useLearnings';
@ -11,9 +11,22 @@ interface LearningSectionProps {
} }
export const LearningSection: React.FC<LearningSectionProps> = ({ learningData }) => { export const LearningSection: React.FC<LearningSectionProps> = ({ learningData }) => {
const { t } = useTranslation(); const { t, i18n } = useTranslation();
const [expanded, setExpanded] = useState(false); const [expanded, setExpanded] = useState(false);
useEffect(() => {
if (learningData) {
console.log('Learning data loaded:', {
title: learningData.title,
language: i18n.language,
didYouKnow: learningData.didYouKnow?.substring(0, 30) + '...',
referencesCount: learningData.references?.length
});
} else {
console.log('No learning data loaded');
}
}, [learningData, i18n.language]);
if (!learningData) return null; if (!learningData) return null;
return ( return (

Просмотреть файл

@ -1,17 +1,8 @@
import { useMemo } from 'react'; import { useMemo, useEffect } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { ChoiceID } from '@/components/game/constants/metrics'; import { ChoiceID } from '@/components/game/constants/metrics';
import englishLearnings from '@/learnings/learnings_en.json'; import englishLearnings from '@/learnings/learnings_en.json';
import romanianLearnings from '@/learnings/learnings_ro.json';
// Try to import Romanian learnings, but fall back to English if not found
// Note: TypeScript will complain about this import, but we handle the error gracefully at runtime
let romanianLearnings: any = null;
try {
// @ts-ignore - We intentionally handle missing file at runtime
romanianLearnings = require('@/learnings/learnings_ro.json');
} catch (error) {
console.warn('Romanian learnings file not found, falling back to English');
}
// Define the learning material structure // Define the learning material structure
export interface Reference { export interface Reference {
@ -52,29 +43,51 @@ const choiceToLearningMap: Record<ChoiceID, string> = {
export const useLearnings = (choiceId?: ChoiceID) => { export const useLearnings = (choiceId?: ChoiceID) => {
const { i18n } = useTranslation(); const { i18n } = useTranslation();
// Log available translations on hook initialization
useEffect(() => {
console.log('Available translations:', {
english: englishLearnings ? `${englishLearnings.length} items` : 'not loaded',
romanian: romanianLearnings ? `${romanianLearnings.length} items` : 'not loaded',
currentLanguage: i18n.language
});
}, []);
// Log language changes
useEffect(() => {
console.log('Language changed to:', i18n.language);
}, [i18n.language]);
const learningData = useMemo(() => { const learningData = useMemo(() => {
if (!choiceId) return null; if (!choiceId) return null;
const learningTitle = choiceToLearningMap[choiceId]; const learningTitle = choiceToLearningMap[choiceId];
if (!learningTitle) return null; if (!learningTitle) return null;
console.log(`Looking for learning title: ${learningTitle} with language: ${i18n.language}`);
// Get the correct learning data based on language // Get the correct learning data based on language
const getLearningForLanguage = () => { const getLearningForLanguage = () => {
// If language is Romanian and we have Romanian learnings // If language is Romanian and we have Romanian learnings
if (i18n.language === 'ro' && romanianLearnings) { if (i18n.language === 'ro') {
// Check if there's a specific Romanian translation for this strategy // Check if there's a specific Romanian translation for this strategy
const roLearning = romanianLearnings.find((learning: LearningMaterial) => const roLearning = romanianLearnings.find((learning: LearningMaterial) =>
learning.title === learningTitle learning.title === learningTitle
); );
console.log(`Romanian learning found: ${!!roLearning}`,
roLearning ? `First words: ${roLearning.didYouKnow.substring(0, 30)}...` : 'none');
// If we have a Romanian translation for this specific strategy, use it // If we have a Romanian translation for this specific strategy, use it
if (roLearning && roLearning.title !== 'TRANSLATION_PLACEHOLDER') { if (roLearning) {
return roLearning; return roLearning;
} }
} }
// Fallback to English for any other language or if Romanian translation isn't available // Fallback to English for any other language or if Romanian translation isn't available
return englishLearnings.find(learning => learning.title === learningTitle) || null; const enLearning = englishLearnings.find(learning => learning.title === learningTitle) || null;
console.log(`Falling back to English: ${!!enLearning}`);
return enLearning;
}; };
return getLearningForLanguage(); return getLearningForLanguage();

Просмотреть файл

@ -24,15 +24,243 @@
] ]
}, },
{ {
"title": "TRANSLATION_PLACEHOLDER", "title": "Meme Campaigns (ESTABLISH_MEMES)",
"didYouKnow": "Acest fișier necesită traducere completă. Momentan, doar primul exemplu ('Bot Networks') a fost tradus în română. Vă rugăm să traduceți restul intrărilor din fișierul englezesc (learnings_en.json) în acest fișier pentru a oferi suport complet în limba română.", "didYouKnow": "În timpul alegerilor din SUA din 2016, fabrica de troli a Rusiei a inundat Instagram cu mii de meme-uri umoristice pentru a alimenta diviziunile sociale și a evita verificatorii de fapte.",
"references": [ "references": [
{ {
"title": "Notă pentru traductor", "title": "Cum au folosit trolii ruși războiul meme-urilor pentru a diviza America",
"summary": "Vă rugăm să traduceți toate intrările din fișierul englezesc (learnings_en.json) pentru a oferi suport complet în limba română.", "summary": "Analiza comandată de Senat arată că Internet Research Agency a inundat fiecare platformă socială majoră cu meme-uri—în special pe Instagram—pentru a suprima votul și a-l susține pe Donald Trump în 2016.",
"source": "Echipa de dezvoltare", "source": "WIRED",
"link": "#" "link": "https://www.wired.com/story/russia-ira-propaganda-senate-report/"
},
{
"title": "Cum au devenit meme-urile super-răspânditori de dezinformare medicală",
"summary": "Cercetătorii au descoperit că meme-urile anti-vaccin din timpul COVID-19 au direcționat utilizatorii către achiziționarea de tratamente nedovedite precum ivermectina, demonstrând că imaginile satirice pot fi vectori profitabili pentru afirmații false despre sănătate.",
"source": "Gavi / The Conversation",
"link": "https://www.gavi.org/vaccineswork/how-memes-transformed-pics-cute-cats-health-disinformation-super-spreaders"
},
{
"title": "Meme-uri cu IA: Dezinformarea electorală manifestată prin satiră",
"summary": "Experții în politici avertizează că meme-urile politice generate de IA modelează deja campaniile din 2024, folosind umorul și mixuri pop-culturale pentru a trece atât de scepticismul utilizatorilor, cât și de moderarea platformelor.",
"source": "Brookings Institution",
"link": "https://www.brookings.edu/articles/ai-memes-election-disinformation-manifested-through-satire/"
}
]
},
{
"title": "Alternative News Sites (LAUNCH_NEWS)",
"didYouKnow": "Site-urile finanțate politic care se prezintă drept publicații locale depășesc acum numărul ziarelor zilnice reale din Statele Unite.",
"references": [
{
"title": "Microsoft detectează site-uri de știri false legate de Iran care vizează influențarea alegerilor din SUA",
"summary": "Analiștii de amenințări au descoperit patru domenii false de știri din SUA—complete cu înclinare partizană și reporteri ficționali—create de actori iranieni pentru a influența votul din 2024.",
"source": "NPR",
"link": "https://www.npr.org/2024/08/09/1192725878/microsoft-iran-fake-news-sites-election-interference"
},
{
"title": "Agenția rusă a creat un fals site de știri de stânga cu editori ficționali, spune Facebook",
"summary": "Facebook a expus 'PeaceData', un site de stânga administrat de Rusia folosind profiluri de jurnaliști generate de IA și freelanceri neinformați pentru a răspândi narațiuni anti-occidentale către publicul progresist.",
"source": "The Guardian",
"link": "https://www.theguardian.com/technology/2020/sep/01/facebook-russia-internet-research-agency-fake-news"
},
{
"title": "Site-urile de știri partizane depășesc ziarele locale zilnice",
"summary": "NewsGuard a găsit 1.265 de site-uri 'locale' partizane bazate pe algoritmi—susținute de grupuri cu finanțare netransparentă—care acum depășesc ziarele reale, vizând alegătorii din statele-cheie cu articole părtinite ce par a fi reportaje locale.",
"source": "Axios",
"link": "https://www.axios.com/2024/06/11/partisan-news-websites-dark-money"
}
]
},
{
"title": "Community Infiltration (INFILTRATE_COMMUNITIES)",
"didYouKnow": "Trolii ruși au organizat odată evenimente rivale pe Facebook în Houston—anti-musulmane și pro-musulmane—păcălind texani reali să se confrunte personal.",
"references": [
{
"title": "Campaniile rusești de dezinformare pe Twitter se întind pe întreg spectrul politic american",
"summary": "Cercetătorii de la Harvard arată cum personajele IRA s-au integrat în comunitățile conservatoare, progresiste și activiști afro-americani, mimând identitățile de grup pentru a semăna propagandă personalizată.",
"source": "HKS Misinformation Review",
"link": "https://misinforeview.hks.harvard.edu/article/russian-disinformation-campaigns-on-twitter/"
},
{
"title": "Încă o dată: Piciorul QAnon în lumea wellness-ului",
"summary": "NPR documentează cum narațiunile conspirative QAnon au infiltrat cercurile de yoga și sănătate holistică prin influenceri de încredere, convertind adepți ai wellness-ului apolitici în credincioși în teorii ale conspirației.",
"source": "NPR",
"link": "https://www.npr.org/2023/01/07/1147721024/qanon-toehold-wellness-yoga"
},
{
"title": "Cum a folosit Rusia Facebook pentru a organiza două grupuri de protestatari",
"summary": "Mărturia din Senat a dezvăluit că paginile conduse de Kremlin 'Heart of Texas' și 'United Muslims of America' au orchestrat proteste rivale în Houston în 2016, fără a dezvălui niciodată păpușarul comun.",
"source": "NPR",
"link": "https://www.npr.org/2017/11/01/561427876/how-russia-used-facebook-to-organize-two-sets-of-protesters"
}
]
},
{
"title": "Influencer Collaboration (INFLUENCER_COLLABORATION)",
"didYouKnow": "YouTuberilor francezi și germani li s-au oferit în secret bani în 2021 pentru a pretinde că vaccinul Pfizer a ucis de trei ori mai mulți oameni decât a salvat.",
"references": [
{
"title": "Influencerii spun că o agenție PR legată de Rusia le-a cerut să denigreze vaccinul Pfizer",
"summary": "O firmă din Londra legată de Rusia a încercat să plătească influenceri de lifestyle pentru a posta falsități anti-Pfizer scrise dinainte, ascunzând orice dezvăluire a sponsorizării.",
"source": "The Guardian",
"link": "https://www.theguardian.com/media/2021/may/25/influencers-say-russia-linked-pr-agency-asked-them-to-disparage-pfizer-vaccine"
},
{
"title": "Cum a angajat Rusia în secret influenceri din SUA pentru a crea videoclipuri",
"summary": "Acuzația DOJ din 2024 arată că Tenet Media a cheltuit 10 milioane de dolari recrutând TikTokeri și YouTuberi americani pentru a produce mii de videoclipuri prietenoase cu Kremlinul, văzute de milioane.",
"source": "NPR",
"link": "https://www.npr.org/2024/09/05/1197890163/russia-election-influencers-youtube-tenet-media-doj"
},
{
"title": "Cum profită influencerii de pe Instagram de dezinformarea anti-vaccin",
"summary": "Cercetătorii de la Universitatea Washington profilează trei influenceri de wellness care amestecă postări de modă cu teorii conspiraționiste anti-vaccin—apoi monetizează aceste credințe prin mărfuri și cursuri plătite.",
"source": "University of Washington News",
"link": "https://www.washington.edu/news/2024/03/11/instagram-influencers-profit-anti-vaccine-misinformation-disinformation-wellness/"
}
]
},
{
"title": "Grassroots Movements (GRASSROOTS_MOVEMENT)",
"didYouKnow": "Mitingurile stradale 'Stop Zelensky' din toată Europa au fost organizate de operativi pro-Kremlin—niciun ucrainean nu a participat.",
"references": [
{
"title": "Dezvăluire: Protestatarii 'Stop Zelensky' care răspândesc dezinformarea rusă în Europa",
"summary": "Investigatorii au urmărit protestele anti-Zelensky aparent organice până la o rețea de susținători ai Kremlinului care au tipărit afișe și au organizat mitinguri pentru fotografie, pozând drept activiști ucraineni pentru pace.",
"source": "The Kyiv Independent",
"link": "https://kyivindependent.com/who-is-behind-pro-russian-stop-zelensky-demonstrations-in-europe/"
},
{
"title": "Protestele fermierilor din Europa au fost teren fertil pentru propaganda rusă",
"summary": "POLITICO detaliază cum nemulțumirile reale ale fermierilor au fost deturnate online de conturi pro-Rusia, inserând videoclipuri și sloganuri false pentru a direcționa furia către încetarea sprijinului UE pentru Ucraina.",
"source": "POLITICO",
"link": "https://www.politico.eu/article/europe-farmer-protest-russia-war-propaganda/"
},
{
"title": "Cum fabrică guvernul chinez postări pe social media pentru distragere strategică",
"summary": "Un studiu Harvard estimează că 'Partidul celor 50 de cenți' al Chinei postează anual 488 de milioane de comentarii pro-guvernamentale pentru a crea iluzia unui larg sprijin de la bază și a îneca criticile.",
"source": "Harvard University",
"link": "https://dash.harvard.edu/handle/1/33759251"
}
]
},
{
"title": "Reactive Strategies (STAY_COURSE / COUNTER_CAMPAIGN)",
"didYouKnow": "După doborârea zborului MH17, canalele pro-Kremlin au promovat zeci de teorii contradictorii pentru a copleși adevărul—o tactică numită 'furtun de falsuri'.",
"references": [
{
"title": "MH17: zece ani de minciuni și negare rusești",
"summary": "EU vs Disinfo cataloghează un deceniu de narațiuni contradictorii ale Kremlinului—de la învinovățirea avioanelor ucrainene până la afirmarea că avionul era plin de cadavre—menite să confunde mai degrabă decât să convingă.",
"source": "EU vs Disinfo",
"link": "https://euvsdisinfo.eu/mh17-ten-years-of-russian-lying-and-denying/"
},
{
"title": "China a folosit Twitter pentru a perturba protestele din Hong Kong, dar eforturile au început cu ani înainte",
"summary": "Twitter a suspendat peste 200.000 de conturi legate de China care prezentau protestatarii din Hong Kong 2019 ca instrumente violente ale puterilor străine, parte din blitzul rapid de contra-mesaje al Beijingului.",
"source": "NPR",
"link": "https://www.npr.org/2019/09/17/758146019/china-used-twitter-to-disrupt-hong-kong-protests-but-efforts-began-years-earlier"
},
{
"title": "China ripostează lui Biden cu teorii ale conspirației despre laboratorul din Maryland",
"summary": "Când SUA a investigat originile COVID, diplomații chinezi au inundat social media cu o conspirație despre arme biologice de la Fort Detrick—inversând vinovăția și tulburând discursul public.",
"source": "Foreign Policy",
"link": "https://foreignpolicy.com/2021/07/09/china-misinformation-fort-detrick-conspiracy-theory-covid/"
}
]
},
{
"title": "Expert Manipulation (FAKE_EXPERT / ACADEMIC_OUTREACH)",
"didYouKnow": "China a inventat un biolog elvețian inexistent numit 'Wilson Edwards'—complet cu fotografie—pentru a-l cita în media de stat despre investigațiile COVID.",
"references": [
{
"title": "Facebook, Instagram elimină rețeaua chineză pentru afirmații false despre COVID ale 'biologului elvețian'",
"summary": "Meta a eliminat peste 500 de conturi care promovau citate de la un microbiolog fictiv 'Wilson Edwards' care acuza SUA de politizarea originilor virusului; Elveția a confirmat că acesta nu a existat niciodată.",
"source": "Reuters",
"link": "https://www.reuters.com/technology/facebook-instagram-remove-chinese-network-over-fake-swiss-biologist-covid-claims-2021-12-01/"
},
{
"title": "Cum a devenit fosta prezentatoare de la 'The View', Jenny McCarthy, fața mișcării anti-vaccinare",
"summary": "Personalitatea TV Jenny McCarthy s-a poziționat ca 'expert' în autism, răspândind legătura demontată vaccin-autism și contribuind la revenirea rujeolei în SUA în 2019.",
"source": "Business Insider",
"link": "https://www.businessinsider.com/jenny-mccarthy-became-the-face-of-the-anti-vaxx-movement-2019-4"
},
{
"title": "Indian Chronicles – analiză aprofundată",
"summary": "EU DisinfoLab a expus o rețea de influență de 15 ani care a reînviat ONG-uri și think-tank-uri defuncte, chiar furând identitățile persoanelor decedate, pentru a face lobby la ONU și UE cu mărturii 'expert' fabricate.",
"source": "EU DisinfoLab / Coda Story",
"link": "https://www.codastory.com/disinformation/disinformation-research/"
}
]
},
{
"title": "Research Manipulation (RESEARCH_PAPER)",
"didYouKnow": "Studiul lui Andrew Wakefield din 1998 care lega fals vaccinul MMR de autism a fost declarat fraudă, dar încă alimentează mituri anti-vaccin decenii mai târziu.",
"references": [
{
"title": "Influențarea științei: Ghost Writing",
"summary": "Documentele arată că firmele de tutun au plătat scriitori pentru a scrie lucrări științifice care minimizau riscurile fumatului, pe care apoi academicieni independenți le-au prezentat pentru a induce în eroare reglementatorii și publicul.",
"source": "TobaccoTactics (U. of Bath)",
"link": "https://www.tobaccotactics.org/article/influencing-science-ghost-writing/"
},
{
"title": "Studiul care lega vaccinul de autism a fost 'fraudulos'",
"summary": "O investigație BMJ a dovedit că Wakefield a manipulat date despre 12 copii, dar lucrarea sa retrasă rămâne o piatră de temelie a mișcării moderne anti-vaccin.",
"source": "PBS NewsHour / BMJ",
"link": "https://www.pbs.org/newshour/health/journal-study-that-linked-vaccines-and-autism-was-fraudulent"
},
{
"title": "Covid-19: Lancet retrage lucrarea care a oprit testele cu hidroxiclorochină",
"summary": "The Lancet a trebuit să retragă un studiu masiv despre COVID după ce date neverificabile de la o mică firmă privată au derailat testele globale de medicamente și discursul public.",
"source": "The Guardian",
"link": "https://www.theguardian.com/world/2020/jun/04/covid-19-lancet-retracts-paper-that-halted-hydroxychloroquine-trials"
}
]
},
{
"title": "Conspiracy Content (CONSPIRACY_DOCUMENTARY)",
"didYouKnow": "Pseudo-documentarul de 26 de minute 'Plandemic' a atins milioane de vizualizări în câteva zile, dovedind că filmările profesionale pot propulsa teoriile conspirative COVID în mainstream.",
"references": [
{
"title": "'Plandemic': Privim îndeaproape afirmațiile din videoclipul viral de conspirație",
"summary": "Filmul viral a prezentat un om de știință discreditat care susținea că măștile cauzează boli și vaccinurile implantează microcipuri; platformele majore s-au chinuit să elimine reîncărcările suficient de repede.",
"source": "NPR",
"link": "https://www.npr.org/2020/05/08/852451652/seen-plandemic-we-take-a-close-look-at-the-viral-conspiracy-video-s-claims"
},
{
"title": "Loose Change (seria de documentare despre conspirația 9/11)",
"summary": "Acest film cu buget redus din 2005 care susținea complicitatea SUA în 9/11 a acumulat 4 milioane de vizualizări în patru luni și a lansat mișcarea modernă '9/11 Truth'.",
"source": "Vanity Fair / Wikipedia",
"link": "https://en.wikipedia.org/wiki/Loose_Change"
},
{
"title": "'Died Suddenly' repetă afirmații demontate despre vaccinul COVID-19, promovează teoria conspirației",
"summary": "Lansat în 2022, pseudo-documentarul leagă decese nerelaționate pentru a sugera un complot secret de depopulare prin vaccinuri—experții medicali au respins fiecare afirmație.",
"source": "Immunize Colorado",
"link": "https://www.immunizecolorado.org/died-suddenly-repeats-debunked-covid-19-vaccine-claims-promotes-conspiracy-theory/"
}
]
},
{
"title": "Podcast Platforms (PODCAST_PLATFORMS)",
"didYouKnow": "Podcastul lui Joe Rogan ajunge la aproximativ 11 milioane de ascultători pe episod—mai mult decât CNN în prime-time—ilustrând puterea sub-moderată a audio-ului de a răspândi dezinformare.",
"references": [
{
"title": "Spotify elimină muzica lui Neil Young în disputa privind afirmațiile false despre Covid ale lui Joe Rogan",
"summary": "Legenda rock Neil Young a părăsit Spotify după ce Rogan a găzduit invitați care promovau mituri despre vaccin, evidențiind audiența uriașă a podcasturilor și verificarea laxă a faptelor.",
"source": "The Guardian",
"link": "https://www.theguardian.com/technology/2022/jan/26/spotify-neil-young-joe-rogan-covid-misinformation"
},
{
"title": "Principalul podcast american care promova teorii ale conspirației a fost dat jos după ce stația radio a primit o amendă de 15 milioane USD",
"summary": "Podcastul influent Infowars a fost închis după ce Alex Jones a fost găsit responsabil pentru promovarea teroriei că atacul de la Sandy Hook nu a avut loc, arătând cum pot crește în mainstream teorii periculoase.",
"source": "BBC News",
"link": "https://www.bbc.com/news/world-us-canada-63772044"
},
{
"title": "Cum să spot dezinformarea în podcasturi",
"summary": "Un studiu din Journalism Practice arată că doar 11% din afirmațiile false din podcasturi sunt etichetate sau corectate, deoarece moderarea audio este mai dificilă tehnic și mai puțin prioritară pentru platforme.",
"source": "The Conversation",
"link": "https://theconversation.com/how-to-spot-disinformation-in-podcasts-and-why-its-so-difficult-202881"
} }
] ]
} }
] ]