feat(i18n): add English localization with per-user language preference

This commit is contained in:
2026-07-06 22:41:09 +08:00
parent 643f1dc35a
commit 87785494d6
8 changed files with 243 additions and 98 deletions

View File

@@ -60,6 +60,7 @@ function toggleFields() {
country.required = false;
sendTime.required = false;
arrival.required = false;
arrival.disabled = false;
sender.required = true;
receive.required = true;
} else if (s === 'sent') {
@@ -71,6 +72,7 @@ function toggleFields() {
arrival.required = false;
arrival.disabled = true;
arrival.value = '';
labelArrival.textContent = '到达时间';
sender.required = false;
receive.required = false;
} else {
@@ -81,19 +83,23 @@ function toggleFields() {
sendTime.required = true;
arrival.disabled = false;
arrival.required = true;
labelArrival.textContent = '到达时间 *';
sender.required = false;
receive.required = false;
}
}
toggleFields();
{% if not postcard %}
// Auto-fill date fields with today on new postcards
(function() {
var today = new Date().toISOString().slice(0, 10);
var sendTime = document.getElementById('input-send-time');
var receiveTime = document.getElementById('input-receive');
var statusSel = document.getElementById('status-select');
// Fill on page load
if (statusSel.value === 'sent' && !sendTime.value) sendTime.value = today;
if (statusSel.value === 'received' && !receiveTime.value) receiveTime.value = today;
// Fill on status change
statusSel.addEventListener('change', function() {
if (this.value === 'sent' && !sendTime.value) sendTime.value = today;
if (this.value === 'received' && !receiveTime.value) receiveTime.value = today;