Changeset 137cca5 in Klonkt for src/views/pages


Ignore:
Timestamp:
06/21/2026 11:35:49 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
fe86013
Parents:
bffb348
Message:

feat(i18n phase 3): welcome/first-run, login, register, bottom-tab translated

NL/EN/DE keys + views: welcome.ejs, auth-register.ejs, auth-login.ejs (common
strings; Google error map still NL), bottom-tab.ejs. The most visible visitor
pages of a fresh (German) site are now translated.

Co-Authored-By: Claude <noreply@…>

Location:
src/views/pages
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/auth-login.ejs

    rbffb348 r137cca5  
    77%>
    88<div class="container auth-page">
    9   <h1><%= _admin ? 'Beheerder inloggen' : 'Inloggen' %></h1>
     9  <h1><%= _admin ? t('auth.admin_login_title') : t('nav.login') %></h1>
    1010  <% if (typeof success !== 'undefined' && success) { %><div class="alert alert-success"><%= success %></div><% } %>
    1111  <%
     
    3838      <% } %>
    3939      <label>
    40         <span>Gebruikersnaam of e-mail</span>
     40        <span><%= t('auth.username_or_email') %></span>
    4141        <input type="text" name="username" value="<%= username %>" required autofocus autocomplete="username">
    4242      </label>
    4343      <label>
    44         <span>Wachtwoord</span>
     44        <span><%= t('auth.password') %></span>
    4545        <input type="password" name="password" required autocomplete="current-password">
    4646      </label>
    47       <button type="submit" class="btn btn-primary">Inloggen</button>
    48       <p class="auth-link auth-link-muted"><a href="/auth/reset-request">Wachtwoord vergeten?</a></p>
     47      <button type="submit" class="btn btn-primary"><%= t('nav.login') %></button>
     48      <p class="auth-link auth-link-muted"><a href="/auth/reset-request"><%= t('auth.forgot') %></a></p>
    4949    </form>
    5050  <% } else if (googleReady) { %>
    5151    <%# Publieke login: alleen Google, voor luisteraars/fans. %>
    52     <p class="auth-sub">Log in om te reageren en je favorieten te bewaren.</p>
     52    <p class="auth-sub"><%= t('auth.public_sub') %></p>
    5353    <a class="btn btn-google" href="/auth/google<%= (typeof next !== 'undefined' && next) ? '?next=' + encodeURIComponent(next) : '' %>">
    5454      <svg class="g-icon" width="18" height="18" viewBox="0 0 18 18" aria-hidden="true">
     
    5858        <path fill="#EA4335" d="M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.58A9 9 0 0 0 .96 4.95l3.01 2.33C4.68 5.16 6.66 3.58 9 3.58z"/>
    5959      </svg>
    60       <span>Inloggen met Google</span>
     60      <span><%= t('auth.google_btn') %></span>
    6161    </a>
    6262  <% } else { %>
    63     <div class="alert">Inloggen met Google is op deze site nog niet ingesteld.</div>
     63    <div class="alert"><%= t('auth.google_unavail') %></div>
    6464  <% } %>
    6565
     
    6969      <span class="auth-admin-box-icon" aria-hidden="true">🔑</span>
    7070      <span class="auth-admin-box-text">
    71         <strong>Beheerder?</strong>
    72         <small>Log in met gebruikersnaam &amp; wachtwoord</small>
     71        <strong><%= t('auth.admin_box_q') %></strong>
     72        <small><%= t('auth.admin_box_sub') %></small>
    7373      </span>
    7474      <span class="auth-admin-box-arrow" aria-hidden="true">&rarr;</span>
  • src/views/pages/auth-register.ejs

    rbffb348 r137cca5  
    11<div class="container auth-page">
    2   <h1>Beheerder aanmaken</h1>
    3   <p class="auth-intro">Eerste keer opzetten — maak je beheerdersaccount aan. Dit kan maar één keer.</p>
     2  <h1><%= t('auth.create_admin') %></h1>
     3  <p class="auth-intro"><%= t('auth.reg_intro') %></p>
    44  <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %>
    55  <form method="post" action="/auth/register" class="auth-form">
     
    88    <% } %>
    99    <label>
    10       <span>Gebruikersnaam (3-32 tekens, letters/cijfers/_-)</span>
     10      <span><%= t('auth.f_username') %></span>
    1111      <input type="text" name="username" value="<%= username %>" required autofocus autocomplete="username" pattern="[a-zA-Z0-9_-]{3,32}">
    1212    </label>
    1313    <label>
    14       <span>E-mail</span>
     14      <span><%= t('auth.f_email') %></span>
    1515      <input type="email" name="email" value="<%= email %>" required autocomplete="email">
    1616    </label>
    1717    <label>
    18       <span>Wachtwoord (min 8 tekens)</span>
     18      <span><%= t('auth.f_password') %></span>
    1919      <input type="password" name="password" required minlength="8" autocomplete="new-password">
    2020    </label>
    21     <button type="submit" class="btn btn-primary">Beheerder aanmaken</button>
     21    <button type="submit" class="btn btn-primary"><%= t('auth.create_admin') %></button>
    2222  </form>
    2323</div>
  • src/views/pages/welcome.ejs

    rbffb348 r137cca5  
    11<div class="container welcome-page">
    2   <h1>Welcome to Klonkt</h1>
    3   <p class="welcome-tagline">A self-hosted publishing platform.</p>
    4  
     2  <h1><%= t('welcome.title') %></h1>
     3  <p class="welcome-tagline"><%= t('welcome.tagline') %></p>
     4
    55  <% if (!user) { %>
    66    <div class="welcome-actions">
    7       <a href="/auth/register" class="btn btn-primary">Beheerder aanmaken</a>
    8       <a href="/auth/login" class="btn">Al een account? Inloggen</a>
     7      <a href="/auth/register" class="btn btn-primary"><%= t('auth.create_admin') %></a>
     8      <a href="/auth/login" class="btn"><%= t('welcome.have_account') %></a>
    99    </div>
    10     <p class="welcome-note">Maak je beheerdersaccount aan om te beginnen — daarna is registratie gesloten.</p>
     10    <p class="welcome-note"><%= t('welcome.note') %></p>
    1111  <% } else { %>
    12     <p>Hi <%= user.username %>! No site is configured yet.</p>
     12    <p><%= t('welcome.nosite', { user: user.username }) %></p>
    1313  <% } %>
    1414</div>
Note: See TracChangeset for help on using the changeset viewer.