Changeset 4885eab in Klonkt for src/views/pages/account.ejs


Ignore:
Timestamp:
06/21/2026 03:05:14 PM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
5e61b17
Parents:
bbf9d1a
Message:

feat(i18n phase 6): remaining public + other pages translated (NL/EN/DE)

post-edit, account, newsletter, download, press kit /pers, fan-gate, link-in-bio,
my-site, password-reset (2), artists directory, auth-login Google error map,
user/hub-home/circle-feed+post/viewer-blocked/home/favourites/changelog/404/
type/tag/archive/prutter (inbox+conversation). embed-player skipped (no t
in that standalone route). 1026 view-keys cross-checked → 0 missing.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/account.ejs

    rbbf9d1a r4885eab  
    22
    33  <header class="ax-header">
    4     <a href="/" class="ax-back" aria-label="Terug naar home">←</a>
     4    <a href="/" class="ax-back" aria-label="<%= t('acct.back_home') %>">←</a>
    55    <div>
    6       <h1>Account</h1>
    7       <p class="ax-tagline">Profiel en avatar.</p>
     6      <h1><%= t('acct.title') %></h1>
     7      <p class="ax-tagline"><%= t('acct.subtitle') %></p>
    88    </div>
    99  </header>
     
    1616      <span class="ax-viewer-ico" aria-hidden="true">👁️</span>
    1717      <div>
    18         <strong>Kijker-modus</strong>
    19         <span>Dit is een demo-account. Je kunt alles bekijken, maar niets wijzigen — ook geen foto of bio.</span>
     18        <strong><%= t('acct.viewer_mode') %></strong>
     19        <span><%= t('acct.viewer_note') %></span>
    2020      </div>
    2121    </div>
     
    2424  <%# ── PROFILE ────────────────────────────────────────────── %>
    2525  <section class="ax-card">
    26     <div class="ax-card-title">Profiel</div>
     26    <div class="ax-card-title"><%= t('acct.profile') %></div>
    2727
    2828    <div class="ax-profile-id">
    2929      <% if (canMutate) { %>
    3030        <form action="/account/avatar" method="post" enctype="multipart/form-data" class="ax-avatar-form">
    31           <label class="ax-avatar-wrap" title="Klik om je foto te wijzigen">
     31          <label class="ax-avatar-wrap" title="<%= t('acct.avatar_change') %>">
    3232            <span class="ax-profile-avatar">
    3333              <% if (account.avatar_url) { %>
     
    5656        <div class="ax-profile-role"><%= account.role %> · <%= account.email %></div>
    5757        <% if (account.created_at) { %>
    58           <div class="ax-profile-joined">Lid sinds <%= formatDate(account.created_at) %></div>
     58          <div class="ax-profile-joined"><%= t('acct.member_since') %> <%= formatDate(account.created_at) %></div>
    5959        <% } %>
    6060        <% if (account.avatar_url && canMutate) { %>
    6161          <form action="/account/avatar/remove" method="post" class="ax-avatar-remove">
    62             <button type="submit" class="ax-linkbtn">Foto verwijderen</button>
     62            <button type="submit" class="ax-linkbtn"><%= t('acct.avatar_remove') %></button>
    6363          </form>
    6464        <% } %>
     
    6969      <form action="/account/profile" method="post" class="ax-form ax-form-bio">
    7070        <label class="ax-field">
    71           <span>E-mailadres</span>
    72           <input type="email" name="email" value="<%= account.email || '' %>" maxlength="254" autocomplete="email" placeholder="jij@email.nl">
    73         </label>
    74         <label class="ax-field">
    75           <span>Bio</span>
    76           <textarea name="bio" rows="3" maxlength="500" placeholder="Een korte regel over jezelf"><%= account.bio || '' %></textarea>
     71          <span><%= t('acct.email') %></span>
     72          <input type="email" name="email" value="<%= account.email || '' %>" maxlength="254" autocomplete="email" placeholder="<%= t('acct.email_ph') %>">
     73        </label>
     74        <label class="ax-field">
     75          <span><%= t('acct.bio') %></span>
     76          <textarea name="bio" rows="3" maxlength="500" placeholder="<%= t('acct.bio_ph') %>"><%= account.bio || '' %></textarea>
    7777        </label>
    7878        <div class="ax-form-actions">
    79           <button type="submit" class="ax-btn ax-btn-primary">Opslaan</button>
     79          <button type="submit" class="ax-btn ax-btn-primary"><%= t('acct.save') %></button>
    8080        </div>
    8181      </form>
     
    8383      <div class="ax-form ax-form-bio">
    8484        <label class="ax-field">
    85           <span>Bio</span>
    86           <textarea rows="3" disabled placeholder="Geen bio"><%= account.bio || '' %></textarea>
     85          <span><%= t('acct.bio') %></span>
     86          <textarea rows="3" disabled placeholder="<%= t('acct.bio_empty') %>"><%= account.bio || '' %></textarea>
    8787        </label>
    8888      </div>
     
    9393  <% if (typeof editableSite !== 'undefined' && editableSite && canMutate) { %>
    9494  <section class="ax-card">
    95     <div class="ax-card-title">Site</div>
     95    <div class="ax-card-title"><%= t('acct.site') %></div>
    9696    <form action="/account/site" method="post" class="ax-form">
    9797      <label class="ax-field">
    98         <span>Site-naam <small>— getoond in de kop van je site</small></span>
     98        <span><%= t('acct.site_name') %> <small><%= t('acct.site_name_hint') %></small></span>
    9999        <input type="text" name="site_title" value="<%= editableSite.title || '' %>" maxlength="200" required>
    100100      </label>
    101101      <label class="ax-field">
    102         <span>Tagline <small>— korte oneliner (optioneel)</small></span>
     102        <span><%= t('acct.tagline') %> <small><%= t('acct.tagline_hint') %></small></span>
    103103        <input type="text" name="site_tagline" value="<%= editableSite.tagline || '' %>" maxlength="200">
    104104      </label>
    105105      <div class="ax-form-actions">
    106         <button type="submit" class="ax-btn ax-btn-primary">Site opslaan</button>
     106        <button type="submit" class="ax-btn ax-btn-primary"><%= t('acct.site_save') %></button>
    107107      </div>
    108108    </form>
     
    115115  <% if (hasPassword) { %>
    116116  <section class="ax-card">
    117     <div class="ax-card-title">Wachtwoord wijzigen</div>
     117    <div class="ax-card-title"><%= t('acct.password_change') %></div>
    118118    <form action="/account/password" method="post" class="ax-form">
    119119      <label class="ax-field">
    120         <span>Huidig wachtwoord</span>
     120        <span><%= t('acct.password_current') %></span>
    121121        <input type="password" name="current" required autocomplete="current-password">
    122122      </label>
    123123      <div class="ax-row ax-row-2">
    124124        <label class="ax-field">
    125           <span>Nieuw wachtwoord <small>(min 8 tekens)</small></span>
     125          <span><%= t('acct.password_new') %> <small><%= t('acct.password_min') %></small></span>
    126126          <input type="password" name="new_password" required minlength="8" autocomplete="new-password">
    127127        </label>
    128128        <label class="ax-field">
    129           <span>Bevestig nieuw wachtwoord</span>
     129          <span><%= t('acct.password_confirm') %></span>
    130130          <input type="password" name="confirm" required minlength="8" autocomplete="new-password">
    131131        </label>
    132132      </div>
    133133      <div class="ax-form-actions">
    134         <button type="submit" class="ax-btn ax-btn-primary">Wachtwoord wijzigen</button>
     134        <button type="submit" class="ax-btn ax-btn-primary"><%= t('acct.password_change') %></button>
    135135      </div>
    136136    </form>
     
    139139  <% if (typeof googleAvailable !== 'undefined' && googleAvailable) { %>
    140140  <section class="ax-card">
    141     <div class="ax-card-title">Inloggen met Google</div>
     141    <div class="ax-card-title"><%= t('acct.google_login') %></div>
    142142    <% if (typeof googleLinked !== 'undefined' && googleLinked) { %>
    143       <p class="ax-tagline" style="margin:0 0 1rem">✓ Je Google-account is gekoppeld — je kunt ook met Google inloggen.</p>
     143      <p class="ax-tagline" style="margin:0 0 1rem"><%= t('acct.google_linked') %></p>
    144144      <form action="/account/google/unlink" method="post">
    145         <button type="submit" class="ax-btn">Google ontkoppelen</button>
     145        <button type="submit" class="ax-btn"><%= t('acct.google_unlink') %></button>
    146146      </form>
    147147    <% } else { %>
    148       <p class="ax-tagline" style="margin:0 0 1rem">Koppel je Google-account zodat je voortaan ook met één klik via Google kunt inloggen (naast je wachtwoord).</p>
    149       <a href="/auth/google/link" class="ax-btn ax-btn-primary" data-full-load>Koppel Google-account</a>
     148      <p class="ax-tagline" style="margin:0 0 1rem"><%= t('acct.google_link_hint') %></p>
     149      <a href="/auth/google/link" class="ax-btn ax-btn-primary" data-full-load><%= t('acct.google_link') %></a>
    150150    <% } %>
    151151  </section>
     
    153153  <% } else { %>
    154154  <section class="ax-card">
    155     <div class="ax-card-title">Inloggen</div>
    156     <p class="ax-tagline" style="margin:0">Je bent ingelogd via Google (<%= account.email %>). Er is geen apart wachtwoord.</p>
     155    <div class="ax-card-title"><%= t('acct.login') %></div>
     156    <p class="ax-tagline" style="margin:0"><%= t('acct.login_google_only', { email: account.email }) %></p>
    157157  </section>
    158158  <% } %>
Note: See TracChangeset for help on using the changeset viewer.