// Create the Application's main menu function templete(lang, mainWindow, packaged, dir, dirname) { if(lang !="ja" && lang != "en"){ lang = "en" } const electron = require("electron"); const app = electron.app; const BrowserWindow = electron.BrowserWindow; const join = require('path').join; const dict = { "application": { "ja": "アプリケーション", "en": "Application" }, "about": { "ja": "TheDeskについて", "en": "About TheDesk" }, "quit": { "ja": "終了", "en": "Quit" }, "edit": { "ja": "編集", "en": "Edit" }, "undo": { "ja": "元に戻す", "en": "Undo" }, "redo": { "ja": "やり直す", "en": "Redo" }, "cut": { "ja": "切り取り", "en": "Cut" }, "copy": { "ja": "コピー", "en": "Copy" }, "paste": { "ja": "貼り付け", "en": "Paste" }, "selall": { "ja": "すべて選択", "en": "Select All" }, "view": { "ja": "表示", "en": "View" }, "reload": { "ja": "再読み込み", "en": "Reload" }, "window": { "ja": "ウィンドウ", "en": "Window" }, "minimun": { "ja": "最小化", "en": "Minimarize" }, "close": { "ja": "閉じる", "en": "Close" } } if(packaged){ var ifDev = [ { label: dict.reload[lang], accelerator: 'CmdOrCtrl+R', click: function () { mainWindow.reload(); } } ] }else{ var ifDev = [ { label: 'Toggle Developer Tools', accelerator: 'Alt+Command+I', click: function () { if (!packaged) { mainWindow.toggleDevTools(); } } }, { label: dict.reload[lang], accelerator: 'CmdOrCtrl+R', click: function () { mainWindow.reload(); } } ] } const menu = [{ label: dict.application[lang], submenu: [ { label: dict.about[lang], click: function () { var ver = app.getVersion() var window = new BrowserWindow({ webPreferences: { webviewTag: false, nodeIntegration: false, contextIsolation: true, preload: join(dirname , "js", "platform", "preload.js") }, width: 300, height: 500, "transparent": false, // ウィンドウの背景を透過 "frame": false, // 枠の無いウィンドウ "resizable": false }); window.loadURL(dir + '/about.html?ver=' + ver); } }, { type: "separator" }, { label: dict.quit[lang], accelerator: "Command+Q", click: function () { app.quit(); } } ] }, { label: dict.edit[lang], submenu: [ { label: dict.undo[lang], accelerator: "CmdOrCtrl+Z", selector: "undo:" }, { label: dict.redo[lang], accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" }, { type: "separator" }, { label: dict.cut[lang], accelerator: "CmdOrCtrl+X", selector: "cut:" }, { label: dict.copy[lang], accelerator: "CmdOrCtrl+C", selector: "copy:" }, { label: dict.paste[lang], accelerator: "CmdOrCtrl+V", selector: "paste:" }, { label: dict.selall[lang], accelerator: "CmdOrCtrl+A", selector: "selectAll:" } ] }, { label: dict.view[lang], submenu: ifDev }, { label: dict.window[lang], role: 'window', submenu: [ { label: dict.minimun[lang], accelerator: 'CmdOrCtrl+M', role: 'minimize' }, { label: dict.close[lang], accelerator: 'CmdOrCtrl+W', role: 'close' }, ] } ]; return menu; } exports.template = templete;