Skip to content

Commit 6f9b293

Browse files
committed
update the menu so it shows in the selected language
1 parent e5dd381 commit 6f9b293

File tree

10 files changed

+816
-239
lines changed

10 files changed

+816
-239
lines changed

css/cardMenu.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,8 @@
139139

140140
.site-doc-color .bottom-desc li:hover {
141141
cursor: pointer;
142+
}
143+
144+
.layui-form-switch {
145+
margin-top: 2px !important;
142146
}

index-ru.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,21 @@
2525
<dd><a href="javascript:;" data-language="us"><img src="assets/img/flags/usa.png"> Английский</a></dd>
2626
</dl>
2727
</li>
28+
<li class="layui-nav-item layui-hide-xs" lay-unselect="" id="quickSetting" data-language="ru">
29+
<a href="javascript:;">
30+
<i class="layui-icon" style="font-size: 16px; color: #1E9FFF;">&#xe674;</i>
31+
Настройки быстрого переключения
32+
</a>
33+
</li>
34+
<li class="layui-nav-item">
35+
<div class="layui-form" lay-filter="component-form-element">
36+
<div class="layui-col-md4">
37+
<input type="checkbox" id="quick_change" name="quick_change" lay-skin="switch" lay-text="On|Off" checked="" lay-filter="quick_change_switch">
38+
<div class="layui-unselect layui-form-switch" lay-skin="_switch"><em>On</em><i></i>
39+
</div>
40+
</div>
41+
</div>
42+
</li>
2843
</ul>
2944
</div>
3045
<div class="layui-side layui-bg-black">

index-us.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,21 @@
2525
<dd><a href="javascript:;" data-language="ru"><img src="assets/img/flags/rus.png"> Russian</a></dd>
2626
</dl>
2727
</li>
28+
<li class="layui-nav-item layui-hide-xs" lay-unselect="" id="quickSetting" data-language="us">
29+
<a href="javascript:;">
30+
<i class="layui-icon" style="font-size: 16px; color: #1E9FFF;">&#xe674;</i>
31+
Quickly switch Settings
32+
</a>
33+
</li>
34+
<li class="layui-nav-item">
35+
<div class="layui-form" lay-filter="component-form-element">
36+
<div class="layui-col-md4">
37+
<input type="checkbox" id="quick_change" name="quick_change" lay-skin="switch" lay-text="On|Off" checked="" lay-filter="quick_change_switch">
38+
<div class="layui-unselect layui-form-switch" lay-skin="_switch"><em>On</em><i></i>
39+
</div>
40+
</div>
41+
</div>
42+
</li>
2843
</ul>
2944
</div>
3045
<div class="layui-side layui-bg-black">

index.html

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,21 @@
2525
<dd><a href="javascript:;" data-language="us"><img src="assets/img/flags/usa.png"> 英语</a></dd>
2626
</dl>
2727
</li>
28+
<li class="layui-nav-item layui-hide-xs" lay-unselect="" id="quickSetting" data-language="cn">
29+
<a href="javascript:;">
30+
<i class="layui-icon" style="font-size: 16px; color: #1E9FFF;">&#xe674;</i>
31+
快速切换设置
32+
</a>
33+
</li>
34+
<li class="layui-nav-item">
35+
<div class="layui-form" lay-filter="component-form-element">
36+
<div class="layui-col-md4">
37+
<input type="checkbox" id="quick_change" name="quick_change" lay-skin="switch" lay-text="开启|关闭" checked="" lay-filter="quick_change_switch">
38+
<div class="layui-unselect layui-form-switch" lay-skin="_switch"><em>开启</em><i></i>
39+
</div>
40+
</div>
41+
</div>
42+
</li>
2843
</ul>
2944
</div>
3045
<div class="layui-side layui-bg-black">
@@ -266,7 +281,7 @@ <h3>CodeMirror</h3>
266281
</div>
267282
<div class="layui-footer">
268283
<!-- 底部固定区域 -->
269-
<center>© 2018 <a href="https://github.com/Suremotoo/e-tools">e-tools</a></center>
284+
<center>© 2018 <a href="https://github.com/Suremotoo/e-tools">e-tools</a></center>
270285
</div>
271286
</div>
272287
<script src="layui/layui.js"></script>

