Adds localization support across application views

Implements localization for dashboard, cash register, account, and profile sections

Adds localization keys for various UI elements, improving internationalization support
Refactors view components to use ILocalizationService for dynamic text rendering
Prepares ground for multi-language support with translation-ready markup
This commit is contained in:
Janus C. H. Knudsen 2026-01-12 15:42:18 +01:00
parent 1f400dcc6e
commit ef174af0e1
36 changed files with 821 additions and 263 deletions

View file

@ -1,11 +1,11 @@
<!-- Action Bar -->
<swp-action-bar>
<swp-selection-info>
<span id="selectionCount">0 valgt</span>
<span id="selectionCount" localize="cash.table.noneSelected">0 valgt</span>
</swp-selection-info>
<swp-btn class="primary" id="exportBtn" disabled>
<i class="ph ph-download"></i>
Eksporter SAF-T
<span localize="cash.table.exportSaft">Eksporter SAF-T</span>
</swp-btn>
</swp-action-bar>
@ -13,14 +13,14 @@
<swp-cash-table>
<swp-cash-table-header>
<swp-cash-th class="checkbox"><input type="checkbox" id="selectAll" /></swp-cash-th>
<swp-cash-th>Dato</swp-cash-th>
<swp-cash-th>ID</swp-cash-th>
<swp-cash-th>Periode</swp-cash-th>
<swp-cash-th>Kassepunkt</swp-cash-th>
<swp-cash-th>Afsluttet af</swp-cash-th>
<swp-cash-th class="right">Omsætning</swp-cash-th>
<swp-cash-th class="right">Difference</swp-cash-th>
<swp-cash-th>Status</swp-cash-th>
<swp-cash-th localize="cash.table.date">Dato</swp-cash-th>
<swp-cash-th localize="cash.table.id">ID</swp-cash-th>
<swp-cash-th localize="cash.table.period">Periode</swp-cash-th>
<swp-cash-th localize="cash.table.register">Kassepunkt</swp-cash-th>
<swp-cash-th localize="cash.table.closedBy">Afsluttet af</swp-cash-th>
<swp-cash-th class="right" localize="cash.table.revenue">Omsætning</swp-cash-th>
<swp-cash-th class="right" localize="cash.table.difference">Difference</swp-cash-th>
<swp-cash-th localize="common.status">Status</swp-cash-th>
<swp-cash-th></swp-cash-th>
</swp-cash-table-header>
@ -39,7 +39,7 @@
<swp-cash-td class="muted"></swp-cash-td>
<swp-cash-td class="right mono muted">4.250 kr</swp-cash-td>
<swp-cash-td class="right mono muted"></swp-cash-td>
<swp-cash-td><swp-status-badge class="draft">Kladde</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-status-badge class="draft" localize="cash.status.draft">Kladde</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-row-arrow><i class="ph ph-caret-right"></i></swp-row-arrow></swp-cash-td>
</swp-cash-table-row>
@ -56,7 +56,7 @@
<swp-cash-td>Anna Jensen</swp-cash-td>
<swp-cash-td class="right mono">18.865 kr</swp-cash-td>
<swp-cash-td class="right mono">0 kr</swp-cash-td>
<swp-cash-td><swp-status-badge class="approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-status-badge class="approved" localize="cash.status.approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-row-toggle><i class="ph ph-caret-right"></i></swp-row-toggle></swp-cash-td>
</swp-cash-table-row>
<swp-cash-row-detail data-for="043">
@ -64,15 +64,15 @@
<swp-row-detail-actions>
<swp-btn class="secondary">
<i class="ph ph-file-csv"></i>
Download CSV
<span localize="cash.table.downloadCsv">Download CSV</span>
</swp-btn>
<swp-btn class="secondary">
<i class="ph ph-file-pdf"></i>
Download PDF
<span localize="cash.table.downloadPdf">Download PDF</span>
</swp-btn>
<swp-btn class="primary">
<i class="ph ph-list-bullets"></i>
Se transaktioner
<span localize="cash.table.viewTransactions">Se transaktioner</span>
</swp-btn>
</swp-row-detail-actions>
</swp-row-detail-content>
@ -91,7 +91,7 @@
<swp-cash-td>Karina Knudsen</swp-cash-td>
<swp-cash-td class="right mono">12.450 kr</swp-cash-td>
<swp-cash-td class="right mono negative">-25 kr</swp-cash-td>
<swp-cash-td><swp-status-badge class="approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-status-badge class="approved" localize="cash.status.approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-row-toggle><i class="ph ph-caret-right"></i></swp-row-toggle></swp-cash-td>
</swp-cash-table-row>
<swp-cash-row-detail data-for="042">
@ -99,15 +99,15 @@
<swp-row-detail-actions>
<swp-btn class="secondary">
<i class="ph ph-file-csv"></i>
Download CSV
<span localize="cash.table.downloadCsv">Download CSV</span>
</swp-btn>
<swp-btn class="secondary">
<i class="ph ph-file-pdf"></i>
Download PDF
<span localize="cash.table.downloadPdf">Download PDF</span>
</swp-btn>
<swp-btn class="primary">
<i class="ph ph-list-bullets"></i>
Se transaktioner
<span localize="cash.table.viewTransactions">Se transaktioner</span>
</swp-btn>
</swp-row-detail-actions>
</swp-row-detail-content>
@ -126,7 +126,7 @@
<swp-cash-td>Martin Nielsen</swp-cash-td>
<swp-cash-td class="right mono">21.340 kr</swp-cash-td>
<swp-cash-td class="right mono">0 kr</swp-cash-td>
<swp-cash-td><swp-status-badge class="approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-status-badge class="approved" localize="cash.status.approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-row-toggle><i class="ph ph-caret-right"></i></swp-row-toggle></swp-cash-td>
</swp-cash-table-row>
<swp-cash-row-detail data-for="041">
@ -134,15 +134,15 @@
<swp-row-detail-actions>
<swp-btn class="secondary">
<i class="ph ph-file-csv"></i>
Download CSV
<span localize="cash.table.downloadCsv">Download CSV</span>
</swp-btn>
<swp-btn class="secondary">
<i class="ph ph-file-pdf"></i>
Download PDF
<span localize="cash.table.downloadPdf">Download PDF</span>
</swp-btn>
<swp-btn class="primary">
<i class="ph ph-list-bullets"></i>
Se transaktioner
<span localize="cash.table.viewTransactions">Se transaktioner</span>
</swp-btn>
</swp-row-detail-actions>
</swp-row-detail-content>
@ -161,7 +161,7 @@
<swp-cash-td>Anna Jensen</swp-cash-td>
<swp-cash-td class="right mono">28.750 kr</swp-cash-td>
<swp-cash-td class="right mono negative">-50 kr</swp-cash-td>
<swp-cash-td><swp-status-badge class="approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-status-badge class="approved" localize="cash.status.approved">Godkendt</swp-status-badge></swp-cash-td>
<swp-cash-td><swp-row-toggle><i class="ph ph-caret-right"></i></swp-row-toggle></swp-cash-td>
</swp-cash-table-row>
<swp-cash-row-detail data-for="040">
@ -169,15 +169,15 @@
<swp-row-detail-actions>
<swp-btn class="secondary">
<i class="ph ph-file-csv"></i>
Download CSV
<span localize="cash.table.downloadCsv">Download CSV</span>
</swp-btn>
<swp-btn class="secondary">
<i class="ph ph-file-pdf"></i>
Download PDF
<span localize="cash.table.downloadPdf">Download PDF</span>
</swp-btn>
<swp-btn class="primary">
<i class="ph ph-list-bullets"></i>
Se transaktioner
<span localize="cash.table.viewTransactions">Se transaktioner</span>
</swp-btn>
</swp-row-detail-actions>
</swp-row-detail-content>