mirror of
https://github.com/finos/SymphonyElectron.git
synced 2024-11-21 16:38:41 -06:00
Typescript (Fix localization and custom title bar) (#631)
* Typescript - Fix localization for screen picker & spellchecker modules * Typescript - Fix custom title bar menu item * Typescript - Updated screen picker unit tests * Typescript - Update appName place holder * Typescript - Add backward compatibility support for screen snippet * Typescript - Optimize and refactor code
This commit is contained in:
parent
5cb931e31c
commit
9b202bb95e
@ -258,7 +258,8 @@
|
||||
}
|
||||
}
|
||||
};
|
||||
window.ssf.openScreenSnippet(gotSnippet);
|
||||
const screenSnippet = new window.ssf.ScreenSnippet();
|
||||
screenSnippet.capture().then(gotSnippet).catch(gotSnippet);
|
||||
} else {
|
||||
postMessage(apiCmds.openScreenSnippet)
|
||||
}
|
||||
@ -445,7 +446,8 @@
|
||||
const activityStatus = document.getElementById('activity-status');
|
||||
activityDetection.addEventListener('click', () => {
|
||||
if (window.ssf) {
|
||||
window.ssf.registerActivityDetection(10000, activityDetection);
|
||||
window.ssf.registerActivityDetection(5000, activityCallback);
|
||||
startActivityInterval();
|
||||
} else {
|
||||
postMessage(apiCmds.registerActivityDetection, 5000);
|
||||
startActivityInterval();
|
||||
@ -571,8 +573,10 @@
|
||||
const locale = document.getElementById('locale-select').value;
|
||||
if (window.ssf) {
|
||||
window.ssf.setLocale(locale);
|
||||
document.location.reload();
|
||||
} else {
|
||||
postMessage(apiCmds.setLocale, locale);
|
||||
document.location.reload();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -88,9 +88,9 @@ describe('screen picker', () => {
|
||||
};
|
||||
const applicationScreenStateMock = {
|
||||
sources: [
|
||||
{ display_id: '0', id: '0', name: 'Application screen 0', thumbnail: undefined },
|
||||
{ display_id: '', id: '1', name: 'Application 1', thumbnail: undefined },
|
||||
],
|
||||
selectedSource: { display_id: '0', id: '0', name: 'Application screen 0', thumbnail: undefined },
|
||||
selectedSource: { display_id: '', id: '1', name: 'Application 1', thumbnail: undefined },
|
||||
};
|
||||
|
||||
it('should call `onToggle` when screen tab is changed', () => {
|
||||
@ -116,7 +116,7 @@ describe('screen picker', () => {
|
||||
it('should call `onSelect` when `ScreenPicker-item-container` in Entire screen is clicked', () => {
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '0', id: '0', name: 'Entire screen', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '0', fileName: 'fullscreen', id: '0', name: 'Entire screen', thumbnail: undefined }};
|
||||
const customSelector = '.ScreenPicker-item-container';
|
||||
const applicationScreenStateMock = {
|
||||
sources: [
|
||||
@ -124,7 +124,7 @@ describe('screen picker', () => {
|
||||
{ display_id: '1', id: '1', name: 'Application screen 1', thumbnail: undefined },
|
||||
{ display_id: '2', id: '2', name: 'Application screen 2', thumbnail: undefined },
|
||||
],
|
||||
selectedSource: { display_id: '1', id: '1', name: 'Application screen 1', thumbnail: undefined },
|
||||
selectedSource: { display_id: '1', fileName: 'fullscreen', id: '1', name: 'Application screen 1', thumbnail: undefined },
|
||||
};
|
||||
wrapper.setState(applicationScreenStateMock);
|
||||
wrapper.find(customSelector).first().simulate('click');
|
||||
@ -134,7 +134,7 @@ describe('screen picker', () => {
|
||||
it('should call `onSelect` when `ScreenPicker-item-container` in Application screen is clicked', () => {
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '2', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '2', fileName: 'fullscreen', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const customSelector = '.ScreenPicker-item-container';
|
||||
const applicationScreenStateMock = {
|
||||
sources: [
|
||||
@ -142,7 +142,7 @@ describe('screen picker', () => {
|
||||
{ display_id: '1', id: '1', name: 'Application screen 1', thumbnail: undefined },
|
||||
{ display_id: '2', id: '2', name: 'Application screen 2', thumbnail: undefined },
|
||||
],
|
||||
selectedSource: { display_id: '1', id: '1', name: 'Application screen 1', thumbnail: undefined },
|
||||
selectedSource: { display_id: '1', fileName: 'fullscreen', id: '1', name: 'Application screen 1', thumbnail: undefined },
|
||||
};
|
||||
wrapper.setState(applicationScreenStateMock);
|
||||
wrapper.find(customSelector).at(2).simulate('click');
|
||||
@ -172,7 +172,7 @@ describe('screen picker', () => {
|
||||
|
||||
it('should call `handleKeyUpPress` pageDown key correctly', () => {
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '2', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '2', fileName: 'fullscreen', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
wrapper.setState(stateMock);
|
||||
events.keyup(keyCode.pageDown);
|
||||
@ -181,7 +181,7 @@ describe('screen picker', () => {
|
||||
|
||||
it('should call `handleKeyUpPress` right arrow key correctly', () => {
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '2', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '2', fileName: 'fullscreen', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
wrapper.setState(stateMock);
|
||||
events.keyup(keyCode.rightArrow);
|
||||
@ -190,7 +190,7 @@ describe('screen picker', () => {
|
||||
|
||||
it('should call `handleKeyUpPress` pageUp key correctly', () => {
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '0', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '0', fileName: 'fullscreen', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
wrapper.setState(stateMock);
|
||||
events.keyup(keyCode.pageUp);
|
||||
@ -199,7 +199,7 @@ describe('screen picker', () => {
|
||||
|
||||
it('should call `handleKeyUpPress` left arrow key correctly', () => {
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '0', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '0', fileName: 'fullscreen', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
wrapper.setState(stateMock);
|
||||
events.keyup(keyCode.leftArrow);
|
||||
@ -208,7 +208,7 @@ describe('screen picker', () => {
|
||||
|
||||
it('should call `handleKeyUpPress` down arrow key correctly', () => {
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '0', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '0', fileName: 'fullscreen', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
wrapper.setState(stateMock);
|
||||
events.keyup(keyCode.downArrow);
|
||||
@ -217,7 +217,7 @@ describe('screen picker', () => {
|
||||
|
||||
it('should call `handleKeyUpPress` up arrow key correctly', () => {
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '2', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '2', fileName: 'fullscreen', id: '2', name: 'Application screen 2', thumbnail: undefined }};
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
wrapper.setState(stateMock);
|
||||
events.keyup(keyCode.upArrow);
|
||||
@ -245,7 +245,7 @@ describe('screen picker', () => {
|
||||
|
||||
it('should call `handleKeyUpPress` end key correctly', () => {
|
||||
const spy = jest.spyOn(ScreenPicker.prototype, 'setState');
|
||||
const expectedValue = { selectedSource: { display_id: '0', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const expectedValue = { selectedSource: { display_id: '0', fileName: 'fullscreen', id: '0', name: 'Application screen 0', thumbnail: undefined }};
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
wrapper.setState(stateMock);
|
||||
events.keyup(keyCode.endKey);
|
||||
@ -255,13 +255,13 @@ describe('screen picker', () => {
|
||||
});
|
||||
|
||||
describe('tab titles', () => {
|
||||
it('should show `application-tab` when source name is not Entire screen', () => {
|
||||
it('should show `application-tab` when display_id is empty', () => {
|
||||
const wrapper = shallow(React.createElement(ScreenPicker));
|
||||
const applicationScreenStateMock = {
|
||||
sources: [
|
||||
{ display_id: '1', id: '1', name: 'Application Screen', thumbnail: undefined },
|
||||
{ display_id: '2', id: '2', name: 'Application Screen 2', thumbnail: undefined },
|
||||
{ display_id: '3', id: '3', name: 'Application Screen 3', thumbnail: undefined },
|
||||
{ display_id: '', id: '1', name: 'Application Screen', thumbnail: undefined },
|
||||
{ display_id: '', id: '2', name: 'Application Screen 2', thumbnail: undefined },
|
||||
{ display_id: '', id: '3', name: 'Application Screen 3', thumbnail: undefined },
|
||||
],
|
||||
};
|
||||
wrapper.setState(applicationScreenStateMock);
|
||||
@ -288,7 +288,7 @@ describe('screen picker', () => {
|
||||
const customState = {
|
||||
sources: [
|
||||
{ display_id: '1', id: '1', name: 'Entire screen', thumbnail: undefined },
|
||||
{ display_id: '1', id: '1', name: 'Application screen', thumbnail: undefined },
|
||||
{ display_id: '', id: '1', name: 'Application screen', thumbnail: undefined },
|
||||
],
|
||||
};
|
||||
wrapper.setState(customState);
|
||||
|
@ -5,6 +5,7 @@ import { i18n, LocaleType } from '../common/i18n';
|
||||
import { logger } from '../common/logger';
|
||||
import { autoLaunchInstance as autoLaunch } from './auto-launch-controller';
|
||||
import { config, IConfig } from './config-handler';
|
||||
import { titleBarChangeDialog } from './dialog-handler';
|
||||
import { exportCrashDumps, exportLogs } from './reports-handler';
|
||||
import { updateAlwaysOnTop } from './window-actions';
|
||||
import { ICustomBrowserWindow, windowHandler } from './window-handler';
|
||||
@ -18,6 +19,11 @@ export const menuSections = {
|
||||
help: 'help', // tslint:disable-line
|
||||
};
|
||||
|
||||
enum TitleBarStyles {
|
||||
CUSTOM,
|
||||
NATIVE,
|
||||
}
|
||||
|
||||
const windowsAccelerator = Object.assign({
|
||||
close: 'Ctrl+W',
|
||||
copy: 'Ctrl+C',
|
||||
@ -55,10 +61,14 @@ export class AppMenu {
|
||||
private menu: Electron.Menu | undefined;
|
||||
private menuList: Electron.MenuItemConstructorOptions[];
|
||||
private locale: LocaleType;
|
||||
private titleBarStyle: TitleBarStyles;
|
||||
|
||||
constructor() {
|
||||
this.menuList = [];
|
||||
this.locale = i18n.getLocale();
|
||||
this.titleBarStyle = config.getConfigFields([ 'isCustomTitleBar' ]).isCustomTitleBar
|
||||
? TitleBarStyles.CUSTOM
|
||||
: TitleBarStyles.NATIVE;
|
||||
this.buildMenu();
|
||||
}
|
||||
|
||||
@ -203,6 +213,20 @@ export class AppMenu {
|
||||
* Builds menu items for window section
|
||||
*/
|
||||
private buildWindowMenu(): Electron.MenuItemConstructorOptions {
|
||||
const hamburgerMenuItem = isWindowsOS
|
||||
? {
|
||||
label: this.titleBarStyle === TitleBarStyles.NATIVE
|
||||
? i18n.t('Enable Hamburger menu')()
|
||||
: i18n.t('Disable Hamburger menu')(),
|
||||
click: () => {
|
||||
const isNativeStyle = this.titleBarStyle === TitleBarStyles.NATIVE;
|
||||
|
||||
this.titleBarStyle = isNativeStyle ? TitleBarStyles.NATIVE : TitleBarStyles.CUSTOM;
|
||||
titleBarChangeDialog(isNativeStyle);
|
||||
},
|
||||
}
|
||||
: this.buildSeparator();
|
||||
|
||||
const submenu: MenuItemConstructorOptions[] = [
|
||||
this.assignRoleOrLabel({ role: 'minimize', label: i18n.t('Minimize')() }),
|
||||
this.assignRoleOrLabel({ role: 'close', label: i18n.t('Close')() }),
|
||||
@ -251,6 +275,7 @@ export class AppMenu {
|
||||
: i18n.t('Bring to Front on Notifications')(),
|
||||
type: 'checkbox',
|
||||
},
|
||||
hamburgerMenuItem,
|
||||
this.buildSeparator(),
|
||||
{
|
||||
click: (_item, focusedWindow) => {
|
||||
|
@ -1,7 +1,11 @@
|
||||
import * as electron from 'electron';
|
||||
import { app } from 'electron';
|
||||
|
||||
import { i18n } from '../common/i18n';
|
||||
import { logger } from '../common/logger';
|
||||
import { config } from './config-handler';
|
||||
import { ICustomBrowserWindow, windowHandler } from './window-handler';
|
||||
import { windowExists } from './window-utils';
|
||||
|
||||
let currentAuthURL;
|
||||
let tries = 0;
|
||||
@ -137,3 +141,31 @@ export const showNetworkConnectivityError = (browserWindow: Electron.BrowserWind
|
||||
const errorDesc = i18n.t('Network connectivity has been lost. Check your internet connection.')();
|
||||
showLoadFailure(browserWindow, url, errorDesc, 0, retryCallback, true);
|
||||
};
|
||||
|
||||
/**
|
||||
* Displays a dialog to get confirmation to enable/disable
|
||||
* hamburger menu
|
||||
*
|
||||
* @param isNativeStyle {boolean}
|
||||
*/
|
||||
export const titleBarChangeDialog = (isNativeStyle: boolean) => {
|
||||
const focusedWindow = electron.BrowserWindow.getFocusedWindow();
|
||||
if (!focusedWindow || !windowExists(focusedWindow)) {
|
||||
return;
|
||||
}
|
||||
const options = {
|
||||
type: 'question',
|
||||
title: i18n.t('Relaunch Application')(),
|
||||
message: i18n.t('Updating Title bar style requires Symphony to relaunch.')(),
|
||||
detail: i18n.t('Note: When Hamburger menu is disabled, you can trigger the main menu by pressing the Alt key.')(),
|
||||
buttons: [ i18n.t('Relaunch')(), i18n.t('Cancel')() ],
|
||||
cancelId: 1,
|
||||
};
|
||||
electron.dialog.showMessageBox(focusedWindow, options, async (index) => {
|
||||
if (index === 0) {
|
||||
await config.updateUserConfig({ isCustomTitleBar: isNativeStyle });
|
||||
app.relaunch();
|
||||
app.exit();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
@ -29,6 +29,8 @@ export class SpellChecker {
|
||||
*/
|
||||
public attachToWebContents(webContents: Electron.WebContents): void {
|
||||
const contextMenuBuilder = new ContextMenuBuilder(this.spellCheckHandler, webContents, false, this.processMenu);
|
||||
contextMenuBuilder.setAlternateStringFormatter(this.getStringTable());
|
||||
this.locale = i18n.getLocale();
|
||||
const contextMenuListener = (_event, info) => {
|
||||
if (this.locale !== i18n.getLocale()) {
|
||||
contextMenuBuilder.setAlternateStringFormatter(this.getStringTable());
|
||||
|
@ -204,10 +204,10 @@ export class WindowHandler {
|
||||
this.globalConfig = config.getGlobalConfigFields([ 'url', 'crashReporter' ]);
|
||||
|
||||
this.windows = {};
|
||||
this.isCustomTitleBar = isWindowsOS && this.config.isCustomTitleBar;
|
||||
this.windowOpts = { ...this.getMainWindowOpts(), ...opts };
|
||||
this.isAutoReload = false;
|
||||
this.isOnline = true;
|
||||
this.isCustomTitleBar = isWindowsOS && this.config.isCustomTitleBar;
|
||||
|
||||
this.appMenu = null;
|
||||
|
||||
|
@ -13,6 +13,10 @@
|
||||
"Please provide your login credentials for:": "Please provide your login credentials for:",
|
||||
"User name:": "User name:"
|
||||
},
|
||||
"MoreInfo": {
|
||||
"More Information": "More Information",
|
||||
"Version Information": "Version Information"
|
||||
},
|
||||
"Bring All to Front": "Bring All to Front",
|
||||
"Bring to Front on Notifications": "Bring to Front on Notifications",
|
||||
"Certificate Error": "Certificate Error",
|
||||
@ -47,7 +51,7 @@
|
||||
"Delete": "Delete",
|
||||
"Disable Hamburger menu": "Disable Hamburger menu",
|
||||
"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",
|
||||
"Dev Tools has been disabled! Please contact your system administrator to enable it!": "Dev Tools has been disabled! Please contact your system administrator to enable it!",
|
||||
"Edit": "Edit",
|
||||
"Enable Hamburger menu": "Enable Hamburger menu",
|
||||
"Error loading configuration": "Error loading configuration",
|
||||
@ -68,6 +72,12 @@
|
||||
"Minimize on Close": "Minimize on Close",
|
||||
"Native": "Native",
|
||||
"Network connectivity has been lost. Check your internet connection.": "Network connectivity has been lost. Check your internet connection.",
|
||||
"NetworkError": {
|
||||
"Problem connecting to Symphony": "Problem connecting to Symphony",
|
||||
"Looks like you are not connected to the Internet. We'll try to reconnect automatically.": "Looks like you are not connected to the Internet. We'll try to reconnect automatically.",
|
||||
"Cancel Retry": "Cancel Retry",
|
||||
"Quit Symphony": "Quit Symphony"
|
||||
},
|
||||
"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",
|
||||
@ -109,7 +119,9 @@
|
||||
"Screens": "Screens",
|
||||
"Select Application": "Select Application",
|
||||
"Select Screen": "Select Screen",
|
||||
"Share": "Share"
|
||||
"Share": "Share",
|
||||
"Entire screen": "Entire screen",
|
||||
"Screen {number}": "Screen {number}"
|
||||
},
|
||||
"ScreenSharingIndicator": {
|
||||
"You are sharing your screen on {appName}": "You are sharing your screen on {appName}",
|
||||
@ -123,6 +135,10 @@
|
||||
"Pen": "Pen",
|
||||
"Snipping Tool": "Snipping Tool"
|
||||
},
|
||||
"AboutSymphony": {
|
||||
"About Symphony": "About Symphony",
|
||||
"Version": "Version"
|
||||
},
|
||||
"Select All": "Select All",
|
||||
"Services": "Services",
|
||||
"Show All": "Show All",
|
||||
|
@ -13,6 +13,10 @@
|
||||
"Please provide your login credentials for:": "Please provide your login credentials for:",
|
||||
"User name:": "User name:"
|
||||
},
|
||||
"MoreInfo": {
|
||||
"More Information": "More Information",
|
||||
"Version Information": "Version Information"
|
||||
},
|
||||
"Bring All to Front": "Bring All to Front",
|
||||
"Bring to Front on Notifications": "Bring to Front on Notifications",
|
||||
"Certificate Error": "Certificate Error",
|
||||
@ -46,6 +50,8 @@
|
||||
"Cut": "Cut",
|
||||
"Delete": "Delete",
|
||||
"Disable Hamburger menu": "Disable Hamburger menu",
|
||||
"Dev Tools disabled": "Dev Tools disabled",
|
||||
"Dev Tools has been disabled! Please contact your system administrator to enable it!": "Dev Tools has been disabled! Please contact your system administrator to enable it!",
|
||||
"Edit": "Edit",
|
||||
"Enable Hamburger menu": "Enable Hamburger menu",
|
||||
"Error loading configuration": "Error loading configuration",
|
||||
@ -66,6 +72,12 @@
|
||||
"Minimize on Close": "Minimize on Close",
|
||||
"Native": "Native",
|
||||
"Network connectivity has been lost. Check your internet connection.": "Network connectivity has been lost. Check your internet connection.",
|
||||
"NetworkError": {
|
||||
"Problem connecting to Symphony": "Problem connecting to Symphony",
|
||||
"Looks like you are not connected to the Internet. We'll try to reconnect automatically.": "Looks like you are not connected to the Internet. We'll try to reconnect automatically.",
|
||||
"Cancel Retry": "Cancel Retry",
|
||||
"Quit Symphony": "Quit Symphony"
|
||||
},
|
||||
"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",
|
||||
@ -107,7 +119,9 @@
|
||||
"Screens": "Screens",
|
||||
"Select Application": "Select Application",
|
||||
"Select Screen": "Select Screen",
|
||||
"Share": "Share"
|
||||
"Share": "Share",
|
||||
"Entire screen": "Entire screen",
|
||||
"Screen {number}": "Screen {number}"
|
||||
},
|
||||
"ScreenSharingIndicator": {
|
||||
"You are sharing your screen on {appName}": "You are sharing your screen on {appName}",
|
||||
@ -121,6 +135,10 @@
|
||||
"Pen": "Pen",
|
||||
"Snipping Tool": "Snipping Tool"
|
||||
},
|
||||
"AboutSymphony": {
|
||||
"About Symphony": "About Symphony",
|
||||
"Version": "Version"
|
||||
},
|
||||
"Select All": "Select All",
|
||||
"Services": "Services",
|
||||
"Show All": "Show All",
|
||||
|
@ -1,162 +1,180 @@
|
||||
{
|
||||
"About Symphony":"À propos de Symphony",
|
||||
"Actual Size":"Taille actuelle",
|
||||
"Always on Top":"Toujours au top",
|
||||
"Auto Launch On Startup":"Lancement Automatique au démarrage",
|
||||
"BasicAuth":{
|
||||
"Authentication Request":"Demande d'authentification",
|
||||
"Cancel":"Annuler",
|
||||
"hostname":"hostname",
|
||||
"Invalid user name/password":"Nom d'utilisateur/mot de passe invalide",
|
||||
"Log In":"S'identifier",
|
||||
"Password:":"Mot de passe:",
|
||||
"Please provide your login credentials for:":"Fournissez vos identifiants de connexion pour:",
|
||||
"User name:":"Nom d'utilisateur:"
|
||||
"About Symphony": "À propos de Symphony",
|
||||
"Actual Size": "Taille actuelle",
|
||||
"Always on Top": "Toujours au top",
|
||||
"Auto Launch On Startup": "Lancement Automatique au démarrage",
|
||||
"BasicAuth": {
|
||||
"Authentication Request": "Demande d'authentification",
|
||||
"Cancel": "Annuler",
|
||||
"hostname": "hostname",
|
||||
"Invalid user name/password": "Nom d'utilisateur/mot de passe invalide",
|
||||
"Log In": "S'identifier",
|
||||
"Password:": "Mot de passe:",
|
||||
"Please provide your login credentials for:": "Fournissez vos identifiants de connexion pour:",
|
||||
"User name:": "Nom d'utilisateur:"
|
||||
},
|
||||
"Bring All to Front":"Amener tous au front",
|
||||
"Bring to Front on Notifications":"Mettre les notifications au premier plan",
|
||||
"Certificate Error":"Erreur de certificat",
|
||||
"Close":"Fermer",
|
||||
"Cancel":"Annuler",
|
||||
"ContextMenu":{
|
||||
"Add to Dictionary":"Ajouter au dictionnaire",
|
||||
"Copy":"Copier",
|
||||
"Copy Email Address":"Copier l'adresse e-mail",
|
||||
"Copy Image":"Copier l'image",
|
||||
"Copy Image URL":"Copier l'URL de l'image",
|
||||
"Copy Link":"Copier le lien",
|
||||
"Cut":"Couper",
|
||||
"Inspect Element":"Inspecter l'élément",
|
||||
"Look Up {searchText}":"Rechercher \"{searchText}\"",
|
||||
"Open Link":"Ouvrir le lien",
|
||||
"Paste":"Coller",
|
||||
"Reload":"Recharger",
|
||||
"Search with Google":"Rechercher avec Google"
|
||||
"MoreInfo": {
|
||||
"More Information": "Plus d’informations",
|
||||
"Version Information": "Information sur la version"
|
||||
},
|
||||
"DownloadManager":{
|
||||
"Show in Folder":"Afficher dans le dossier",
|
||||
"Reveal in Finder":"Révéler dans le Finder",
|
||||
"Open":"Ouvrir",
|
||||
"Downloaded":"Téléchargé",
|
||||
"File not Found":"Fichier non trouvé",
|
||||
"The file you are trying to open cannot be found in the specified path.":"Le fichier que vous essayez d'ouvrir est introuvable dans le chemin spécifié."
|
||||
"Bring All to Front": "Amener tous au front",
|
||||
"Bring to Front on Notifications": "Mettre les notifications au premier plan",
|
||||
"Certificate Error": "Erreur de certificat",
|
||||
"Close": "Fermer",
|
||||
"Cancel": "Annuler",
|
||||
"ContextMenu": {
|
||||
"Add to Dictionary": "Ajouter au dictionnaire",
|
||||
"Copy": "Copier",
|
||||
"Copy Email Address": "Copier l'adresse e-mail",
|
||||
"Copy Image": "Copier l'image",
|
||||
"Copy Image URL": "Copier l'URL de l'image",
|
||||
"Copy Link": "Copier le lien",
|
||||
"Cut": "Couper",
|
||||
"Inspect Element": "Inspecter l'élément",
|
||||
"Look Up {searchText}": "Rechercher \"{searchText}\"",
|
||||
"Open Link": "Ouvrir le lien",
|
||||
"Paste": "Coller",
|
||||
"Reload": "Recharger",
|
||||
"Search with Google": "Rechercher avec Google"
|
||||
},
|
||||
"Copy":"Copier",
|
||||
"Custom":"Personnalisé",
|
||||
"Cut":"Couper",
|
||||
"Delete":"Effacer",
|
||||
"Disable Hamburger menu":"Désactiver le menu Hamburger",
|
||||
"Edit":"Modifier",
|
||||
"Enable Hamburger menu":"Activer le menu Hamburger",
|
||||
"Error loading configuration":"Erreur de chargement de la configuration",
|
||||
"Error loading URL":"Erreur de chargement de l'URL",
|
||||
"Error loading window":"Erreur de chargement de la fenêtre",
|
||||
"Error setting AutoLaunch configuration":"Erreur de configuration dans le Lancement Automatique",
|
||||
"Failed!":"Échoué!",
|
||||
"Flash Notification in Taskbar":"Notification Flash dans la barre des tâches",
|
||||
"Help":"Aide",
|
||||
"Help Url":"https://support.symphony.com",
|
||||
"Symphony Url":"https://symphony.com/fr-FR",
|
||||
"Hide Others":"Cacher les autres",
|
||||
"Hide Symphony":"Cacher Symphony",
|
||||
"DownloadManager": {
|
||||
"Show in Folder": "Afficher dans le dossier",
|
||||
"Reveal in Finder": "Révéler dans le Finder",
|
||||
"Open": "Ouvrir",
|
||||
"Downloaded": "Téléchargé",
|
||||
"File not Found": "Fichier non trouvé",
|
||||
"The file you are trying to open cannot be found in the specified path.": "Le fichier que vous essayez d'ouvrir est introuvable dans le chemin spécifié."
|
||||
},
|
||||
"Copy": "Copier",
|
||||
"Custom": "Personnalisé",
|
||||
"Cut": "Couper",
|
||||
"Delete": "Effacer",
|
||||
"Disable Hamburger menu": "Désactiver le menu Hamburger",
|
||||
"Dev Tools disabled": "Outils de développement désactivés",
|
||||
"Dev Tools has been disabled! Please contact your system administrator to enable it!": "Dev Tools a été désactivé ! Veuillez contacter votre administrateur système pour l’activer !",
|
||||
"Edit": "Modifier",
|
||||
"Enable Hamburger menu": "Activer le menu Hamburger",
|
||||
"Error loading configuration": "Erreur de chargement de la configuration",
|
||||
"Error loading URL": "Erreur de chargement de l'URL",
|
||||
"Error loading window": "Erreur de chargement de la fenêtre",
|
||||
"Error setting AutoLaunch configuration": "Erreur de configuration dans le Lancement Automatique",
|
||||
"Failed!": "Échoué!",
|
||||
"Flash Notification in Taskbar": "Notification Flash dans la barre des tâches",
|
||||
"Help": "Aide",
|
||||
"Help Url": "https://support.symphony.com",
|
||||
"Symphony Url": "https://symphony.com/fr-FR",
|
||||
"Hide Others": "Cacher les autres",
|
||||
"Hide Symphony": "Cacher Symphony",
|
||||
"Ignore": "Ignorer",
|
||||
"Learn More":"Apprendre encore plus",
|
||||
"Loading Error":"Erreur lors du chargement",
|
||||
"Minimize":"Minimiser",
|
||||
"Minimiser on Close":"Minimiser à la fermeture",
|
||||
"Native":"Originaire",
|
||||
"Learn More": "Apprendre encore plus",
|
||||
"Loading Error": "Erreur lors du chargement",
|
||||
"Minimize": "Minimiser",
|
||||
"Minimiser on Close": "Minimiser à la fermeture",
|
||||
"Native": "Originaire",
|
||||
"Network connectivity has been lost. Check your internet connection.": "La connectivité a été perdue. Vérifiez votre connection à l'internet.",
|
||||
"No crashes available to share":"Pas de crash à partager",
|
||||
"No logs are available to share":"Pas de journal à partager",
|
||||
"Not Allowed":"Interdit",
|
||||
"Note: When Hamburger menu is disabled, you can trigger the main menu by pressing the Alt key.":"Remarque: lorsque le menu Hamburger est désactivé, vous pouvez activer le menu principal en appuyant sur la touche \"Alt\" key.",
|
||||
"NotificationSettings":{
|
||||
"Bottom Left":"Gauche inférieure",
|
||||
"Bottom Right":"Droite inférieure",
|
||||
"CANCEL":"ANNULER",
|
||||
"Monitor":"Moniteur",
|
||||
"Notification Settings":"Paramètres des notifications",
|
||||
"Notification shown on Monitor: ":"Notification affichée sur le Moniteur: ",
|
||||
"OK":"OK",
|
||||
"Position":"Position",
|
||||
"Symphony - Configure Notification Position":"Symphony - Configurer la position des notifications",
|
||||
"Top Left":"Gauche supérieure",
|
||||
"Top Right":"Droite supérieure"
|
||||
"NetworkError": {
|
||||
"Problem connecting to Symphony": "Problème de connexion à Symphony",
|
||||
"Looks like you are not connected to the Internet. We'll try to reconnect automatically.": "On dirait que vous n'êtes pas connecté à Internet. Nous allons essayer de vous reconnecter automatiquement.",
|
||||
"Cancel Retry": "Annuler nouvelle tentative",
|
||||
"Quit Symphony": "Quitter Symphony"
|
||||
},
|
||||
"Oops! Looks like we have had a crash.":"Oops! On dirait que nous avons eu un crash.",
|
||||
"Oops! Looks like we have had a crash. Please reload or close this window.":"Oops! On dirait que nous avons eu un crash. Veuillez recharger ou fermer cette fenêtre.",
|
||||
"Paste":"Coller",
|
||||
"Paste and Match Style":"Coller et appliquer le style",
|
||||
"Permission Denied":"Permission refusée",
|
||||
"Please contact your admin for help":"Veuillez contacter votre administrateur pour obtenir de l'aide.",
|
||||
"please contact your administrator for more details":"veuillez contacter votre administrateur pour plus de détails",
|
||||
"Quit Symphony":"Quitter Symphony",
|
||||
"Redo":"Refaire",
|
||||
"Refresh app when idle":"Actualiser l'application en mode inactive",
|
||||
"Clear cache and Reload":"Vider le cache et recharger",
|
||||
"Relaunch Application":"Redémarrer l'application",
|
||||
"Relaunch":"Redémarrer",
|
||||
"Reload":"Recharger",
|
||||
"Renderer Process Crashed":"Processus de rendu a eu un crash",
|
||||
"ScreenPicker":{
|
||||
"Applications":"Applications",
|
||||
"Cancel":"Annuler",
|
||||
"Choose what you'd like to share":"Choisissez ce que vous souhaitez partager",
|
||||
"No screens or applications are currently available.":"Aucun écran ou application n'est actuellement disponible.",
|
||||
"Screen Picker":"Sélecteur d'écran",
|
||||
"Screens":"Écrans",
|
||||
"Select Application":"Sélectionnez une application",
|
||||
"Select Screen":"Sélectionnez l'écran",
|
||||
"Share":"Partager"
|
||||
"No crashes available to share": "Pas de crash à partager",
|
||||
"No logs are available to share": "Pas de journal à partager",
|
||||
"Not Allowed": "Interdit",
|
||||
"Note: When Hamburger menu is disabled, you can trigger the main menu by pressing the Alt key.": "Remarque: lorsque le menu Hamburger est désactivé, vous pouvez activer le menu principal en appuyant sur la touche \"Alt\" key.",
|
||||
"NotificationSettings": {
|
||||
"Bottom Left": "Gauche inférieure",
|
||||
"Bottom Right": "Droite inférieure",
|
||||
"CANCEL": "ANNULER",
|
||||
"Monitor": "Moniteur",
|
||||
"Notification Settings": "Paramètres des notifications",
|
||||
"Notification shown on Monitor: ": "Notification affichée sur le Moniteur: ",
|
||||
"OK": "OK",
|
||||
"Position": "Position",
|
||||
"Symphony - Configure Notification Position": "Symphony - Configurer la position des notifications",
|
||||
"Top Left": "Gauche supérieure",
|
||||
"Top Right": "Droite supérieure"
|
||||
},
|
||||
"Oops! Looks like we have had a crash.": "Oops! On dirait que nous avons eu un crash.",
|
||||
"Oops! Looks like we have had a crash. Please reload or close this window.": "Oops! On dirait que nous avons eu un crash. Veuillez recharger ou fermer cette fenêtre.",
|
||||
"Paste": "Coller",
|
||||
"Paste and Match Style": "Coller et appliquer le style",
|
||||
"Permission Denied": "Permission refusée",
|
||||
"Please contact your admin for help": "Veuillez contacter votre administrateur pour obtenir de l'aide.",
|
||||
"please contact your administrator for more details": "veuillez contacter votre administrateur pour plus de détails",
|
||||
"Quit Symphony": "Quitter Symphony",
|
||||
"Redo": "Refaire",
|
||||
"Refresh app when idle": "Actualiser l'application en mode inactive",
|
||||
"Clear cache and Reload": "Vider le cache et recharger",
|
||||
"Relaunch Application": "Redémarrer l'application",
|
||||
"Relaunch": "Redémarrer",
|
||||
"Reload": "Recharger",
|
||||
"Renderer Process Crashed": "Processus de rendu a eu un crash",
|
||||
"ScreenPicker": {
|
||||
"Applications": "Applications",
|
||||
"Cancel": "Annuler",
|
||||
"Choose what you'd like to share": "Choisissez ce que vous souhaitez partager",
|
||||
"No screens or applications are currently available.": "Aucun écran ou application n'est actuellement disponible.",
|
||||
"Screen Picker": "Sélecteur d'écran",
|
||||
"Screens": "Écrans",
|
||||
"Select Application": "Sélectionnez une application",
|
||||
"Select Screen": "Sélectionnez l'écran",
|
||||
"Share": "Partager",
|
||||
"Entire screen": "Écran entier",
|
||||
"Screen {number}": "Écran {number}"
|
||||
},
|
||||
"ScreenSharingIndicator": {
|
||||
"You are sharing your screen on {appName}": "Vous partagez votre écran sur {appName}",
|
||||
"Stop sharing": "Arrêter le partage",
|
||||
"Hide": "Masquer"
|
||||
},
|
||||
"ScreenSnippet":{
|
||||
"Done":"Terminé",
|
||||
"Erase":"Effacer",
|
||||
"Highlight":"Surligner",
|
||||
"Pen":"Stylo",
|
||||
"Snipping Tool":"Outil Capture"
|
||||
"ScreenSnippet": {
|
||||
"Done": "Terminé",
|
||||
"Erase": "Effacer",
|
||||
"Highlight": "Surligner",
|
||||
"Pen": "Stylo",
|
||||
"Snipping Tool": "Outil Capture"
|
||||
},
|
||||
"Select All":"Tout sélectionner",
|
||||
"Services":"Services",
|
||||
"Show All":"Tout afficher",
|
||||
"Show crash dump in Explorer":"Afficher rapport de crash dans Explorateur",
|
||||
"Show crash dump in Finder":"Afficher rapport de crash dans Finder",
|
||||
"AboutSymphony": {
|
||||
"About Symphony": "À propos de Symphony",
|
||||
"Version": "Version"
|
||||
},
|
||||
"Select All": "Tout sélectionner",
|
||||
"Services": "Services",
|
||||
"Show All": "Tout afficher",
|
||||
"Show crash dump in Explorer": "Afficher rapport de crash dans Explorateur",
|
||||
"Show crash dump in Finder": "Afficher rapport de crash dans Finder",
|
||||
"Toggle Developer Tools": "Basculer, les outils de développement",
|
||||
"More Information": "Plus d'information",
|
||||
"Show Logs in Explorer":"Afficher journal d'évenements dans Explorateur",
|
||||
"Show Logs in Finder":"Afficher journal d'évenements dans Finder",
|
||||
"SnackBar":{
|
||||
" to exit full screen":" pour quitter le plein écran",
|
||||
"esc":"esc",
|
||||
"Press ":"Appuyer sur "
|
||||
"Show Logs in Explorer": "Afficher journal d'évenements dans Explorateur",
|
||||
"Show Logs in Finder": "Afficher journal d'évenements dans Finder",
|
||||
"SnackBar": {
|
||||
" to exit full screen": " pour quitter le plein écran",
|
||||
"esc": "esc",
|
||||
"Press ": "Appuyer sur "
|
||||
},
|
||||
"Sorry, you are not allowed to access this website":"Désolé, vous n'êtes pas autorisé à accéder à ce site.",
|
||||
"Speech":"Dictée vocale",
|
||||
"Start Speaking":"Commencer à dicter",
|
||||
"Stop Speaking":"Arreter de dicter",
|
||||
"Symphony Help":"Aide Symphony",
|
||||
"TitleBar":{
|
||||
"Close":"Fermer",
|
||||
"Maximize":"Maximiser",
|
||||
"Menu":"Menu",
|
||||
"Minimize":"Minimiser"
|
||||
"Sorry, you are not allowed to access this website": "Désolé, vous n'êtes pas autorisé à accéder à ce site.",
|
||||
"Speech": "Dictée vocale",
|
||||
"Start Speaking": "Commencer à dicter",
|
||||
"Stop Speaking": "Arreter de dicter",
|
||||
"Symphony Help": "Aide Symphony",
|
||||
"TitleBar": {
|
||||
"Close": "Fermer",
|
||||
"Maximize": "Maximiser",
|
||||
"Menu": "Menu",
|
||||
"Minimize": "Minimiser"
|
||||
},
|
||||
"Title Bar Style":"Style de la barre de titre",
|
||||
"Toggle Full Screen":"Basculer plein écran",
|
||||
"Troubleshooting":"Dépannage",
|
||||
"Unable to generate crash reports due to ":"Impossible de générer le rapport de crash en raison de ",
|
||||
"Unable to generate logs due to ":"Impossible de générer le journal d'évenements en raison de",
|
||||
"Undo":"Défaire",
|
||||
"Updating Title bar style requires Symphony to relaunch.":"La mise à jour du style de la barre de titre nécessite le redémarrage de Symphony.",
|
||||
"View":"Visualiser",
|
||||
"Window":"Fenêtre",
|
||||
"Your administrator has disabled":"Votre administrateur a désactivé",
|
||||
"Zoom":"Zoom",
|
||||
"Zoom In":"Zoom Avant",
|
||||
"Zoom Out":"Zoom Arrière"
|
||||
}
|
||||
"Title Bar Style": "Style de la barre de titre",
|
||||
"Toggle Full Screen": "Basculer plein écran",
|
||||
"Troubleshooting": "Dépannage",
|
||||
"Unable to generate crash reports due to ": "Impossible de générer le rapport de crash en raison de ",
|
||||
"Unable to generate logs due to ": "Impossible de générer le journal d'évenements en raison de",
|
||||
"Undo": "Défaire",
|
||||
"Updating Title bar style requires Symphony to relaunch.": "La mise à jour du style de la barre de titre nécessite le redémarrage de Symphony.",
|
||||
"View": "Visualiser",
|
||||
"Window": "Fenêtre",
|
||||
"Your administrator has disabled": "Votre administrateur a désactivé",
|
||||
"Zoom": "Zoom",
|
||||
"Zoom In": "Zoom Avant",
|
||||
"Zoom Out": "Zoom Arrière"
|
||||
}
|
||||
|
@ -1,162 +1,180 @@
|
||||
{
|
||||
"About Symphony":"À propos de Symphony",
|
||||
"Actual Size":"Taille actuelle",
|
||||
"Always on Top":"Toujours au top",
|
||||
"Auto Launch On Startup":"Lancement Automatique au démarrage",
|
||||
"BasicAuth":{
|
||||
"Authentication Request":"Demande d'authentification",
|
||||
"Cancel":"Annuler",
|
||||
"hostname":"hostname",
|
||||
"Invalid user name/password":"Nom d'utilisateur/mot de passe invalide",
|
||||
"Log In":"S'identifier",
|
||||
"Password:":"Mot de passe:",
|
||||
"Please provide your login credentials for:":"Fournissez vos identifiants de connexion pour:",
|
||||
"User name:":"Nom d'utilisateur:"
|
||||
"About Symphony": "À propos de Symphony",
|
||||
"Actual Size": "Taille actuelle",
|
||||
"Always on Top": "Toujours au top",
|
||||
"Auto Launch On Startup": "Lancement Automatique au démarrage",
|
||||
"BasicAuth": {
|
||||
"Authentication Request": "Demande d'authentification",
|
||||
"Cancel": "Annuler",
|
||||
"hostname": "hostname",
|
||||
"Invalid user name/password": "Nom d'utilisateur/mot de passe invalide",
|
||||
"Log In": "S'identifier",
|
||||
"Password:": "Mot de passe:",
|
||||
"Please provide your login credentials for:": "Fournissez vos identifiants de connexion pour:",
|
||||
"User name:": "Nom d'utilisateur:"
|
||||
},
|
||||
"Bring All to Front":"Amener tous au front",
|
||||
"Bring to Front on Notifications":"Mettre les notifications au premier plan",
|
||||
"Certificate Error":"Erreur de certificat",
|
||||
"Close":"Fermer",
|
||||
"Cancel":"Annuler",
|
||||
"ContextMenu":{
|
||||
"Add to Dictionary":"Ajouter au dictionnaire",
|
||||
"Copy":"Copier",
|
||||
"Copy Email Address":"Copier l'adresse e-mail",
|
||||
"Copy Image":"Copier l'image",
|
||||
"Copy Image URL":"Copier l'URL de l'image",
|
||||
"Copy Link":"Copier le lien",
|
||||
"Cut":"Couper",
|
||||
"Inspect Element":"Inspecter l'élément",
|
||||
"Look Up {searchText}":"Rechercher \"{searchText}\"",
|
||||
"Open Link":"Ouvrir le lien",
|
||||
"Paste":"Coller",
|
||||
"Reload":"Recharger",
|
||||
"Search with Google":"Rechercher avec Google"
|
||||
"MoreInfo": {
|
||||
"More Information": "Plus d’informations",
|
||||
"Version Information": "Information sur la version"
|
||||
},
|
||||
"DownloadManager":{
|
||||
"Show in Folder":"Afficher dans le dossier",
|
||||
"Reveal in Finder":"Révéler dans le Finder",
|
||||
"Open":"Ouvrir",
|
||||
"Downloaded":"Téléchargé",
|
||||
"File not Found":"Fichier non trouvé",
|
||||
"The file you are trying to open cannot be found in the specified path.":"Le fichier que vous essayez d'ouvrir est introuvable dans le chemin spécifié."
|
||||
"Bring All to Front": "Amener tous au front",
|
||||
"Bring to Front on Notifications": "Mettre les notifications au premier plan",
|
||||
"Certificate Error": "Erreur de certificat",
|
||||
"Close": "Fermer",
|
||||
"Cancel": "Annuler",
|
||||
"ContextMenu": {
|
||||
"Add to Dictionary": "Ajouter au dictionnaire",
|
||||
"Copy": "Copier",
|
||||
"Copy Email Address": "Copier l'adresse e-mail",
|
||||
"Copy Image": "Copier l'image",
|
||||
"Copy Image URL": "Copier l'URL de l'image",
|
||||
"Copy Link": "Copier le lien",
|
||||
"Cut": "Couper",
|
||||
"Inspect Element": "Inspecter l'élément",
|
||||
"Look Up {searchText}": "Rechercher \"{searchText}\"",
|
||||
"Open Link": "Ouvrir le lien",
|
||||
"Paste": "Coller",
|
||||
"Reload": "Recharger",
|
||||
"Search with Google": "Rechercher avec Google"
|
||||
},
|
||||
"Copy":"Copier",
|
||||
"Custom":"Personnalisé",
|
||||
"Cut":"Couper",
|
||||
"Delete":"Effacer",
|
||||
"Disable Hamburger menu":"Désactiver le menu Hamburger",
|
||||
"Edit":"Modifier",
|
||||
"Enable Hamburger menu":"Activer le menu Hamburger",
|
||||
"Error loading configuration":"Erreur de chargement de la configuration",
|
||||
"Error loading URL":"Erreur de chargement de l'URL",
|
||||
"Error loading window":"Erreur de chargement de la fenêtre",
|
||||
"Error setting AutoLaunch configuration":"Erreur de configuration dans le Lancement Automatique",
|
||||
"Failed!":"Échoué!",
|
||||
"Flash Notification in Taskbar":"Notification Flash dans la barre des tâches",
|
||||
"Help":"Aide",
|
||||
"Help Url":"https://support.symphony.com",
|
||||
"Symphony Url":"https://symphony.com/fr-FR",
|
||||
"Hide Others":"Cacher les autres",
|
||||
"Hide Symphony":"Cacher Symphony",
|
||||
"DownloadManager": {
|
||||
"Show in Folder": "Afficher dans le dossier",
|
||||
"Reveal in Finder": "Révéler dans le Finder",
|
||||
"Open": "Ouvrir",
|
||||
"Downloaded": "Téléchargé",
|
||||
"File not Found": "Fichier non trouvé",
|
||||
"The file you are trying to open cannot be found in the specified path.": "Le fichier que vous essayez d'ouvrir est introuvable dans le chemin spécifié."
|
||||
},
|
||||
"Copy": "Copier",
|
||||
"Custom": "Personnalisé",
|
||||
"Cut": "Couper",
|
||||
"Delete": "Effacer",
|
||||
"Disable Hamburger menu": "Désactiver le menu Hamburger",
|
||||
"Dev Tools disabled": "Outils de développement désactivés",
|
||||
"Dev Tools has been disabled! Please contact your system administrator to enable it!": "Dev Tools a été désactivé ! Veuillez contacter votre administrateur système pour l’activer !",
|
||||
"Edit": "Modifier",
|
||||
"Enable Hamburger menu": "Activer le menu Hamburger",
|
||||
"Error loading configuration": "Erreur de chargement de la configuration",
|
||||
"Error loading URL": "Erreur de chargement de l'URL",
|
||||
"Error loading window": "Erreur de chargement de la fenêtre",
|
||||
"Error setting AutoLaunch configuration": "Erreur de configuration dans le Lancement Automatique",
|
||||
"Failed!": "Échoué!",
|
||||
"Flash Notification in Taskbar": "Notification Flash dans la barre des tâches",
|
||||
"Help": "Aide",
|
||||
"Help Url": "https://support.symphony.com",
|
||||
"Symphony Url": "https://symphony.com/fr-FR",
|
||||
"Hide Others": "Cacher les autres",
|
||||
"Hide Symphony": "Cacher Symphony",
|
||||
"Ignore": "Ignorer",
|
||||
"Learn More":"Apprendre encore plus",
|
||||
"Loading Error":"Erreur lors du chargement",
|
||||
"Minimize":"Minimiser",
|
||||
"Minimiser on Close":"Minimiser à la fermeture",
|
||||
"Native":"Originaire",
|
||||
"Learn More": "Apprendre encore plus",
|
||||
"Loading Error": "Erreur lors du chargement",
|
||||
"Minimize": "Minimiser",
|
||||
"Minimiser on Close": "Minimiser à la fermeture",
|
||||
"Native": "Originaire",
|
||||
"Network connectivity has been lost. Check your internet connection.": "La connectivité a été perdue. Vérifiez votre connection à l'internet.",
|
||||
"No crashes available to share":"Pas de crash à partager",
|
||||
"No logs are available to share":"Pas de journal à partager",
|
||||
"Not Allowed":"Interdit",
|
||||
"Note: When Hamburger menu is disabled, you can trigger the main menu by pressing the Alt key.":"Remarque: lorsque le menu Hamburger est désactivé, vous pouvez activer le menu principal en appuyant sur la touche \"Alt\" key.",
|
||||
"NotificationSettings":{
|
||||
"Bottom Left":"Gauche inférieure",
|
||||
"Bottom Right":"Droite inférieure",
|
||||
"CANCEL":"ANNULER",
|
||||
"Monitor":"Moniteur",
|
||||
"Notification Settings":"Paramètres des notifications",
|
||||
"Notification shown on Monitor: ":"Notification affichée sur le Moniteur: ",
|
||||
"OK":"OK",
|
||||
"Position":"Position",
|
||||
"Symphony - Configure Notification Position":"Symphony - Configurer la position des notifications",
|
||||
"Top Left":"Gauche supérieure",
|
||||
"Top Right":"Droite supérieure"
|
||||
"NetworkError": {
|
||||
"Problem connecting to Symphony": "Problème de connexion à Symphony",
|
||||
"Looks like you are not connected to the Internet. We'll try to reconnect automatically.": "On dirait que vous n'êtes pas connecté à Internet. Nous allons essayer de vous reconnecter automatiquement.",
|
||||
"Cancel Retry": "Annuler nouvelle tentative",
|
||||
"Quit Symphony": "Quitter Symphony"
|
||||
},
|
||||
"Oops! Looks like we have had a crash.":"Oops! On dirait que nous avons eu un crash.",
|
||||
"Oops! Looks like we have had a crash. Please reload or close this window.":"Oops! On dirait que nous avons eu un crash. Veuillez recharger ou fermer cette fenêtre.",
|
||||
"Paste":"Coller",
|
||||
"Paste and Match Style":"Coller et appliquer le style",
|
||||
"Permission Denied":"Permission refusée",
|
||||
"Please contact your admin for help":"Veuillez contacter votre administrateur pour obtenir de l'aide.",
|
||||
"please contact your administrator for more details":"veuillez contacter votre administrateur pour plus de détails",
|
||||
"Quit Symphony":"Quitter Symphony",
|
||||
"Redo":"Refaire",
|
||||
"Refresh app when idle":"Actualiser l'application en mode inactive",
|
||||
"Clear cache and Reload":"Vider le cache et recharger",
|
||||
"Relaunch Application":"Redémarrer l'application",
|
||||
"Relaunch":"Redémarrer",
|
||||
"Reload":"Recharger",
|
||||
"Renderer Process Crashed":"Processus de rendu a eu un crash",
|
||||
"ScreenPicker":{
|
||||
"Applications":"Applications",
|
||||
"Cancel":"Annuler",
|
||||
"Choose what you'd like to share":"Choisissez ce que vous souhaitez partager",
|
||||
"No screens or applications are currently available.":"Aucun écran ou application n'est actuellement disponible.",
|
||||
"Screen Picker":"Sélecteur d'écran",
|
||||
"Screens":"Écrans",
|
||||
"Select Application":"Sélectionnez une application",
|
||||
"Select Screen":"Sélectionnez l'écran",
|
||||
"Share":"Partager"
|
||||
"No crashes available to share": "Pas de crash à partager",
|
||||
"No logs are available to share": "Pas de journal à partager",
|
||||
"Not Allowed": "Interdit",
|
||||
"Note: When Hamburger menu is disabled, you can trigger the main menu by pressing the Alt key.": "Remarque: lorsque le menu Hamburger est désactivé, vous pouvez activer le menu principal en appuyant sur la touche \"Alt\" key.",
|
||||
"NotificationSettings": {
|
||||
"Bottom Left": "Gauche inférieure",
|
||||
"Bottom Right": "Droite inférieure",
|
||||
"CANCEL": "ANNULER",
|
||||
"Monitor": "Moniteur",
|
||||
"Notification Settings": "Paramètres des notifications",
|
||||
"Notification shown on Monitor: ": "Notification affichée sur le Moniteur: ",
|
||||
"OK": "OK",
|
||||
"Position": "Position",
|
||||
"Symphony - Configure Notification Position": "Symphony - Configurer la position des notifications",
|
||||
"Top Left": "Gauche supérieure",
|
||||
"Top Right": "Droite supérieure"
|
||||
},
|
||||
"Oops! Looks like we have had a crash.": "Oops! On dirait que nous avons eu un crash.",
|
||||
"Oops! Looks like we have had a crash. Please reload or close this window.": "Oops! On dirait que nous avons eu un crash. Veuillez recharger ou fermer cette fenêtre.",
|
||||
"Paste": "Coller",
|
||||
"Paste and Match Style": "Coller et appliquer le style",
|
||||
"Permission Denied": "Permission refusée",
|
||||
"Please contact your admin for help": "Veuillez contacter votre administrateur pour obtenir de l'aide.",
|
||||
"please contact your administrator for more details": "veuillez contacter votre administrateur pour plus de détails",
|
||||
"Quit Symphony": "Quitter Symphony",
|
||||
"Redo": "Refaire",
|
||||
"Refresh app when idle": "Actualiser l'application en mode inactive",
|
||||
"Clear cache and Reload": "Vider le cache et recharger",
|
||||
"Relaunch Application": "Redémarrer l'application",
|
||||
"Relaunch": "Redémarrer",
|
||||
"Reload": "Recharger",
|
||||
"Renderer Process Crashed": "Processus de rendu a eu un crash",
|
||||
"ScreenPicker": {
|
||||
"Applications": "Applications",
|
||||
"Cancel": "Annuler",
|
||||
"Choose what you'd like to share": "Choisissez ce que vous souhaitez partager",
|
||||
"No screens or applications are currently available.": "Aucun écran ou application n'est actuellement disponible.",
|
||||
"Screen Picker": "Sélecteur d'écran",
|
||||
"Screens": "Écrans",
|
||||
"Select Application": "Sélectionnez une application",
|
||||
"Select Screen": "Sélectionnez l'écran",
|
||||
"Share": "Partager",
|
||||
"Entire screen": "Écran entier",
|
||||
"Screen {number}": "Écran {number}"
|
||||
},
|
||||
"ScreenSharingIndicator": {
|
||||
"You are sharing your screen on {appName}": "Vous partagez votre écran sur {appName}",
|
||||
"Stop sharing": "Arrêter le partage",
|
||||
"Hide": "Masquer"
|
||||
},
|
||||
"ScreenSnippet":{
|
||||
"Done":"Terminé",
|
||||
"Erase":"Effacer",
|
||||
"Highlight":"Surligner",
|
||||
"Pen":"Stylo",
|
||||
"Snipping Tool":"Outil Capture"
|
||||
"ScreenSnippet": {
|
||||
"Done": "Terminé",
|
||||
"Erase": "Effacer",
|
||||
"Highlight": "Surligner",
|
||||
"Pen": "Stylo",
|
||||
"Snipping Tool": "Outil Capture"
|
||||
},
|
||||
"Select All":"Tout sélectionner",
|
||||
"Services":"Services",
|
||||
"Show All":"Tout afficher",
|
||||
"Show crash dump in Explorer":"Afficher rapport de crash dans Explorateur",
|
||||
"Show crash dump in Finder":"Afficher rapport de crash dans Finder",
|
||||
"AboutSymphony": {
|
||||
"About Symphony": "À propos de Symphony",
|
||||
"Version": "Version"
|
||||
},
|
||||
"Select All": "Tout sélectionner",
|
||||
"Services": "Services",
|
||||
"Show All": "Tout afficher",
|
||||
"Show crash dump in Explorer": "Afficher rapport de crash dans Explorateur",
|
||||
"Show crash dump in Finder": "Afficher rapport de crash dans Finder",
|
||||
"Toggle Developer Tools": "Basculer, les outils de développement",
|
||||
"More Information": "Plus d'information",
|
||||
"Show Logs in Explorer":"Afficher journal d'évenements dans Explorateur",
|
||||
"Show Logs in Finder":"Afficher journal d'évenements dans Finder",
|
||||
"SnackBar":{
|
||||
" to exit full screen":" pour quitter le plein écran",
|
||||
"esc":"esc",
|
||||
"Press ":"Appuyer sur "
|
||||
"Show Logs in Explorer": "Afficher journal d'évenements dans Explorateur",
|
||||
"Show Logs in Finder": "Afficher journal d'évenements dans Finder",
|
||||
"SnackBar": {
|
||||
" to exit full screen": " pour quitter le plein écran",
|
||||
"esc": "esc",
|
||||
"Press ": "Appuyer sur "
|
||||
},
|
||||
"Sorry, you are not allowed to access this website":"Désolé, vous n'êtes pas autorisé à accéder à ce site.",
|
||||
"Speech":"Dictée vocale",
|
||||
"Start Speaking":"Commencer à dicter",
|
||||
"Stop Speaking":"Arreter de dicter",
|
||||
"Symphony Help":"Aide Symphony",
|
||||
"TitleBar":{
|
||||
"Close":"Fermer",
|
||||
"Maximize":"Maximiser",
|
||||
"Menu":"Menu",
|
||||
"Minimize":"Minimiser"
|
||||
"Sorry, you are not allowed to access this website": "Désolé, vous n'êtes pas autorisé à accéder à ce site.",
|
||||
"Speech": "Dictée vocale",
|
||||
"Start Speaking": "Commencer à dicter",
|
||||
"Stop Speaking": "Arreter de dicter",
|
||||
"Symphony Help": "Aide Symphony",
|
||||
"TitleBar": {
|
||||
"Close": "Fermer",
|
||||
"Maximize": "Maximiser",
|
||||
"Menu": "Menu",
|
||||
"Minimize": "Minimiser"
|
||||
},
|
||||
"Title Bar Style":"Style de la barre de titre",
|
||||
"Toggle Full Screen":"Basculer plein écran",
|
||||
"Troubleshooting":"Dépannage",
|
||||
"Unable to generate crash reports due to ":"Impossible de générer le rapport de crash en raison de ",
|
||||
"Unable to generate logs due to ":"Impossible de générer le journal d'évenements en raison de",
|
||||
"Undo":"Défaire",
|
||||
"Updating Title bar style requires Symphony to relaunch.":"La mise à jour du style de la barre de titre nécessite le redémarrage de Symphony.",
|
||||
"View":"Visualiser",
|
||||
"Window":"Fenêtre",
|
||||
"Your administrator has disabled":"Votre administrateur a désactivé",
|
||||
"Zoom":"Zoom",
|
||||
"Zoom In":"Zoom Avant",
|
||||
"Zoom Out":"Zoom Arrière"
|
||||
}
|
||||
"Title Bar Style": "Style de la barre de titre",
|
||||
"Toggle Full Screen": "Basculer plein écran",
|
||||
"Troubleshooting": "Dépannage",
|
||||
"Unable to generate crash reports due to ": "Impossible de générer le rapport de crash en raison de ",
|
||||
"Unable to generate logs due to ": "Impossible de générer le journal d'évenements en raison de",
|
||||
"Undo": "Défaire",
|
||||
"Updating Title bar style requires Symphony to relaunch.": "La mise à jour du style de la barre de titre nécessite le redémarrage de Symphony.",
|
||||
"View": "Visualiser",
|
||||
"Window": "Fenêtre",
|
||||
"Your administrator has disabled": "Votre administrateur a désactivé",
|
||||
"Zoom": "Zoom",
|
||||
"Zoom In": "Zoom Avant",
|
||||
"Zoom Out": "Zoom Arrière"
|
||||
}
|
||||
|
@ -13,6 +13,10 @@
|
||||
"Please provide your login credentials for:": "あなたのログイン認証情報を入力してください。",
|
||||
"User name:": "ユーザー名:"
|
||||
},
|
||||
"MoreInfo": {
|
||||
"More Information": "詳しくは",
|
||||
"Version Information": "バージョン情報"
|
||||
},
|
||||
"Bring All to Front": "すべて前面に表示",
|
||||
"Bring to Front on Notifications": "通知時に前面に表示",
|
||||
"Certificate Error": "証明書のエラー",
|
||||
@ -34,9 +38,9 @@
|
||||
"Search with Google": "Googleで検索"
|
||||
},
|
||||
"DownloadManager": {
|
||||
"Show in Folder": "フォルダで見て",
|
||||
"Reveal in Finder": "Finderで明らかにする",
|
||||
"Open": "開いた",
|
||||
"Show in Folder": "フォルダーを開く",
|
||||
"Reveal in Finder": "Finderで確認する",
|
||||
"Open": "開く",
|
||||
"Downloaded": "ダウンロード済み",
|
||||
"File not Found": "ファイルが見つかりません",
|
||||
"The file you are trying to open cannot be found in the specified path.": "開こうとしているファイルが指定されたパスに見つかりません."
|
||||
@ -45,9 +49,9 @@
|
||||
"Custom": "カスタム",
|
||||
"Cut": "切り取り",
|
||||
"Delete": "削除",
|
||||
"Dev Tools disabled": "開発ツールを無効にする",
|
||||
"Dev Tools has been disabled. Please contact your system administrator": "Dev Toolsが無効になっています。システム管理者に連絡してください",
|
||||
"Disable Hamburger menu": "ハンバーガーメニューを無効にする",
|
||||
"Dev Tools disabled": "開発ツールが無効",
|
||||
"Dev Tools has been disabled! Please contact your system administrator to enable it!": "開発ツールが無効になっています。システム管理者に連絡して、有効にしてください。",
|
||||
"Edit": "編集",
|
||||
"Enable Hamburger menu": "ハンバーガーメニューを有効にする",
|
||||
"Error loading configuration": "構成の読み込みエラー",
|
||||
@ -68,6 +72,12 @@
|
||||
"Minimize on Close": "閉じるで最小化",
|
||||
"Native": "Native",
|
||||
"Network connectivity has been lost. Check your internet connection.": "ネットワーク接続が失われました。インターネット接続を確認してください。",
|
||||
"NetworkError": {
|
||||
"Problem connecting to Symphony": "Symphonyへの接続に関する問題",
|
||||
"Looks like you are not connected to the Internet. We'll try to reconnect automatically.": "インターネットに接続していないようです。 自動的に再接続します。",
|
||||
"Cancel Retry": "再試行をキャンセル",
|
||||
"Quit Symphony": "Symphonyを終了"
|
||||
},
|
||||
"No crashes available to share": "共有できるクラッシュはありません",
|
||||
"No logs are available to share": "共有できるログはありません",
|
||||
"Not Allowed": "許可されていませ。",
|
||||
@ -109,11 +119,13 @@
|
||||
"Screens": "画面",
|
||||
"Select Application": "アプリケーションを選択",
|
||||
"Select Screen": "画面を選択",
|
||||
"Share": "共有"
|
||||
"Share": "共有",
|
||||
"Entire screen": "画面全体",
|
||||
"Screen {number}": "画面 {number}"
|
||||
},
|
||||
"ScreenSharingIndicator": {
|
||||
"You are sharing your screen on {appName}": "あなたは{appName}上であなたの画面を共有しています",
|
||||
"Stop Sharing": "共有を停止",
|
||||
"Stop sharing": "画面共有を停止",
|
||||
"Hide": "非表示にする"
|
||||
},
|
||||
"ScreenSnippet": {
|
||||
@ -123,6 +135,10 @@
|
||||
"Pen": "ペン",
|
||||
"Snipping Tool": "切り取りツール"
|
||||
},
|
||||
"AboutSymphony": {
|
||||
"About Symphony": "Symphonyについて",
|
||||
"Version": "バージョン"
|
||||
},
|
||||
"Select All": "すべてを選択",
|
||||
"Services": "サービス",
|
||||
"Show All": "すべてを表示",
|
||||
|
@ -13,6 +13,10 @@
|
||||
"Please provide your login credentials for:": "あなたのログイン認証情報を入力してください。",
|
||||
"User name:": "ユーザー名:"
|
||||
},
|
||||
"MoreInfo": {
|
||||
"More Information": "詳しくは",
|
||||
"Version Information": "バージョン情報"
|
||||
},
|
||||
"Bring All to Front": "すべて前面に表示",
|
||||
"Bring to Front on Notifications": "通知時に前面に表示",
|
||||
"Certificate Error": "証明書のエラー",
|
||||
@ -34,9 +38,9 @@
|
||||
"Search with Google": "Googleで検索"
|
||||
},
|
||||
"DownloadManager": {
|
||||
"Show in Folder": "フォルダで見て",
|
||||
"Reveal in Finder": "Finderで明らかにする",
|
||||
"Open": "開いた",
|
||||
"Show in Folder": "フォルダーを開く",
|
||||
"Reveal in Finder": "Finderで確認する",
|
||||
"Open": "開く",
|
||||
"Downloaded": "ダウンロード済み",
|
||||
"File not Found": "ファイルが見つかりません",
|
||||
"The file you are trying to open cannot be found in the specified path.": "開こうとしているファイルが指定されたパスに見つかりません."
|
||||
@ -46,6 +50,8 @@
|
||||
"Cut": "切り取り",
|
||||
"Delete": "削除",
|
||||
"Disable Hamburger menu": "ハンバーガーメニューを無効にする",
|
||||
"Dev Tools disabled": "開発ツールが無効",
|
||||
"Dev Tools has been disabled! Please contact your system administrator to enable it!": "開発ツールが無効になっています。システム管理者に連絡して、有効にしてください。",
|
||||
"Edit": "編集",
|
||||
"Enable Hamburger menu": "ハンバーガーメニューを有効にする",
|
||||
"Error loading configuration": "構成の読み込みエラー",
|
||||
@ -66,6 +72,12 @@
|
||||
"Minimize on Close": "閉じるで最小化",
|
||||
"Native": "Native",
|
||||
"Network connectivity has been lost. Check your internet connection.": "ネットワーク接続が失われました。インターネット接続を確認してください。",
|
||||
"NetworkError": {
|
||||
"Problem connecting to Symphony": "Symphonyへの接続に関する問題",
|
||||
"Looks like you are not connected to the Internet. We'll try to reconnect automatically.": "インターネットに接続していないようです。 自動的に再接続します。",
|
||||
"Cancel Retry": "再試行をキャンセル",
|
||||
"Quit Symphony": "Symphonyを終了"
|
||||
},
|
||||
"No crashes available to share": "共有できるクラッシュはありません",
|
||||
"No logs are available to share": "共有できるログはありません",
|
||||
"Not Allowed": "許可されていませ。",
|
||||
@ -107,11 +119,13 @@
|
||||
"Screens": "画面",
|
||||
"Select Application": "アプリケーションを選択",
|
||||
"Select Screen": "画面を選択",
|
||||
"Share": "共有"
|
||||
"Share": "共有",
|
||||
"Entire screen": "画面全体",
|
||||
"Screen {number}": "画面 {number}"
|
||||
},
|
||||
"ScreenSharingIndicator": {
|
||||
"You are sharing your screen on {appName}": "あなたは{appName}上であなたの画面を共有しています",
|
||||
"Stop Sharing": "共有を停止",
|
||||
"Stop sharing": "画面共有を停止",
|
||||
"Hide": "非表示にする"
|
||||
},
|
||||
"ScreenSnippet": {
|
||||
@ -121,6 +135,10 @@
|
||||
"Pen": "ペン",
|
||||
"Snipping Tool": "切り取りツール"
|
||||
},
|
||||
"AboutSymphony": {
|
||||
"About Symphony": "Symphonyについて",
|
||||
"Version": "バージョン"
|
||||
},
|
||||
"Select All": "すべてを選択",
|
||||
"Services": "サービス",
|
||||
"Show All": "すべてを表示",
|
||||
|
@ -1,5 +1,5 @@
|
||||
import classNames from 'classnames';
|
||||
import { DesktopCapturerSource, ipcRenderer } from 'electron';
|
||||
import { ipcRenderer } from 'electron';
|
||||
import * as React from 'react';
|
||||
|
||||
import { apiCmds, apiName } from '../../common/api-interface';
|
||||
@ -10,11 +10,15 @@ const screenRegExp = new RegExp(/^Screen \d+$/gmi);
|
||||
const SCREEN_PICKER_NAMESPACE = 'ScreenPicker';
|
||||
|
||||
interface IState {
|
||||
sources: Electron.DesktopCapturerSource[];
|
||||
selectedSource: DesktopCapturerSource | undefined;
|
||||
sources: ICustomDesktopCapturerSource[];
|
||||
selectedSource: ICustomDesktopCapturerSource | undefined;
|
||||
selectedTab: tabs;
|
||||
}
|
||||
|
||||
interface ICustomDesktopCapturerSource extends Electron.DesktopCapturerSource {
|
||||
fileName: string | null;
|
||||
}
|
||||
|
||||
type tabs = 'screens' | 'applications';
|
||||
|
||||
const enum keyCode {
|
||||
@ -37,7 +41,7 @@ export default class ScreenPicker extends React.Component<{}, IState> {
|
||||
private isScreensAvailable: boolean;
|
||||
private isApplicationsAvailable: boolean;
|
||||
private readonly eventHandlers = {
|
||||
onSelect: (src: Electron.DesktopCapturerSource) => this.select(src),
|
||||
onSelect: (src: ICustomDesktopCapturerSource) => this.select(src),
|
||||
onToggle: (tab: tabs) => (_event: inputChangeEvent) => this.toggle(tab),
|
||||
onClose: () => this.close(),
|
||||
onSubmit: () => this.submit(),
|
||||
@ -118,16 +122,24 @@ export default class ScreenPicker extends React.Component<{}, IState> {
|
||||
*
|
||||
* @param sources {DesktopCapturerSource}
|
||||
*/
|
||||
private renderSources(sources: Electron.DesktopCapturerSource[]): JSX.Element {
|
||||
private renderSources(sources: ICustomDesktopCapturerSource[]): JSX.Element {
|
||||
const screens: JSX.Element[] = [];
|
||||
const applications: JSX.Element[] = [];
|
||||
sources.map((source: Electron.DesktopCapturerSource) => {
|
||||
sources.map((source: ICustomDesktopCapturerSource) => {
|
||||
screenRegExp.lastIndex = 0;
|
||||
const shouldHighlight: string = classNames(
|
||||
'ScreenPicker-item-container',
|
||||
{ 'ScreenPicker-selected': this.shouldHighlight(source.id) },
|
||||
);
|
||||
if (source.name === 'Entire screen' || screenRegExp.exec(source.name)) {
|
||||
if (source.display_id !== '') {
|
||||
source.fileName = 'fullscreen';
|
||||
let sourceName;
|
||||
if (source.name === 'Entire screen') {
|
||||
sourceName = i18n.t('Entire screen', SCREEN_PICKER_NAMESPACE)();
|
||||
} else {
|
||||
const screenNumber = source.name.substr(7, source.name.length);
|
||||
sourceName = i18n.t('Screen {number}', SCREEN_PICKER_NAMESPACE)({ number: screenNumber });
|
||||
}
|
||||
screens.push(
|
||||
<div
|
||||
className={shouldHighlight}
|
||||
@ -136,10 +148,11 @@ export default class ScreenPicker extends React.Component<{}, IState> {
|
||||
<div className='ScreenPicker-screen-section-box'>
|
||||
<img className='ScreenPicker-img-wrapper' src={source.thumbnail as any} alt='thumbnail image'/>
|
||||
</div>
|
||||
<div className='ScreenPicker-screen-source-title'>{source.name}</div>
|
||||
<div className='ScreenPicker-screen-source-title'>{sourceName}</div>
|
||||
</div>,
|
||||
);
|
||||
} else {
|
||||
source.fileName = null;
|
||||
applications.push(
|
||||
<div
|
||||
className={shouldHighlight}
|
||||
@ -261,7 +274,7 @@ export default class ScreenPicker extends React.Component<{}, IState> {
|
||||
*
|
||||
* @param selectedSource {DesktopCapturerSource}
|
||||
*/
|
||||
private select(selectedSource: DesktopCapturerSource): void {
|
||||
private select(selectedSource: ICustomDesktopCapturerSource): void {
|
||||
this.setState({ selectedSource });
|
||||
}
|
||||
|
||||
|
27
src/renderer/screen-snippet-bc-handler.ts
Normal file
27
src/renderer/screen-snippet-bc-handler.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import { ipcRenderer } from 'electron';
|
||||
import { apiCmds, apiName, IScreenSnippet } from '../common/api-interface';
|
||||
|
||||
/**
|
||||
* @deprecated user openScreenSnippet instead
|
||||
*/
|
||||
export class ScreenSnippetBcHandler {
|
||||
/**
|
||||
* capture method to support backward compatibility
|
||||
*
|
||||
* @deprecated user openScreenSnippet instead
|
||||
*/
|
||||
public capture(): Promise<IScreenSnippet> {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send(apiName.symphonyApi, {
|
||||
cmd: apiCmds.openScreenSnippet,
|
||||
});
|
||||
ipcRenderer.on('screen-snippet-data', (_event: Event, arg: IScreenSnippet) => {
|
||||
if (arg.type === 'ERROR') {
|
||||
reject(arg);
|
||||
return;
|
||||
}
|
||||
resolve(arg);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
@ -18,6 +18,7 @@ import {
|
||||
import { i18n, LocaleType } from '../common/i18n-preload';
|
||||
import { throttle } from '../common/utils';
|
||||
import { getSource } from './desktop-capturer';
|
||||
import { ScreenSnippetBcHandler } from './screen-snippet-bc-handler';
|
||||
|
||||
let isAltKey: boolean = false;
|
||||
let isMenuOpen: boolean = false;
|
||||
@ -254,6 +255,14 @@ export class SSFApi {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Expose old screen snippet api to support backward compatibility
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
// tslint:disable-next-line
|
||||
public ScreenSnippet = ScreenSnippetBcHandler;
|
||||
|
||||
/**
|
||||
* Allow user to capture portion of screen
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user