Unofficial WhatsApp Desktop Client for OSX, Linux and Windows. Build with Electron.
This is NOT an official product. This project does not attempt to reverse engineer the WhatsApp API or attempt to
reimplement any part of the WhatsApp client. Any communication between the user and WhatsApp servers is handled by
official WhatsApp Web itself; this is just a native wrapper for WhatsApp Web, like a browser.
App version:
Website: http://oothkoo.com
================================================
FILE: app/html/phoneinfo.html
================================================
================================================
FILE: app/js/injected.js
================================================
(function () {
const {ipcRenderer} = require('electron');
var updatePhoneInfoInterval = null;
function updatePhoneInfo() {
if (window.Store == undefined || window.Store.Conn == undefined) {
return;
}
ipcRenderer.send('phoneinfoupdate', {
'info': window.Store.Stream.info,
'me': "+" + window.Store.Conn.me.split("@")[0],
'battery': window.Store.Conn.battery,
'plugged': window.Store.Conn.plugged,
'platform': window.Store.Conn.platform,
'phoneActive': window.Store.Stream.phoneActive,
'phone': {
'manufacturer': window.Store.Conn.phone.device_manufacturer,
'model': window.Store.Conn.phone.device_model,
'mcc': window.Store.Conn.phone.mcc,
'mnc': window.Store.Conn.phone.mnc,
'os_build_number': window.Store.Conn.phone.os_build_number,
'os_version': window.Store.Conn.phone.os_version,
'wa_version': window.Store.Conn.phone.wa_version
}
});
if (updatePhoneInfoInterval != null) {
clearInterval(updatePhoneInfoInterval);
updatePhoneInfoInterval = null;
setInterval(updatePhoneInfo, 2000)
}
}
console.log("Waiting for DOMContentLoaded");
document.addEventListener('DOMContentLoaded', function () {
console.log("DOMContentLoaded event");
updatePhoneInfoInterval = setInterval(updatePhoneInfo, 500);
// pass in the target node, as well as the observer options
var observer = new MutationObserver(function (mutations) {
console.log("Mutations occurred: ", mutations.length);
var inputSearch = document.querySelector("input.input-search");
if (inputSearch) {
console.log("Adding event listeners");
document.addEventListener("keydown", function (event) {
// cmd+k and cmd+f focuses on search input.
if ((event.keyCode === 75 || event.keyCode == 70) && event.metaKey === true)
inputSearch.focus();
});
console.log("Disconnecting the observer");
observer.disconnect();
}
});
var config = {childList: true, subtree: true};
observer.observe(document.querySelector("body"), config);
}, false);
setInterval(function() {
Array.from(document.querySelectorAll('audio')).map(function(audio) {
audio.playbackRate = (window.audioRate || 1)
});
if (window.audioRate) {
Array.from(document.querySelectorAll('.meta-audio *:first-child')).map(function(span) {
span.innerHTML = window.audioRate.toFixed(1) + "x ";
});
}
}, 200);
var NativeNotification = Notification;
Notification = function(title, options) {
if (remote.getGlobal("config").currentSettings.quietMode) {
return;
}
var notification = new NativeNotification(title, options);
notification.addEventListener('click', function() {
ipcRenderer.send('notificationClick');
});
return notification;
}
Notification.prototype = NativeNotification.prototype;
Notification.permission = NativeNotification.permission;
Notification.requestPermission = NativeNotification.requestPermission.bind(Notification);
})();
================================================
FILE: app/js/views/about.js
================================================
var whatsApp = require('@electron/remote').getGlobal("whatsApp");
var pjson = require('@electron/remote').getGlobal('pjson');
$(document).ready(() => {
$("#appversion").html(pjson["version"]);
if (whatsApp.newVersion == null) {
$("#appupdates").html("Unable to verify latest version from GitHub - please close and reopen this window");
} else if (whatsApp.newVersion != "v"+pjson.version) {
$("#appupdates").html("A new version is available: " + whatsApp.newVersion + "!");
} else if (whatsApp.newVersion == "v"+pjson.version) {
$("#appupdates").html("You're using latest version");
}
});
================================================
FILE: app/js/views/phoneinfo.js
================================================
var whatsApp = require('@electron/remote').getGlobal("whatsApp");
var phoneinfo = require('@electron/remote').getGlobal('phoneinfo');
var PhoneInfoView = {
bindEvents() {
$this = this;
$("#close-button").on("click", () => {
phoneinfo.window.close();
});
},
init() {
console.log(phoneinfo);
if (phoneinfo.infos != null) {
$("#me").html(phoneinfo.infos.me);
$("#battery").html(phoneinfo.infos.battery + "% (" + (phoneinfo.infos.plugged ? "charging" : "discharging") + ")");
$("#platform").html(phoneinfo.infos.platform);
$("#manufacturer").html(phoneinfo.infos.phone.manufacturer);
$("#model").html(phoneinfo.infos.phone.model);
$("#os_version").html(phoneinfo.infos.phone.os_version);
$("#wa_version").html(phoneinfo.infos.phone.wa_version);
$("#os_build_number").html(phoneinfo.infos.phone.os_build_number);
} else {
$("#me").html("Not available, try to refresh this page");
}
this.bindEvents();
}
};
$(document).ready(() => {
PhoneInfoView.init();
});
================================================
FILE: app/js/views/settings.js
================================================
var whatsApp = require('@electron/remote').getGlobal("whatsApp");
var settings = require('@electron/remote').getGlobal('settings');
var config = require('@electron/remote').getGlobal('config');
const {dialog} = require('@electron/remote');
var SettingsView = {
bindEvents() {
$this = this;
$("#save-button").on("click", (e) => {
e.preventDefault();
if ($(".invalid").length > 0 ) {
return;
}
$this.saveSettings();
settings.window.close();
});
$("#close-button").on("click", () => {
settings.window.close();
});
$("#useProxy").on("change", () => {
$("#httpProxy").prop("disabled", !($("#useProxy").is(":checked")));
$("#httpsProxy").prop("disabled", !($("#useProxy").is(":checked")));
});
},
init() {
document.title = _("Settings");
$("#custombackground_enable").attr("checked", config.get("background-image") != undefined);
if (config.get("background-image") != undefined) {
$("#custombackground_file").val(config.get("background-image"));
$("#background_opacity").val(config.get("background-opacity"));
} else {
$("#background_opacity").val("100");
}
if (config.get("fontSize") != undefined) {
$("#fontSize").val(config.get("fontSize"));
}
$("#darkMode").attr("checked", config.get("darkMode") == true);
$("#blurImages").attr("checked", config.get("blurImages") == true);
$("#autoHideMenuBar").attr("checked", config.get("autoHideMenuBar") == true);
$("#disablegpu").attr("checked", config.get("disablegpu") == true);
$("#globalshortcut").attr("checked", config.get("globalshortcut") == true);
$("#autostart").attr("checked", config.get("autostart") == true);
$("#startminimized").attr("checked", config.get("startminimized") == true);
$("#trayicon").attr("checked", config.get("trayicon") != false);
$("#avatars").attr("checked", config.get("hideAvatars"));
$("#previews").attr("checked", config.get("hidePreviews"));
if (config.get("thumbSize")) {
$("#thumb-size").val(config.get("thumbSize"));
}
$("#useProxy").attr("checked", config.get("useProxy"));
$("#httpProxy").val(config.get("httpProxy"));
$("#httpsProxy").val(config.get("httpsProxy"));
$("#httpProxy").prop("disabled", !($("#useProxy").is(":checked")));
$("#httpsProxy").prop("disabled", !($("#useProxy").is(":checked")));
$("#customcss_enable").attr("checked", config.get("customcss") != undefined);
if ($("#customcss_enable").is(":checked")) {
$("#customcss_file").val(config.get("customcss"));
}
// Disable unavailable options
if (process.platform === 'darwin') {
$("#autostart").prop("disabled", true);
$("#autoHideMenuBar").prop("disabled", true);
$("#trayicon").prop("disabled", true);
$("#trayicon").prop("checked", false);
}
this.bindEvents();
},
saveSettings() {
if ($("#customcss_enable").is(":checked")) {
config.set("customcss", $("#customcss_file").val());
} else {
config.set("customcss", undefined);
}
if ($("#custombackground_enable").is(":checked")) {
config.set("background-image", $("#custombackground_file").val());
config.set("background-opacity", $("#background_opacity").val());
} else {
config.set("background-image", undefined);
}
config.set("fontSize", $("#fontSize").val());
config.set("darkMode", $("#darkMode").is(":checked"));
config.set("blurImages", $("#blurImages").is(":checked"));
config.set("autoHideMenuBar", $("#autoHideMenuBar").is(":checked"));
config.set("disablegpu", $("#disablegpu").is(":checked"));
config.set("globalshortcut", $("#globalshortcut").is(":checked"));
config.set("autostart", $("#autostart").is(":checked"));
config.set("startminimized", $("#startminimized").is(":checked"));
config.set("hideAvatars", $("#avatars").is(":checked"));
config.set("hidePreviews", $("#previews").is(":checked"));
config.set("thumbSize", parseInt($("#thumb-size").val(), 10));
config.set("trayicon", $("#trayicon").is(":checked"));
if ($("#useProxy").is(":checked")) {
config.set("useProxy", $("#useProxy").is(":checked"));
config.set("httpProxy", $("#httpProxy").val());
config.set("httpsProxy", $("#httpsProxy").val());
} else {
config.unSet("useProxy");
config.unSet("httpProxy");
config.unSet("httpsProxy");
}
config.saveConfiguration();
config.applyConfiguration();
whatsApp.window.reload();
}
};
function chooseCustomCSS() {
if ($("#customcss_enable").is(":checked")) {
dialog.showOpenDialog(function (fileNames) {
if (fileNames === undefined || fileNames.length == 0) {
$("#customcss_enable").removeAttr("checked");
return;
}
$("#customcss_file").val(fileNames[0]);
});
} else {
$("#customcss_file").val("");
}
}
function chooseChatBackground() {
if ($("#custombackground_enable").is(":checked")) {
dialog.showOpenDialog(function (fileNames) {
if (fileNames === undefined || fileNames.length == 0) {
$("#custombackground_enable").removeAttr("checked");
return;
}
if (fileNames[0].endsWith(".jpg") || fileNames[0].endsWith(".jpeg")
|| fileNames[0].endsWith(".png")
|| fileNames[0].endsWith(".gif")) {
$("#custombackground_file").val(fileNames[0]);
} else {
alert(_("Please choose a JPEG or PNG file"));
$("#custombackground_enable").removeAttr("checked");
}
});
} else {
$("#custombackground_file").val("");
}
}
$(document).ready(() => {
SettingsView.init();
});
================================================
FILE: app/locale/de_DE/messages.po
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-17 11:15+0200\n"
"PO-Revision-Date: 2017-11-28 10:48+0100\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.4\n"
"Last-Translator: mrprobot\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: de_DE\n"
#: app/main.js:168 app/main.js:192 app/main.js:198 app/main.js:214
msgid "Show"
msgstr "Anzeigen"
#: app/main.js:174 app/menu.js:146 app/main.js:198 app/menu.js:159
#: app/main.js:204 app/main.js:220
msgid "Hide"
msgstr "Ausblenden"
#: app/main.js:181 app/menu.js:163 app/menu.js:191 app/main.js:205
#: app/menu.js:176 app/menu.js:204 app/main.js:211 app/menu.js:197
#: app/main.js:227
msgid "Quit"
msgstr "Beenden"
#: app/menu.js:6
msgid "Edit"
msgstr "Bearbeiten"
#: app/menu.js:9
msgid "Undo"
msgstr "Rückgängig"
#: app/menu.js:14
msgid "Redo"
msgstr "Wiederherstellen"
#: app/menu.js:22
msgid "Cut"
msgstr "Ausschneiden"
#: app/menu.js:27
msgid "Copy"
msgstr "Kopieren"
#: app/menu.js:32
msgid "Paste"
msgstr "Einfügen"
#: app/menu.js:37
msgid "Select All"
msgstr "Alles auswählen"
#: app/menu.js:45 app/html/settings.html:20
msgid "Settings"
msgstr "Einstellungen"
#: app/menu.js:54
msgid "View"
msgstr "Ansicht"
#: app/menu.js:57
msgid "Reload"
msgstr "Neu laden"
#: app/menu.js:65
msgid "Toggle Full Screen"
msgstr "Vollbild"
#: app/menu.js:78
msgid "Toggle Developer Tools"
msgstr "Entwickler Werkzeuge"
#: app/menu.js:93 app/menu.js:106
msgid "Window"
msgstr "Fenster"
#: app/menu.js:97 app/menu.js:110
msgid "Minimize"
msgstr "Minimieren"
#: app/menu.js:102 app/html/settings.html:56 app/menu.js:115
#: app/html/settings.html:60 app/html/settings.html:64
#: app/html/settings.html:68
msgid "Close"
msgstr "Schließen"
#: app/menu.js:109 app/menu.js:122
msgid "Audio"
msgstr "Lautstärke"
#: app/menu.js:112 app/menu.js:125
msgid "Increase Audio Rate by 20%"
msgstr "Lautstärke um 20% erhöhen"
#: app/menu.js:121 app/menu.js:134
msgid "Decrease Audio Rate by 20%"
msgstr "Lautstärke um 20% senken"
#: app/menu.js:139 app/menu.js:184 app/menu.js:152 app/menu.js:197
msgid "About"
msgstr "Über"
#: app/menu.js:151 app/menu.js:164
msgid "Hide Others"
msgstr "Andere ausblenden"
#: app/menu.js:156 app/menu.js:169
msgid "Show All"
msgstr "Alles anzeigen"
#: app/menu.js:175 app/menu.js:188
msgid "Bring All to Front"
msgstr "Alle in Vordergrund bringen"
#: app/html/settings.html:25
msgid "Hide Avatars"
msgstr "Avatare ausblenden"
#: app/html/settings.html:29
msgid "Hide Message Previews"
msgstr "Nachrichten Vorschau ausblenden"
#: app/html/settings.html:40 app/html/settings.html:44
#: app/html/settings.html:48 app/html/settings.html:52
msgid "Use Proxy (Changes in proxy settings require app restart)"
msgstr "Proxy verwenden (Änderungen benötigen Neustart der App)"
#: app/html/settings.html:50 app/html/settings.html:54
#: app/html/settings.html:58 app/html/settings.html:62
msgid "Https Proxy"
msgstr "Https Proxy"
#: app/html/settings.html:57 app/html/settings.html:61
#: app/html/settings.html:65 app/html/settings.html:69
msgid "Save"
msgstr "Speichern"
#: app/menu.js:91
msgid "Phone info"
msgstr "Telefon Info"
#: app/html/settings.html:33
msgid "Show Tray Icon"
msgstr "Symbol im Tray anzeigen"
#: app/html/settings.html:37
msgid "Minimize to tray on startup"
msgstr "Minimiert starten"
#: app/html/settings.html:41
msgid "Auto start on login"
msgstr "Autostart"
================================================
FILE: app/locale/en_US/messages.po
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-17 11:15+0200\n"
"PO-Revision-Date: 2017-07-10 09:58+0100\n"
"Last-Translator: void\n"
"Language-Team: \n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.10\n"
#: app/main.js:168 app/main.js:192 app/main.js:198 app/main.js:214
msgid "Show"
msgstr "Show"
#: app/main.js:174 app/menu.js:146 app/main.js:198 app/menu.js:159
#: app/main.js:204 app/main.js:220
msgid "Hide"
msgstr "Hide"
#: app/main.js:181 app/menu.js:163 app/menu.js:191 app/main.js:205
#: app/menu.js:176 app/menu.js:204 app/main.js:211 app/menu.js:197
#: app/main.js:227
msgid "Quit"
msgstr "Quit"
#: app/menu.js:6
msgid "Edit"
msgstr "Edit"
#: app/menu.js:9
msgid "Undo"
msgstr "Undo"
#: app/menu.js:14
msgid "Redo"
msgstr "Redo"
#: app/menu.js:22
msgid "Cut"
msgstr "Cut"
#: app/menu.js:27
msgid "Copy"
msgstr "Copy"
#: app/menu.js:32
msgid "Paste"
msgstr "Paste"
#: app/menu.js:37
msgid "Select All"
msgstr "Select All"
#: app/menu.js:45 app/html/settings.html:20
msgid "Settings"
msgstr "Settings"
#: app/menu.js:54
msgid "View"
msgstr "View"
#: app/menu.js:57
msgid "Reload"
msgstr "Reload"
#: app/menu.js:65
msgid "Toggle Full Screen"
msgstr "Toggle Full Screen"
#: app/menu.js:78
msgid "Toggle Developer Tools"
msgstr "Toggle Developer Tools"
#: app/menu.js:93 app/menu.js:106
msgid "Window"
msgstr "Window"
#: app/menu.js:97 app/menu.js:110
msgid "Minimize"
msgstr "Minimize"
#: app/menu.js:102 app/html/settings.html:56 app/menu.js:115
#: app/html/settings.html:60 app/html/settings.html:64
#: app/html/settings.html:68
msgid "Close"
msgstr "Close"
#: app/menu.js:109 app/menu.js:122
msgid "Audio"
msgstr "Audio"
#: app/menu.js:112 app/menu.js:125
msgid "Increase Audio Rate by 20%"
msgstr "Increase Audio Rate by 20%"
#: app/menu.js:121 app/menu.js:134
msgid "Decrease Audio Rate by 20%"
msgstr "Decrease Audio Rate by 20%"
#: app/menu.js:139 app/menu.js:184 app/menu.js:152 app/menu.js:197
msgid "About"
msgstr "About"
#: app/menu.js:151 app/menu.js:164
msgid "Hide Others"
msgstr "Hide Others"
#: app/menu.js:156 app/menu.js:169
msgid "Show All"
msgstr "Show All"
#: app/menu.js:175 app/menu.js:188
msgid "Bring All to Front"
msgstr "Bring All to Front"
#: app/html/settings.html:25
msgid "Hide Avatars"
msgstr "Hide Avatars"
#: app/html/settings.html:29
msgid "Hide Message Previews"
msgstr "Hide Message Previews"
#: app/html/settings.html:40 app/html/settings.html:44
#: app/html/settings.html:48 app/html/settings.html:52
msgid "Use Proxy (Changes in proxy settings require app restart)"
msgstr "Use Proxy (Changes in proxy settings require app restart)"
#: app/html/settings.html:50 app/html/settings.html:54
#: app/html/settings.html:58 app/html/settings.html:62
msgid "Https Proxy"
msgstr "Https Proxy"
#: app/html/settings.html:57 app/html/settings.html:61
#: app/html/settings.html:65 app/html/settings.html:69
msgid "Save"
msgstr "Save"
#: app/menu.js:91
msgid "Phone info"
msgstr "Phone info"
#: app/html/settings.html:33
msgid "Show Tray Icon"
msgstr "Show Tray Icon"
#: app/html/settings.html:37
msgid "Minimize to tray on startup"
msgstr "Minimize to tray on startup"
#: app/html/settings.html:41
msgid "Auto start on login"
msgstr "Auto start on login"
#~ msgid "Thumb Size"
#~ msgstr "Thumb Size"
================================================
FILE: app/locale/es_ES/messages.po
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-17 11:15+0200\n"
"PO-Revision-Date: 2017-08-26 17:11-0300\n"
"Language-Team: Mauricio López\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.3\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: es_419\n"
#: app/main.js:168 app/main.js:192 app/main.js:198 app/main.js:214
msgid "Show"
msgstr "Mostrar"
#: app/main.js:174 app/menu.js:146 app/main.js:198 app/menu.js:159
#: app/main.js:204 app/main.js:220
msgid "Hide"
msgstr "Ocultar"
#: app/main.js:181 app/menu.js:163 app/menu.js:191 app/main.js:205
#: app/menu.js:176 app/menu.js:204 app/main.js:211 app/menu.js:197
#: app/main.js:227
msgid "Quit"
msgstr "Salir"
#: app/menu.js:6
msgid "Edit"
msgstr "Editar"
#: app/menu.js:9
msgid "Undo"
msgstr "Deshacer"
#: app/menu.js:14
msgid "Redo"
msgstr "Rehacer"
#: app/menu.js:22
msgid "Cut"
msgstr "Cortar"
#: app/menu.js:27
msgid "Copy"
msgstr "Copiar"
#: app/menu.js:32
msgid "Paste"
msgstr "Pegar"
#: app/menu.js:37
msgid "Select All"
msgstr "Seleccionar todo"
#: app/menu.js:45 app/html/settings.html:20
msgid "Settings"
msgstr "Ajustes"
#: app/menu.js:54
msgid "View"
msgstr "Ver"
#: app/menu.js:57
msgid "Reload"
msgstr "Actualizar"
#: app/menu.js:65
msgid "Toggle Full Screen"
msgstr "Alternar pantalla completa"
#: app/menu.js:78
msgid "Toggle Developer Tools"
msgstr "Alternar herramientas de desarrollo"
#: app/menu.js:93 app/menu.js:106
msgid "Window"
msgstr "Ventana"
#: app/menu.js:97 app/menu.js:110
msgid "Minimize"
msgstr "Minimizar"
#: app/menu.js:102 app/html/settings.html:56 app/menu.js:115
#: app/html/settings.html:60 app/html/settings.html:64
#: app/html/settings.html:68
msgid "Close"
msgstr "Cerrar"
#: app/menu.js:109 app/menu.js:122
msgid "Audio"
msgstr "Audio"
#: app/menu.js:112 app/menu.js:125
msgid "Increase Audio Rate by 20%"
msgstr "Subir volumen un 20%"
#: app/menu.js:121 app/menu.js:134
msgid "Decrease Audio Rate by 20%"
msgstr "Bajar volumen un 20%"
#: app/menu.js:139 app/menu.js:184 app/menu.js:152 app/menu.js:197
msgid "About"
msgstr "Acerca de"
#: app/menu.js:151 app/menu.js:164
msgid "Hide Others"
msgstr "Ocultar otros"
#: app/menu.js:156 app/menu.js:169
msgid "Show All"
msgstr "Mostrar todos"
#: app/menu.js:175 app/menu.js:188
msgid "Bring All to Front"
msgstr "Traer todos al frente"
#: app/html/settings.html:25
msgid "Hide Avatars"
msgstr "Ocultar avatares"
#: app/html/settings.html:29
msgid "Hide Message Previews"
msgstr "Ocultar previsualización de mensajes"
#: app/html/settings.html:40 app/html/settings.html:44
#: app/html/settings.html:48 app/html/settings.html:52
msgid "Use Proxy (Changes in proxy settings require app restart)"
msgstr "Usar proxy (los cambios en los ajustes del proxy requieren reiniciar la aplicación)"
#: app/html/settings.html:50 app/html/settings.html:54
#: app/html/settings.html:58 app/html/settings.html:62
msgid "Https Proxy"
msgstr "Proxy https"
#: app/html/settings.html:57 app/html/settings.html:61
#: app/html/settings.html:65 app/html/settings.html:69
msgid "Save"
msgstr "Guardar"
#: app/menu.js:91
msgid "Phone info"
msgstr "Información del teléfono"
#: app/html/settings.html:33
msgid "Show Tray Icon"
msgstr "Mostrar ícono en la barra de notificación"
#: app/html/settings.html:37
msgid "Minimize to tray on startup"
msgstr "Minimizar a la barra de notifiación al iniciar"
#: app/html/settings.html:41
msgid "Auto start on login"
msgstr "Inicio automático al iniciar sesión"
================================================
FILE: app/locale/it_IT/messages.po
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-17 11:15+0200\n"
"PO-Revision-Date: 2017-07-10 09:59+0100\n"
"Last-Translator: void\n"
"Language-Team: \n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.10\n"
#: app/main.js:168 app/main.js:192 app/main.js:198 app/main.js:214
msgid "Show"
msgstr "Visualizza"
#: app/main.js:174 app/menu.js:146 app/main.js:198 app/menu.js:159
#: app/main.js:204 app/main.js:220
msgid "Hide"
msgstr "Nascondi"
#: app/main.js:181 app/menu.js:163 app/menu.js:191 app/main.js:205
#: app/menu.js:176 app/menu.js:204 app/main.js:211 app/menu.js:197
#: app/main.js:227
msgid "Quit"
msgstr "Esci"
#: app/menu.js:6
msgid "Edit"
msgstr "Modifica"
#: app/menu.js:9
msgid "Undo"
msgstr "Annulla"
#: app/menu.js:14
msgid "Redo"
msgstr "Ripeti"
#: app/menu.js:22
msgid "Cut"
msgstr "Taglia"
#: app/menu.js:27
msgid "Copy"
msgstr "Copia"
#: app/menu.js:32
msgid "Paste"
msgstr "Incolla"
#: app/menu.js:37
msgid "Select All"
msgstr "Seleziona tutto"
#: app/menu.js:45 app/html/settings.html:20
msgid "Settings"
msgstr "Impostazioni"
#: app/menu.js:54
msgid "View"
msgstr "Vista"
#: app/menu.js:57
msgid "Reload"
msgstr "Ricarica"
#: app/menu.js:65
msgid "Toggle Full Screen"
msgstr "Attiva/disattiva schermo intero"
#: app/menu.js:78
msgid "Toggle Developer Tools"
msgstr "Attiva/disattiva tool sviluppatori"
#: app/menu.js:93 app/menu.js:106
msgid "Window"
msgstr "Finestra"
#: app/menu.js:97 app/menu.js:110
msgid "Minimize"
msgstr "Minimizza"
#: app/menu.js:102 app/html/settings.html:56 app/menu.js:115
#: app/html/settings.html:60 app/html/settings.html:64
#: app/html/settings.html:68
msgid "Close"
msgstr "Chiudi"
#: app/menu.js:109 app/menu.js:122
msgid "Audio"
msgstr "Audio"
#: app/menu.js:112 app/menu.js:125
msgid "Increase Audio Rate by 20%"
msgstr "Incrementa la velocità dell'audio del 20%"
#: app/menu.js:121 app/menu.js:134
msgid "Decrease Audio Rate by 20%"
msgstr "Decrementa la velocità dell'audio del 20%"
#: app/menu.js:139 app/menu.js:184 app/menu.js:152 app/menu.js:197
msgid "About"
msgstr "Riguardo a"
#: app/menu.js:151 app/menu.js:164
msgid "Hide Others"
msgstr "Nascondi le altre"
#: app/menu.js:156 app/menu.js:169
msgid "Show All"
msgstr "Visualizza tutto"
#: app/menu.js:175 app/menu.js:188
msgid "Bring All to Front"
msgstr "Porta tutto in primo piano"
#: app/html/settings.html:25
msgid "Hide Avatars"
msgstr "Nascondi gli avatars"
#: app/html/settings.html:29
msgid "Hide Message Previews"
msgstr "Nascondi le anteprime dei messaggi"
#: app/html/settings.html:40 app/html/settings.html:44
#: app/html/settings.html:48 app/html/settings.html:52
msgid "Use Proxy (Changes in proxy settings require app restart)"
msgstr "Usa un proxy (è necessario un riavvio)"
#: app/html/settings.html:50 app/html/settings.html:54
#: app/html/settings.html:58 app/html/settings.html:62
msgid "Https Proxy"
msgstr "Proxy HTTPS"
#: app/html/settings.html:57 app/html/settings.html:61
#: app/html/settings.html:65 app/html/settings.html:69
msgid "Save"
msgstr "Salva"
#: app/menu.js:91
msgid "Phone info"
msgstr "Informazioni telefono"
#: app/html/settings.html:33
msgid "Show Tray Icon"
msgstr "Visualizza icona nel vassoio"
#: app/html/settings.html:37
msgid "Minimize to tray on startup"
msgstr "Minimizza nel vassoio all'avvio"
#: app/html/settings.html:41
msgid "Auto start on login"
msgstr "Avvia automaticamente all'accesso"
#~ msgid "Thumb Size"
#~ msgstr "Dimensione anteprima"
================================================
FILE: app/locale/messages.pot
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-17 11:15+0200\n"
"PO-Revision-Date: 2017-06-17 12:12+0100\n"
"Last-Translator: void\n"
"Language-Team: \n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.10\n"
#: app/main.js:168 app/main.js:192 app/main.js:198 app/main.js:214
msgid "Show"
msgstr ""
#: app/main.js:174 app/menu.js:146 app/main.js:198 app/menu.js:159
#: app/main.js:204 app/main.js:220
msgid "Hide"
msgstr ""
#: app/main.js:181 app/menu.js:163 app/menu.js:191 app/main.js:205
#: app/menu.js:176 app/menu.js:204 app/main.js:211 app/menu.js:197
#: app/main.js:227
msgid "Quit"
msgstr ""
#: app/menu.js:6
msgid "Edit"
msgstr ""
#: app/menu.js:9
msgid "Undo"
msgstr ""
#: app/menu.js:14
msgid "Redo"
msgstr ""
#: app/menu.js:22
msgid "Cut"
msgstr ""
#: app/menu.js:27
msgid "Copy"
msgstr ""
#: app/menu.js:32
msgid "Paste"
msgstr ""
#: app/menu.js:37
msgid "Select All"
msgstr ""
#: app/menu.js:45 app/html/settings.html:20
msgid "Settings"
msgstr ""
#: app/menu.js:54
msgid "View"
msgstr ""
#: app/menu.js:57
msgid "Reload"
msgstr ""
#: app/menu.js:65
msgid "Toggle Full Screen"
msgstr ""
#: app/menu.js:78
msgid "Toggle Developer Tools"
msgstr ""
#: app/menu.js:93 app/menu.js:106
msgid "Window"
msgstr ""
#: app/menu.js:97 app/menu.js:110
msgid "Minimize"
msgstr ""
#: app/menu.js:102 app/html/settings.html:56 app/menu.js:115
#: app/html/settings.html:60 app/html/settings.html:64
#: app/html/settings.html:68
msgid "Close"
msgstr ""
#: app/menu.js:109 app/menu.js:122
msgid "Audio"
msgstr ""
#: app/menu.js:112 app/menu.js:125
msgid "Increase Audio Rate by 20%"
msgstr ""
#: app/menu.js:121 app/menu.js:134
msgid "Decrease Audio Rate by 20%"
msgstr ""
#: app/menu.js:139 app/menu.js:184 app/menu.js:152 app/menu.js:197
msgid "About"
msgstr ""
#: app/menu.js:151 app/menu.js:164
msgid "Hide Others"
msgstr ""
#: app/menu.js:156 app/menu.js:169
msgid "Show All"
msgstr ""
#: app/menu.js:175 app/menu.js:188
msgid "Bring All to Front"
msgstr ""
#: app/html/settings.html:25
msgid "Hide Avatars"
msgstr ""
#: app/html/settings.html:29
msgid "Hide Message Previews"
msgstr ""
#: app/html/settings.html:40 app/html/settings.html:44
#: app/html/settings.html:48 app/html/settings.html:52
msgid "Use Proxy (Changes in proxy settings require app restart)"
msgstr ""
#: app/html/settings.html:50 app/html/settings.html:54
#: app/html/settings.html:58 app/html/settings.html:62
msgid "Https Proxy"
msgstr ""
#: app/html/settings.html:57 app/html/settings.html:61
#: app/html/settings.html:65 app/html/settings.html:69
msgid "Save"
msgstr ""
#: app/menu.js:91
msgid "Phone info"
msgstr ""
#: app/html/settings.html:33
msgid "Show Tray Icon"
msgstr ""
#: app/html/settings.html:37
msgid "Minimize to tray on startup"
msgstr ""
#: app/html/settings.html:41
msgid "Auto start on login"
msgstr ""
================================================
FILE: app/locale/pt_BR/messages.po
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 17:02+0300\n"
"PO-Revision-Date: 2017-08-05 17:02+0300\n"
"Last-Translator: void\n"
"Language-Team: \n"
"Language: pt_br\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.10\n"
#: app/main.js:168 app/main.js:192 app/main.js:198 app/main.js:214
msgid "Show"
msgstr "Mostrar"
#: app/main.js:174 app/menu.js:146 app/main.js:198 app/menu.js:159
#: app/main.js:204 app/main.js:220
msgid "Hide"
msgstr "Ocultar"
#: app/main.js:181 app/menu.js:163 app/menu.js:191 app/main.js:205
#: app/menu.js:176 app/menu.js:204 app/main.js:211 app/menu.js:197
#: app/main.js:227
msgid "Quit"
msgstr "Sair"
#: app/menu.js:6
msgid "Edit"
msgstr "Editar"
#: app/menu.js:9
msgid "Undo"
msgstr "Desfazer"
#: app/menu.js:14
msgid "Redo"
msgstr "Refazer"
#: app/menu.js:22
msgid "Cut"
msgstr "Cortar"
#: app/menu.js:27
msgid "Copy"
msgstr "Copiar"
#: app/menu.js:32
msgid "Paste"
msgstr "Colar"
#: app/menu.js:37
msgid "Select All"
msgstr "Selecionar Tudo"
#: app/menu.js:45 app/html/settings.html:20
msgid "Settings"
msgstr "Configurações"
#: app/menu.js:54
msgid "View"
msgstr "Visualizar"
#: app/menu.js:57
msgid "Reload"
msgstr "Recarregar"
#: app/menu.js:65
msgid "Toggle Full Screen"
msgstr "Tela Cheia"
#: app/menu.js:78
msgid "Toggle Developer Tools"
msgstr "Ferramentas de Desenvolvedor"
#: app/menu.js:93 app/menu.js:106
msgid "Window"
msgstr "Janela"
#: app/menu.js:97 app/menu.js:110
msgid "Minimize"
msgstr "Minimizar"
#: app/menu.js:102 app/html/settings.html:56 app/menu.js:115
#: app/html/settings.html:60 app/html/settings.html:64
#: app/html/settings.html:68
msgid "Close"
msgstr "Fechar"
#: app/menu.js:109 app/menu.js:122
msgid "Audio"
msgstr "Áudio"
#: app/menu.js:112 app/menu.js:125
msgid "Increase Audio Rate by 20%"
msgstr "Aumentar Áudio em 20%"
#: app/menu.js:121 app/menu.js:134
msgid "Decrease Audio Rate by 20%"
msgstr "Diminuir Áudio em 20%"
#: app/menu.js:139 app/menu.js:184 app/menu.js:152 app/menu.js:197
msgid "About"
msgstr "Sobre"
#: app/menu.js:151 app/menu.js:164
msgid "Hide Others"
msgstr "Esconder Outros"
#: app/menu.js:156 app/menu.js:169
msgid "Show All"
msgstr "Mostrar Tudo"
#: app/menu.js:175 app/menu.js:188
msgid "Bring All to Front"
msgstr "Trazer Tudo à Frente"
#: app/html/settings.html:25
msgid "Hide Avatars"
msgstr "Ocultar Avatars"
#: app/html/settings.html:29
msgid "Hide Message Previews"
msgstr "Ocultar Preview de Mensagens "
#: app/html/settings.html:40 app/html/settings.html:44
#: app/html/settings.html:48 app/html/settings.html:52
msgid "Use Proxy (Changes in proxy settings require app restart)"
msgstr "Usar Proxy (Mudanças no proxy requerem o reínicio do app)"
#: app/html/settings.html:50 app/html/settings.html:54
#: app/html/settings.html:58 app/html/settings.html:62
msgid "Https Proxy"
msgstr "Proxy Https"
#: app/html/settings.html:57 app/html/settings.html:61
#: app/html/settings.html:65 app/html/settings.html:69
msgid "Save"
msgstr "Salvar"
#: app/menu.js:91
msgid "Phone info"
msgstr "Informações do Telefone"
#: app/html/settings.html:33
msgid "Show Tray Icon"
msgstr "Mostrar Ícone na Bandeja"
#: app/html/settings.html:37
msgid "Minimize to tray on startup"
msgstr "Minimizar para a bandeja ao iniciar"
#: app/html/settings.html:41
msgid "Auto start on login"
msgstr "Auto iniciar no login"
#~ msgid "Thumb Size"
#~ msgstr "Tamanho da Miniatura"
================================================
FILE: app/locale/ru_RU/messages.po
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-17 11:15+0200\n"
"PO-Revision-Date: 2017-11-27 19:54+0300\n"
"Last-Translator: void\n"
"Language-Team: \n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
#: app/main.js:168 app/main.js:192 app/main.js:198 app/main.js:214
msgid "Show"
msgstr "Восстановить"
#: app/main.js:174 app/menu.js:146 app/main.js:198 app/menu.js:159
#: app/main.js:204 app/main.js:220
msgid "Hide"
msgstr "Скрыть"
#: app/main.js:181 app/menu.js:163 app/menu.js:191 app/main.js:205
#: app/menu.js:176 app/menu.js:204 app/main.js:211 app/menu.js:197
#: app/main.js:227
msgid "Quit"
msgstr "Выход"
#: app/menu.js:6
msgid "Edit"
msgstr "Правка"
#: app/menu.js:9
msgid "Undo"
msgstr "Отменить"
#: app/menu.js:14
msgid "Redo"
msgstr "Вернуть"
#: app/menu.js:22
msgid "Cut"
msgstr "Вырезать"
#: app/menu.js:27
msgid "Copy"
msgstr "Копировать"
#: app/menu.js:32
msgid "Paste"
msgstr "Вставить"
#: app/menu.js:37
msgid "Select All"
msgstr "Выделить всё"
#: app/menu.js:45 app/html/settings.html:20
msgid "Settings"
msgstr "Настройки"
#: app/menu.js:54
msgid "View"
msgstr "Вид"
#: app/menu.js:57
msgid "Reload"
msgstr "Перезагрузить"
#: app/menu.js:65
msgid "Toggle Full Screen"
msgstr "Во весь экран"
#: app/menu.js:78
msgid "Toggle Developer Tools"
msgstr "Инструменты разработчика"
#: app/menu.js:93 app/menu.js:106
msgid "Window"
msgstr "Окно"
#: app/menu.js:97 app/menu.js:110
msgid "Minimize"
msgstr "Свернуть"
#: app/menu.js:102 app/html/settings.html:56 app/menu.js:115
#: app/html/settings.html:60 app/html/settings.html:64
#: app/html/settings.html:68
msgid "Close"
msgstr "Закрыть"
#: app/menu.js:109 app/menu.js:122
msgid "Audio"
msgstr "Звук"
#: app/menu.js:112 app/menu.js:125
msgid "Increase Audio Rate by 20%"
msgstr "Увеличить громкость на 20%"
#: app/menu.js:121 app/menu.js:134
msgid "Decrease Audio Rate by 20%"
msgstr "Уменьшить громкость на 20%"
#: app/menu.js:139 app/menu.js:184 app/menu.js:152 app/menu.js:197
msgid "About"
msgstr "О программе"
#: app/menu.js:151 app/menu.js:164
msgid "Hide Others"
msgstr "Скрыть остальные"
#: app/menu.js:156 app/menu.js:169
msgid "Show All"
msgstr "Показать все окна"
#: app/menu.js:175 app/menu.js:188
msgid "Bring All to Front"
msgstr "Расположить сверху"
#: app/html/settings.html:25
msgid "Hide Avatars"
msgstr "Скрывать аватарки"
#: app/html/settings.html:29
msgid "Hide Message Previews"
msgstr "Скрывать содержимое сообщений"
#: app/html/settings.html:40 app/html/settings.html:44
#: app/html/settings.html:48 app/html/settings.html:52
msgid "Use Proxy (Changes in proxy settings require app restart)"
msgstr "Использовать Proxy (Требуется перезапуск программы)"
#: app/html/settings.html:50 app/html/settings.html:54
#: app/html/settings.html:58 app/html/settings.html:62
msgid "Https Proxy"
msgstr "Https Proxy"
#: app/html/settings.html:57 app/html/settings.html:61
#: app/html/settings.html:65 app/html/settings.html:69
msgid "Save"
msgstr "Сохранить"
#: app/menu.js:91
msgid "Phone info"
msgstr "Информация о телефоне"
#: app/html/settings.html:33
msgid "Show Tray Icon"
msgstr "Показывать иконку в трее"
#: app/html/settings.html:37
msgid "Minimize to tray on startup"
msgstr "Свернуть в трей при запуске"
#: app/html/settings.html:41
msgid "Auto start on login"
msgstr "Автозапуск"
#~ msgid "Thumb Size"
#~ msgstr "Размер изображения"
================================================
FILE: app/locale/tr_TR/messages.po
================================================
# Whatsapp Desktop translations.
#
msgid ""
msgstr ""
"Project-Id-Version: Whatsapp-Desktop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-23 19:25+0200\n"
"PO-Revision-Date: 2018-01-23 19:30+0300\n"
"Last-Translator: Demiray Muhterem