Make all OS menus localizable
Turns out that Electron is not localizing the 'role' elements like we expected would happen.
This commit is contained in:
parent
1f02d411a1
commit
4415293100
6 changed files with 193 additions and 0 deletions
25
app/menu.js
25
app/menu.js
|
@ -33,6 +33,7 @@ exports.createTemplate = (options, messages) => {
|
|||
},
|
||||
{
|
||||
role: 'quit',
|
||||
label: messages.appMenuQuit.message,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -41,30 +42,38 @@ exports.createTemplate = (options, messages) => {
|
|||
submenu: [
|
||||
{
|
||||
role: 'undo',
|
||||
label: messages.editMenuUndo.message,
|
||||
},
|
||||
{
|
||||
role: 'redo',
|
||||
label: messages.editMenuRedo.message,
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
},
|
||||
{
|
||||
role: 'cut',
|
||||
label: messages.editMenuCut.message,
|
||||
},
|
||||
{
|
||||
role: 'copy',
|
||||
label: messages.editMenuCopy.message,
|
||||
},
|
||||
{
|
||||
role: 'paste',
|
||||
label: messages.editMenuPaste.message,
|
||||
},
|
||||
{
|
||||
role: 'pasteandmatchstyle',
|
||||
label: messages.editMenuPasteAndMatchStyle.message,
|
||||
},
|
||||
{
|
||||
role: 'delete',
|
||||
label: messages.editMenuDelete.message,
|
||||
},
|
||||
{
|
||||
role: 'selectall',
|
||||
label: messages.editMenuSelectAll.message,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -73,18 +82,22 @@ exports.createTemplate = (options, messages) => {
|
|||
submenu: [
|
||||
{
|
||||
role: 'resetzoom',
|
||||
label: messages.viewMenuResetZoom.message,
|
||||
},
|
||||
{
|
||||
role: 'zoomin',
|
||||
label: messages.viewMenuZoomIn.message,
|
||||
},
|
||||
{
|
||||
role: 'zoomout',
|
||||
label: messages.viewMenuZoomOut.message,
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
},
|
||||
{
|
||||
role: 'togglefullscreen',
|
||||
label: messages.viewMenuToggleFullScreen.message,
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
|
@ -98,6 +111,7 @@ exports.createTemplate = (options, messages) => {
|
|||
},
|
||||
{
|
||||
role: 'toggledevtools',
|
||||
label: messages.viewMenuToggleDevTools.message,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -107,6 +121,7 @@ exports.createTemplate = (options, messages) => {
|
|||
submenu: [
|
||||
{
|
||||
role: 'minimize',
|
||||
label: messages.windowMenuMinimize.message,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -239,18 +254,22 @@ function updateForMac(template, messages, options) {
|
|||
type: 'separator',
|
||||
},
|
||||
{
|
||||
label: messages.appMenuHide.message,
|
||||
role: 'hide',
|
||||
},
|
||||
{
|
||||
label: messages.appMenuHideOthers.message,
|
||||
role: 'hideothers',
|
||||
},
|
||||
{
|
||||
label: messages.appMenuUnhide.message,
|
||||
role: 'unhide',
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
},
|
||||
{
|
||||
label: messages.appMenuQuit.message,
|
||||
role: 'quit',
|
||||
},
|
||||
],
|
||||
|
@ -267,9 +286,11 @@ function updateForMac(template, messages, options) {
|
|||
submenu: [
|
||||
{
|
||||
role: 'startspeaking',
|
||||
label: messages.editMenuStartSpeaking.message,
|
||||
},
|
||||
{
|
||||
role: 'stopspeaking',
|
||||
label: messages.editMenuStopSpeaking.message,
|
||||
},
|
||||
],
|
||||
}
|
||||
|
@ -280,14 +301,17 @@ function updateForMac(template, messages, options) {
|
|||
// eslint-disable-next-line no-param-reassign
|
||||
template[windowMenuTemplateIndex].submenu = [
|
||||
{
|
||||
label: messages.windowMenuClose.message,
|
||||
accelerator: 'CmdOrCtrl+W',
|
||||
role: 'close',
|
||||
},
|
||||
{
|
||||
label: messages.windowMenuMinimize.message,
|
||||
accelerator: 'CmdOrCtrl+M',
|
||||
role: 'minimize',
|
||||
},
|
||||
{
|
||||
label: messages.windowMenuZoom.message,
|
||||
role: 'zoom',
|
||||
},
|
||||
{
|
||||
|
@ -299,6 +323,7 @@ function updateForMac(template, messages, options) {
|
|||
},
|
||||
{
|
||||
role: 'front',
|
||||
label: messages.windowMenuBringAllToFront.message,
|
||||
},
|
||||
];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue