Add live English and German interface switching, animated navigation and history controls, improved update changelogs, remembered upload folders, reliable repeated hot reloads, and refreshed public documentation.
28 lines
1.3 KiB
JavaScript
28 lines
1.3 KiB
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const { normalizeLanguage, translateText } = require('../renderer/i18n');
|
|
|
|
test('English is the fallback language and German remains selectable', () => {
|
|
assert.equal(normalizeLanguage(), 'en');
|
|
assert.equal(normalizeLanguage('fr'), 'en');
|
|
assert.equal(normalizeLanguage('en'), 'en');
|
|
assert.equal(normalizeLanguage('de'), 'de');
|
|
});
|
|
|
|
test('translations cover static labels and interpolated status text in both languages', () => {
|
|
assert.equal(translateText('Einstellungen', 'en'), 'Settings');
|
|
assert.equal(translateText('Update v2.1.0 verfügbar', 'en'), 'Update v2.1.0 available');
|
|
assert.equal(translateText('Settings', 'de'), 'Einstellungen');
|
|
assert.equal(translateText('Update v2.1.0 available', 'de'), 'Update v2.1.0 verfügbar');
|
|
});
|
|
|
|
test('sidebar hierarchy uses distinct English and German kicker labels', () => {
|
|
assert.equal(translateText('Arbeitsbereich', 'en'), 'Workspace');
|
|
assert.equal(translateText('Accounts verwalten', 'en'), 'Manage accounts');
|
|
assert.equal(translateText('Archiv', 'en'), 'Archive');
|
|
assert.equal(translateText('Workspace', 'de'), 'Arbeitsbereich');
|
|
assert.equal(translateText('Manage accounts', 'de'), 'Accounts verwalten');
|
|
assert.equal(translateText('Archive', 'de'), 'Archiv');
|
|
});
|