Version: 1.0
Last Updated: 2026-02-10
Classification: Public
Owner: Hack23 AB (Org.nr 5595347807)
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.
| 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