mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-15 04:11:47 +00:00
feat(menu): add 'to-help-translate' button
This commit is contained in:
@ -126,7 +126,10 @@
|
|||||||
"message": "Language will be changed after restart",
|
"message": "Language will be changed after restart",
|
||||||
"title": "Language Changed"
|
"title": "Language Changed"
|
||||||
},
|
},
|
||||||
"label": "Language"
|
"label": "Language",
|
||||||
|
"submenu": {
|
||||||
|
"to-help-translate": "Want to help translate? Click here"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"resume-on-start": "Resume last song when app starts",
|
"resume-on-start": "Resume last song when app starts",
|
||||||
"single-instance-lock": "Single Instance Lock",
|
"single-instance-lock": "Single Instance Lock",
|
||||||
|
|||||||
48
src/menu.ts
48
src/menu.ts
@ -8,6 +8,7 @@ import {
|
|||||||
dialog,
|
dialog,
|
||||||
Menu,
|
Menu,
|
||||||
MenuItem,
|
MenuItem,
|
||||||
|
shell,
|
||||||
} from 'electron';
|
} from 'electron';
|
||||||
import prompt from 'custom-electron-prompt';
|
import prompt from 'custom-electron-prompt';
|
||||||
|
|
||||||
@ -361,23 +362,40 @@ export const mainMenuTemplate = async (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t('main.menu.options.submenu.language.label') + ' (Language)',
|
label: t('main.menu.options.submenu.language.label') + ' (Language)',
|
||||||
submenu: availableLanguages.map(
|
submenu: [
|
||||||
(lang): Electron.MenuItemConstructorOptions => ({
|
{
|
||||||
label: `${languageResources[lang].translation.language.name} (${languageResources[lang].translation.language['local-name']})`,
|
label: t(
|
||||||
type: 'checkbox',
|
'main.menu.options.submenu.language.submenu.to-help-translate',
|
||||||
checked: config.get('options.language') === lang,
|
),
|
||||||
|
type: 'normal',
|
||||||
click() {
|
click() {
|
||||||
config.setMenuOption('options.language', lang);
|
const url = 'https://hosted.weblate.org/engage/youtube-music/';
|
||||||
refreshMenu(win);
|
shell.openExternal(url);
|
||||||
setLanguage(lang);
|
|
||||||
dialog.showMessageBox(win, {
|
|
||||||
title: t('main.menu.options.submenu.language.dialog.title'),
|
|
||||||
message: t(
|
|
||||||
'main.menu.options.submenu.language.dialog.message',
|
|
||||||
),
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
}),
|
} as Electron.MenuItemConstructorOptions,
|
||||||
|
].concat(
|
||||||
|
availableLanguages
|
||||||
|
.map(
|
||||||
|
(lang): Electron.MenuItemConstructorOptions => ({
|
||||||
|
label: `${languageResources[lang].translation.language.name} (${languageResources[lang].translation.language['local-name']})`,
|
||||||
|
type: 'checkbox',
|
||||||
|
checked: config.get('options.language') === lang,
|
||||||
|
click() {
|
||||||
|
config.setMenuOption('options.language', lang);
|
||||||
|
refreshMenu(win);
|
||||||
|
setLanguage(lang);
|
||||||
|
dialog.showMessageBox(win, {
|
||||||
|
title: t(
|
||||||
|
'main.menu.options.submenu.language.dialog.title',
|
||||||
|
),
|
||||||
|
message: t(
|
||||||
|
'main.menu.options.submenu.language.dialog.message',
|
||||||
|
),
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
.sort((a, b) => a.label!.localeCompare(b.label!)),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
|
|||||||
Reference in New Issue
Block a user