All checks were successful
Beta Release / beta (push) Successful in 36s
Add full internationalization system with React context, French/English translations, and AZERTY/QWERTY keyboard layout support. Dashboard now uses a tabbed layout (Tools, Notifications, Workflows). Config page exposes language and keyboard preferences persisted via new /api/preferences endpoint. 💕 Generated with Crush Assisted-by: GLM-5-Turbo via Crush <crush@charm.land>
62 lines
1.0 KiB
JavaScript
62 lines
1.0 KiB
JavaScript
export const LAYOUTS = {
|
|
qwerty: {
|
|
id: 'qwerty',
|
|
name: 'QWERTY',
|
|
locale: 'en-US',
|
|
keys: {
|
|
tab1: '1',
|
|
tab2: '2',
|
|
tab3: '3',
|
|
tab4: '4',
|
|
ctrl: 'Ctrl',
|
|
enter: 'Enter',
|
|
shift: 'Shift',
|
|
up: '\u2191',
|
|
down: '\u2193',
|
|
range: '1-4',
|
|
},
|
|
},
|
|
azerty: {
|
|
id: 'azerty',
|
|
name: 'AZERTY',
|
|
locale: 'fr-FR',
|
|
keys: {
|
|
tab1: '&',
|
|
tab2: '\u00e9',
|
|
tab3: '"',
|
|
tab4: "'",
|
|
ctrl: 'Ctrl',
|
|
enter: 'Entr\u00e9e',
|
|
shift: 'Maj',
|
|
up: '\u2191',
|
|
down: '\u2193',
|
|
range: '&-\u00e9-"-\'',
|
|
},
|
|
},
|
|
qwertz: {
|
|
id: 'qwertz',
|
|
name: 'QWERTZ',
|
|
locale: 'de-DE',
|
|
keys: {
|
|
tab1: '1',
|
|
tab2: '2',
|
|
tab3: '3',
|
|
tab4: '4',
|
|
ctrl: 'Strg',
|
|
enter: 'Enter',
|
|
shift: 'Umschalt',
|
|
up: '\u2191',
|
|
down: '\u2193',
|
|
range: '1-4',
|
|
},
|
|
},
|
|
}
|
|
|
|
export function getLayout(id) {
|
|
return LAYOUTS[id] || LAYOUTS.azerty
|
|
}
|
|
|
|
export function getLayoutList() {
|
|
return Object.values(LAYOUTS)
|
|
}
|