mirror of
https://github.com/pavlobu/deskreen.git
synced 2025-05-29 05:40:08 -07:00
more upcomming translations
This commit is contained in:
parent
1129b67c3a
commit
7448c11532
10
README.md
10
README.md
@ -29,6 +29,16 @@ Why this was made? Because a client served with `http` without SSL, which makes
|
|||||||
## [Deskreen FAQ](https://deskreen.com/#faq)
|
## [Deskreen FAQ](https://deskreen.com/#faq)
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
## Get Started for translators
|
||||||
|
|
||||||
|
Want to add a new language support for Deskreen?
|
||||||
|
Or you found a typo in existing translations of Deskreen App or website?
|
||||||
|
Here are step by step guides:
|
||||||
|
|
||||||
|
- [How to add a new language to Deskreen App and Website](doc/translations-docs/how-to-add-new-language-translation-to-Deskreen.md)
|
||||||
|
- [How to fix a typo in Deskreen App or Website](doc/translations-docs/fix-a-typo-in-existing-translation-of-Deskreen.md)
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
## Deskreen Github Discussion Threads
|
## Deskreen Github Discussion Threads
|
||||||
|
@ -6,31 +6,24 @@ Array [
|
|||||||
"label": "Deskreen",
|
"label": "Deskreen",
|
||||||
"submenu": Array [
|
"submenu": Array [
|
||||||
Object {
|
Object {
|
||||||
"label": "About Deskreen",
|
"label": undefined,
|
||||||
"selector": "orderFrontStandardAboutPanel:",
|
"selector": "orderFrontStandardAboutPanel:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"type": "separator",
|
"type": "separator",
|
||||||
},
|
},
|
||||||
Object {
|
|
||||||
"label": "Services",
|
|
||||||
"submenu": Array [],
|
|
||||||
},
|
|
||||||
Object {
|
|
||||||
"type": "separator",
|
|
||||||
},
|
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+H",
|
"accelerator": "Command+H",
|
||||||
"label": "Hide Deskreen",
|
"label": undefined,
|
||||||
"selector": "hide:",
|
"selector": "hide:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+Shift+H",
|
"accelerator": "Command+Shift+H",
|
||||||
"label": "Hide Others",
|
"label": undefined,
|
||||||
"selector": "hideOtherApplications:",
|
"selector": "hideOtherApplications:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"label": "Show All",
|
"label": undefined,
|
||||||
"selector": "unhideAllApplications:",
|
"selector": "unhideAllApplications:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
@ -39,21 +32,21 @@ Array [
|
|||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+Q",
|
"accelerator": "Command+Q",
|
||||||
"click": [Function],
|
"click": [Function],
|
||||||
"label": "Quit",
|
"label": undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"label": "Edit",
|
"label": undefined,
|
||||||
"submenu": Array [
|
"submenu": Array [
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+Z",
|
"accelerator": "Command+Z",
|
||||||
"label": "Undo",
|
"label": undefined,
|
||||||
"selector": "undo:",
|
"selector": "undo:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Shift+Command+Z",
|
"accelerator": "Shift+Command+Z",
|
||||||
"label": "Redo",
|
"label": undefined,
|
||||||
"selector": "redo:",
|
"selector": "redo:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
@ -61,22 +54,22 @@ Array [
|
|||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+X",
|
"accelerator": "Command+X",
|
||||||
"label": "Cut",
|
"label": undefined,
|
||||||
"selector": "cut:",
|
"selector": "cut:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+C",
|
"accelerator": "Command+C",
|
||||||
"label": "Copy",
|
"label": undefined,
|
||||||
"selector": "copy:",
|
"selector": "copy:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+V",
|
"accelerator": "Command+V",
|
||||||
"label": "Paste",
|
"label": undefined,
|
||||||
"selector": "paste:",
|
"selector": "paste:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+A",
|
"accelerator": "Command+A",
|
||||||
"label": "Select All",
|
"label": undefined,
|
||||||
"selector": "selectAll:",
|
"selector": "selectAll:",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -87,50 +80,50 @@ Array [
|
|||||||
Object {
|
Object {
|
||||||
"accelerator": "Ctrl+Command+F",
|
"accelerator": "Ctrl+Command+F",
|
||||||
"click": [Function],
|
"click": [Function],
|
||||||
"label": "Toggle Full Screen",
|
"label": undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"label": "Window",
|
"label": undefined,
|
||||||
"submenu": Array [
|
"submenu": Array [
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+M",
|
"accelerator": "Command+M",
|
||||||
"label": "Minimize",
|
"label": undefined,
|
||||||
"selector": "performMiniaturize:",
|
"selector": "performMiniaturize:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"accelerator": "Command+W",
|
"accelerator": "Command+W",
|
||||||
"label": "Close",
|
"label": undefined,
|
||||||
"selector": "performClose:",
|
"selector": "performClose:",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"type": "separator",
|
"type": "separator",
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"label": "Bring All to Front",
|
"label": undefined,
|
||||||
"selector": "arrangeInFront:",
|
"selector": "arrangeInFront:",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"label": "Help",
|
"label": undefined,
|
||||||
"submenu": Array [
|
"submenu": Array [
|
||||||
Object {
|
Object {
|
||||||
"click": [Function],
|
"click": [Function],
|
||||||
"label": "Learn More",
|
"label": undefined,
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"click": [Function],
|
"click": [Function],
|
||||||
"label": "Documentation",
|
"label": undefined,
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"click": [Function],
|
"click": [Function],
|
||||||
"label": "Community Discussions",
|
"label": undefined,
|
||||||
},
|
},
|
||||||
Object {
|
Object {
|
||||||
"click": [Function],
|
"click": [Function],
|
||||||
"label": "Search Issues",
|
"label": undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -35,5 +35,11 @@
|
|||||||
"OFF": "OFF",
|
"OFF": "OFF",
|
||||||
"Default Video Player": "Default Video Player",
|
"Default Video Player": "Default Video Player",
|
||||||
"Click to visit our website": "Click to visit our website",
|
"Click to visit our website": "Click to visit our website",
|
||||||
"Video is flipped horizontally": "Video is flipped horizontally"
|
"Video is flipped horizontally": "Video is flipped horizontally",
|
||||||
|
"TRANSLATIONS BELOW ARE NOT ADDED TO UI YET, BUT YOUR TRANSLATIONS ARE WELCOME! THE FEATURES WILL BE ADDED SOON SO YOUR TRANSLATIONS ARE NEEDED": "",
|
||||||
|
"Click to see connection info": "Click to see connection info",
|
||||||
|
"Pair ID": "Pair ID",
|
||||||
|
"Unpair": "Unpair",
|
||||||
|
"Session ID": "Session ID",
|
||||||
|
"Click to boost video stream if it is lagging": "Click to boost video stream if it is lagging"
|
||||||
}
|
}
|
||||||
|
@ -35,5 +35,11 @@
|
|||||||
"OFF": "ВЫКЛ",
|
"OFF": "ВЫКЛ",
|
||||||
"Default Video Player": "Видеоплеер по умолчанию",
|
"Default Video Player": "Видеоплеер по умолчанию",
|
||||||
"Click to visit our website": "Нажмите, чтобы посетить наш сайт",
|
"Click to visit our website": "Нажмите, чтобы посетить наш сайт",
|
||||||
"Video is flipped horizontally": "Видео отзеркалено"
|
"Video is flipped horizontally": "Видео отзеркалено",
|
||||||
|
"TRANSLATIONS BELOW ARE NOT ADDED TO UI YET, BUT YOUR TRANSLATIONS ARE WELCOME! THE FEATURES WILL BE ADDED SOON SO YOUR TRANSLATIONS ARE NEEDED": "",
|
||||||
|
"Click to see connection info": "Click to see connection info",
|
||||||
|
"Pair ID": "Pair ID",
|
||||||
|
"Unpair": "Unpair",
|
||||||
|
"Session ID": "Session ID",
|
||||||
|
"Click to boost video stream if it is lagging": "Click to boost video stream if it is lagging"
|
||||||
}
|
}
|
||||||
|
@ -35,5 +35,11 @@
|
|||||||
"OFF": "ВИМК",
|
"OFF": "ВИМК",
|
||||||
"Default Video Player": "Стандартний відеоплеєр браузера",
|
"Default Video Player": "Стандартний відеоплеєр браузера",
|
||||||
"Click to visit our website": "Клацніть, щоб відвідати наш веб-сайт",
|
"Click to visit our website": "Клацніть, щоб відвідати наш веб-сайт",
|
||||||
"Video is flipped horizontally": "Відео віддзеркалено"
|
"Video is flipped horizontally": "Відео віддзеркалено",
|
||||||
|
"TRANSLATIONS BELOW ARE NOT ADDED TO UI YET, BUT YOUR TRANSLATIONS ARE WELCOME! THE FEATURES WILL BE ADDED SOON SO YOUR TRANSLATIONS ARE NEEDED": "",
|
||||||
|
"Click to see connection info": "Click to see connection info",
|
||||||
|
"Pair ID": "Pair ID",
|
||||||
|
"Unpair": "Unpair",
|
||||||
|
"Session ID": "Session ID",
|
||||||
|
"Click to boost video stream if it is lagging": "Click to boost video stream if it is lagging"
|
||||||
}
|
}
|
||||||
|
@ -69,5 +69,74 @@
|
|||||||
"General Settings": "General Settings",
|
"General Settings": "General Settings",
|
||||||
"Disabled": "Disabled",
|
"Disabled": "Disabled",
|
||||||
"Version": "Version",
|
"Version": "Version",
|
||||||
"Copyright": "Copyright"
|
"Copyright": "Copyright",
|
||||||
|
"Edit": "Edit",
|
||||||
|
"Hide Deskreen": "Hide Deskreen",
|
||||||
|
"Hide Others": "Hide Others",
|
||||||
|
"Show All": "Show All",
|
||||||
|
"Quit": "Quit",
|
||||||
|
"Undo": "Undo",
|
||||||
|
"Redo": "Redo",
|
||||||
|
"Cut": "Cut",
|
||||||
|
"Copy": "Copy",
|
||||||
|
"Paste": "Paste",
|
||||||
|
"Select All": "Select All",
|
||||||
|
"View": "View",
|
||||||
|
"Reload": "Reload",
|
||||||
|
"Toggle Full Screen": "Toggle Full Screen",
|
||||||
|
"Toggle Developer Tools": "Toggle Developer Tools",
|
||||||
|
"Window": "Window",
|
||||||
|
"Minimize": "Minimize",
|
||||||
|
"Close": "Close",
|
||||||
|
"Bring All to Front": "Bring All to Front",
|
||||||
|
"Help": "Help",
|
||||||
|
"Learn More": "Learn More",
|
||||||
|
"Documentation": "Documentation",
|
||||||
|
"Community Discussions": "Community Discussions",
|
||||||
|
"Search Issues": "Search Issues",
|
||||||
|
"TRANSLATIONS BELOW ARE NOT ADDED TO UI YET, BUT YOUR TRANSLATIONS ARE WELCOME! THE FEATURES WILL BE ADDED SOON SO YOUR TRANSLATIONS ARE NEEDED": "",
|
||||||
|
"Available Trusted Devices": "Available Trusted Devices",
|
||||||
|
"Make this device trusted": "Make this device trusted",
|
||||||
|
"Click to select other screen source to share": "Click to select other screen source to share",
|
||||||
|
"Click to edit Device Alias": "Click to edit Device Alias",
|
||||||
|
"Trusted Device ID": "Trusted Device ID",
|
||||||
|
"Trusted": "Trusted",
|
||||||
|
"Make Trusted": "Make Trusted",
|
||||||
|
"Forget This Device": "Forget This Device",
|
||||||
|
"Device Alias": "Device Alias",
|
||||||
|
"Auto share last Entire Screen source when device is available": "Auto share last Entire Screen source when device is available",
|
||||||
|
"All devices are successfully disconnected": "All devices are successfully disconnected",
|
||||||
|
"Device was disconnected": "Device was disconnected",
|
||||||
|
"Networking": "Networking",
|
||||||
|
"Deskreen Application Port": "Deskreen Application Port",
|
||||||
|
"Port is already used by other App": "Port is already used by other App",
|
||||||
|
"Click to change Deskreen Application Port": "Click to change Deskreen Application Port",
|
||||||
|
"Type a number from 3000 to 64000 to use as a Deskreen Application Port": "Type a number from 3000 to 64000 to use as a Deskreen Application Port",
|
||||||
|
"Type another number in range from 3000 to 64000": "Type another number in range from 3000 to 64000",
|
||||||
|
"Select Network Interface": "Select Network Interface",
|
||||||
|
"I know IP of my computer and I want to type it manually": "I know IP of my computer and I want to type it manually",
|
||||||
|
"Type Your Computer IP": "Type Your Computer IP",
|
||||||
|
"Click to type IP manually": "Click to type IP manually",
|
||||||
|
"Banned IPs": "Banned IPs",
|
||||||
|
"Ban New IP": "Ban New IP",
|
||||||
|
"Type the IP you want to ban": "Type the IP you want to ban",
|
||||||
|
"Unban this IP": "Unban this IP",
|
||||||
|
"Unban all IPs": "Unban all IPs",
|
||||||
|
"Reset Deskreen settings to default": "Reset Deskreen settings to default",
|
||||||
|
"Ask user to enter password when connecting": "Ask user to enter password when connecting",
|
||||||
|
"Change Password": "Change Password",
|
||||||
|
"Type a New Password": "Type a New Password",
|
||||||
|
"Cancel": "Cancel",
|
||||||
|
"Device Status": "Device Status",
|
||||||
|
"Sharing Screen": "Sharing Screen",
|
||||||
|
"Available, no screen sharing": "Available, no screen sharing",
|
||||||
|
"Not Available": "Not Available",
|
||||||
|
"Autostart Deskreen App on login": "Autostart Deskreen App on login",
|
||||||
|
"Open Deskreen App window on login": "Open Deskreen App window on login",
|
||||||
|
"Use system tray": "Use system tray",
|
||||||
|
"Deskreen System Tray": "Deskreen System Tray",
|
||||||
|
"Open App Window": "Open App Window",
|
||||||
|
"Minimize To Tray": "Minimize To Tray",
|
||||||
|
"Show Connected Devices": "Show Connected Devices",
|
||||||
|
"Quit Deskreen": "Quit Deskreen"
|
||||||
}
|
}
|
||||||
|
@ -69,5 +69,74 @@
|
|||||||
"General Settings": "Общие настройки",
|
"General Settings": "Общие настройки",
|
||||||
"Disabled": "Отключено",
|
"Disabled": "Отключено",
|
||||||
"Version": "Версия",
|
"Version": "Версия",
|
||||||
"Copyright": "Авторские права"
|
"Copyright": "Авторские права",
|
||||||
|
"Edit": "Править",
|
||||||
|
"Hide Deskreen": "Скрыть Deskreen",
|
||||||
|
"Hide Others": "Скрыть Другие",
|
||||||
|
"Show All": "Показать все",
|
||||||
|
"Quit": "Выйти",
|
||||||
|
"Undo": "Отменить",
|
||||||
|
"Redo": "Повторить",
|
||||||
|
"Cut": "Вырезать",
|
||||||
|
"Copy": "Копировать",
|
||||||
|
"Paste": "Вставить",
|
||||||
|
"Select All": "Выбрать все",
|
||||||
|
"View": "Вид",
|
||||||
|
"Reload": "Перезагрузить",
|
||||||
|
"Toggle Full Screen": "Включить полноэкранный режим",
|
||||||
|
"Toggle Developer Tools": "Включить инструменты разработчика",
|
||||||
|
"Window": "Окно",
|
||||||
|
"Minimize": "Свернуть",
|
||||||
|
"Close": "Закрыть",
|
||||||
|
"Bring All to Front": "Вынести все на передний план",
|
||||||
|
"Help": "Помощь",
|
||||||
|
"Learn More": "Узнать больше",
|
||||||
|
"Documentation": "Документация",
|
||||||
|
"Community Discussions": "Обсуждения в сообществе",
|
||||||
|
"Search Issues": "Поиск проблем",
|
||||||
|
"TRANSLATIONS BELOW ARE NOT ADDED TO UI YET, BUT YOUR TRANSLATIONS ARE WELCOME! THE FEATURES WILL BE ADDED SOON SO YOUR TRANSLATIONS ARE NEEDED": "",
|
||||||
|
"Available Trusted Devices": "Available Trusted Devices",
|
||||||
|
"Make this device trusted": "Make this device trusted",
|
||||||
|
"Click to select other screen source to share": "Click to select other screen source to share",
|
||||||
|
"Click to edit Device Alias": "Click to edit Device Alias",
|
||||||
|
"Trusted Device ID": "Trusted Device ID",
|
||||||
|
"Trusted": "Trusted",
|
||||||
|
"Make Trusted": "Make Trusted",
|
||||||
|
"Forget This Device": "Forget This Device",
|
||||||
|
"Device Alias": "Device Alias",
|
||||||
|
"Auto share last Entire Screen source when device is available": "Auto share last Entire Screen source when device is available",
|
||||||
|
"All devices are successfully disconnected": "All devices are successfully disconnected",
|
||||||
|
"Device was disconnected": "Device was disconnected",
|
||||||
|
"Networking": "Networking",
|
||||||
|
"Deskreen Application Port": "Deskreen Application Port",
|
||||||
|
"Port is already used by other App": "Port is already used by other App",
|
||||||
|
"Click to change Deskreen Application Port": "Click to change Deskreen Application Port",
|
||||||
|
"Type a number from 3000 to 64000 to use as a Deskreen Application Port": "Type a number from 3000 to 64000 to use as a Deskreen Application Port",
|
||||||
|
"Type another number in range from 3000 to 64000": "Type another number in range from 3000 to 64000",
|
||||||
|
"Select Network Interface": "Select Network Interface",
|
||||||
|
"I know IP of my computer and I want to type it manually": "I know IP of my computer and I want to type it manually",
|
||||||
|
"Type Your Computer IP": "Type Your Computer IP",
|
||||||
|
"Click to type IP manually": "Click to type IP manually",
|
||||||
|
"Banned IPs": "Banned IPs",
|
||||||
|
"Ban New IP": "Ban New IP",
|
||||||
|
"Type the IP you want to ban": "Type the IP you want to ban",
|
||||||
|
"Unban this IP": "Unban this IP",
|
||||||
|
"Unban all IPs": "Unban all IPs",
|
||||||
|
"Reset Deskreen settings to default": "Reset Deskreen settings to default",
|
||||||
|
"Ask user to enter password when connecting": "Ask user to enter password when connecting",
|
||||||
|
"Change Password": "Change Password",
|
||||||
|
"Type a New Password": "Type a New Password",
|
||||||
|
"Cancel": "Cancel",
|
||||||
|
"Device Status": "Device Status",
|
||||||
|
"Sharing Screen": "Sharing Screen",
|
||||||
|
"Available, no screen sharing": "Available, no screen sharing",
|
||||||
|
"Not Available": "Not Available",
|
||||||
|
"Autostart Deskreen App on login": "Autostart Deskreen App on login",
|
||||||
|
"Open Deskreen App window on login": "Open Deskreen App window on login",
|
||||||
|
"Use system tray": "Use system tray",
|
||||||
|
"Deskreen System Tray": "Deskreen System Tray",
|
||||||
|
"Open App Window": "Open App Window",
|
||||||
|
"Minimize To Tray": "Minimize To Tray",
|
||||||
|
"Show Connected Devices": "Show Connected Devices",
|
||||||
|
"Quit Deskreen": "Quit Deskreen"
|
||||||
}
|
}
|
||||||
|
@ -69,5 +69,74 @@
|
|||||||
"General Settings": "Загальні налаштування",
|
"General Settings": "Загальні налаштування",
|
||||||
"Disabled": "Відключено",
|
"Disabled": "Відключено",
|
||||||
"Version": "Версія",
|
"Version": "Версія",
|
||||||
"Copyright": "Авторські права"
|
"Copyright": "Авторські права",
|
||||||
|
"Edit": "Правити",
|
||||||
|
"Hide Deskreen": "Сховати Deskreen",
|
||||||
|
"Hide Others": "Сховати інші",
|
||||||
|
"Show All": "Показати всі",
|
||||||
|
"Quit": "Вийти",
|
||||||
|
"Undo": "Скасувати",
|
||||||
|
"Redo": "Повторити",
|
||||||
|
"Cut": "Вирізати",
|
||||||
|
"Copy": "Копіювати",
|
||||||
|
"Paste": "Вставити",
|
||||||
|
"Select All": "Вибрати все",
|
||||||
|
"View": "Вид",
|
||||||
|
"Reload": "Перезавантажити",
|
||||||
|
"Toggle Full Screen": "Переключити на весь екран",
|
||||||
|
"Toggle Developer Tools": "Відкрити інструменти розробника",
|
||||||
|
"Window": "Вікно",
|
||||||
|
"Minimize": "Мінімізувати",
|
||||||
|
"Close": "Закрити",
|
||||||
|
"Bring All to Front": "Вивести всі наперед",
|
||||||
|
"Help": "Допомога",
|
||||||
|
"Learn More": "Дізнатися більше",
|
||||||
|
"Documentation": "Документація",
|
||||||
|
"Community Discussions": "Обговорення в спільноті",
|
||||||
|
"Search Issues": "Пошук проблем",
|
||||||
|
"TRANSLATIONS BELOW ARE NOT ADDED TO UI YET, BUT YOUR TRANSLATIONS ARE WELCOME! THE FEATURES WILL BE ADDED SOON SO YOUR TRANSLATIONS ARE NEEDED": "",
|
||||||
|
"Available Trusted Devices": "Available Trusted Devices",
|
||||||
|
"Make this device trusted": "Make this device trusted",
|
||||||
|
"Click to select other screen source to share": "Click to select other screen source to share",
|
||||||
|
"Click to edit Device Alias": "Click to edit Device Alias",
|
||||||
|
"Trusted Device ID": "Trusted Device ID",
|
||||||
|
"Trusted": "Trusted",
|
||||||
|
"Make Trusted": "Make Trusted",
|
||||||
|
"Forget This Device": "Forget This Device",
|
||||||
|
"Device Alias": "Device Alias",
|
||||||
|
"Auto share last Entire Screen source when device is available": "Auto share last Entire Screen source when device is available",
|
||||||
|
"All devices are successfully disconnected": "All devices are successfully disconnected",
|
||||||
|
"Device was disconnected": "Device was disconnected",
|
||||||
|
"Networking": "Networking",
|
||||||
|
"Deskreen Application Port": "Deskreen Application Port",
|
||||||
|
"Port is already used by other App": "Port is already used by other App",
|
||||||
|
"Click to change Deskreen Application Port": "Click to change Deskreen Application Port",
|
||||||
|
"Type a number from 3000 to 64000 to use as a Deskreen Application Port": "Type a number from 3000 to 64000 to use as a Deskreen Application Port",
|
||||||
|
"Type another number in range from 3000 to 64000": "Type another number in range from 3000 to 64000",
|
||||||
|
"Select Network Interface": "Select Network Interface",
|
||||||
|
"I know IP of my computer and I want to type it manually": "I know IP of my computer and I want to type it manually",
|
||||||
|
"Type Your Computer IP": "Type Your Computer IP",
|
||||||
|
"Click to type IP manually": "Click to type IP manually",
|
||||||
|
"Banned IPs": "Banned IPs",
|
||||||
|
"Ban New IP": "Ban New IP",
|
||||||
|
"Type the IP you want to ban": "Type the IP you want to ban",
|
||||||
|
"Unban this IP": "Unban this IP",
|
||||||
|
"Unban all IPs": "Unban all IPs",
|
||||||
|
"Reset Deskreen settings to default": "Reset Deskreen settings to default",
|
||||||
|
"Ask user to enter password when connecting": "Ask user to enter password when connecting",
|
||||||
|
"Change Password": "Change Password",
|
||||||
|
"Type a New Password": "Type a New Password",
|
||||||
|
"Cancel": "Cancel",
|
||||||
|
"Device Status": "Device Status",
|
||||||
|
"Sharing Screen": "Sharing Screen",
|
||||||
|
"Available, no screen sharing": "Available, no screen sharing",
|
||||||
|
"Not Available": "Not Available",
|
||||||
|
"Autostart Deskreen App on login": "Autostart Deskreen App on login",
|
||||||
|
"Open Deskreen App window on login": "Open Deskreen App window on login",
|
||||||
|
"Use system tray": "Use system tray",
|
||||||
|
"Deskreen System Tray": "Deskreen System Tray",
|
||||||
|
"Open App Window": "Open App Window",
|
||||||
|
"Minimize To Tray": "Minimize To Tray",
|
||||||
|
"Show Connected Devices": "Show Connected Devices",
|
||||||
|
"Quit Deskreen": "Quit Deskreen"
|
||||||
}
|
}
|
||||||
|
@ -313,7 +313,7 @@ describe('app menu MenyBuilder tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('when Help submenu Community Discussions was clicked', () => {
|
describe('when Help submenu Community Discussions was clicked', () => {
|
||||||
it('shoud call shell open external with proper link to https://github.com/pavlobu/deskreen/issues', () => {
|
it('shoud call shell open external with proper link to https://github.com/pavlobu/deskreen/discussions', () => {
|
||||||
const menu = menuBuilder.buildDarwinTemplate();
|
const menu = menuBuilder.buildDarwinTemplate();
|
||||||
const submenuView = menu[4];
|
const submenuView = menu[4];
|
||||||
const learnMore =
|
const learnMore =
|
||||||
@ -323,7 +323,7 @@ describe('app menu MenyBuilder tests', () => {
|
|||||||
learnMore.click();
|
learnMore.click();
|
||||||
|
|
||||||
expect(shell.openExternal).toBeCalledWith(
|
expect(shell.openExternal).toBeCalledWith(
|
||||||
'https://github.com/pavlobu/deskreen/issues'
|
'https://github.com/pavlobu/deskreen/discussions'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
120
app/menu.ts
120
app/menu.ts
@ -7,8 +7,6 @@ import {
|
|||||||
MenuItemConstructorOptions,
|
MenuItemConstructorOptions,
|
||||||
} from 'electron';
|
} from 'electron';
|
||||||
|
|
||||||
// import config from './configs/app.lang.config';
|
|
||||||
|
|
||||||
import signalingServer from './server';
|
import signalingServer from './server';
|
||||||
|
|
||||||
interface DarwinMenuItemConstructorOptions extends MenuItemConstructorOptions {
|
interface DarwinMenuItemConstructorOptions extends MenuItemConstructorOptions {
|
||||||
@ -63,26 +61,24 @@ export default class MenuBuilder {
|
|||||||
label: 'Deskreen',
|
label: 'Deskreen',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'About Deskreen',
|
label: this.i18n.t('About Deskreen'),
|
||||||
selector: 'orderFrontStandardAboutPanel:',
|
selector: 'orderFrontStandardAboutPanel:',
|
||||||
},
|
},
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
{ label: 'Services', submenu: [] },
|
|
||||||
{ type: 'separator' },
|
|
||||||
{
|
{
|
||||||
label: 'Hide Deskreen',
|
label: this.i18n.t('Hide Deskreen'),
|
||||||
accelerator: 'Command+H',
|
accelerator: 'Command+H',
|
||||||
selector: 'hide:',
|
selector: 'hide:',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Hide Others',
|
label: this.i18n.t('Hide Others'),
|
||||||
accelerator: 'Command+Shift+H',
|
accelerator: 'Command+Shift+H',
|
||||||
selector: 'hideOtherApplications:',
|
selector: 'hideOtherApplications:',
|
||||||
},
|
},
|
||||||
{ label: 'Show All', selector: 'unhideAllApplications:' },
|
{ label: this.i18n.t('Show All'), selector: 'unhideAllApplications:' },
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
{
|
{
|
||||||
label: 'Quit',
|
label: this.i18n.t('Quit'),
|
||||||
accelerator: 'Command+Q',
|
accelerator: 'Command+Q',
|
||||||
click: () => {
|
click: () => {
|
||||||
signalingServer.stop();
|
signalingServer.stop();
|
||||||
@ -92,40 +88,60 @@ export default class MenuBuilder {
|
|||||||
],
|
],
|
||||||
};
|
};
|
||||||
const subMenuEdit: DarwinMenuItemConstructorOptions = {
|
const subMenuEdit: DarwinMenuItemConstructorOptions = {
|
||||||
label: 'Edit',
|
label: this.i18n.t('Edit'),
|
||||||
submenu: [
|
submenu: [
|
||||||
{ label: 'Undo', accelerator: 'Command+Z', selector: 'undo:' },
|
|
||||||
{ label: 'Redo', accelerator: 'Shift+Command+Z', selector: 'redo:' },
|
|
||||||
{ type: 'separator' },
|
|
||||||
{ label: 'Cut', accelerator: 'Command+X', selector: 'cut:' },
|
|
||||||
{ label: 'Copy', accelerator: 'Command+C', selector: 'copy:' },
|
|
||||||
{ label: 'Paste', accelerator: 'Command+V', selector: 'paste:' },
|
|
||||||
{
|
{
|
||||||
label: 'Select All',
|
label: this.i18n.t('Undo'),
|
||||||
|
accelerator: 'Command+Z',
|
||||||
|
selector: 'undo:',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18n.t('Redo'),
|
||||||
|
accelerator: 'Shift+Command+Z',
|
||||||
|
selector: 'redo:',
|
||||||
|
},
|
||||||
|
{ type: 'separator' },
|
||||||
|
{
|
||||||
|
label: this.i18n.t('Cut'),
|
||||||
|
accelerator: 'Command+X',
|
||||||
|
selector: 'cut:',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18n.t('Copy'),
|
||||||
|
accelerator: 'Command+C',
|
||||||
|
selector: 'copy:',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18n.t('Paste'),
|
||||||
|
accelerator: 'Command+V',
|
||||||
|
selector: 'paste:',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18n.t('Select All'),
|
||||||
accelerator: 'Command+A',
|
accelerator: 'Command+A',
|
||||||
selector: 'selectAll:',
|
selector: 'selectAll:',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
const subMenuViewDev: MenuItemConstructorOptions = {
|
const subMenuViewDev: MenuItemConstructorOptions = {
|
||||||
label: 'View',
|
label: this.i18n.t('View'),
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'Reload',
|
label: this.i18n.t('Reload'),
|
||||||
accelerator: 'Command+R',
|
accelerator: 'Command+R',
|
||||||
click: () => {
|
click: () => {
|
||||||
this.mainWindow.webContents.reload();
|
this.mainWindow.webContents.reload();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Toggle Full Screen',
|
label: this.i18n.t('Toggle Full Screen'),
|
||||||
accelerator: 'Ctrl+Command+F',
|
accelerator: 'Ctrl+Command+F',
|
||||||
click: () => {
|
click: () => {
|
||||||
this.mainWindow.setFullScreen(!this.mainWindow.isFullScreen());
|
this.mainWindow.setFullScreen(!this.mainWindow.isFullScreen());
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Toggle Developer Tools',
|
label: this.i18n.t('Toggle Developer Tools'),
|
||||||
accelerator: 'Alt+Command+I',
|
accelerator: 'Alt+Command+I',
|
||||||
click: () => {
|
click: () => {
|
||||||
this.mainWindow.webContents.toggleDevTools();
|
this.mainWindow.webContents.toggleDevTools();
|
||||||
@ -137,7 +153,7 @@ export default class MenuBuilder {
|
|||||||
label: 'View',
|
label: 'View',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'Toggle Full Screen',
|
label: this.i18n.t('Toggle Full Screen'),
|
||||||
accelerator: 'Ctrl+Command+F',
|
accelerator: 'Ctrl+Command+F',
|
||||||
click: () => {
|
click: () => {
|
||||||
this.mainWindow.setFullScreen(!this.mainWindow.isFullScreen());
|
this.mainWindow.setFullScreen(!this.mainWindow.isFullScreen());
|
||||||
@ -146,29 +162,36 @@ export default class MenuBuilder {
|
|||||||
],
|
],
|
||||||
};
|
};
|
||||||
const subMenuWindow: DarwinMenuItemConstructorOptions = {
|
const subMenuWindow: DarwinMenuItemConstructorOptions = {
|
||||||
label: 'Window',
|
label: this.i18n.t('Window'),
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'Minimize',
|
label: this.i18n.t('Minimize'),
|
||||||
accelerator: 'Command+M',
|
accelerator: 'Command+M',
|
||||||
selector: 'performMiniaturize:',
|
selector: 'performMiniaturize:',
|
||||||
},
|
},
|
||||||
{ label: 'Close', accelerator: 'Command+W', selector: 'performClose:' },
|
{
|
||||||
|
label: this.i18n.t('Close'),
|
||||||
|
accelerator: 'Command+W',
|
||||||
|
selector: 'performClose:',
|
||||||
|
},
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
{ label: 'Bring All to Front', selector: 'arrangeInFront:' },
|
{
|
||||||
|
label: this.i18n.t('Bring All to Front'),
|
||||||
|
selector: 'arrangeInFront:',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
const subMenuHelp: MenuItemConstructorOptions = {
|
const subMenuHelp: MenuItemConstructorOptions = {
|
||||||
label: 'Help',
|
label: this.i18n.t('Help'),
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'Learn More',
|
label: this.i18n.t('Learn More'),
|
||||||
click() {
|
click() {
|
||||||
shell.openExternal('https://www.deskreen.com/');
|
shell.openExternal('https://www.deskreen.com/');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Documentation',
|
label: this.i18n.t('Documentation'),
|
||||||
click() {
|
click() {
|
||||||
shell.openExternal(
|
shell.openExternal(
|
||||||
'https://github.com/pavlobu/deskreen/blob/master/README.md'
|
'https://github.com/pavlobu/deskreen/blob/master/README.md'
|
||||||
@ -176,13 +199,15 @@ export default class MenuBuilder {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Community Discussions',
|
label: this.i18n.t('Community Discussions'),
|
||||||
click() {
|
click() {
|
||||||
shell.openExternal('https://github.com/pavlobu/deskreen/issues');
|
shell.openExternal(
|
||||||
|
'https://github.com/pavlobu/deskreen/discussions'
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Search Issues',
|
label: this.i18n.t('Search Issues'),
|
||||||
click() {
|
click() {
|
||||||
shell.openExternal('https://github.com/pavlobu/deskreen/issues');
|
shell.openExternal('https://github.com/pavlobu/deskreen/issues');
|
||||||
},
|
},
|
||||||
@ -196,35 +221,6 @@ export default class MenuBuilder {
|
|||||||
? subMenuViewDev
|
? subMenuViewDev
|
||||||
: subMenuViewProd;
|
: subMenuViewProd;
|
||||||
|
|
||||||
// const languageSubmenu = config.languages.map((languageCode) => {
|
return [subMenuAbout, subMenuEdit, subMenuView, subMenuWindow, subMenuHelp];
|
||||||
// return {
|
|
||||||
// label: this.i18n.t(languageCode),
|
|
||||||
// type: 'radio',
|
|
||||||
// checked: this.i18n.language === languageCode,
|
|
||||||
// click: () => {
|
|
||||||
// this.i18n.changeLanguage(languageCode);
|
|
||||||
// setTimeout(() => {
|
|
||||||
// // to fix for MacOS bug, not picking up new language on first click
|
|
||||||
// if (this.i18n.language !== languageCode) {
|
|
||||||
// this.i18n.changeLanguage(languageCode);
|
|
||||||
// }
|
|
||||||
// }, 500);
|
|
||||||
// },
|
|
||||||
// };
|
|
||||||
// });
|
|
||||||
|
|
||||||
// const languageMenu: MenuItemConstructorOptions = {
|
|
||||||
// label: this.i18n.t('Language'),
|
|
||||||
// submenu: languageSubmenu as MenuItemConstructorOptions[],
|
|
||||||
// };
|
|
||||||
|
|
||||||
return [
|
|
||||||
subMenuAbout,
|
|
||||||
subMenuEdit,
|
|
||||||
subMenuView,
|
|
||||||
subMenuWindow,
|
|
||||||
subMenuHelp,
|
|
||||||
// languageMenu,
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
### Guide on how to fix a typo in translations of Deskreen
|
@ -0,0 +1 @@
|
|||||||
|
### Guide on how to add a new language translation to Deskreen
|
Loading…
x
Reference in New Issue
Block a user