feat(i18n): add English localization with per-user language preference
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
{% block title %}{{ 'nav.profiles'|t(user.language) }} - {{ 'brand'|t(user.language) }}{% endblock %}
|
||||
{% block content %}
|
||||
<div class="section-header">
|
||||
<h1>{{ 'nav.profiles'|t(user.language) }}</h1>
|
||||
<h1>Profile</h1>
|
||||
</div>
|
||||
<div class="inline-form">
|
||||
<form method="post" action="/profiles" class="form-row">
|
||||
@@ -56,27 +56,34 @@
|
||||
</div>
|
||||
<div class="profile-card-footer">
|
||||
<span class="profile-card-date">{{ 'profiles.created_at'|t(user.language) }} {{ p.created_at.strftime('%Y-%m-%d') }}</span>
|
||||
<a href="/profiles/{{ p.id }}/postcards" class="btn btn-sm">{{ 'profiles.view'|t(user.language) }}</a>
|
||||
<form method="post" action="/profiles/{{ p.id }}/delete" class="inline">
|
||||
<button type="submit" class="btn btn-sm btn-danger" onclick="return confirm('{{ 'profiles.confirm_delete'|t(user.language) }}')">{{ 'profiles.delete'|t(user.language) }}</button>
|
||||
</form>
|
||||
<div class="profile-card-actions">
|
||||
<a href="/profiles/{{ p.id }}/postcards" class="btn btn-primary btn-sm">{{ 'profiles.view'|t(user.language) }}</a>
|
||||
<form method="post" action="/profiles/{{ p.id }}/delete" class="inline">
|
||||
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('{{ 'profiles.confirm_delete'|t(user.language) }}')">{{ 'profiles.delete'|t(user.language) }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<p class="empty">{{ 'profiles.new_ph'|t(user.language) }}</p>
|
||||
<div class="empty-state">
|
||||
<div class="empty-icon">📮</div>
|
||||
<p>还没有 Profile</p>
|
||||
<p class="empty-sub">{{ 'profiles.new_ph'|t(user.language) }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<script>
|
||||
function startRename(id) {
|
||||
document.getElementById('name-display-' + id).style.display = 'none';
|
||||
document.getElementById('name-edit-' + id).style.display = '';
|
||||
document.getElementById('name-edit-' + id).querySelector('input').focus();
|
||||
var form = document.getElementById('name-edit-' + id);
|
||||
form.style.display = 'inline-flex';
|
||||
form.querySelector('input').focus();
|
||||
}
|
||||
function cancelRename(id) {
|
||||
var form = document.getElementById('name-edit-' + id);
|
||||
form.style.display = 'none';
|
||||
document.getElementById('name-display-' + id).style.display = '';
|
||||
document.getElementById('name-edit-' + id).style.display = 'none';
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user