Changeset 3487567 in Klonkt for src/routes


Ignore:
Timestamp:
06/28/2026 10:13:27 PM (2 months ago)
Author:
Robin Genis <roboburr@…>
Branches:
main
Children:
48027f2
Parents:
abc8959
Message:

fix(i18n): translate admin page titles (pageTitleKey instead of hardcoded strings)

Admin page/tab titles were hardcoded (mostly Dutch: Beheer, Instellingen, Nieuwsbrief, …).
renderPage now accepts pageTitleKey (+ pageTitleVars) and translates it with the resolved
language; the 16 admin routes pass keys. Adds admin.t_* keys in nl/en/de.

  • middleware/render.js — pageTitleKey support
  • services/i18n.js — admin.t_* title keys (nl/en/de)
  • routes/admin*.js — pageTitle string -> pageTitleKey
Location:
src/routes
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • src/routes/admin-audio.js

    rabc8959 r3487567  
    112112  const embedUrl = base + (res.locals.siteUrlBase || '') + '/embed';
    113113  renderPage(req, res, 'pages/admin-audio', {
    114     pageTitle: 'Audio tracks',
     114    pageTitleKey: 'admin.t_audio',
    115115    bodyClass: 'on-admin',
    116116    tracks,
  • src/routes/admin-epk.js

    rabc8959 r3487567  
    3232  try { const r = JSON.parse(getSetting('epk_tracks_' + site.id, '') || '[]'); if (Array.isArray(r)) chosen = r; } catch (e) {}
    3333  renderPage(req, res, 'pages/admin-epk', {
    34     pageTitle: 'Perskit bewerken',
     34    pageTitleKey: 'admin.t_epk',
    3535    bodyClass: 'on-admin',
    3636    site,
  • src/routes/admin-newsletter.js

    rabc8959 r3487567  
    4646  const subscribeUrl = fullUrl(req, '/nieuwsbrief');
    4747  renderPage(req, res, 'pages/admin-newsletter', {
    48     pageTitle: 'Nieuwsbrief',
     48    pageTitleKey: 'admin.t_newsletter',
    4949    bodyClass: 'on-admin',
    5050    nlCounts: c,
  • src/routes/admin-playlists.js

    rabc8959 r3487567  
    6464  const playlists = PlaylistService.list(site.id);
    6565  renderPage(req, res, 'pages/admin-playlists', {
    66     pageTitle: 'Playlists',
     66    pageTitleKey: 'admin.t_playlists',
    6767    playlists,
    6868    bodyClass: 'on-admin',
  • src/routes/admin-seo.js

    rabc8959 r3487567  
    3636
    3737  renderPage(req, res, 'pages/admin-seo', {
    38     pageTitle: 'SEO',
     38    pageTitleKey: 'admin.t_seo',
    3939    bodyClass: 'on-admin',
    4040    site,
  • src/routes/admin-settings.js

    rabc8959 r3487567  
    7070router.get('/', requireGod, (req, res) => {
    7171  renderPage(req, res, 'pages/admin-settings', {
    72     pageTitle: 'Instellingen',
     72    pageTitleKey: 'admin.t_settings',
    7373    bodyClass: 'on-admin',
    7474    tenancy: getTenancy(),
  • src/routes/admin-shows.js

    rabc8959 r3487567  
    3535  const shows = db.prepare('SELECT * FROM shows WHERE site_id = ? ORDER BY date DESC, time DESC').all(site.id);
    3636  renderPage(req, res, 'pages/admin-shows', {
    37     pageTitle: 'Agenda', bodyClass: 'on-admin',
     37    pageTitleKey: 'admin.t_shows', bodyClass: 'on-admin',
    3838    shows, smtp: mailerConfigured(), notifyCount: confirmedFor(site.id, 'notify').length,
    3939    agendaEnabled: getSetting('agenda_enabled') === '1',
  • src/routes/admin-sites.js

    rabc8959 r3487567  
    169169
    170170  renderPage(req, res, 'pages/admin-sites', {
    171     pageTitle: 'Sites',
     171    pageTitleKey: 'admin.t_sites',
    172172    bodyClass: 'on-admin',
    173173    sites,
     
    180180router.get('/new', requireGod, (req, res) => {
    181181  renderPage(req, res, 'pages/admin-site-edit', {
    182     pageTitle: 'New site',
     182    pageTitleKey: 'admin.t_newsite',
    183183    bodyClass: 'on-admin',
    184184    isNew: true,
     
    259259
    260260  renderPage(req, res, 'pages/admin-site-edit', {
    261     pageTitle: `Edit: ${site.title}`,
     261    pageTitleKey: 'admin.t_editsite', pageTitleVars: { title: site.title },
    262262    bodyClass: 'on-admin',
    263263    isNew: false,
  • src/routes/admin-stats.js

    rabc8959 r3487567  
    3333  const days = [7, 14, 30, 90].includes(parseInt(req.query.days, 10)) ? parseInt(req.query.days, 10) : 14;
    3434  renderPage(req, res, 'pages/admin-stats', {
    35     pageTitle: 'Statistieken',
     35    pageTitleKey: 'admin.t_stats',
    3636    bodyClass: 'on-admin',
    3737    stats: getStats(days),
  • src/routes/admin-updates.js

    rabc8959 r3487567  
    7474  const canSelfUpdate = (() => { try { return fs.existsSync(UPDATE_SCRIPT); } catch { return false; } })();
    7575  renderPage(req, res, 'pages/admin-updates', {
    76     pageTitle: 'Updates',
     76    pageTitleKey: 'admin.t_updates',
    7777    bodyClass: 'on-admin',
    7878    appVersion: appVersion(),
  • src/routes/admin-users.js

    rabc8959 r3487567  
    4040
    4141  renderPage(req, res, 'pages/admin-users', {
    42     pageTitle: 'Users',
     42    pageTitleKey: 'admin.t_users',
    4343    bodyClass: 'on-admin',
    4444    users,
  • src/routes/admin.js

    rabc8959 r3487567  
    4949    };
    5050    return renderPage(req, res, 'pages/my-site', {
    51       pageTitle: 'Mijn Klonkt Hub',
     51      pageTitleKey: 'admin.t_hub',
    5252      bodyClass: 'on-admin',
    5353      mySite,
     
    9393
    9494  renderPage(req, res, 'pages/admin', {
    95     pageTitle: 'Beheer',
     95    pageTitleKey: 'admin.t_admin',
    9696    bodyClass: 'on-admin',
    9797    tenancy,
     
    108108router.get('/handleiding', requireAuth, (req, res) => {
    109109  renderPage(req, res, 'pages/admin-help', {
    110     pageTitle: 'Handleiding',
     110    pageTitleKey: 'admin.t_manual',
    111111    bodyClass: 'on-admin',
    112112    tenancy: getTenancy(),
Note: See TracChangeset for help on using the changeset viewer.