diff --git a/js/enums/titleBarStyles.js b/js/enums/titleBarStyles.js index 1f546fbd..a1c49ff3 100644 --- a/js/enums/titleBarStyles.js +++ b/js/enums/titleBarStyles.js @@ -8,5 +8,5 @@ let keyMirror = require('keymirror'); */ module.exports = keyMirror({ CUSTOM: null, - NATIVE_WITH_CUSTOM: null, + NATIVE: null, }); diff --git a/js/mainApiMgr.js b/js/mainApiMgr.js index b523a34e..8e9e8e9d 100644 --- a/js/mainApiMgr.js +++ b/js/mainApiMgr.js @@ -163,7 +163,8 @@ electron.ipcMain.on(apiName, (event, arg) => { break; case apiCmds.setLocale: if (typeof arg.locale === 'string') { - eventEmitter.emit('language-changed', { language: arg.locale }); + let browserWin = electron.BrowserWindow.fromWebContents(event.sender); + windowMgr.setLocale(browserWin, { language: arg.locale }); } break; case apiCmds.keyPress: diff --git a/js/menus/menuTemplate.js b/js/menus/menuTemplate.js index 99d729ef..0abea00f 100644 --- a/js/menus/menuTemplate.js +++ b/js/menus/menuTemplate.js @@ -399,13 +399,14 @@ function getTemplate(app) { label: i18n.getMessageFor('Title Bar Style'), submenu: [ { - label: i18n.getMessageFor('Native With Custom'), + label: i18n.getMessageFor('Native'), type: 'checkbox', - checked: titleBarStyle === titleBarStyles.NATIVE_WITH_CUSTOM, + checked: titleBarStyle === titleBarStyles.NATIVE, click: function (item) { item.menu.items[1].checked = false; - titleBarStyle = titleBarStyles.NATIVE_WITH_CUSTOM; + titleBarStyle = titleBarStyles.NATIVE; updateConfigField('isCustomTitleBar', false); + titleBarActions(app); } }, { @@ -416,6 +417,7 @@ function getTemplate(app) { item.menu.items[0].checked = false; titleBarStyle = titleBarStyles.CUSTOM; updateConfigField('isCustomTitleBar', true); + titleBarActions(app); } } ] @@ -479,7 +481,7 @@ function setCheckboxValues() { bringToFront = configData[key]; break; case 'isCustomTitleBar': - titleBarStyle = configData[key] ? titleBarStyles.CUSTOM : titleBarStyles.NATIVE_WITH_CUSTOM; + titleBarStyle = configData[key] ? titleBarStyles.CUSTOM : titleBarStyles.NATIVE; break; case 'memoryRefresh': memoryRefresh = configData[key]; @@ -537,6 +539,28 @@ function getTitleBarStyle() { return titleBarStyle; } +/** + * Displays an option to the user whether + * to relaunch application + * + * @param app + */ +function titleBarActions(app) { + const options = { + type: 'question', + title: i18n.getMessageFor('Relaunch Application'), + message: i18n.getMessageFor('Updating Title bar style requires Symphony to relaunch'), + buttons: ['Relaunch', 'Cancel'] + }; + + electron.dialog.showMessageBox(options, function (index) { + if (index === 0) { + app.relaunch(); + app.exit(); + } + }); +} + module.exports = { getTemplate: getTemplate, getMinimizeOnClose: getMinimizeOnClose, diff --git a/js/preload/preloadMain.js b/js/preload/preloadMain.js index 7491451a..a1f3ce32 100644 --- a/js/preload/preloadMain.js +++ b/js/preload/preloadMain.js @@ -26,10 +26,12 @@ const memoryMonitorInterval = 1000 * 60 * 60; const SnackBar = require('../snackBar').SnackBar; const KeyCodes = { Esc: 27, + Alt: 18, }; let Search; let SearchUtils; +let isAltKey = false; try { Search = remote.require('swift-search').Search; @@ -470,7 +472,6 @@ function createAPI() { * the window enters full screen */ local.ipcRenderer.on('window-enter-full-screen', (event, arg) => { - window.addEventListener('keydown', throttledKeyDown, true); if (snackBar && typeof arg === 'object' && arg.snackBar) { setTimeout(() => snackBar.showSnackBar(arg.snackBar), 500); } @@ -481,7 +482,6 @@ function createAPI() { * the window leave full screen */ local.ipcRenderer.on('window-leave-full-screen', () => { - window.removeEventListener('keydown', throttledKeyDown, true); if (snackBar) { snackBar.removeSnackBar(); } @@ -502,11 +502,23 @@ function createAPI() { }); } + // Handle key down events const throttledKeyDown = throttle(1000, (event) => { + isAltKey = event.keyCode === KeyCodes.Alt; if (event.keyCode === KeyCodes.Esc) { local.ipcRenderer.send(apiName, { cmd: apiCmds.keyPress, - keyCode: KeyCodes.Esc + keyCode: event.keyCode + }); + } + }); + + // Handle key up events + const throttledKeyUp = throttle(1000, (event) => { + if (isAltKey && event.keyCode === KeyCodes.Alt) { + local.ipcRenderer.send(apiName, { + cmd: apiCmds.keyPress, + keyCode: event.keyCode }); } }); @@ -514,6 +526,8 @@ function createAPI() { window.addEventListener('offline', updateOnlineStatus, false); window.addEventListener('online', updateOnlineStatus, false); window.addEventListener('beforeunload', sanitize, false); + window.addEventListener('keyup', throttledKeyUp, true); + window.addEventListener('keydown', throttledKeyDown, true); updateOnlineStatus(); } diff --git a/js/windowMgr.js b/js/windowMgr.js index ccc273e1..81abf926 100644 --- a/js/windowMgr.js +++ b/js/windowMgr.js @@ -44,9 +44,11 @@ let display; let sandboxed = false; let isAutoReload = false; let devToolsEnabled = true; +let isCustomTitleBarEnabled = true; const KeyCodes = { Esc: 27, + Alt: 18, }; // Application menu @@ -132,7 +134,7 @@ function doCreateMainWindow(initialUrl, initialBounds, isCustomTitleBar) { const config = readConfigFileSync(); // condition whether to enable custom Windows 10 title bar - const isCustomTitleBarEnabled = typeof isCustomTitleBar === 'boolean' + isCustomTitleBarEnabled = typeof isCustomTitleBar === 'boolean' && isCustomTitleBar && isWindows10(); log.send(logLevels.INFO, `we are configuring a custom title bar for windows -> ${isCustomTitleBarEnabled}`); @@ -240,7 +242,7 @@ function doCreateMainWindow(initialUrl, initialBounds, isCustomTitleBar) { // Event needed to hide native menu bar on Windows 10 as we use custom menu bar mainWindow.webContents.once('did-start-loading', () => { - if (isWindows10() && mainWindow && !mainWindow.isDestroyed()) { + if ((isCustomTitleBarEnabled || isWindows10()) && mainWindow && !mainWindow.isDestroyed()) { mainWindow.setMenuBarVisibility(false); } }); @@ -256,7 +258,7 @@ function doCreateMainWindow(initialUrl, initialBounds, isCustomTitleBar) { mainWindow.webContents.send('on-page-load'); // initializes and applies styles required for snack bar mainWindow.webContents.insertCSS(fs.readFileSync(path.join(__dirname, '/snackBar/style.css'), 'utf8').toString()); - if (isCustomTitleBarEnabled || isWindows10()) { + if (isCustomTitleBarEnabled) { mainWindow.webContents.insertCSS(fs.readFileSync(path.join(__dirname, '/windowsTitleBar/style.css'), 'utf8').toString()); // This is required to initiate Windows title bar only after insertCSS const titleBarStyle = getTitleBarStyle(); @@ -320,7 +322,7 @@ function doCreateMainWindow(initialUrl, initialBounds, isCustomTitleBar) { addWindowKey(key, mainWindow); mainWindow.loadURL(url); - rebuildMenu(lang); + setLocale(mainWindow, lang); mainWindow.on('close', function (e) { if (willQuitApp) { @@ -970,19 +972,34 @@ eventEmitter.on('notificationSettings', (notificationSettings) => { display = notificationSettings.display; }); -eventEmitter.on('language-changed', (opts) => { +/** + * Sets the locale settings + * + * @param browserWindow {Electron.BrowserWindow} + * @param opts {Object} + * @param opts.language {String} - locale string ex: en-US + */ +function setLocale(browserWindow, opts) { const language = opts && opts.language || app.getLocale(); log.send(logLevels.INFO, `language changed to ${language}. Updating menu and user config`); - rebuildMenu(language); - updateConfigField('locale', language); -}); -function rebuildMenu(language) { setLanguage(language); - menu = electron.Menu.buildFromTemplate(getTemplate(app)); - electron.Menu.setApplicationMenu(menu); + if (browserWindow && isMainWindow(browserWindow)) { + menu = electron.Menu.buildFromTemplate(getTemplate(app)); + electron.Menu.setApplicationMenu(menu); + + if (isWindows10()) { + browserWindow.setMenuBarVisibility(false); + } + } + + updateConfigField('locale', language); } +/** + * Sets language for i18n + * @param language {String} - locale string ex: en-US + */ function setLanguage(language) { i18n.setLanguage(language); } @@ -1112,6 +1129,11 @@ function handleKeyPress(keyCode) { } break; } + case KeyCodes.Alt: + if (isWindows10() && !isCustomTitleBarEnabled) { + popupMenu(); + } + break; default: break; } @@ -1138,6 +1160,18 @@ function cleanUpChildWindows() { } } +/** + * Method that popup the menu on top of the native title bar + * whenever Alt key is pressed + */ +function popupMenu() { + const focusedWindow = BrowserWindow.getFocusedWindow(); + if (mainWindow && !mainWindow.isDestroyed() && isMainWindow(focusedWindow)) { + const popupOpts = { browserWin: mainWindow, x: 10, y: -20 }; + getMenu().popup(popupOpts); + } +} + module.exports = { createMainWindow: createMainWindow, @@ -1153,4 +1187,5 @@ module.exports = { setIsAutoReload: setIsAutoReload, handleKeyPress: handleKeyPress, cleanUpChildWindows: cleanUpChildWindows, + setLocale: setLocale, }; diff --git a/js/windowsTitleBar/index.js b/js/windowsTitleBar/index.js index a92e294f..df62c321 100644 --- a/js/windowsTitleBar/index.js +++ b/js/windowsTitleBar/index.js @@ -54,7 +54,7 @@ class TitleBar { TitleBar.setTitleBarTitle(); TitleBar.addWindowBorders(); break; - case titleBarStyles.NATIVE_WITH_CUSTOM: + case titleBarStyles.NATIVE: TitleBar.hideTitleContainer(); break; default: @@ -104,7 +104,7 @@ class TitleBar { /** * Method that hides the title container - * if the title bar style is NATIVE_WITH_CUSTOM + * if the title bar style is NATIVE */ static hideTitleContainer() { const titleContainer = document.getElementById('title-container'); diff --git a/locale/en-US.json b/locale/en-US.json index 4b9a7ec0..6e2b0d7a 100644 --- a/locale/en-US.json +++ b/locale/en-US.json @@ -15,21 +15,32 @@ }, "Bring All to Front": "Bring All to Front", "Bring to Front on Notifications": "Bring to Front on Notifications", - "Flash Notification in Taskbar": "Flash Notification in Taskbar", - "Title Bar Style": "Title Bar Style", - "Native With Custom": "Native With Custom", - "Custom": "Custom", + "Certificate Error": "Certificate Error", "Close": "Close", "Copy": "Copy", + "Custom": "Custom", "Cut": "Cut", "Delete": "Delete", + "Dev Tools disabled": "Dev Tools disabled", + "Dev Tools has been disabled. Please contact your system administrator": "Dev Tools has been disabled. Please contact your system administrator", "Edit": "Edit", + "Error loading configuration": "Error loading configuration", + "Error loading URL": "Error loading URL", + "Error loading window": "Error loading window", + "Error setting AutoLaunch configuration": "Error setting AutoLaunch configuration", + "Failed!": "Failed!", + "Flash Notification in Taskbar": "Flash Notification in Taskbar", "Help": "Help", "Hide Others": "Hide Others", "Hide Symphony": "Hide Symphony", "Learn More": "Learn More", + "Loading Error": "Loading Error", "Minimize": "Minimize", "Minimize on Close": "Minimize on Close", + "Native": "Native", + "No crashes available to share": "No crashes available to share", + "No logs are available to share": "No logs are available to share", + "Not Allowed": "Not Allowed", "NotificationSettings": { "Bottom Left": "Bottom Left", "Bottom Right": "Bottom Right", @@ -43,12 +54,19 @@ "Top Left": "Top Left", "Top Right": "Top Right" }, + "Oops! Looks like we have had a crash.": "Oops! Looks like we have had a crash.", + "Oops! Looks like we have had a crash. Please reload or close this window.": "Oops! Looks like we have had a crash. Please reload or close this window.", "Paste": "Paste", "Paste and Match Style": "Paste and Match Style", + "Permission Denied": "Permission Denied", + "Please contact your admin for help": "Please contact your admin for help", + "please contact your administrator for more details": "please contact your administrator for more details", "Quit Symphony": "Quit Symphony", "Redo": "Redo", "Refresh app when idle": "Refresh app when idle", + "Relaunch Application": "Relaunch Application", "Reload": "Reload", + "Renderer Process Crashed": "Renderer Process Crashed", "ScreenPicker": { "Applications": "Applications", "Cancel": "Cancel", @@ -61,56 +79,40 @@ "Share": "Share" }, "ScreenSnippet": { - "Pen": "Pen", "Done": "Done", - "Snipping Tool": "Snipping Tool", "Erase": "Erase", - "Highlight": "Highlight" + "Highlight": "Highlight", + "Pen": "Pen", + "Snipping Tool": "Snipping Tool" }, "Select All": "Select All", "Services": "Services", "Show All": "Show All", + "Show crash dump in Explorer": "Show crash dump in Explorer", "Show crash dump in Finder": "Show crash dump in Finder", - "Show Logs in Finder": "Show Logs in Finder", "Show Logs in Explorer": "Show Logs in Explorer", + "Show Logs in Finder": "Show Logs in Finder", "SnackBar": { - "Press ": "Press ", + " to exit full screen": " to exit full screen", "esc": "esc", - " to exit full screen": " to exit full screen" + "Press ": "Press " }, + "Sorry, you are not allowed to access this website": "Sorry, you are not allowed to access this website", "Speech": "Speech", "Start Speaking": "Start Speaking", "Stop Speaking": "Stop Speaking", "Symphony Help": "Symphony Help", + "Title Bar Style": "Title Bar Style", "Toggle Full Screen": "Toggle Full Screen", "Troubleshooting": "Troubleshooting", + "Unable to generate crash reports due to ": "Unable to generate crash reports due to ", + "Unable to generate logs due to ": "Unable to generate logs due to ", "Undo": "Undo", + "Updating Title bar style requires Symphony to relaunch": "Updating Title bar style requires Symphony to relaunch", "View": "View", "Window": "Window", + "Your administrator has disabled": "Your administrator has disabled", "Zoom": "Zoom", "Zoom In": "Zoom In", - "Zoom Out": "Zoom Out", - "Renderer Process Crashed": "Renderer Process Crashed", - "Oops! Looks like we have had a crash.": "Oops! Looks like we have had a crash.", - "Failed!": "Failed!", - "No logs are available to share": "No logs are available to share", - "Unable to generate logs due to ": "Unable to generate logs due to ", - "Show crash dump in Explorer": "Show crash dump in Explorer", - "No crashes available to share": "No crashes available to share", - "Unable to generate crash reports due to ": "Unable to generate crash reports due to ", - "Error setting AutoLaunch configuration": "Error setting AutoLaunch configuration", - "Error loading configuration": "Error loading configuration", - "Certificate Error": "Certificate Error", - "Error loading URL": "Error loading URL", - "Error loading window": "Error loading window", - "Loading Error": "Loading Error", - "Oops! Looks like we have had a crash. Please reload or close this window.": "Oops! Looks like we have had a crash. Please reload or close this window.", - "Not Allowed": "Not Allowed", - "Sorry, you are not allowed to access this website": "Sorry, you are not allowed to access this website", - "please contact your administrator for more details": "please contact your administrator for more details", - "Your administrator has disabled": "Your administrator has disabled", - "Please contact your admin for help": "Please contact your admin for help", - "Permission Denied": "Permission Denied", - "Dev Tools disabled": "Dev Tools disabled", - "Dev Tools has been disabled. Please contact your system administrator": "Dev Tools has been disabled. Please contact your system administrator" + "Zoom Out": "Zoom Out" } \ No newline at end of file diff --git a/locale/en.json b/locale/en.json index 651d3fa2..c6765f73 100644 --- a/locale/en.json +++ b/locale/en.json @@ -15,21 +15,30 @@ }, "Bring All to Front": "Bring All to Front", "Bring to Front on Notifications": "Bring to Front on Notifications", - "Flash Notification in Taskbar": "Flash Notification in Taskbar", - "Title Bar Style": "Title Bar Style", - "Native With Custom": "Native With Custom", - "Custom": "Custom", + "Certificate Error": "Certificate Error", "Close": "Close", "Copy": "Copy", + "Custom": "Custom", "Cut": "Cut", "Delete": "Delete", "Edit": "Edit", + "Error loading configuration": "Error loading configuration", + "Error loading URL": "Error loading URL", + "Error loading window": "Error loading window", + "Error setting AutoLaunch configuration": "Error setting AutoLaunch configuration", + "Failed!": "Failed!", + "Flash Notification in Taskbar": "Flash Notification in Taskbar", "Help": "Help", "Hide Others": "Hide Others", "Hide Symphony": "Hide Symphony", "Learn More": "Learn More", + "Loading Error": "Loading Error", "Minimize": "Minimize", "Minimize on Close": "Minimize on Close", + "Native": "Native", + "No crashes available to share": "No crashes available to share", + "No logs are available to share": "No logs are available to share", + "Not Allowed": "Not Allowed", "NotificationSettings": { "Bottom Left": "Bottom Left", "Bottom Right": "Bottom Right", @@ -43,12 +52,19 @@ "Top Left": "Top Left", "Top Right": "Top Right" }, + "Oops! Looks like we have had a crash.": "Oops! Looks like we have had a crash.", + "Oops! Looks like we have had a crash. Please reload or close this window.": "Oops! Looks like we have had a crash. Please reload or close this window.", "Paste": "Paste", "Paste and Match Style": "Paste and Match Style", + "Permission Denied": "Permission Denied", + "Please contact your admin for help": "Please contact your admin for help", + "please contact your administrator for more details": "please contact your administrator for more details", "Quit Symphony": "Quit Symphony", "Redo": "Redo", "Refresh app when idle": "Refresh app when idle", + "Relaunch Application": "Relaunch Application", "Reload": "Reload", + "Renderer Process Crashed": "Renderer Process Crashed", "ScreenPicker": { "Applications": "Applications", "Cancel": "Cancel", @@ -61,54 +77,40 @@ "Share": "Share" }, "ScreenSnippet": { - "Pen": "Pen", "Done": "Done", - "Snipping Tool": "Snipping Tool", "Erase": "Erase", - "Highlight": "Highlight" + "Highlight": "Highlight", + "Pen": "Pen", + "Snipping Tool": "Snipping Tool" }, "Select All": "Select All", "Services": "Services", "Show All": "Show All", + "Show crash dump in Explorer": "Show crash dump in Explorer", "Show crash dump in Finder": "Show crash dump in Finder", - "Show Logs in Finder": "Show Logs in Finder", "Show Logs in Explorer": "Show Logs in Explorer", + "Show Logs in Finder": "Show Logs in Finder", "SnackBar": { - "Press ": "Press ", + " to exit full screen": " to exit full screen", "esc": "esc", - " to exit full screen": " to exit full screen" + "Press ": "Press " }, + "Sorry, you are not allowed to access this website": "Sorry, you are not allowed to access this website", "Speech": "Speech", "Start Speaking": "Start Speaking", "Stop Speaking": "Stop Speaking", "Symphony Help": "Symphony Help", + "Title Bar Style": "Title Bar Style", "Toggle Full Screen": "Toggle Full Screen", "Troubleshooting": "Troubleshooting", + "Unable to generate crash reports due to ": "Unable to generate crash reports due to ", + "Unable to generate logs due to ": "Unable to generate logs due to ", "Undo": "Undo", + "Updating Title bar style requires Symphony to relaunch": "Updating Title bar style requires Symphony to relaunch", "View": "View", "Window": "Window", + "Your administrator has disabled": "Your administrator has disabled", "Zoom": "Zoom", "Zoom In": "Zoom In", - "Zoom Out": "Zoom Out", - "Renderer Process Crashed": "Renderer Process Crashed", - "Oops! Looks like we have had a crash.": "Oops! Looks like we have had a crash.", - "Failed!": "Failed!", - "No logs are available to share": "No logs are available to share", - "Unable to generate logs due to ": "Unable to generate logs due to ", - "Show crash dump in Explorer": "Show crash dump in Explorer", - "No crashes available to share": "No crashes available to share", - "Unable to generate crash reports due to ": "Unable to generate crash reports due to ", - "Error setting AutoLaunch configuration": "Error setting AutoLaunch configuration", - "Error loading configuration": "Error loading configuration", - "Certificate Error": "Certificate Error", - "Error loading URL": "Error loading URL", - "Error loading window": "Error loading window", - "Loading Error": "Loading Error", - "Oops! Looks like we have had a crash. Please reload or close this window.": "Oops! Looks like we have had a crash. Please reload or close this window.", - "Not Allowed": "Not Allowed", - "Sorry, you are not allowed to access this website": "Sorry, you are not allowed to access this website", - "please contact your administrator for more details": "please contact your administrator for more details", - "Your administrator has disabled": "Your administrator has disabled", - "Please contact your admin for help": "Please contact your admin for help", - "Permission Denied": "Permission Denied" + "Zoom Out": "Zoom Out" } \ No newline at end of file diff --git a/locale/ja-JP.json b/locale/ja-JP.json index 5f23ea0d..50af5cb6 100644 --- a/locale/ja-JP.json +++ b/locale/ja-JP.json @@ -15,21 +15,32 @@ }, "Bring All to Front": "すべて前面に表示", "Bring to Front on Notifications": "通知時に前面に表示", - "Flash Notification in Taskbar": "タスクバーの通知を点滅", - "Title Bar Style": "タイトルバーのスタイル", - "Native With Custom": "Nativeでカスタムを使用", - "Custom": "カスタム", + "Certificate Error": "証明書のエラー", "Close": "閉じる", "Copy": "コピー", + "Custom": "カスタム", "Cut": "切り取り", "Delete": "削除", + "Dev Tools disabled": "開発ツールを無効にする", + "Dev Tools has been disabled. Please contact your system administrator": "Dev Toolsが無効になっています。システム管理者に連絡してください", "Edit": "編集", + "Error loading configuration": "構成の読み込みエラー", + "Error loading URL": "URLの読み込みエラー", + "Error loading window": "ウィンドウを読み込みエラー", + "Error setting AutoLaunch configuration": "自動起動の構成の設定エラー", + "Failed!": "問題が起きました!", + "Flash Notification in Taskbar": "タスクバーの通知を点滅", "Help": "ヘルプ", "Hide Others": "他を隠す", "Hide Symphony": "Symphonyを隠す", "Learn More": "詳細", + "Loading Error": "読み込みエラー", "Minimize": "最小化", "Minimize on Close": "閉じるで最小化", + "Native": "Native", + "No crashes available to share": "共有できるクラッシュはありません", + "No logs are available to share": "共有できるログはありません", + "Not Allowed": "許可されていませ。", "NotificationSettings": { "Bottom Left": "左下", "Bottom Right": "右下", @@ -43,12 +54,19 @@ "Top Left": "左上", "Top Right": "右上" }, + "Oops! Looks like we have had a crash.": "おっと!クラッシュしたようです。", + "Oops! Looks like we have had a crash. Please reload or close this window.": "おっと!クラッシュしたようです。このウィンドウを再度読み込むか閉じてください。", "Paste": "貼り付け", "Paste and Match Style": "貼り付けでスタイルを合わせる", + "Permission Denied": "アクセス許可が拒否されています", + "Please contact your admin for help": "不明な点がある場合は、管理者にお問い合わせください", + "please contact your administrator for more details": "詳細は、管理者にお問い合わせください", "Quit Symphony": "Symphonyを終了", "Redo": "やり直し", "Refresh app when idle": "アイドル時にアプリを再表示", + "Relaunch Application": "アプリケーションの再起動", "Reload": "再読み込み", + "Renderer Process Crashed": "レンダラープロセスがクラッシュしました", "ScreenPicker": { "Applications": "アプリケーション", "Cancel": "キャンセル", @@ -61,56 +79,40 @@ "Share": "共有" }, "ScreenSnippet": { - "Pen": "ペン", "Done": "完了", - "Snipping Tool": "切り取りツール", "Erase": "消去", - "Highlight": "強調" + "Highlight": "強調", + "Pen": "ペン", + "Snipping Tool": "切り取りツール" }, "Select All": "すべてを選択", "Services": "サービス", "Show All": "すべてを表示", + "Show crash dump in Explorer": "Explorerにクラッシュダンプを表示", "Show crash dump in Finder": "ファインダーにクラッシュダンプを表示", - "Show Logs in Finder": "ファインダーにログを表示", "Show Logs in Explorer": "Explorerにログを表示", + "Show Logs in Finder": "ファインダーにログを表示", "SnackBar": { - "Press ": "全画面表示を終了するには ", + " to exit full screen": " を押します", "esc": "esc", - " to exit full screen": " を押します" + "Press ": "全画面表示を終了するには " }, + "Sorry, you are not allowed to access this website": "申し訳ありませんが、このウェブサイトへのアクセスは許可されていません", "Speech": "スピーチ", "Start Speaking": "スピーチを開始", "Stop Speaking": "スピーチを終了", "Symphony Help": "Symphonyのヘルプ", + "Title Bar Style": "タイトルバーのスタイル", "Toggle Full Screen": "画面表示を切り替え", "Troubleshooting": "トラブルシューティング", + "Unable to generate crash reports due to ": "クラッシュレポートを生成できません。理由: ", + "Unable to generate logs due to ": "ログを生成できません。理由:", "Undo": "元に戻す", + "Updating Title bar style requires Symphony to relaunch": "タイトルバーのスタイルを更新するには、Symphonyが再起動する必要があります", "View": "ビュー", "Window": "ウインドウ", + "Your administrator has disabled": "管理者によて無効にされています", "Zoom": "ズーム", "Zoom In": "ズームイン", - "Zoom Out": "ズームアウト", - "Renderer Process Crashed": "レンダラープロセスがクラッシュしました", - "Oops! Looks like we have had a crash.": "おっと!クラッシュしたようです。", - "Failed!": "問題が起きました!", - "No logs are available to share": "共有できるログはありません", - "Unable to generate logs due to ": "ログを生成できません。理由:", - "Show crash dump in Explorer": "Explorerにクラッシュダンプを表示", - "No crashes available to share": "共有できるクラッシュはありません", - "Unable to generate crash reports due to ": "クラッシュレポートを生成できません。理由: ", - "Error setting AutoLaunch configuration": "自動起動の構成の設定エラー", - "Error loading configuration": "構成の読み込みエラー", - "Certificate Error": "証明書のエラー", - "Error loading URL": "URLの読み込みエラー", - "Error loading window": "ウィンドウを読み込みエラー", - "Loading Error": "読み込みエラー", - "Oops! Looks like we have had a crash. Please reload or close this window.": "おっと!クラッシュしたようです。このウィンドウを再度読み込むか閉じてください。", - "Not Allowed": "許可されていませ。", - "Sorry, you are not allowed to access this website": "申し訳ありませんが、このウェブサイトへのアクセスは許可されていません", - "please contact your administrator for more details": "詳細は、管理者にお問い合わせください", - "Your administrator has disabled": "管理者によて無効にされています", - "Please contact your admin for help": "不明な点がある場合は、管理者にお問い合わせください", - "Permission Denied": "アクセス許可が拒否されています", - "Dev Tools disabled": "開発ツールを無効にする", - "Dev Tools has been disabled. Please contact your system administrator": "Dev Toolsが無効になっています。システム管理者に連絡してください" + "Zoom Out": "ズームアウト" } \ No newline at end of file diff --git a/locale/ja.json b/locale/ja.json index 7a5a8846..e23659a5 100644 --- a/locale/ja.json +++ b/locale/ja.json @@ -15,21 +15,30 @@ }, "Bring All to Front": "すべて前面に表示", "Bring to Front on Notifications": "通知時に前面に表示", - "Flash Notification in Taskbar": "タスクバーの通知を点滅", - "Title Bar Style": "タイトルバーのスタイル", - "Native With Custom": "Nativeでカスタムを使用", - "Custom": "カスタム", + "Certificate Error": "証明書のエラー", "Close": "閉じる", "Copy": "コピー", + "Custom": "カスタム", "Cut": "切り取り", "Delete": "削除", "Edit": "編集", + "Error loading configuration": "構成の読み込みエラー", + "Error loading URL": "URLの読み込みエラー", + "Error loading window": "ウィンドウを読み込みエラー", + "Error setting AutoLaunch configuration": "自動起動の構成の設定エラー", + "Failed!": "問題が起きました!", + "Flash Notification in Taskbar": "タスクバーの通知を点滅", "Help": "ヘルプ", "Hide Others": "他を隠す", "Hide Symphony": "Symphonyを隠す", "Learn More": "詳細", + "Loading Error": "読み込みエラー", "Minimize": "最小化", "Minimize on Close": "閉じるで最小化", + "Native": "Native", + "No crashes available to share": "共有できるクラッシュはありません", + "No logs are available to share": "共有できるログはありません", + "Not Allowed": "許可されていませ。", "NotificationSettings": { "Bottom Left": "左下", "Bottom Right": "右下", @@ -43,12 +52,19 @@ "Top Left": "左上", "Top Right": "右上" }, + "Oops! Looks like we have had a crash.": "おっと!クラッシュしたようです。", + "Oops! Looks like we have had a crash. Please reload or close this window.": "おっと!クラッシュしたようです。このウィンドウを再度読み込むか閉じてください。", "Paste": "貼り付け", "Paste and Match Style": "貼り付けでスタイルを合わせる", + "Permission Denied": "アクセス許可が拒否されています", + "Please contact your admin for help": "不明な点がある場合は、管理者にお問い合わせください", + "please contact your administrator for more details": "詳細は、管理者にお問い合わせください", "Quit Symphony": "Symphonyを終了", "Redo": "やり直し", "Refresh app when idle": "アイドル時にアプリを再表示", + "Relaunch Application": "アプリケーションの再起動", "Reload": "再読み込み", + "Renderer Process Crashed": "レンダラープロセスがクラッシュしました", "ScreenPicker": { "Applications": "アプリケーション", "Cancel": "キャンセル", @@ -61,54 +77,40 @@ "Share": "共有" }, "ScreenSnippet": { - "Pen": "ペン", "Done": "完了", - "Snipping Tool": "切り取りツール", "Erase": "消去", - "Highlight": "強調" + "Highlight": "強調", + "Pen": "ペン", + "Snipping Tool": "切り取りツール" }, "Select All": "すべてを選択", "Services": "サービス", "Show All": "すべてを表示", + "Show crash dump in Explorer": "Explorerにクラッシュダンプを表示", "Show crash dump in Finder": "ファインダーにクラッシュダンプを表示", - "Show Logs in Finder": "ファインダーにログを表示", "Show Logs in Explorer": "Explorerにログを表示", + "Show Logs in Finder": "ファインダーにログを表示", "SnackBar": { - "Press ": "全画面表示を終了するには ", + " to exit full screen": " を押します", "esc": "esc", - " to exit full screen": " を押します" + "Press ": "全画面表示を終了するには " }, + "Sorry, you are not allowed to access this website": "申し訳ありませんが、このウェブサイトへのアクセスは許可されていません", "Speech": "スピーチ", "Start Speaking": "スピーチを開始", "Stop Speaking": "スピーチを終了", "Symphony Help": "Symphonyのヘルプ", + "Title Bar Style": "タイトルバーのスタイル", "Toggle Full Screen": "画面表示を切り替え", "Troubleshooting": "トラブルシューティング", + "Unable to generate crash reports due to ": "クラッシュレポートを生成できません。理由: ", + "Unable to generate logs due to ": "ログを生成できません。理由:", "Undo": "元に戻す", + "Updating Title bar style requires Symphony to relaunch": "タイトルバーのスタイルを更新するには、Symphonyが再起動する必要があります", "View": "ビュー", "Window": "ウインドウ", + "Your administrator has disabled": "管理者によて無効にされています", "Zoom": "ズーム", "Zoom In": "ズームイン", - "Zoom Out": "ズームアウト", - "Renderer Process Crashed": "レンダラープロセスがクラッシュしました", - "Oops! Looks like we have had a crash.": "おっと!クラッシュしたようです。", - "Failed!": "問題が起きました!", - "No logs are available to share": "共有できるログはありません", - "Unable to generate logs due to ": "ログを生成できません。理由:", - "Show crash dump in Explorer": "Explorerにクラッシュダンプを表示", - "No crashes available to share": "共有できるクラッシュはありません", - "Unable to generate crash reports due to ": "クラッシュレポートを生成できません。理由: ", - "Error setting AutoLaunch configuration": "自動起動の構成の設定エラー", - "Error loading configuration": "構成の読み込みエラー", - "Certificate Error": "証明書のエラー", - "Error loading URL": "URLの読み込みエラー", - "Error loading window": "ウィンドウを読み込みエラー", - "Loading Error": "読み込みエラー", - "Oops! Looks like we have had a crash. Please reload or close this window.": "おっと!クラッシュしたようです。このウィンドウを再度読み込むか閉じてください。", - "Not Allowed": "許可されていませ。", - "Sorry, you are not allowed to access this website": "申し訳ありませんが、このウェブサイトへのアクセスは許可されていません", - "please contact your administrator for more details": "詳細は、管理者にお問い合わせください", - "Your administrator has disabled": "管理者によて無効にされています", - "Please contact your admin for help": "不明な点がある場合は、管理者にお問い合わせください", - "Permission Denied": "アクセス許可が拒否されています" + "Zoom Out": "ズームアウト" } \ No newline at end of file