diff --git a/html5/verto/verto_communicator/Gruntfile.js b/html5/verto/verto_communicator/Gruntfile.js index 4d2174ac9d..1962e3263c 100644 --- a/html5/verto/verto_communicator/Gruntfile.js +++ b/html5/verto/verto_communicator/Gruntfile.js @@ -120,6 +120,7 @@ module.exports = function (grunt) { '<%= config.app %>/**/*.html', '.tmp/styles/{,*/}*.css', '<%= config.app %>/images/{,*/}*', + '<%= config.app %>/locales/{,*/}*', '.tmp/**/*.js', '<%= config.app %>/**/*.js' ], @@ -150,6 +151,7 @@ module.exports = function (grunt) { ], routes: { '/partials': 'src/partials', + '/locales': 'src/locales', '/config.json': 'src/config.json', '/contributors.txt': 'src/contributors.txt', '/bower_components': './bower_components', @@ -309,7 +311,8 @@ module.exports = function (grunt) { 'img/*.png', 'images/{,*/}*.{webp}', 'css/fonts/{,*/}*.*', - 'sounds/*.*' + 'sounds/*.*', + 'locales/*.*' ] }, { expand: true, diff --git a/html5/verto/verto_communicator/bower.json b/html5/verto/verto_communicator/bower.json index 73ade295f8..975807de00 100644 --- a/html5/verto/verto_communicator/bower.json +++ b/html5/verto/verto_communicator/bower.json @@ -43,7 +43,9 @@ "jquery-json": "~2.5.1", "datatables": "~1.10.8", "angular-bootstrap": "~0.14.3", - "bootstrap-material-design": "~0.3.0" + "bootstrap-material-design": "~0.3.0", + "angular-translate": "~2.10.0", + "angular-translate-loader-static-files": "~2.10.0" }, "resolutions": { "angular": "~1.3.15", diff --git a/html5/verto/verto_communicator/src/css/verto.css b/html5/verto/verto_communicator/src/css/verto.css index d2d3b7add3..418ed83b54 100644 --- a/html5/verto/verto_communicator/src/css/verto.css +++ b/html5/verto/verto_communicator/src/css/verto.css @@ -1728,6 +1728,10 @@ body:-webkit-full-screen #incall .video-footer { color: white; } +#settings .checkbox .checkbox-material .check { + margin-right: 10px; +} + #settings .btn { color: rgba(0, 10, 66, 0.84); background-color: #E8E8E8; diff --git a/html5/verto/verto_communicator/src/index.html b/html5/verto/verto_communicator/src/index.html index e10df64552..736ab14974 100644 --- a/html5/verto/verto_communicator/src/index.html +++ b/html5/verto/verto_communicator/src/index.html @@ -97,6 +97,8 @@ + + diff --git a/html5/verto/verto_communicator/src/locales/locale-en.json b/html5/verto/verto_communicator/src/locales/locale-en.json new file mode 100644 index 0000000000..c5d32b1846 --- /dev/null +++ b/html5/verto/verto_communicator/src/locales/locale-en.json @@ -0,0 +1,143 @@ +{ + "TITLE_ACTIVE_CALL": "Oops, Active Call in Course.", + "MESSAGE_ACTIVE_CALL_HANGUP": "It seems that you are in a call. Do you want to hang up?", + "MESSAGE_ACTIVE_CALL_BACK": "It seems you were in a call before leaving the last time. Wanna go back to that?", + "TITLE_INCOMING_CALL": "Incoming Call", + "MESSAGE_INCOMING_CALL": "from ", + "MESSAGE_NO_HANGUP_CALL": "There is no call to hangup.", + "MESSAGE_ENTER_FILENAME": "Please, enter filename", + "TITLE_ENABLE_VIDEO": "Would you like to activate video for this call?", + "MESSAGE_ENABLE_VIDEO": "Video will be active during the next calls.", + "TITLE_INSERT_BANNER": "Please insert the banner text", + "TITLE_INSERT_CANVAS_ID": "Please insert the Canvas Id", + "TITLE_INSERT_LAYER": "Please insert the Layer", + "TITLE_TRANSFER": "Transfer party?", + "MESSAGE_TRANSFER": "To what destination would you like to transfer this call?", + "LABEL_TRANSFER": "Destination", + "MESSAGE_DISPLAY_SETTINGS": "Can't display preview settings during a call", + "BUTTON_END_CALL": "End Call", + "BUTTON_CLOSE": "Close", + "MESSAGE_PLAY": "Play", + "MESSAGE_STOP": "Stop", + "MESSAGE_RECORD": "Record", + "MESSAGE_STOP_RECORD": "Stop Record", + "MESSAGE_SNAPSHOT": "Snapshot", + "MESSAGE_VIDEO_MODE": "Video Mode", + "MESSAGE_MUTE_MIC": "(un)Mute Mic", + "MESSAGE_MUTE_VIDEO": "(un)Mute Video", + "MESSAGE_FULLSCREEN": "Toggle Fullscreen Mode", + "MESSAGE_SCREENSHARE": "Screenshare", + "MESSAGE_OPEN_CLOSE_CHAT": "Open/Close Chat", + "MESSAGE_SPEAKER": "Speaker", + "MESSAGE_POPUP": "Popup", + "CHAT_TITLE_MEMBERS": "Members", + "CHAT_TITLE": "Chat", + "CHAT_NO_MEMBERS": "There are no members to show.", + "CHAT_GENERAL": "General", + "CHAT_TITLE_KICK": "Kick", + "CHAT_KICK": "Kick", + "CHAT_TITLE_VIDEO_FLOOR": "Video Floor", + "CHAT_FLOOR": "Floor", + "CHAT_TITLE_TRANSFER": "Transfer", + "CHAT_TRANSFER": "Transfer", + "CHAT_BANNER": "Banner", + "CHAT_TITLE_SET": "Set", + "CHAT_SET": "Set", + "CHAT_TITLE_RESET": "Reset", + "CHAT_RESET": "Reset", + "CHAT_CANVAS": "Canvas", + "CHAT_CANVAS_IN": "Canvas In", + "CHAT_CANVAS_OUT": "Canvas Out", + "CHAT_PREV": "Prev", + "CHAT_NEXT": "Next", + "CHAT_LAYER": "Layer", + "CHAT_AUDIO_VIDEO": "Audio/Video", + "CHAT_TITLE_MUTE_UNMUTE_MIC": "Mute/Unmute Mic", + "CHAT_MUTE_MIC": "Mute", + "CHAT_UNMUTE_MIC": "Unmute", + "CHAT_TITLE_MUTE_UNMUTE_MIC": "Mute/Unmute Video", + "CHAT_NO_MESSAGES": "There are no messages to show.", + "CHAT_SEND_MESSAGE": "Send", + "CHAT_TYPE_MESSAGE": "Type your message here...", + "TITLE_CONTRIBUTORS": "Contributors", + "MESSAGE_CONNECTION_UNTRUSTED": "This Connection is Untrusted.", + "MESSAGE_TOGGLE_NAVIGATION": "Toggle navigation", + "BANDWIDTH_INFO": "Bandwidth Info", + "BANDWIDTH_INFO_INCOMING": "Incoming:", + "BANDWIDTH_INFO_OUTGOING": "Outgoing:", + "BANDWIDTH_INFO_VIDEO_RES": "Video Resolution:", + "IN_CALL": "In Call:", + "LAST_CALL": "Last Call:", + "OPEN_NEW_WINDOW": "Open New Window", + "CHANGE_LOGIN_INFO": "Change Login Information", + "LOGOUT": "Logout", + "ABOUT": "About", + "HELP": "Help", + "CONTRIBUTORS": "Contributors", + "TITLE_PREVIEW_SETTINGS": "Setup your camera and microphone settings", + "CAMERA__SETTNGS": "Camera:", + "MIC_SETTINGS": "Microphone:", + "SAVE": "Save", + "LOADING": "Loading", + "ERRORS" : "Errors", + "CALLING_TO": "Calling to ", + "CANCELLING": "Cancelling...", + "DETERMINING_SPEED": "Determining your speed...", + "CALL_HISTORY": "Call History", + "CLEAR_CALL_HISTORY": "Clear History", + "NO_CALL_HISTORY": "No history calls.", + "ENTER_EXTENSION": "Enter an extension", + "CALL_EXTENSION": "Call Extension", + "LOGIN": "Login", + "LOGIN_INFORMATION": "Login Information", + "SAVE_LOGIN_INFORMATION": "Save Login Information", + "INVALID_LOGIN_FIELDS": "Verify the fields below and try again.", + "NAME": "Name", + "YOUR_NAME": "Your name", + "EMAIL": "Email", + "YOUR_EMAIL": "Your email", + "USER": "User", + "PASSWORD": "Password", + "CALLER_ID": "Caller ID", + "HOSTNAME": "Hostname", + "WEBSOCKET_URL": "Websocket URL", + "SETTINGS": "Settings", + "DEVICE_SETTINGS": "Device Settings", + "SHARE_DEVICE": "Share device", + "SPEAKER": "Speaker:", + "SPEAKER_FEATURE": "Your browser doesn't seem to support this feature", + "PREVIEW_SETTINGS": "Preview Settings", + "REFRESH_DEVICE_LIST": "Refresh device list", + "GENERAL_SETTINGS": "General settings:", + "USE_VIDEO": "Use Video", + "USE_STEREO_AUDIO": "Stereo Audio", + "USE_STUN": "Use STUN", + "SCALE_VIDEO": "Scale Remote Video To Match Camera Resolution", + "ASK_BEFORE_RECOVER": "Ask before recovering call", + "BEST_FRAME_RATE": "Best frame rate:", + "AUDIO_SETTINGS": "Audio settings:", + "ECHO_CANCEL": "Echo Cancellation", + "NOISE_SUPPRESSION": "Noise Suppression", + "HIGHPASS_FILTER": "Highpass Filter", + "VIDEO_SETTINGS": "Video settings:", + "REMOTE_ENCODER": "Dedicated Remote Encoder enabled.", + "AUTO_SPEED_RES": "Automatically determine speed and resolution settings", + "RECHECK_BANDWIDTH": "Recheck bandwidth before each outgoing call", + "CHECK_NETWORK_SPEED": "Check Network Speed", + "VIDEO_QUALITY": "Video quality:", + "MAX_INCOMING_BANDWIDTH": "Max incoming bandwidth:", + "MAX_OUTGOING_BANDWIDTH": "Max outgoing bandwidth:", + "FACTORY_RESET": "Factory reset", + "SAVE_DEVICE_SETTINGS": "Save Device Settings", + "BROWSER_COMPATIBILITY": "Checking browser compatibility.", + "REFRESH_MEDIA_DEVICES": "Refresh Media Devices.", + "BROWSER_WITHOUT_WEBRTC": "Error: browser doesn't support WebRTC.", + "CHECK_PERMISSION_MEDIA": "Checking media permissions", + "CHECK_PROVISIONING_CONF": "Provisioning configuration.", + "CHECK_LOGIN": "Checking login.", + "CHECK_CONNECTION_SPEED": "Check Connection Speed.", + "ERROR_PERMISSION_MEDIA": "Error: Media Permission Denied", + "ERROR_PROVISIONING_CONF": "Error: Provision failed.", + "PLEASE_WAIT": "Please wait..." +} + diff --git a/html5/verto/verto_communicator/src/locales/locale-it.json b/html5/verto/verto_communicator/src/locales/locale-it.json new file mode 100644 index 0000000000..be50edc854 --- /dev/null +++ b/html5/verto/verto_communicator/src/locales/locale-it.json @@ -0,0 +1,144 @@ +{ + "TITLE_ACTIVE_CALL": "Oops, Chiamata in corso.", + "MESSAGE_ACTIVE_CALL_HANGUP": "Sembra che tu sia in conversazione. Vuoi chiudere la chiamata?", + "MESSAGE_ACTIVE_CALL_BACK": "Sembra che eri in conversazione prima di abbandonare la sessione l'ultima volta. Vuoi tornare in quella conversazione?", + "TITLE_INCOMING_CALL": "Chiamata in arrivo", + "MESSAGE_INCOMING_CALL": "da ", + "MESSAGE_NO_HANGUP_CALL": "Non ci sono chiamate da chiudere.", + "MESSAGE_ENTER_FILENAME": "Per favore, inserisci il nome del file", + "TITLE_ENABLE_VIDEO": "Vuoi attivare il video per questa chiamata?", + "MESSAGE_ENABLE_VIDEO": "Il video verrà attivato a partire dalla prossima chiamata.", + "TITLE_INSERT_BANNER": "Per favore inserisci il testo del banner", + "TITLE_INSERT_CANVAS_ID": "Please insert the Canvas Id", + "TITLE_INSERT_LAYER": "Please insert the Layer", + "TITLE_TRANSFER": "Transfer party?", + "MESSAGE_TRANSFER": "To what destination would you like to transfer this call?", + "LABEL_TRANSFER": "Destinazione", + "MESSAGE_DISPLAY_SETTINGS": "Non è possibile mostrare le configurazioni video durante una chiamata", + "BUTTON_END_CALL": "Termina la chiamata", + "BUTTON_CLOSE": "Chiudi", + "MESSAGE_PLAY": "Riproduci", + "MESSAGE_STOP": "Ferma", + "MESSAGE_RECORD": "Registra", + "MESSAGE_STOP_RECORD": "Ferma la registrazione", + "MESSAGE_SNAPSHOT": "Snapshot", + "MESSAGE_VIDEO_MODE": "Video Mode", + "MESSAGE_MUTE_MIC": "(un)Mute Mic", + "MESSAGE_MUTE_VIDEO": "(un)Mute Video", + "MESSAGE_FULLSCREEN": "Abilita/Disabilita schermo intero", + "MESSAGE_SCREENSHARE": "Condividi lo schermo", + "MESSAGE_OPEN_CLOSE_CHAT": "Apri/Chiudi Chat", + "MESSAGE_SPEAKER": "Speaker", + "MESSAGE_POPUP": "Popup", + "CHAT_TITLE_MEMBERS": "Membri", + "CHAT_TITLE": "Chat", + "CHAT_NO_MEMBERS": "Non ci sono membri da mostrare.", + "CHAT_GENERAL": "Generale", + "CHAT_TITLE_KICK": "Kick", + "CHAT_KICK": "Kick", + "CHAT_TITLE_VIDEO_FLOOR": "Video Floor", + "CHAT_FLOOR": "Floor", + "CHAT_TITLE_TRASFER": "Transfer", + "CHAT_TRANSFER": "Transfer", + "CHAT_BANNER": "Banner", + "CHAT_TITLE_SET": "Set", + "CHAT_SET": "Set", + "CHAT_TITLE_RESET": "Reset", + "CHAT_RESET": "Reset", + "CHAT_RESET": "Reset", + "CHAT_CANVAS": "Canvas", + "CHAT_CANVAS_IN": "Canvas In", + "CHAT_CANVAS_OUT": "Canvas Out", + "CHAT_PREV": "Prev", + "CHAT_NEXT": "Next", + "CHAT_LAYER": "Layer", + "CHAT_AUDIO_VIDEO": "Audio/Video", + "CHAT_TITLE_MUTE_UNMUTE_MIC": "Mute/Unmute Mic", + "CHAT_MUTE_MIC": "Mute", + "CHAT_UNMUTE_MIC": "Unmute", + "CHAT_TITLE_MUTE_UNMUTE_MIC": "Mute/Unmute Video", + "CHAT_NO_MESSAGES": "Non ci sono messaggi da mostrare.", + "CHAT_SEND_MESSAGE": "Invia", + "CHAT_TYPE_MESSAGE": "Scrivi il tuo messaggio qui...", + "TITLE_CONTRIBUTORS": "Contributori", + "MESSAGE_CONNECTION_UNTRUSTED": "Questa connessione non è sicura.", + "MESSAGE_TOGGLE_NAVIGATION": "Abilita/Disabilita navigazione", + "BANDWIDTH_INFO": "Informazioni sulla larghezza di banda", + "BANDWIDTH_INFO_INCOMING": "Ingresso:", + "BANDWIDTH_INFO_OUTGOING": "Uscita:", + "BANDWIDTH_INFO_VIDEO_RES": "Risoluzione Video:", + "IN_CALL": "In chiamata: ", + "LAST_CALL": "Ultima chiamata: ", + "OPEN_NEW_WINDOW": "Apri Una Nuova Finestra", + "CHANGE_LOGIN_INFO": "Cambia le informazioni di login", + "LOGOUT": "Logout", + "ABOUT": "About", + "HELP": "Aiuto", + "CONTRIBUTORS": "Contributori", + "TITLE_PREVIEW_SETTINGS": "Configura le impostazioni della tua video camera e del tuo microfono", + "CAMERA_SETTINGS": "Video Camera:", + "MIC_SETTINGS": "Microfono:", + "SAVE": "Salva", + "LOADING": "Caricamento", + "ERRORS" : "Errori", + "CALLING_TO": "Chiamata verso ", + "CANCELLING": "In annullamento", + "DETERMINING_SPEED": "Calcolo della tua velocità...", + "CALL_HISTORY": "Cronologia Chiamate", + "CLEAR_CALL_HISTORY": "Rimuovi la cronologia", + "NO_CALL_HISTORY": "Nessuna chiamata nella cronologia.", + "ENTER_EXTENSION": "Inserisci un numero", + "CALL_EXTENSION": "Chiama il numero", + "LOGIN": "Login", + "LOGIN_INFORMATION": "Informazioni di login", + "SAVE_LOGIN_INFORMATION": "Salva le informazioni di login", + "INVALID_LOGIN_FIELDS": "Verifica i campi e prova di nuovo.", + "NAME": "Nome", + "YOUR_NAME": "Il tuo nome", + "EMAIL": "Email", + "YOUR_EMAIL": "Il tuo indirizzo email", + "USER": "Utente", + "PASSWORD": "Password", + "CALLER_ID": "Caller ID", + "HOSTNAME": "Hostname", + "WEBSOCKET_URL": "Websocket URL", + "SETTINGS": "Impostazioni", + "DEVICE_SETTINGS": "Configurazione dei dispositivi", + "SHARE_DEVICE": "Dispositivo in condivisione", + "SPEAKER": "Altoparlante:", + "SPEAKER_FEATURE": "Il tuo browser sembra non supportare questa funzionalità", + "PREVIEW_SETTINGS": "Anteprima delle configurazioni", + "REFRESH_DEVICE_LIST": "Aggiorna la lista dei dispositivi", + "GENERAL_SETTINGS": "Configurazioni generali:", + "USE_VIDEO": "Abilita Video", + "USE_STEREO_AUDIO": "Abilita Audio Stereo", + "USE_STUN": "Abilita STUN", + "SCALE_VIDEO": "Scala il video remoto con la risoluzione della video camera", + "ASK_BEFORE_RECOVER": "Chiedi prima di recuperare una chiamata", + "BEST_FRAME_RATE": "Miglior frame rate:", + "AUDIO_SETTINGS": "Impostazioni audio:", + "ECHO_CANCEL": "Cancellatore d'eco", + "NOISE_SUPPRESSION": "Soppressione del rumore", + "HIGHPASS_FILTER": "Highpass Filter", + "VIDEO_SETTINGS": "Impostazioni video:", + "REMOTE_ENCODER": "Abilita codificatore remoto dedicato.", + "AUTO_SPEED_RES": "Rileva in modo automatico la velocità e le impostazioni", + "RECHECK_BANDWIDTH": "Controlla la larghezza di banda per ogni chiamata in uscita", + "CHECK_NETWORK_SPEED": "Controllo della velocità di rete", + "VIDEO_QUALITY": "Qualità video:", + "MAX_INCOMING_BANDWIDTH": "Massima larghezza di banda in ingresso:", + "MAX_OUTGOING_BANDWIDTH": "Massima larghezza di banda in uscita:", + "FACTORY_RESET": "Reset ai valori di default", + "SAVE_DEVICE_SETTINGS": "Salva le impostazioni dei dispositivi", + "BROWSER_COMPATIBILITY": "Verifica compatibilità browser.", + "REFRESH_MEDIA_DEVICES": "Aggiornamento dei dispositivi.", + "BROWSER_WITHOUT_WEBRTC": "Errore: il browser non supporta WebRTC.", + "CHECK_PERMISSION_MEDIA": "Verifica permessi dispositivi", + "CHECK_PROVISIONING_CONF": "Recupero della configurazione.", + "CHECK_LOGIN": "Verifica del login.", + "CHECK_CONNECTION_SPEED": "Verifica velocità connessione.", + "ERROR_PERMISSION_MEDIA": "Errore: permesso sui dispositivi negato", + "ERROR_PROVISIONING_CONF": "Errore: Recupero configurazione fallito.", + "PLEASE_WAIT": "Attendere prego..." +} + diff --git a/html5/verto/verto_communicator/src/partials/chat.html b/html5/verto/verto_communicator/src/partials/chat.html index 04ef1963ee..898636d4e7 100644 --- a/html5/verto/verto_communicator/src/partials/chat.html +++ b/html5/verto/verto_communicator/src/partials/chat.html @@ -2,19 +2,19 @@
-

There are no members to show.

+

{{ 'CHAT_NO_MEMBERS' | translate }}

@@ -56,33 +56,33 @@
@@ -90,61 +90,61 @@
-

Audio/Video

+

{{ 'CHAT_AUDIO_VIDEO' | translate }}

@@ -176,7 +176,7 @@
-

There are no messages to show.

+

{{ 'CHAT_NO_MESSAGES' | translate }}

@@ -188,9 +188,9 @@
- +
diff --git a/html5/verto/verto_communicator/src/partials/contributors.html b/html5/verto/verto_communicator/src/partials/contributors.html index 45e129b20a..86d8c80e7e 100644 --- a/html5/verto/verto_communicator/src/partials/contributors.html +++ b/html5/verto/verto_communicator/src/partials/contributors.html @@ -1,5 +1,5 @@
-
diff --git a/html5/verto/verto_communicator/src/partials/login.html b/html5/verto/verto_communicator/src/partials/login.html index 1d20188885..d8284c2163 100644 --- a/html5/verto/verto_communicator/src/partials/login.html +++ b/html5/verto/verto_communicator/src/partials/login.html @@ -2,59 +2,59 @@
-

Login

+

{{ 'LOGIN' | translate}}

-

Verify the fields bellow and try again.

+

{{ 'INVALID_LOGIN_FIELDS' | translate }}

- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- +
- -
+ +
diff --git a/html5/verto/verto_communicator/src/partials/menu.html b/html5/verto/verto_communicator/src/partials/menu.html index e4d190fb12..725fb6e628 100644 --- a/html5/verto/verto_communicator/src/partials/menu.html +++ b/html5/verto/verto_communicator/src/partials/menu.html @@ -2,13 +2,13 @@
diff --git a/html5/verto/verto_communicator/src/partials/preview.html b/html5/verto/verto_communicator/src/partials/preview.html index 76e3b68744..9c58c30d0b 100644 --- a/html5/verto/verto_communicator/src/partials/preview.html +++ b/html5/verto/verto_communicator/src/partials/preview.html @@ -2,7 +2,7 @@
-

Setup your camera and microphone settings

+

{{ 'TITLE_PREVIEW_SETTINGS' | translate }}

@@ -20,13 +20,13 @@
- +
- + @@ -36,8 +36,8 @@
-
diff --git a/html5/verto/verto_communicator/src/partials/settings.html b/html5/verto/verto_communicator/src/partials/settings.html index 4fc7a2010c..9848fa4e58 100644 --- a/html5/verto/verto_communicator/src/partials/settings.html +++ b/html5/verto/verto_communicator/src/partials/settings.html @@ -3,21 +3,21 @@
- +
- +
- + @@ -25,9 +25,9 @@
- Preview Settings - Refresh device list + {{ 'PREVIEW_SETTINGS' | translate }} + {{ 'REFRESH_DEVICE_LIST' | translate }}
- +
- +
@@ -106,32 +106,32 @@
-
+
-

Dedicated Remote Encoder enabled. +

{{ 'REMOTE_ENCODER' | translate }}

- Check Network Speed + {{ 'CHECK_NETWORK_SPEED' | translate }}
- +
- + diff --git a/html5/verto/verto_communicator/src/partials/splash_screen.html b/html5/verto/verto_communicator/src/partials/splash_screen.html index 993999ec3a..a06a9432ad 100644 --- a/html5/verto/verto_communicator/src/partials/splash_screen.html +++ b/html5/verto/verto_communicator/src/partials/splash_screen.html @@ -2,14 +2,14 @@
-

Loading

+

{{ 'LOADING' | translate }}

-

Errors

+

{{ 'ERRORS' | translate }}

  • {{ ::error }}
diff --git a/html5/verto/verto_communicator/src/partials/video_call.html b/html5/verto/verto_communicator/src/partials/video_call.html index 5b83e19d5e..64bc778aac 100644 --- a/html5/verto/verto_communicator/src/partials/video_call.html +++ b/html5/verto/verto_communicator/src/partials/video_call.html @@ -2,28 +2,28 @@
- - - - -
-
- - - - -
- @@ -69,7 +69,7 @@
- @@ -96,9 +96,9 @@
-
diff --git a/html5/verto/verto_communicator/src/storageService/services/splash_screen.js b/html5/verto/verto_communicator/src/storageService/services/splash_screen.js index 40c2b6951b..ae77d000e7 100644 --- a/html5/verto/verto_communicator/src/storageService/services/splash_screen.js +++ b/html5/verto/verto_communicator/src/storageService/services/splash_screen.js @@ -2,8 +2,8 @@ angular .module('storageService') - .service('splashscreen', ['$rootScope', '$q', 'storage', 'config', 'verto', - function($rootScope, $q, storage, config, verto) { + .service('splashscreen', ['$rootScope', '$q', 'storage', 'config', 'verto', '$translate', + function($rootScope, $q, storage, config, verto, $translate) { var checkBrowser = function() { return $q(function(resolve, reject) { @@ -12,16 +12,15 @@ 'activity': activity, 'soft': false, 'status': 'success', - 'message': 'Checking browser compability.' + 'message': $translate.instant('BROWSER_COMPATIBILITY') }; - navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; if (!navigator.getUserMedia) { result['status'] = 'error'; - result['message'] = 'Error: browser doesn\'t support WebRTC.'; + result['message'] = $translate.instant('BROWSER_WITHOUT_WEBRTC'); reject(result); } @@ -37,13 +36,13 @@ 'activity': activity, 'soft': false, 'status': 'success', - 'message': 'Checking media permissions' + 'message': $translate.instant('CHECK_PERMISSION_MEDIA') }; verto.mediaPerm(function(status) { if(!status) { result['status'] = 'error'; - result['message'] = 'Error: Media Permission Denied'; + result['message'] = $translate.instant('ERROR_PERMISSION_MEDIA'); verto.data.mediaPerm = false; reject(result); } @@ -60,7 +59,7 @@ 'status': 'success', 'soft': true, 'activity': activity, - 'message': 'Refresh Media Devices.' + 'message': $translate.instant('REFRESH_MEDIA_DEVICES') }; verto.refreshDevices(function(status) { @@ -79,7 +78,7 @@ 'status': 'success', 'soft': true, 'activity': activity, - 'message': 'Check Connection Speed.' + 'message': $translate.instant('CHECK_CONNECTION_SPEED') }; if (storage.data.autoBand && verto.data.instance) { @@ -101,7 +100,7 @@ 'status': 'promise', 'soft': true, 'activity': activity, - 'message': 'Provisioning configuration.' + 'message': $translate.instant('CHECK_PROVISIONING_CONF') }; var configResponse = config.configure(); @@ -116,7 +115,7 @@ return result; } else { result['status'] = 'error'; - result['message'] = 'Error: Provision failed.'; + result['message'] = $translate.instant('ERROR_PROVISIONING_CONF'); return result; } }); @@ -134,7 +133,7 @@ 'status': 'success', 'soft': true, 'activity': activity, - 'message': 'Checking login.' + 'message': $translate.instant('CHECK_LOGIN'), }; if(verto.data.connecting || verto.data.connected) { @@ -179,19 +178,19 @@ ]; var progress_message = [ - 'Checking browser compability.', - 'Checking media permissions', - 'Refresh Media Devices.', - 'Provisioning configuration.', - 'Checking login.', - 'Check Connection Speed.' + $translate.instant('BROWSER_COMPATIBILITY'), + $translate.instant('CHECK_PERMISSION_MEDIA'), + $translate.instant('REFRESH_MEDIA_DEVICES'), + $translate.instant('CHECK_PROVISIONING_CONF'), + $translate.instant('CHECK_LOGIN'), + $translate.instant('CHECK_CONNECTION_SPEED'), ]; var getProgressMessage = function(current_progress) { if(progress_message[current_progress] != undefined) { return progress_message[current_progress]; } else { - return 'Please wait...'; + return $translate.instant('PLEASE_WAIT'); } }; diff --git a/html5/verto/verto_communicator/src/vertoApp/vertoApp.module.js b/html5/verto/verto_communicator/src/vertoApp/vertoApp.module.js index 2edbad2d37..77626ef6f2 100644 --- a/html5/verto/verto_communicator/src/vertoApp/vertoApp.module.js +++ b/html5/verto/verto_communicator/src/vertoApp/vertoApp.module.js @@ -17,10 +17,11 @@ 'ui.gravatar', 'ui.bootstrap', 'directive.g+signin', + 'pascalprecht.translate', ]); - vertoApp.config(['$routeProvider', 'gravatarServiceProvider', - function($routeProvider, gravatarServiceProvider) { + vertoApp.config(['$routeProvider', 'gravatarServiceProvider', '$translateProvider', + function($routeProvider, gravatarServiceProvider, $translateProvider) { $routeProvider. when('/', { title: 'Loading', @@ -59,6 +60,21 @@ gravatarServiceProvider.defaults = { default: 'mm' // Mystery man as default for missing avatars }; + + + $translateProvider + .useStaticFilesLoader({ + prefix: 'locales/locale-', + suffix: '.json' + }) + .registerAvailableLanguageKeys(['en', 'it'], { + 'en' : 'en', 'en_GB': 'en', 'en_US': 'en', + 'it' : 'it', 'it_IT' : 'it' + }) + .preferredLanguage('en') + .fallbackLanguage('en') + .determinePreferredLanguage() + .useSanitizeValueStrategy(null); } ]); diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js index c74e25ab2c..115da6ddf3 100644 --- a/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js +++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/ChatController.js @@ -5,9 +5,9 @@ angular .module('vertoControllers') .controller('ChatController', ['$scope', '$rootScope', '$http', - '$location', '$anchorScroll', '$timeout', 'verto', 'prompt', + '$location', '$anchorScroll', '$timeout', 'verto', 'prompt', '$translate', function($scope, $rootScope, $http, $location, $anchorScroll, $timeout, - verto, prompt) { + verto, prompt, $translate) { console.debug('Executing ChatController.'); function scrollToChatBottom() { @@ -246,7 +246,7 @@ console.log('$scope.confBanner'); prompt({ - title: 'Please insert the banner text', + title: $translate.instant('TITLE_INSERT_BANNER'), input: true, label: '', value: '', @@ -263,7 +263,7 @@ return; } - shortPrompt('Please insert the Canvas Id', function(canvasID) { + shortPrompt($translate.instant('TITLE_INSERT_CANVAS_ID'), function(canvasID) { console.log(memberID, canvasID); verto.setCanvasIn(memberID, canvasID); }); @@ -276,7 +276,7 @@ return; } - shortPrompt('Please insert the Canvas Id', function(canvasID) { + shortPrompt($translate.instant('TITLE_INSERT_CANVAS_ID'), function(canvasID) { verto.setCanvasOut(memberID, canvasID); }); }; @@ -287,7 +287,7 @@ return; } - shortPrompt('Please insert the Layer', function(canvasID) { + shortPrompt($translate.instant('TITLE_INSERT_LAYER'), function(canvasID) { verto.setLayer(memberID, canvasID); }); }; @@ -321,10 +321,10 @@ $scope.confTransfer = function(memberID) { console.log('$scope.confTransfer'); prompt({ - title: 'Transfer party?', - message: 'To what destination would you like to transfer this call?', + title: $translate.instant('TITLE_TRANSFER'), + message: $translate.instant('MESSAGE_TRANSFER'), input: true, - label: 'Destination', + label: $translate.instant('LABEL_TRANSFER'), value: '', }).then(function(exten) { if (exten) { diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/InCallController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/InCallController.js index d5e5484fa6..557bb2b7a4 100644 --- a/html5/verto/verto_communicator/src/vertoControllers/controllers/InCallController.js +++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/InCallController.js @@ -4,9 +4,9 @@ angular .module('vertoControllers') .controller('InCallController', ['$rootScope', '$scope', - '$http', '$location', '$modal', '$timeout', 'toastr', 'verto', 'storage', 'prompt', 'Fullscreen', + '$http', '$location', '$modal', '$timeout', 'toastr', 'verto', 'storage', 'prompt', 'Fullscreen', '$translate', function($rootScope, $scope, $http, $location, $modal, $timeout, toastr, - verto, storage, prompt, Fullscreen) { + verto, storage, prompt, Fullscreen, $translate) { console.debug('Executing InCallController.'); $scope.layout = null; @@ -55,8 +55,8 @@ */ $scope.videoCall = function() { prompt({ - title: 'Would you like to activate video for this call?', - message: 'Video will be active during the next calls.' + title: $translate.instant('TITLE_ENABLE_VIDEO'), + message: $translate.instant('MESSAGE_ENABLE_VIDEO') }).then(function() { storage.data.videoCall = true; $scope.callTemplate = 'partials/video_call.html'; diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js index dc21cb1077..b3d1c6e886 100644 --- a/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js +++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/MainController.js @@ -4,7 +4,7 @@ angular .module('vertoControllers') .controller('MainController', - function($scope, $rootScope, $location, $modal, $timeout, $q, verto, storage, CallHistory, toastr, Fullscreen, prompt, eventQueue) { + function($scope, $rootScope, $location, $modal, $timeout, $q, verto, storage, CallHistory, toastr, Fullscreen, prompt, eventQueue, $translate) { console.debug('Executing MainController.'); @@ -123,8 +123,8 @@ if (verto.data.call) { prompt({ - title: 'Oops, Active Call in Course.', - message: 'It seems that you are in a call. Do you want to hang up?' + title: $translate.instant('TITLE_ACTIVE_CALL'), + message: $translate.instant('MESSAGE_ACTIVE_CALL_HANGUP') }).then(function() { disconnect(); }); @@ -326,8 +326,8 @@ return $q(function(resolve, reject) { if (storage.data.askRecoverCall) { prompt({ - title: 'Oops, Active Call in Course.', - message: 'It seems you were in a call before leaving the last time. Wanna go back to that?' + title: $translate.instant('TITLE_ACTIVE_CALL'), + message: $translate.instant('MESSAGE_ACTIVE_CALL_BACK') }).then(function() { console.log('redirect to incall page'); $location.path('/incall'); @@ -423,8 +423,8 @@ storage.data.mutedMic = false; prompt({ - title: 'Incoming Call', - message: 'from ' + data + title: $translate.instant('TITLE_INCOMING_CALL'), + message: $translate.instant('MESSAGE_INCOMING_CALL') + data }).then(function() { var call_start = new Date(storage.data.call_start); $rootScope.start_time = call_start; @@ -450,7 +450,7 @@ */ $scope.hangup = function() { if (!verto.data.call) { - toastr.warning('There is no call to hangup.'); + toastr.warning($translate.instant('MESSAGE_NO_HANGUP_CALL')); $location.path('/dialpad'); return; } @@ -501,7 +501,7 @@ }; $scope.play = function() { - var file = $scope.promptInput('Please, enter filename', '', 'File', + var file = $scope.promptInput($translate.instant('MESSAGE_ENTER_FILENAME'), '', 'File', function(file) { verto.data.conf.play(file); console.log('play file :', file); @@ -514,7 +514,7 @@ }; $scope.record = function() { - var file = $scope.promptInput('Please, enter filename', '', 'File', + var file = $scope.promptInput($translate.instant('MESSAGE_ENTER_FILENAME'), '', 'File', function(file) { verto.data.conf.record(file); console.log('recording file :', file); @@ -526,7 +526,7 @@ }; $scope.snapshot = function() { - var file = $scope.promptInput('Please, enter filename', '', 'File', + var file = $scope.promptInput($translate.instant('MESSAGE_ENTER_FILENAME'), '', 'File', function(file) { verto.data.conf.snapshot(file); console.log('snapshot file :', file); diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/PreviewController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/PreviewController.js index 6a1d649430..7a8945ec02 100644 --- a/html5/verto/verto_communicator/src/vertoControllers/controllers/PreviewController.js +++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/PreviewController.js @@ -4,9 +4,9 @@ angular .module('vertoControllers') .controller('PreviewController', ['$rootScope', '$scope', - '$http', '$location', '$modal', '$timeout', 'toastr', 'verto', 'storage', 'prompt', 'Fullscreen', + '$http', '$location', '$modal', '$timeout', 'toastr', 'verto', 'storage', 'prompt', 'Fullscreen', '$translate', function($rootScope, $scope, $http, $location, $modal, $timeout, toastr, - verto, storage, prompt, Fullscreen) { + verto, storage, prompt, Fullscreen, $translate) { $scope.storage = storage; console.debug('Executing PreviewController.'); @@ -87,8 +87,8 @@ $scope.videoCall = function() { prompt({ - title: 'Would you like to activate video for this call?', - message: 'Video will be active during the next calls.' + title: $translate.instant('TITLE_ENABLE_VIDEO'), + message: $translate.instant('MESSAGE_ENABLE_VIDEO') }).then(function() { storage.data.videoCall = true; $scope.callTemplate = 'partials/video_call.html'; diff --git a/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js b/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js index 784a2e6dd9..d6f4d0453b 100644 --- a/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js +++ b/html5/verto/verto_communicator/src/vertoControllers/controllers/SettingsController.js @@ -4,8 +4,8 @@ angular .module('vertoControllers') .controller('SettingsController', ['$scope', '$http', - '$location', '$rootScope', 'storage', 'verto', - function($scope, $http, $location, $rootScope, storage, verto) { + '$location', '$rootScope', 'storage', 'verto', '$translate', + function($scope, $http, $location, $rootScope, storage, verto, $translate) { console.debug('Executing ModalSettingsController.'); $.material.init(); @@ -47,7 +47,7 @@ return; } else { - toastr.warning('Can\'t display preview settings during a call'); + toastr.warning($translate.instant('MESSAGE_DISPLAY_SETTINGS')); } };