🗣️ Consistent Multilingual Political Intelligence Across 14 Languages
🇸🇪🇬🇧🇩🇰🇳🇴🇫🇮🇩🇪🇫🇷🇪🇸🇳🇱🇸🇦🇮🇱🇯🇵🇰🇷🇨🇳 · RTL Support · BCP-47 Compliance
📋 Document Owner: CEO | 📄 Version: 1.0 | 📅 Last Updated: 2026-02-10 (UTC)
🏢 Owner: Hack23 AB (Org.nr 559534-7807) | 🏷️ Classification: 🟢 Public
📂 Repository: Hack23/riksdagsmonitor
This guide provides comprehensive translation standards and terminology for the Riksdagsmonitor platform across all 14 supported languages. It ensures consistency, accuracy, and cultural appropriateness in all language variants.
News articles are not localised by the workflow that generates them. The per-type news workflows (news-propositions, news-motions, news-committee-reports, news-interpellations, news-evening-analysis, news-realtime-monitor, news-week-ahead, news-month-ahead, news-weekly-review, news-monthly-review) each run the two-step aggregate-then-render pipeline (scripts/aggregate-analysis.ts → analysis/daily/$DATE/$SUB/article.md → scripts/render-articles.ts + scripts/render-lib/) to emit exactly two rendered files per article:
news/$DATE-$SUB-en.html(English master)news/$DATE-$SUB-sv.html(Swedish master)
The remaining 12 language variants (da, nb, fi, de, fr, es, nl, ar, he, ja, ko, zh) are produced exclusively by the standalone news-translate workflow, which:
- Reads the rendered
*-en.htmland*-sv.htmlartifacts (never the markdown). - Prompts an LLM with the terminology tables in this guide.
- Writes sibling
*-$LANG.htmlfiles back intonews/.
No other workflow — and no other contributor process — writes localised article HTML. This decoupling means:
- Editorial changes to a news article ripple through all 14 languages in a single translation pass.
- Terminology drift is detectable: a single
news-translateregression only affects non-EN/SV languages. - The 14 top-level
index_*.htmlpages andpolitical-intelligence_*.htmlpages remain hand-translated (that workflow is not in scope here).
When translating HTML that has already been rendered, do not modify <pre class="mermaid"> blocks — the Mermaid diagram source is a syntactic DSL that must survive untouched. Translate the adjacent <figcaption> and <details> fallback blocks instead.
| Language | Code | File | Direction | Status |
|---|---|---|---|---|
| 🇬🇧 English | en | index.html | LTR | ✅ Master |
| 🇸🇪 Swedish | sv | index_sv.html | LTR | ✅ Complete |
| 🇩🇰 Danish | da | index_da.html | LTR | ✅ Complete |
| 🇳🇴 Norwegian | no | index_no.html | LTR | ✅ Complete |
| 🇫🇮 Finnish | fi | index_fi.html | LTR | ✅ Complete |
| 🇩🇪 German | de | index_de.html | LTR | ✅ Complete |
| 🇫🇷 French | fr | index_fr.html | LTR | ✅ Complete |
| 🇪🇸 Spanish | es | index_es.html | LTR | ✅ Complete |
| 🇳🇱 Dutch | nl | index_nl.html | LTR | ✅ Complete |
| 🇸🇦 Arabic | ar | index_ar.html | RTL | ✅ Complete |
| 🇮🇱 Hebrew | he | index_he.html | RTL | ✅ Complete |
| 🇯🇵 Japanese | ja | index_ja.html | LTR | ✅ Complete |
| 🇰🇷 Korean | ko | index_ko.html | LTR | ✅ Complete |
| 🇨🇳 Chinese | zh | index_zh.html | LTR | ✅ Complete |
| Term | Reason |
|---|---|
| Hack23 | Company name |
| Hack23 AB | Swedish legal entity (Org.nr 5595347807) |
| Citizen Intelligence Agency (CIA) | Platform/project name |
| Riksdag | Swedish Parliament (proper noun) |
| Riksdagsmonitor | Product name |
| James Pether Sörling | Founder name |
| CISSP, CISM | Professional certifications |
| GitHub, LinkedIn | Platform names |
| OpenSSF | Open Source Security Foundation |
The CIA Triad is fundamental to information security. Use consistent translations:
| English | Swedish | Arabic | Hebrew | German | French | Spanish |
|---|---|---|---|---|---|---|
| CIA Triad | CIA-triaden | ثلاثية CIA | שלישיית CIA | CIA-Triade | Triade CIA | Tríada CIA |
| Confidentiality | Konfidentialitet | السرية | סודיות | Vertraulichkeit | Confidentialité | Confidencialidad |
| Integrity | Integritet | السلامة | שלמות | Integrität | Intégrité | Integridad |
| Availability | Tillgänglighet | التوافر | זמינות | Verfügbarkeit | Disponibilité | Disponibilidad |
| English | Danish | Norwegian | Finnish | Dutch | Japanese | Korean | Chinese |
|---|---|---|---|---|---|---|---|
| CIA Triad | CIA-triaden | CIA-triaden | CIA-triadi | CIA-triade | CIA トライアド | CIA 3요소 | CIA 三要素 |
| Confidentiality | Fortrolighed | Konfidensialitet | Luottamuksellisuus | Vertrouwelijkheid | 機密性 | 기밀성 | 机密性 |
| Integrity | Integritet | Integritet | Eheys | Integriteit | 完全性 | 무결성 | 完整性 |
| Availability | Tilgængelighed | Tilgjengelighet | Saatavuus | Beschikbaarheid | 可用性 | 가용성 | 可用性 |
| English | Swedish | Danish | Norwegian | Finnish | German |
|---|---|---|---|---|---|
| Parliament | Riksdag | Folketing | Storting | Eduskunta | Parlament |
| Member of Parliament (MP) | Riksdagsledamot | Folketingsmedlem | Stortingsrepresentant | Kansanedustaja | Parlamentsmitglied |
| Committee | Utskott | Udvalg | Komité | Valiokunta | Ausschuss |
| Coalition | Koalition | Koalition | Koalisjon | Koalitio | Koalition |
| Opposition | Opposition | Opposition | Opposisjon | Oppositio | Opposition |
| Election | Val | Valg | Valg | Vaalit | Wahl |
| Voting | Röstning | Afstemning | Avstemning | Äänestys | Abstimmung |
| English | French | Spanish | Dutch | Arabic | Hebrew |
|---|---|---|---|---|---|
| Parliament | Parlement | Parlamento | Parlement | البرلمان | פרלמנט |
| Member of Parliament (MP) | Député | Diputado | Parlementslid | عضو البرلمان | חבר פרלמנט |
| Committee | Commission | Comité | Commissie | لجنة | ועדה |
| Coalition | Coalition | Coalición | Coalitie | تحالف | קואליציה |
| Opposition | Opposition | Oposición | Oppositie | المعارضة | אופוזיציה |
| Election | Élection | Elección | Verkiezing | انتخابات | בחירות |
| Voting | Vote | Votación | Stemming | تصويت | הצבעה |
| English | Japanese | Korean | Chinese |
|---|---|---|---|
| Parliament | 議会 | 의회 | 议会 |
| Member of Parliament (MP) | 国会議員 | 국회의원 | 议员 |
| Committee | 委員会 | 위원회 | 委员会 |
| Coalition | 連立 | 연립 | 联盟 |
| Opposition | 野党 | 야당 | 反对党 |
| Election | 選挙 | 선거 | 选举 |
| Voting | 投票 | 투표 | 投票 |
| English | Swedish | German | French | Spanish | Arabic |
|---|---|---|---|---|---|
| OSINT | OSINT | OSINT | OSINT | OSINT | استخبارات مفتوحة المصدر |
| Intelligence | Underrättelser | Intelligenz | Renseignement | Inteligencia | استخبارات |
| Monitoring | Övervakning | Überwachung | Surveillance | Monitoreo | مراقبة |
| Analysis | Analys | Analyse | Analyse | Análisis | تحليل |
| Risk Assessment | Riskbedömning | Risikobewertung | Évaluation des risques | Evaluación de riesgos | تقييم المخاطر |
| Transparency | Transparens | Transparenz | Transparence | Transparencia | شفافية |
| English | Swedish | German | French | Spanish |
|---|---|---|---|---|
| Security | Säkerhet | Sicherheit | Sécurité | Seguridad |
| Compliance | Efterlevnad | Compliance | Conformité | Cumplimiento |
| ISO 27001 | ISO 27001 | ISO 27001 | ISO 27001 | ISO 27001 |
| NIST CSF | NIST CSF | NIST CSF | NIST CSF | NIST CSF |
| CIS Controls | CIS Controls | CIS Controls | CIS Controls | CIS Controls |
| DevSecOps | DevSecOps | DevSecOps | DevSecOps | DevSecOps |
| ISMS | ISMS | ISMS | SMSI | SGSI |
These terms appear in Riksdag API responses and MUST be translated accurately in news articles. The Swedish term is the doktyp field value. Never leave these untranslated.
| Swedish | English | German | French | Spanish |
|---|---|---|---|---|
| Betänkande (bet) | Committee report | Ausschussbericht | Rapport de commission | Informe de comité |
| Proposition (prop) | Government bill | Regierungsvorlage | Projet de loi du gouvernement | Proyecto de ley gubernamental |
| Motion (mot) | Parliamentary motion | Parlamentarischer Antrag | Motion parlementaire | Moción parlamentaria |
| Interpellation (ip) | Interpellation | Interpellation | Interpellation | Interpelación |
| Skriftlig fråga (fr) | Written question | Schriftliche Anfrage | Question écrite | Pregunta escrita |
| Votering | Division/Vote | Abstimmung | Vote/Scrutin | Votación |
| Anförande | Parliamentary speech | Parlamentsrede | Discours parlementaire | Discurso parlamentario |
| Riksdagsskrivelse (rskr) | Parliamentary communication | Reichstagsschreiben | Communication parlementaire | Comunicación parlamentaria |
| Swedish | Danish | Norwegian | Finnish | Dutch |
|---|---|---|---|---|
| Betänkande | Udvalgsbetænkning | Komitéinnstilling | Valiokunnan mietintö | Commissieverslag |
| Proposition | Regeringsforslag | Regjeringsforslag | Hallituksen esitys | Wetsvoorstel |
| Motion | Beslutningsforslag | Representantforslag | Lakialoite | Parlementaire motie |
| Interpellation | Forespørgsel | Interpellasjon | Välikysymys | Interpellatie |
| Skriftlig fråga | Skriftligt spørgsmål | Skriftlig spørsmål | Kirjallinen kysymys | Schriftelijke vraag |
| Votering | Afstemning | Votering | Äänestys | Stemming |
| Anförande | Tale | Innlegg | Puheenvuoro | Toespraak |
| Swedish | Arabic | Hebrew | Japanese | Korean | Chinese |
|---|---|---|---|---|---|
| Betänkande | تقرير اللجنة | דוח ועדה | 委員会報告 | 위원회 보고서 | 委员会报告 |
| Proposition | مشروع قانون حكومي | הצעת חוק ממשלתית | 政府法案 | 정부 법안 | 政府法案 |
| Motion | اقتراح برلماني | הצעה פרלמנטרית | 議会動議 | 의회 동의 | 议会动议 |
| Interpellation | استجواب | אינטרפלציה | 質問主意書 | 대정부질문 | 质询 |
| Skriftlig fråga | سؤال مكتوب | שאילתה | 書面質問 | 서면질의 | 书面质询 |
| Votering | تصويت | הצבעה | 採決 | 표결 | 表决 |
| Anförande | خطاب برلماني | נאום פרלמנטרי | 国会演説 | 의회 연설 | 议会发言 |
Committee abbreviations (e.g., FiU, SoU) appear in document references like "Bet. 2025/26:FiU10". Keep abbreviations as-is in document references, but translate committee names in running text.
| Abbreviation | Swedish Name | English |
|---|---|---|
| FiU | Finansutskottet | Finance Committee |
| SoU | Socialutskottet | Social Affairs Committee |
| JuU | Justitieutskottet | Justice Committee |
| CU | Civilutskottet | Civil Affairs Committee |
| UU | Utrikesutskottet | Foreign Affairs Committee |
| FöU | Försvarsutskottet | Defence Committee |
| KU | Konstitutionsutskottet | Constitutional Committee |
| KrU | Kulturutskottet | Cultural Affairs Committee |
| MJU | Miljö- och jordbruksutskottet | Environment and Agriculture Committee |
| NU | Näringsutskottet | Industry Committee |
| SkU | Skatteutskottet | Tax Committee |
| SfU | Socialförsäkringsutskottet | Social Insurance Committee |
| TU | Trafikutskottet | Transport Committee |
| UbU | Utbildningsutskottet | Education Committee |
| AU | Arbetsmarknadsutskottet | Labour Market Committee |
| Swedish | English | Notes |
|---|---|---|
| Statlig personal | Government personnel | Civil servants |
| Bostadsrätt | Tenant-ownership / Housing cooperative | Swedish housing form |
| Föräldrapenning | Parental allowance | Social insurance benefit |
| Djurskydd | Animal welfare/protection | Regulatory area |
| Fribeloppet | Earning threshold | Tax-free amount for students/pensioners |
| Tidöavtalet | The Tidö Agreement | 2022 governing agreement (M, KD, L, SD) |
| Riksrevisionen | Swedish National Audit Office | Keep "Riksrevisionen" in parentheses |
| Riksbanken | Sveriges Riksbank | Sweden's central bank |
| Statsråd | Cabinet minister | Member of the government |
| Regeringskansliet | Government Offices of Sweden | Administrative apparatus |
| Region | Format | Example |
|---|---|---|
| US (English) | MM/DD/YYYY | 02/05/2026 |
| EU (Most) | DD/MM/YYYY | 05/02/2026 |
| Sweden | YYYY-MM-DD | 2026-02-05 |
| ISO 8601 | YYYY-MM-DD | 2026-02-05 (preferred) |
| Arabic | DD/MM/YYYY or ٥ فبراير ٢٠٢٦ | Both Western & Arabic-Indic |
| Japanese | YYYY年MM月DD日 | 2026年2月5日 |
| Chinese | YYYY年MM月DD日 | 2026年2月5日 |
| Korean | YYYY년 MM월 DD일 | 2026년 2월 5일 |
| Region | Thousands | Decimal | Example |
|---|---|---|---|
| US/UK | , (comma) | . (period) | 1,000.50 |
| EU (Most) | . (period) or space | , (comma) | 1.000,50 or 1 000,50 |
| Sweden | (space) | , (comma) | 1 000,50 |
| Arabic | Western or ١٬٠٠٠٫٥٠ | Both formats |
| Language | Currency Symbol | Position | Example |
|---|---|---|---|
| Swedish | kr (SEK) | After amount | 5 000 kr |
| European | € (EUR) | After amount | 5 000 € |
| US | $ (USD) | Before amount | $5,000 |
| Arabic | ر.س (SAR) | After amount | ٥٬٠٠٠ ر.س |
HTML Declaration:
<html lang="ar" dir="rtl">
<!-- or -->
<html lang="he" dir="rtl">CSS Handling:
The styles.css file includes comprehensive RTL support:
- Text alignment: right
- Flex direction: row-reverse for navigation
- List padding: right instead of left
- Form field alignment: right
- Breadcrumb arrows: reversed (←)
Font Families:
- Arabic: Noto Sans Arabic, Tahoma, Arial
- Hebrew: Noto Sans Hebrew, Arial Hebrew, David
Special Considerations:
- URLs remain LTR (left-to-right)
- Code blocks remain LTR
- Email addresses remain LTR
- Technical terms (e.g., "CIA", "OSINT") remain in Latin script
- All HTML meta tags translated (title, description, keywords)
- All Open Graph tags translated
- All Twitter Card metadata translated
- All Schema.org structured data translated
- All visible page content translated
- All button/CTA text translated
- All navigation links translated
- All footer text translated
- All breadcrumb labels translated
-
langattribute correct on<html>tag -
dir="rtl"present for Arabic/Hebrew - Proper font families loaded (Google Fonts)
- Hreflang tags present for all languages
- Canonical URL correct
- Schema.org
inLanguageproperty set
- Proper heading hierarchy (h1 → h2 → h3)
- Alt text translated for images
- ARIA labels translated
- Form labels translated
- Keyboard navigation working
- Screen reader compatible
Each language file must include hreflang tags for all 14 languages plus x-default:
<link rel="alternate" hreflang="en" href="https://riksdagsmonitor.com/index.html">
<link rel="alternate" hreflang="sv" href="https://riksdagsmonitor.com/index_sv.html">
<link rel="alternate" hreflang="da" href="https://riksdagsmonitor.com/index_da.html">
<link rel="alternate" hreflang="no" href="https://riksdagsmonitor.com/index_no.html">
<link rel="alternate" hreflang="fi" href="https://riksdagsmonitor.com/index_fi.html">
<link rel="alternate" hreflang="de" href="https://riksdagsmonitor.com/index_de.html">
<link rel="alternate" hreflang="fr" href="https://riksdagsmonitor.com/index_fr.html">
<link rel="alternate" hreflang="es" href="https://riksdagsmonitor.com/index_es.html">
<link rel="alternate" hreflang="nl" href="https://riksdagsmonitor.com/index_nl.html">
<link rel="alternate" hreflang="ar" href="https://riksdagsmonitor.com/index_ar.html">
<link rel="alternate" hreflang="he" href="https://riksdagsmonitor.com/index_he.html">
<link rel="alternate" hreflang="ja" href="https://riksdagsmonitor.com/index_ja.html">
<link rel="alternate" hreflang="ko" href="https://riksdagsmonitor.com/index_ko.html">
<link rel="alternate" hreflang="zh" href="https://riksdagsmonitor.com/index_zh.html">
<link rel="alternate" hreflang="x-default" href="https://riksdagsmonitor.com/index.html">Run these commands before committing translations:
# HTML validation
htmlhint *.html
# Main site translations (index files)
npm run validate-translations
# News article translations
npm run validate-news
# Run all validation checks together
npm run validate-all
# Check language attributes
for file in index*.html; do
echo "=== $file ==="
grep 'lang=' "$file" | head -1
done
# Check RTL attributes
grep 'dir="rtl"' index_ar.html index_he.html
# Link checking
python3 -m http.server 8080 &
linkinator http://localhost:8080/ --recurseNews articles are generated by agentic workflows with Swedish content from the Riksdag API. These workflows must translate all Swedish content to the target language.
Check for untranslated markers:
# Validate all news articles
npm run validate-news
# Check specific articles
node scripts/validate-news-translations.js news/
# Look for untranslated markers manually
grep -r 'data-translate="true"' news/*.htmlExpected output if validation passes:
✓ Fully translated: N (number of articles)
✅ ALL ARTICLES FULLY TRANSLATED
If validation fails, you'll see:
✗ 2026-02-15-committee-reports-de.html (DE)
Found 10 untranslated marker(s)
Samples:
1. "Bättre förutsättningar att sända ut statlig personal"
2. "Ett register för alla bostadsrätter"
To fix untranslated markers:
- Open the file listed
- Find
<span data-translate="true" lang="sv">Swedish text</span> - Translate the Swedish text to the article's language
- Replace:
<span data-translate="true" lang="sv">Swedish text</span>→Translated text - Consult Section E below for document type translations
- Run
npm run validate-newsagain to verify
- Native speaker review (preferred)
- Cultural appropriateness check
- Technical term consistency
- Political term accuracy
- Security terminology correctness
This section contains real-world political terminology extracted from translated news articles, providing proven translations for political intelligence and parliamentary reporting.
Standard labels used across all news article types:
| English | Swedish | German | French | Spanish | Dutch | Danish | Norwegian | Finnish |
|---|---|---|---|---|---|---|---|---|
| Committee | Kommitté | Ausschuss | Commission | Comisión | Commissie | Udvalg | Komité | Valiokunta |
| Document | Dokument | Dokument | Document | Documento | Document | Dokument | Dokument | Asiakirja |
| What to Watch | Vad man ska följa | Was zu beobachten | À surveiller | Qué observar | Te volgen | Hvad man skal følge | Hva man skal følge | Mitä seurata |
| This Week | Denna vecka | Diese Woche | Cette semaine | Esta semana | Deze week | Denne uge | Denne uken | Tällä viikolla |
| Next Week | Nästa vecka | Nächste Woche | La semaine prochaine | La próxima semana | Volgende week | Næste uge | Neste uke | Ensi viikolla |
| Analysis | Analys | Analyse | Analyse | Análisis | Analyse | Analyse | Analyse | Analyysi |
| Evening Analysis | Kvällsanalys | Abendanalyse | Analyse du soir | Análisis vespertino | Avondanalyse | Aftenanalyse | Kveldsanalyse | Ilta-analyysi |
Common phrases from committee reports:
| English | Swedish | German | French |
|---|---|---|---|
| Better conditions for deploying government personnel | Bättre förutsättningar att sända ut statlig personal | Bessere Voraussetzungen für die Entsendung staatlichen Personals | Meilleures conditions pour le déploiement du personnel gouvernemental |
| A register for all condominiums | Ett register för alla bostadsrätter | Ein Register für alle Eigentumswohnungen | Un registre pour toutes les copropriétés |
| Animal welfare | Djurskydd | Tierschutz | Protection des animaux |
| Trade policy | Handelspolitik | Handelspolitik | Politique commerciale |
| Planning and construction | Planering och byggande | Planung und Bauwesen | Planification et construction |
Key political process vocabulary from analysis articles:
| Concept | English | Swedish | German | French | Spanish |
|---|---|---|---|---|---|
| Coalition | Coalition | Koalition | Koalition | Coalition | Coalición |
| Legislative analysis | Legislative analysis | Lagstiftningsanalys | Gesetzgebungsanalyse | Analyse législative | Análisis legislativo |
| Political risk | Political risk | Politisk risk | Politisches Risiko | Risque politique | Riesgo político |
| Government record | Government record | Regeringsprotokoll | Regierungsbilanz | Bilan gouvernemental | Registro del gobierno |
| Parliamentary priorities | Parliamentary priorities | Parlamentariska prioriteringar | Parlamentarische Prioritäten | Priorités parlementaires | Prioridades parlamentarias |
| Mid-session assessment | Mid-session assessment | Halvtidsbedömning | Halbzeitbewertung | Évaluation à mi-session | Evaluación a mitad de período |
For Chinese, Japanese, Korean, Arabic, and Hebrew:
- 委员会 (Committee)
- 文件 (Document)
- 本周关注 (What to Watch This Week)
- 改善国家工作人员外派条件 (Better conditions for deploying government personnel)
- 所有产权公寓登记制度 (A register for all condominiums)
- 动物保护 (Animal welfare)
- 委員会 (Committee)
- 文書 (Document)
- 今週の注目 (What to Watch This Week)
- 国家公務員の海外派遣条件の改善 (Better conditions for deploying government personnel)
- 全分譲住宅の登録制度 (A registry for all condominiums)
- 動物福祉 (Animal welfare)
- 위원회 (Committee)
- 문서 (Document)
- 이번 주 주목사항 (What to Watch This Week)
- 국가 공무원 파견 조건 개선 (Better conditions for deploying government personnel)
- 모든 분양주택 등록 제도 (A registry for all condominiums)
- 동물 복지 (Animal welfare)
- لجنة (Committee)
- وثيقة (Document)
- ما يجب متابعته هذا الأسبوع (What to Watch This Week)
- ظروف أفضل لإرسال الموظفين الحكوميين (Better conditions for deploying government personnel)
- سجل لجميع حقوق الملكية السكنية (A registry for all condominiums)
- رعاية الحيوان (Animal welfare)
- ועדה (Committee)
- מסמך (Document)
- על מה לעקוב השבוע (What to Watch This Week)
- תנאים טובים יותר לשליחת עובדי מדינה (Better conditions for deploying government personnel)
- מרשם לכל דירות הבעלות (A registry for all condominiums)
- רווחת בעלי חיים (Animal welfare)
Standard article type names across languages:
| Type | English | Swedish | German | French | Spanish |
|---|---|---|---|---|---|
| Committee Reports | Committee Reports | Utskottsbetänkanden | Ausschussberichte | Rapports de commission | Informes de comisión |
| Propositions | Government Propositions | Propositioner | Regierungsvorlagen | Propositions gouvernementales | Proposiciones gubernamentales |
| Motions | Opposition Motions | Motioner | Anträge | Motions | Mociones |
| Evening Analysis | Evening Analysis | Kvällsanalys | Abendanalyse | Analyse du soir | Análisis vespertino |
| Week Ahead | Week Ahead | Veckan som kommer | Kommende Woche | La semaine à venir | La semana próxima |
Time-related vocabulary from news articles:
| English | Swedish | German | French | Spanish | Dutch |
|---|---|---|---|---|---|
| Today | Idag | Heute | Aujourd'hui | Hoy | Vandaag |
| Tomorrow | Imorgon | Morgen | Demain | Mañana | Morgen |
| This week | Denna vecka | Diese Woche | Cette semaine | Esta semana | Deze week |
| Next week | Nästa vecka | Nächste Woche | La semaine prochaine | La próxima semana | Volgende week |
| Last week | Förra veckan | Letzte Woche | La semaine dernière | La semana pasada | Vorige week |
| Spring recess | Våruppehåll | Frühjahrspause | Pause de printemps | Receso de primavera | Voorjaarsreces |
| Mid-session | Halvtid | Halbzeit | Mi-session | Mitad de período | Halverweg |
| Parliamentary week | Parlamentsvecka | Parlamentswoche | Semaine parlementaire | Semana parlamentaria | Parlementaire week |
Formal vs. Informal Register:
- All political news uses formal register across all languages
- "You" → Swedish "ni" (not "du"), German "Sie" (not "du"), French "vous" (not "tu")
- Journalistic third-person perspective maintained
Cultural Sensitivities:
- Political party names: Always use Swedish abbreviations (S, M, SD, V, MP, C, L, KD)
- Riksdag: Keep in Swedish (don't translate to "Parliament" in running text)
- Tidö Agreement: Proper noun, always "Tidö-avtalet" or "Tidö Agreement"
- Committee codes: Keep Swedish (SoU, FiU, CU, etc.) in document references
Number Formatting:
- English: 1,000.50 (comma thousands, period decimal)
- Swedish/German/Nordic: 1 000,50 (space thousands, comma decimal)
- French: 1 000,50 (space thousands, comma decimal)
- Arabic: ١٬٠٠٠٫٥٠ (Arabic-Indic numerals optional, comma thousands, period decimal)
Date Formatting:
- English: February 15, 2026
- Swedish: 15 februari 2026
- German: 15. Februar 2026
- French: 15 février 2026
- Spanish: 15 de febrero de 2026
- Japanese: 2026年2月15日
- Chinese: 2026年2月15日
- Korean: 2026년 2월 15일
- Arabic: ١٥ فبراير ٢٠٢٦
- Hebrew: 15 בפברואר 2026
Riksdagsmonitor follows Hack23's comprehensive translation standards:
- Homepage Repository: Hack23/homepage
- Arabic Translation Guide: Arabic-Translation-Guide.md
- Chinese Translation Guide: Chinese-Translation-Guide.md
- Korean Translation Guide: Korean-Translation-Guide.md
- Spanish Translation Guide: Spanish-Translation-Guide.md
- Swedish Translation Guide: Swedish terminology embedded in this guide
- ARCHITECTURE.md - System architecture
- SECURITY_ARCHITECTURE.md - Security controls
- README.md - Project overview
- SKILLS.md - Multi-language localization skill
-
Setup
git clone git@github.com:Hack23/riksdagsmonitor.git cd riksdagsmonitor git checkout -b translation/[language-code] -
Edit Language File
- Copy structure from
index.html(English master) - Update
<html lang="xx">attribute - Add
dir="rtl"for Arabic/Hebrew - Translate all content using glossary
- Maintain HTML structure and classes
- Copy structure from
-
Validate
htmlhint index_[language-code].html
-
Test Locally
python3 -m http.server 8080 # Open http://localhost:8080/index_[language-code].html -
Submit Pull Request
- Descriptive commit message
- Reference translation guide
- Include native speaker review (if possible)
- Review translations quarterly
- Update when source content changes
- Monitor user feedback
- Track translation quality metrics
| Language | Translation | Hreflang | RTL Support | Font Loading | Status |
|---|---|---|---|---|---|
| English (en) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Swedish (sv) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Danish (da) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Norwegian (no) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Finnish (fi) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| German (de) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| French (fr) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Spanish (es) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Dutch (nl) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Arabic (ar) | 100% | ✅ | ✅ | ✅ | ✅ Complete |
| Hebrew (he) | 100% | ✅ | ✅ | ✅ | ✅ Complete |
| Japanese (ja) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Korean (ko) | 100% | ✅ | N/A | ✅ | ✅ Complete |
| Chinese (zh) | 100% | ✅ | N/A | ✅ | ✅ Complete |
Overall Status: ✅ 100% Complete (14/14 languages)
This translation guide aligns with Hack23's Information Security Management System:
- ISO 27001:2022 - Asset management (language files)
- NIST CSF 2.0 - Governance (translation standards)
- CIS Controls v8.1 - Data protection (multi-language support)
- No secrets in translation files
- Sanitized user input (if forms added)
- XSS protection in all languages
- CSP headers consistent across languages
Questions about translations?
- GitHub Issues: Hack23/riksdagsmonitor/issues
- Email: pether@hack23.com
- LinkedIn: James Pether Sörling
Document Control
Version: 1.0
Last Updated: 2026-02-05
Next Review: 2026-05-05 (Quarterly)
Owner: Hack23 AB
Classification: Public
Riksdagsmonitor - Swedish Parliament Intelligence Platform
Copyright © 2008-2026 Hack23 AB (Org.nr 5595347807)
Licensed under Apache License 2.0
| 🌐 Platforms | 📦 Open-Source Projects | 🛡️ Governance & Standards |
|---|---|---|
|
🗳️ Riksdagsmonitor — Swedish Parliament intelligence 🇪🇺 EU Parliament Monitor — European coverage 🕵️ Citizen Intelligence Agency — political-data engine 🌐 Hack23 AB — corporate site 📰 Hack23 Blog — engineering & policy 💼 Hack23 on LinkedIn |
🗳️ Hack23/riksdagsmonitor 🕵️ Hack23/cia 🇪🇺 Hack23/euparliamentmonitor 🔌 Hack23/european-parliament-mcp ✅ Hack23/cia-compliance-manager 🥋 Hack23/black-trigram 🏠 Hack23/homepage |
🛡️ Hack23 ISMS-PUBLIC — public ISMS 🔒 Information Security Policy 🤖 AI Policy 🧪 Secure Development Policy 🎯 Threat Modeling Policy 🏷️ Classification Framework |
🗳️ Empower citizens · 🔍 Strengthen democratic accountability · 🕵️ Illuminate the political process
© 2008–2026 Hack23 AB (Org.nr 559534-7807) · Maintainer: James Pether Sörling, CISSP CISM