main-process/ipcMain.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const { ipcMain, app} = require('electron');
2+
const Store = require('electron-store');
3+
const store = new Store();
4+
5+
ipcMain.on('ipc-change-language', function (event, arg) {
6+
let let_quickchange = store.get('quickchangeStore');
7+
if (let_quickchange == false) {
8+
app.relaunch({ args: process.argv.slice(1).concat(['--relaunch']) })
9+
app.exit(0)
10+
}
11+
})

main-process/menu.js

Lines changed: 16 additions & 237 deletions
Original file line numberDiff line numberDiff line change
@@ -1,239 +1,18 @@
1-
// 菜单栏、dock 栏菜单设置
2-
3-
const electron = require('electron')
4-
const BrowserWindow = electron.BrowserWindow
5-
const Menu = electron.Menu
6-
const app = electron.app
7-
8-
let template = [{
9-
label: '编辑',
10-
submenu: [{
11-
label: '撤销',
12-
accelerator: 'CmdOrCtrl+Z',
13-
role: 'undo'
14-
}, {
15-
label: '重做',
16-
accelerator: 'Shift+CmdOrCtrl+Z',
17-
role: 'redo'
18-
}, {
19-
type: 'separator'
20-
}, {
21-
label: '剪切',
22-
accelerator: 'CmdOrCtrl+X',
23-
role: 'cut'
24-
}, {
25-
label: '复制',
26-
accelerator: 'CmdOrCtrl+C',
27-
role: 'copy'
28-
}, {
29-
label: '粘贴',
30-
accelerator: 'CmdOrCtrl+V',
31-
role: 'paste'
32-
}, {
33-
label: '全选',
34-
accelerator: 'CmdOrCtrl+A',
35-
role: 'selectall'
36-
}]
37-
}, {
38-
label: '查看',
39-
submenu: [{
40-
label: '重载',
41-
accelerator: 'CmdOrCtrl+R',
42-
click: function (item, focusedWindow) {
43-
if (focusedWindow) {
44-
// 重载之后, 刷新并关闭所有的次要窗体
45-
if (focusedWindow.id === 1) {
46-
BrowserWindow.getAllWindows().forEach(function (win) {
47-
if (win.id > 1) {
48-
win.close()
49-
}
50-
})
51-
}
52-
focusedWindow.reload()
53-
}
54-
}
55-
}, {
56-
label: '切换全屏',
57-
accelerator: (function () {
58-
if (process.platform === 'darwin') {
59-
return 'Ctrl+Command+F'
60-
} else {
61-
return 'F11'
62-
}
63-
})(),
64-
click: function (item, focusedWindow) {
65-
if (focusedWindow) {
66-
focusedWindow.setFullScreen(!focusedWindow.isFullScreen())
67-
}
68-
}
69-
}, {
70-
label: '切换开发者工具',
71-
accelerator: (function () {
72-
if (process.platform === 'darwin') {
73-
return 'Alt+Command+I'
74-
} else {
75-
return 'Ctrl+Shift+I'
76-
}
77-
})(),
78-
click: function (item, focusedWindow) {
79-
if (focusedWindow) {
80-
focusedWindow.toggleDevTools()
81-
}
82-
}
83-
}
84-
]
85-
}, {
86-
label: '窗口',
87-
role: 'window',
88-
submenu: [{
89-
label: '最小化',
90-
accelerator: 'CmdOrCtrl+M',
91-
role: 'minimize'
92-
}, {
93-
label: '关闭',
94-
accelerator: 'CmdOrCtrl+W',
95-
role: 'close'
96-
}, {
97-
type: 'separator'
98-
}, {
99-
label: '重新打开窗口',
100-
accelerator: 'CmdOrCtrl+Shift+T',
101-
enabled: false,
102-
key: 'reopenMenuItem',
103-
click: function () {
104-
app.emit('activate')
105-
}
106-
}]
107-
}, {
108-
label: '帮助',
109-
role: 'help',
110-
submenu: [{
111-
label: 'Repository',
112-
click: function() {
113-
electron.shell.openExternal('https://github.com/Suremotoo/e-tools')
114-
}
115-
}, {
116-
label: 'Open Issue',
117-
click: function() {
118-
electron.shell.openExternal('https://github.com/Suremotoo/e-tools/issues/new')
119-
}
120-
}]
121-
}]
122-
123-
function addUpdateMenuItems (items, position) {
124-
if (process.mas) return
125-
126-
const version = electron.app.getVersion()
127-
let updateItems = [{
128-
label: `Version ${version}`,
129-
enabled: false
130-
}, {
131-
label: '正在检查更新',
132-
enabled: false,
133-
key: 'checkingForUpdate'
134-
}, {
135-
label: '检查更新',
136-
visible: false,
137-
key: 'checkForUpdate',
138-
click: function () {
139-
require('electron').autoUpdater.checkForUpdates()
140-
}
141-
}, {
142-
label: '重启并安装更新',
143-
enabled: true,
144-
visible: false,
145-
key: 'restartToUpdate',
146-
click: function () {
147-
require('electron').autoUpdater.quitAndInstall()
148-
}
149-
}]
150-
151-
items.splice.apply(items, [position, 0].concat(updateItems))
152-
}
153-
154-
function findReopenMenuItem () {
155-
const menu = Menu.getApplicationMenu()
156-
if (!menu) return
157-
158-
let reopenMenuItem
159-
menu.items.forEach(function (item) {
160-
if (item.submenu) {
161-
item.submenu.items.forEach(function (item) {
162-
if (item.key === 'reopenMenuItem') {
163-
reopenMenuItem = item
164-
}
165-
})
166-
}
167-
})
168-
return reopenMenuItem
1+
const Store = require('electron-store');
2+
const store = new Store();
3+
let _let_language = store.get('languageStore');
4+
console.log(_let_language);
5+
let getLocalMenu = 'zh-menu.js';
6+
switch (_let_language) {
7+
case "ru":
8+
getLocalMenu = "ru-menu.js"
9+
break;
10+
case "us":
11+
getLocalMenu = "us-menu.js"
12+
break;
13+
case "cn":
14+
getLocalMenu = "zh-menu.js"
15+
break;
16916
}
17017

171-
if (process.platform === 'darwin') {
172-
const name = electron.app.getName()
173-
template.unshift({
174-
label: name,
175-
submenu: [{
176-
label: `关于 ${name}`,
177-
role: 'about'
178-
}, {
179-
type: 'separator'
180-
}, {
181-
label: '服务',
182-
role: 'services',
183-
submenu: []
184-
}, {
185-
type: 'separator'
186-
}, {
187-
label: `隐藏 ${name}`,
188-
accelerator: 'Command+H',
189-
role: 'hide'
190-
}, {
191-
label: '隐藏其它',
192-
accelerator: 'Command+Alt+H',
193-
role: 'hideothers'
194-
}, {
195-
label: '显示全部',
196-
role: 'unhide'
197-
}, {
198-
type: 'separator'
199-
}, {
200-
label: '退出',
201-
accelerator: 'Command+Q',
202-
click: function () {
203-
app.quit()
204-
}
205-
}]
206-
})
207-
208-
// 窗口菜单.
209-
template[3].submenu.push({
210-
type: 'separator'
211-
}, {
212-
label: '前置所有',
213-
role: 'front'
214-
})
215-
216-
// 暂时关闭自动更新菜单,后续打开
217-
// addUpdateMenuItems(template[0].submenu, 1)
218-
}
219-
220-
if (process.platform === 'win32') {
221-
const helpMenu = template[template.length - 1].submenu
222-
// 暂时关闭自动更新菜单,后续打开
223-
// addUpdateMenuItems(helpMenu, 0)
224-
}
225-
226-
app.on('ready', function () {
227-
const menu = Menu.buildFromTemplate(template)
228-
Menu.setApplicationMenu(menu)
229-
})
230-
231-
app.on('browser-window-created', function () {
232-
let reopenMenuItem = findReopenMenuItem()
233-
if (reopenMenuItem) reopenMenuItem.enabled = false
234-
})
235-
236-
app.on('window-all-closed', function () {
237-
let reopenMenuItem = findReopenMenuItem()
238-
if (reopenMenuItem) reopenMenuItem.enabled = true
239-
})
18+
require('../menu/' + getLocalMenu)

0 commit comments

Comments
 (0)