-Spanish translation
This commit is contained in:
tonikelope 2018-08-08 17:47:42 +02:00
parent c1f2e258cc
commit d8f9203c87
21 changed files with 471 additions and 79 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.tonikelope</groupId> <groupId>com.tonikelope</groupId>
<artifactId>MegaBasterd</artifactId> <artifactId>MegaBasterd</artifactId>
<version>5.17</version> <version>5.18</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<dependencies> <dependencies>
<dependency> <dependency>

View File

@ -134,7 +134,7 @@
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor"> <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="66" green="66" red="66" type="rgb"/> <Color blue="66" green="66" red="66" type="rgb"/>
</Property> </Property>
<Property name="text" type="java.lang.String" value="Yet another (unofficial) cross-platform MEGA downloader/uploader/streaming suite. "/> <Property name="text" type="java.lang.String" value="Yet another (unofficial) cross-platform MEGA downloader/uploader/streaming suite."/>
<Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
<Color id="Cursor de Mano"/> <Color id="Cursor de Mano"/>
</Property> </Property>

View File

@ -28,6 +28,8 @@ public final class AboutDialog extends javax.swing.JDialog {
updateFonts(this.getRootPane(), DEFAULT_FONT, parent.getMain_panel().getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, parent.getMain_panel().getZoom_factor());
translateLabels(getRootPane());
pack(); pack();
} }
@ -82,7 +84,7 @@ public final class AboutDialog extends javax.swing.JDialog {
subtitle_label.setFont(new java.awt.Font("Dialog", 1, 20)); // NOI18N subtitle_label.setFont(new java.awt.Font("Dialog", 1, 20)); // NOI18N
subtitle_label.setForeground(new java.awt.Color(102, 102, 102)); subtitle_label.setForeground(new java.awt.Color(102, 102, 102));
subtitle_label.setText("Yet another (unofficial) cross-platform MEGA downloader/uploader/streaming suite. "); subtitle_label.setText("Yet another (unofficial) cross-platform MEGA downloader/uploader/streaming suite.");
subtitle_label.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); subtitle_label.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
subtitle_label.setDoubleBuffered(true); subtitle_label.setDoubleBuffered(true);
subtitle_label.addMouseListener(new java.awt.event.MouseAdapter() { subtitle_label.addMouseListener(new java.awt.event.MouseAdapter() {
@ -220,14 +222,16 @@ public final class AboutDialog extends javax.swing.JDialog {
copyTextToClipboard(MEGABASTERD_URL); copyTextToClipboard(MEGABASTERD_URL);
JOptionPane.showMessageDialog(this, "MEGA URL was copied to clipboard!"); JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("MEGA URL was copied to clipboard!"));
}//GEN-LAST:event_mcdown_url_buttonActionPerformed }//GEN-LAST:event_mcdown_url_buttonActionPerformed
private void check_version_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_check_version_buttonActionPerformed private void check_version_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_check_version_buttonActionPerformed
String old_check_version_button_text = check_version_button.getText();
check_version_button.setEnabled(false); check_version_button.setEnabled(false);
check_version_button.setText("Checking, please wait..."); check_version_button.setText(LabelTranslatorSingleton.getInstance().translate("Checking, please wait..."));
pack(); pack();
@ -243,14 +247,14 @@ public final class AboutDialog extends javax.swing.JDialog {
if (new_version != null) { if (new_version != null) {
JOptionPane.showMessageDialog(tthis, "MegaBasterd NEW VERSION (" + new_version + ") is available!\n\n(HELP > ABOUT for more info)"); JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MegaBasterd NEW VERSION is available! -> ") + new_version);
} else { } else {
JOptionPane.showMessageDialog(tthis, "You have the latest version ;)"); JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("You have the latest version ;)"));
} }
check_version_button.setText("Check version"); check_version_button.setText(old_check_version_button_text);
check_version_button.setEnabled(true); check_version_button.setEnabled(true);

View File

@ -91,6 +91,8 @@ public final class DownloadView extends javax.swing.JPanel implements Transferen
updateFonts(this, DEFAULT_FONT, download.getMain_panel().getZoom_factor()); updateFonts(this, DEFAULT_FONT, download.getMain_panel().getZoom_factor());
translateLabels(getRootPane());
_download = download; _download = download;
slots_spinner.setModel(new SpinnerNumberModel(_download.getMain_panel().getDefault_slots_down(), Download.MIN_WORKERS, Download.MAX_WORKERS, 1)); slots_spinner.setModel(new SpinnerNumberModel(_download.getMain_panel().getDefault_slots_down(), Download.MIN_WORKERS, Download.MAX_WORKERS, 1));

View File

@ -68,6 +68,8 @@ public final class FileGrabberDialog extends javax.swing.JDialog {
updateTitledBorderFont(((javax.swing.border.TitledBorder) jPanel2.getBorder()), DEFAULT_FONT, _main_panel.getZoom_factor()); updateTitledBorderFont(((javax.swing.border.TitledBorder) jPanel2.getBorder()), DEFAULT_FONT, _main_panel.getZoom_factor());
translateLabels(getRootPane());
_total_space = 0L; _total_space = 0L;
_base_path = null; _base_path = null;
_upload = false; _upload = false;
@ -426,7 +428,7 @@ public final class FileGrabberDialog extends javax.swing.JDialog {
if (filechooser.getSelectedFile() != null && !filechooser.getSelectedFile().canRead()) { if (filechooser.getSelectedFile() != null && !filechooser.getSelectedFile().canRead()) {
JOptionPane.showMessageDialog(this, "File is not readable!", "Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("File is not readable!"), "Error", JOptionPane.ERROR_MESSAGE);
} }
boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0; boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0;
@ -511,7 +513,7 @@ public final class FileGrabberDialog extends javax.swing.JDialog {
if (filechooser.getSelectedFile() != null && !filechooser.getSelectedFile().canRead()) { if (filechooser.getSelectedFile() != null && !filechooser.getSelectedFile().canRead()) {
JOptionPane.showMessageDialog(this, "Folder is not readable!", "Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("Folder is not readable!"), "Error", JOptionPane.ERROR_MESSAGE);
} }
boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0; boolean root_childs = ((TreeNode) file_tree.getModel().getRoot()).getChildCount() > 0;

View File

@ -19,6 +19,7 @@ package com.tonikelope.megabasterd;
import static com.tonikelope.megabasterd.MainPanel.DEFAULT_FONT; import static com.tonikelope.megabasterd.MainPanel.DEFAULT_FONT;
import static com.tonikelope.megabasterd.MainPanel.THREAD_POOL; import static com.tonikelope.megabasterd.MainPanel.THREAD_POOL;
import static com.tonikelope.megabasterd.MiscTools.swingInvoke; import static com.tonikelope.megabasterd.MiscTools.swingInvoke;
import static com.tonikelope.megabasterd.MiscTools.translateLabels;
import static com.tonikelope.megabasterd.MiscTools.updateFonts; import static com.tonikelope.megabasterd.MiscTools.updateFonts;
import java.awt.Desktop; import java.awt.Desktop;
import java.awt.Dialog; import java.awt.Dialog;
@ -56,11 +57,13 @@ public class FileMergerDialog extends javax.swing.JDialog {
_main_panel = parent.getMain_panel(); _main_panel = parent.getMain_panel();
initComponents(); initComponents();
updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor());
translateLabels(getRootPane());
jProgressBar2.setMinimum(0); jProgressBar2.setMinimum(0);
jProgressBar2.setMaximum(MAX_VALUE); jProgressBar2.setMaximum(MAX_VALUE);
jProgressBar2.setStringPainted(true); jProgressBar2.setStringPainted(true);
jProgressBar2.setValue(0); jProgressBar2.setValue(0);
jProgressBar2.setVisible(false); jProgressBar2.setVisible(false);
pack(); pack();
} }

View File

@ -19,6 +19,7 @@ package com.tonikelope.megabasterd;
import static com.tonikelope.megabasterd.MainPanel.DEFAULT_FONT; import static com.tonikelope.megabasterd.MainPanel.DEFAULT_FONT;
import static com.tonikelope.megabasterd.MainPanel.THREAD_POOL; import static com.tonikelope.megabasterd.MainPanel.THREAD_POOL;
import static com.tonikelope.megabasterd.MiscTools.swingInvoke; import static com.tonikelope.megabasterd.MiscTools.swingInvoke;
import static com.tonikelope.megabasterd.MiscTools.translateLabels;
import static com.tonikelope.megabasterd.MiscTools.updateFonts; import static com.tonikelope.megabasterd.MiscTools.updateFonts;
import java.awt.Desktop; import java.awt.Desktop;
import java.awt.Dialog; import java.awt.Dialog;
@ -57,11 +58,14 @@ public class FileSplitterDialog extends javax.swing.JDialog {
initComponents(); initComponents();
updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor());
translateLabels(getRootPane());
jProgressBar2.setMinimum(0); jProgressBar2.setMinimum(0);
jProgressBar2.setMaximum(MAX_VALUE); jProgressBar2.setMaximum(MAX_VALUE);
jProgressBar2.setStringPainted(true); jProgressBar2.setStringPainted(true);
jProgressBar2.setValue(0); jProgressBar2.setValue(0);
jProgressBar2.setVisible(false); jProgressBar2.setVisible(false);
pack(); pack();
} }

View File

@ -56,6 +56,8 @@ public final class FolderLinkDialog extends javax.swing.JDialog {
updateFonts(this.getRootPane(), DEFAULT_FONT, parent.getMain_panel().getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, parent.getMain_panel().getZoom_factor());
translateLabels(getRootPane());
_mega_error = false; _mega_error = false;
_total_space = 0L; _total_space = 0L;
_download = false; _download = false;

View File

@ -64,6 +64,8 @@ public class GetMasterPasswordDialog extends javax.swing.JDialog {
updateFonts(this.getRootPane(), DEFAULT_FONT, main_panel.getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, main_panel.getZoom_factor());
translateLabels(getRootPane());
_current_pass_hash = current_pass_hash; _current_pass_hash = current_pass_hash;
_pass_ok = false; _pass_ok = false;
@ -194,7 +196,7 @@ public class GetMasterPasswordDialog extends javax.swing.JDialog {
private void ok_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ok_buttonActionPerformed private void ok_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ok_buttonActionPerformed
status_label.setText("Verifying your password, please wait..."); status_label.setText(LabelTranslatorSingleton.getInstance().translate("Verifying your password, please wait..."));
pack(); pack();
@ -211,7 +213,7 @@ public class GetMasterPasswordDialog extends javax.swing.JDialog {
if (!pass_hash.equals(_current_pass_hash)) { if (!pass_hash.equals(_current_pass_hash)) {
JOptionPane.showMessageDialog(tthis, "BAD PASSWORD!", "Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("BAD PASSWORD!"), "Error", JOptionPane.ERROR_MESSAGE);
status_label.setText(""); status_label.setText("");

View File

@ -0,0 +1,190 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.tonikelope.megabasterd;
import java.util.concurrent.ConcurrentHashMap;
/**
*
* @author tonikelope
*/
public final class LabelTranslatorSingleton {
public static LabelTranslatorSingleton getInstance() {
return LabelTranslatorSingleton.LazyHolder.INSTANCE;
}
private final ConcurrentHashMap<String, String> _rosetta;
private LabelTranslatorSingleton() {
_rosetta = new ConcurrentHashMap();
switch (MainPanel.getLanguage()) {
case "ES":
Spanish();
}
}
private final static class LazyHolder {
private static final LabelTranslatorSingleton INSTANCE = new LabelTranslatorSingleton();
}
private void Spanish() {
_rosetta.put("Check version", "Comprobar versión");
_rosetta.put("Checking, please wait...", "Comprobando, por favor espera...");
_rosetta.put("You have the latest version ;)", "Tienes la versión más reciente ;)");
_rosetta.put("Copy MegaBasterd download URL", "Copiar la URL de descarga de MegaBasterd");
_rosetta.put("Made with love (and with no warranty) by tonikelope.", "Fabricado con amor (y sin ninguna garantía) por tonikelope.");
_rosetta.put("Yet another (unofficial) cross-platform MEGA downloader/uploader/streaming suite.", "Ni más ni menos que otra suite multiplataforma (no oficial) de descarga/subida/streaming para MEGA.");
_rosetta.put("MEGA URL was copied to clipboard!", "¡URL de MEGA copiada en el portapapeles!");
_rosetta.put("MegaBasterd NEW VERSION is available! -> ", "¡Hay una versión nueva de MegaBasterd disponible! -> ");
_rosetta.put("Selecting folder...", "Seleccionando carpeta...");
_rosetta.put("MERGE FILE", "JUNTAR ARCHIVO");
_rosetta.put("Delete parts after merge", "Eliminar partes después de juntar");
_rosetta.put("Remove selected", "Eliminar seleccionados");
_rosetta.put("SPLIT FILE", "PARTIR ARCHIVO");
_rosetta.put("Encrypt on disk sensitive information", "Cifrar en disco datos sensibles");
_rosetta.put("Use MEGA accounts for download/stream", "Utilizar cuentas de MEGA para descargar/subir");
_rosetta.put("Please wait...", "Por favor espera...");
_rosetta.put("CANCEL RETRY", "CANCELAR REINTENTO");
_rosetta.put("SPLITTING FILE...", "PARTIENDO ARCHIVO...");
_rosetta.put("Open folder", "Abrir carpeta");
_rosetta.put("RESUME DOWNLOAD", "CONTINUAR DESCARGA");
_rosetta.put("Close", "Cerrar");
_rosetta.put("Add files", "Agregar archivos");
_rosetta.put("IMPORT SETTINGS", "IMPORTAR AJUSTES");
_rosetta.put("RESET MEGABASTERD", "RESETEAR MEGABASTERD");
_rosetta.put("RESET ACCOUNTS", "RESETEAR CUENTAS");
_rosetta.put("Verify file integrity (when download is finished)", "Verificar integridad del archivo (al terminar la descarga)");
_rosetta.put("Let's dance, baby", "¡Vamos!");
_rosetta.put("Unlock accounts", "Desbloquear cuentas");
_rosetta.put("Use MegaCrypter reverse mode", "Utilizar modo inverso de MegaCrypter");
_rosetta.put("Select (any) file part", "Seleccionar (alguna) parte del archivo");
_rosetta.put("Add folder", "Añadir una carpeta");
_rosetta.put("Adding files, please wait...", "Añadiendo archivos, por favor espera...");
_rosetta.put("Restart", "Reiniciar");
_rosetta.put("Use SmartProxy", "Utilizar SmartProxy");
_rosetta.put("PAUSE DOWNLOAD", "PAUSAR DESCARGA");
_rosetta.put("Change it", "Cambiar");
_rosetta.put("EXPORT SETTINGS", "EXPORTAR AJUSTES");
_rosetta.put("Change output folder", "Cambiar carpeta destino");
_rosetta.put("Add account", "Añadir cuenta");
_rosetta.put("Select file", "Seleccionar archivo");
_rosetta.put("Opening file...", "Abriendo archivo...");
_rosetta.put("CANCEL DOWNLOAD", "CANCELAR DESCARGA");
_rosetta.put("REMOVE ALL EXCEPT THIS", "QUITAR TODO EXCEPTO ESTO");
_rosetta.put("Loading DLC, please wait...", "Cargando DLC, por favor espera...");
_rosetta.put("Changing output folder...", "Cambiando carpeta destino...");
_rosetta.put("RESUME UPLOAD", "CONTINUAR SUBIDA");
_rosetta.put("Limit upload speed", "Limitar velocidad de subida");
_rosetta.put("CANCEL", "CANCELAR");
_rosetta.put("Use multi slot download mode", "Utilizar descarga multi slot");
_rosetta.put("Selecting file...", "Seleccionando archivo...");
_rosetta.put("Copy folder link", "Copiar enlace de carpeta");
_rosetta.put("Limit download speed", "Limitar velocidad de descarga");
_rosetta.put("REMOVE THIS", "QUITAR ESTO");
_rosetta.put("Copy file link", "Copiar enlace de archivo");
_rosetta.put("Load DLC container", "Cargar contenedor DLC");
_rosetta.put("Adding folder, please wait...", "Añadiendo carpeta, por favor espera...");
_rosetta.put("PAUSE UPLOAD", "PAUSAR SUBIDA");
_rosetta.put("CANCEL CHECK", "CANCELAR VERIFICACIÓN");
_rosetta.put("Keep temp file", "Conservar archivo temporal");
_rosetta.put("Use HTTP(S) PROXY", "Utilizar PROXY HTTP(S)");;
_rosetta.put("MERGING FILE...", "JUNTANDO ARCHIVO...");
_rosetta.put("Checking MEGA account...", "Comprobando cuenta de MEGA...");
_rosetta.put("Remove selected", "Quitar seleccionado");
_rosetta.put("SAVE", "GUARDAR");
_rosetta.put("New download", "Nueva descarga");
_rosetta.put("New upload", "Nueva subida");
_rosetta.put("New stream", "Nuevo stream");
_rosetta.put("Split file", "Partir un archivo");
_rosetta.put("Merge file", "Juntar las partes de un archivo");
_rosetta.put("Remove all no running downloads", "Cancelar las descargas en espera");
_rosetta.put("Remove all no running uploads", "Cancelar las subidas en espera");
_rosetta.put("Edit", "Edición");
_rosetta.put("Settings", "Ajustes");
_rosetta.put("Help", "Ayuda");
_rosetta.put("About", "Acerca de");
_rosetta.put("Remember for this session", "Recordar durante la sesión");
_rosetta.put("Restore folder data", "Restaurar contenido de la carpeta");
_rosetta.put("Restoring data, please wait...", "Restaurando datos, por favor espera...");
_rosetta.put("File", "Archivo");
_rosetta.put("Hide to tray", "Ocultar en la bandeja");
_rosetta.put("Close all OK finished", "Cerrar todas las terminadas OK");
_rosetta.put("Exit", "Salir");
_rosetta.put("Download folder:", "Carpeta para las descargas:");
_rosetta.put("Default slots per file:", "Slots por archivo por defecto:");
_rosetta.put("Note: if you want to download without using a MEGA PREMIUM account you SHOULD enable it. (Slots consume RAM, so use them moderately).", "Nota: si quieres descargar sin utilizar una cuenta de MEGA PREMIUM es recomendable activarlo. (Los slots consumen RAM, así que úsalos con moderación).");
_rosetta.put("Max speed (KB/s):", "Velocidad máxima (KB/s):");
_rosetta.put("Default account:", "Cuenta por defecto:");
_rosetta.put("TCP Port:", "Puerto TCP:");
_rosetta.put("Note: you MUST \"OPEN\" this port in your router/firewall.", "Nota: es OBLIGATORIO \"ABRIR\" este puerto en tu router/firewall.");
_rosetta.put("Note: enable it in order to mitigate bandwidth limit. (Multi slot required).", "Nota: actívalo para mitigar el límite de descarga de MEGA.");
_rosetta.put("Max parallel downloads:", "Máximas descargas simultáneas:");
_rosetta.put("Max parallel uploads:", "Máximas subidas simultáneas:");
_rosetta.put("Note: slots consume RAM, so use them moderately.", "Nota: los slots consumen RAM, así que úsalos con moderación");
_rosetta.put("Note: you can use a (optional) alias for your email addresses -> bob@supermail.com#bob_mail (don't forget to save after entering your accounts).", "Nota: puedes usar de forma opcional un alias para tus emails -> bob@supermail.com#bob_mail (no te olvides de guardar después de introducir todas tus cuentas).");
_rosetta.put("Your MEGA accounts:", "Tus cuentas de MEGA:");
_rosetta.put("Your ELC accounts:", "Tus cuentas ELC:");
_rosetta.put("Note: restart required.", "Nota: es necesario reiniciar.");
_rosetta.put("Font ZOOM (%):", "Zoom de la fuente (%):");
_rosetta.put("Note: MegaBasterd will use this proxy for ALL connections (restart required).", "Nota: MegaBasterd utilizará este proxy para todas las conexiones (es necesario reiniciar).");
_rosetta.put("Port:", "Puerto:");
_rosetta.put("Settings successfully saved!", "¡Ajustes guardados correctamente!");
_rosetta.put("Settings successfully imported!", "¡Ajustes importados correctamente!");
_rosetta.put("Settings successfully exported!", "¡Ajustes exportados correctamente!");
_rosetta.put("Settings successfully reset!", "¡Ajustes reseteados correctamente!");
_rosetta.put("There were errors with some accounts (email and/or password are/is wrong). Please, check them:\n\n", "Hay errores con algunas cuentas (email y/o contraseña incorrecta). Por favor, revísalas:\n\n");
_rosetta.put("Settings saved", "Ajustes guardados");
_rosetta.put("Settings imported", "Ajustes importados");
_rosetta.put("Settings exported", "Ajustes exportados");
_rosetta.put("Settings reset", "Ajustes reseteados");
_rosetta.put("MegaBasterd will restart", "MegaBasterd se reiniciará");
_rosetta.put("Restart required", "Es necesario reiniciar");
_rosetta.put("File is not readable!", "¡Archivo no accesible!");
_rosetta.put("Folder is not readable!", "¡Carpeta no accesible!");
_rosetta.put("BAD PASSWORD!", "¡CONTRASEÑA INCORRECTA!");
_rosetta.put("Passwords does not match!", "¡Las contraseñas no coinciden!");
_rosetta.put("Please, paste a Mega/MegaCrypter/ELC link!", "Por favor, escribe un enlace de Mega/MegaCrypter/ELC");
_rosetta.put("Yes", "");
_rosetta.put("Cancel", "Cancelar");
_rosetta.put("It seems MegaBasterd is streaming video. Do you want to exit?", "Parece que MegaBasterd está retransmitiendo vídeo. ¿Quieres continuar?");
_rosetta.put("It seems MegaBasterd is provisioning down/uploads.\n\nIf you exit now, unprovisioned down/uploads will be lost.\n\nDo you want to continue?", "Parece que MegaBasterd está provisionando transferencias.\n\nSi sales ahora, todas las transferencias no provisionadas se perderán.\n\n¿Quieres continuar?");
_rosetta.put("It seems MegaBasterd is just finishing uploading some files.\n\nIF YOU EXIT NOW, THOSE UPLOADS WILL FAIL.\n\nDo you want to continue?", "Parece que MegaBasterd está finalizando unas subidas.\n\nSI SALES AHORA, ESAS SUBIDAS FALLARÁN.\n\n¿Quieres continuar?");
_rosetta.put("All your current settings and accounts will be deleted after import. (It is recommended to export your current settings before importing). \n\nDo you want to continue?", "Todos tus ajustes y cuentas actuales se perderán después de importar. (Es recomendable guardar tus ajustes actuales antes de importar otros). ¿Quieres continuar?");
_rosetta.put("Only SAVED settings and accounts will be exported. (If you are unsure, it is better to save your current settings and then export them).\n\nDo you want to continue?", "Sólamente los ajustes GUARDADOS se exportarán. (Si no estás seguro, es mejor que guardes antes tus ajustes y que después vuelvas aquí). ¿Quieres continuar?");
_rosetta.put("Master password will be reset and all your accounts will be removed. (THIS CAN'T BE UNDONE)\n\nDo you want to continue?", "La contraseña maestra será reseteada y todas tus cuentas serán eliminadas. (ESTO NO SE PUEDE DESHACER).\n\n¿Quieres continuar?");
_rosetta.put("ALL YOUR SETTINGS, ACCOUNTS AND TRANSFERENCES WILL BE REMOVED. (THIS CAN'T BE UNDONE)\n\nDo you want to continue?", "TODOS TUS AJUSTES, CUENTAS Y TRANSFERENCIAS SERÁN ELIMINADAS. (ESTO NO SE PUEDE DESHACER)\n\n¿Quieres continuar?");
_rosetta.put("Remove all preprocessing, provisioning and waiting downloads?", "¿Eliminar todas las descargas que no están en ejecución?");
_rosetta.put("Warning!", "¡Atención!");
_rosetta.put("Remove all preprocessing, provisioning and waiting uploads?", "¿Eliminar todas las subidas que no están en ejecución?");
_rosetta.put("Please, enter your master password", "Por favor, ingresa tu contraseña maestra");
_rosetta.put("WARNING: if you forget this password, you will have to insert all your accounts again.", "AVISO: si olvidas esta contraseña, tendrás que volver a insertar todas tus cuentas.");
_rosetta.put("New pass:", "Nueva contraseña:");
_rosetta.put("Confirm new:", "Confirmar nueva contraseña:");
_rosetta.put("Verifying your password, please wait...", "Verificando tu contraseña, por favor espera...");
_rosetta.put("Processing your password, please wait...", "Procesando tu contraseña, por favor espera...");
_rosetta.put("Downloads", "Descargas");
_rosetta.put("Uploads", "Subidas");
_rosetta.put("Accounts", "Cuentas");
_rosetta.put("Advanced", "Avanzado");
_rosetta.put("Language:", "Idioma:");
_rosetta.put("English", "Inglés");
_rosetta.put("Spanish", "Español");
}
public String translate(String orig) {
return _rosetta.containsKey(orig) ? (String) _rosetta.get(orig) : orig;
}
}

View File

@ -63,6 +63,8 @@ public final class LinkGrabberDialog extends javax.swing.JDialog implements Clip
updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor());
translateLabels(getRootPane());
_download = false; _download = false;
_download_path = Paths.get(download_path).toAbsolutePath().normalize().toString(); _download_path = Paths.get(download_path).toAbsolutePath().normalize().toString();

View File

@ -47,12 +47,13 @@ import java.io.File;
*/ */
public final class MainPanel { public final class MainPanel {
public static final String VERSION = "5.17"; public static final String VERSION = "5.18";
public static final int THROTTLE_SLICE_SIZE = 16 * 1024; public static final int THROTTLE_SLICE_SIZE = 16 * 1024;
public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024; public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024;
public static final int STREAMER_PORT = 1337; public static final int STREAMER_PORT = 1337;
public static final int WATCHDOG_PORT = 1338; public static final int WATCHDOG_PORT = 1338;
public static final int DEFAULT_MEGA_PROXY_PORT = 9999; public static final int DEFAULT_MEGA_PROXY_PORT = 9999;
public static final String DEFAULT_LANGUAGE = "EN";
public static final boolean DEFAULT_SMART_PROXY = true; public static final boolean DEFAULT_SMART_PROXY = true;
public static final Font DEFAULT_FONT = createAndRegisterFont("/fonts/Itim-Regular.ttf"); public static final Font DEFAULT_FONT = createAndRegisterFont("/fonts/Itim-Regular.ttf");
public static final float ZOOM_FACTOR = 1.0f; public static final float ZOOM_FACTOR = 1.0f;
@ -66,6 +67,7 @@ public final class MainPanel {
private static String _proxy_pass; private static String _proxy_pass;
private static boolean _use_smart_proxy; private static boolean _use_smart_proxy;
private static SmartMegaProxyManager _proxy_manager; private static SmartMegaProxyManager _proxy_manager;
private static String _language;
public static void main(String args[]) { public static void main(String args[]) {
@ -154,6 +156,12 @@ public final class MainPanel {
UIManager.put("OptionPane.buttonFont", DEFAULT_FONT.deriveFont(13f * getZoom_factor())); UIManager.put("OptionPane.buttonFont", DEFAULT_FONT.deriveFont(13f * getZoom_factor()));
UIManager.put("OptionPane.cancelButtonText", LabelTranslatorSingleton.getInstance().translate("Cancel"));
UIManager.put("OptionPane.yesButtonText", LabelTranslatorSingleton.getInstance().translate("Yes"));
UIManager.put("OptionPane.okButtonText", LabelTranslatorSingleton.getInstance().translate("OK"));
_view = new MainPanelView(this); _view = new MainPanelView(this);
if (checkAppIsRunning()) { if (checkAppIsRunning()) {
@ -263,6 +271,10 @@ public final class MainPanel {
resumeUploads(); resumeUploads();
} }
public static String getLanguage() {
return _language;
}
public static String getProxy_user() { public static String getProxy_user() {
return _proxy_user; return _proxy_user;
} }
@ -640,6 +652,12 @@ public final class MainPanel {
} else { } else {
_use_smart_proxy = DEFAULT_SMART_PROXY; _use_smart_proxy = DEFAULT_SMART_PROXY;
} }
_language = DBTools.selectSettingValue("language");
if (_language == null) {
_language = DEFAULT_LANGUAGE;
}
} }
public boolean checkByeBye() { public boolean checkByeBye() {
@ -649,11 +667,11 @@ public final class MainPanel {
if (!_streamserver.getWorking_threads().isEmpty()) { if (!_streamserver.getWorking_threads().isEmpty()) {
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(getView(), int n = showOptionDialog(getView(),
"It seems MegaBasterd is streaming video. Do you want to exit?", LabelTranslatorSingleton.getInstance().translate("It seems MegaBasterd is streaming video. Do you want to exit?"),
"Warning!", YES_NO_CANCEL_OPTION, QUESTION_MESSAGE, LabelTranslatorSingleton.getInstance().translate("Warning!"), YES_NO_CANCEL_OPTION, QUESTION_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -666,11 +684,11 @@ public final class MainPanel {
} else if (!getDownload_manager().getTransference_provision_queue().isEmpty() || !getUpload_manager().getTransference_provision_queue().isEmpty()) { } else if (!getDownload_manager().getTransference_provision_queue().isEmpty() || !getUpload_manager().getTransference_provision_queue().isEmpty()) {
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(getView(), int n = showOptionDialog(getView(),
"It seems MegaBasterd is provisioning down/uploads.\n\nIf you exit now, unprovisioned down/uploads will be lost.\n\nDo you want to continue?", LabelTranslatorSingleton.getInstance().translate("It seems MegaBasterd is provisioning down/uploads.\n\nIf you exit now, unprovisioned down/uploads will be lost.\n\nDo you want to continue?"),
"Warning!", YES_NO_CANCEL_OPTION, WARNING_MESSAGE, LabelTranslatorSingleton.getInstance().translate("Warning!"), YES_NO_CANCEL_OPTION, WARNING_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -683,11 +701,11 @@ public final class MainPanel {
} else if (!getUpload_manager().getFinishing_uploads_queue().isEmpty()) { } else if (!getUpload_manager().getFinishing_uploads_queue().isEmpty()) {
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(getView(), int n = showOptionDialog(getView(),
"It seems MegaBasterd is just finishing uploading some files.\n\nIF YOU EXIT NOW, THOSE UPLOADS WILL FAIL.\n\nDo you want to continue?", LabelTranslatorSingleton.getInstance().translate("It seems MegaBasterd is just finishing uploading some files.\n\nIF YOU EXIT NOW, THOSE UPLOADS WILL FAIL.\n\nDo you want to continue?"),
"Warning!", YES_NO_CANCEL_OPTION, WARNING_MESSAGE, LabelTranslatorSingleton.getInstance().translate("Warning!"), YES_NO_CANCEL_OPTION, WARNING_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -712,7 +730,7 @@ public final class MainPanel {
} }
if (restart) { if (restart) {
JOptionPane.showMessageDialog(getView(), "MegaBasterd will restart", "Restart required", JOptionPane.WARNING_MESSAGE); JOptionPane.showMessageDialog(getView(), LabelTranslatorSingleton.getInstance().translate("MegaBasterd will restart"), LabelTranslatorSingleton.getInstance().translate("Restart required"), JOptionPane.WARNING_MESSAGE);
restartApplication(1); restartApplication(1);
} else { } else {
exit(0); exit(0);
@ -740,7 +758,7 @@ public final class MainPanel {
} }
if (restart) { if (restart) {
JOptionPane.showMessageDialog(getView(), "MegaBasterd will restart", "Restart required", JOptionPane.WARNING_MESSAGE); JOptionPane.showMessageDialog(getView(), LabelTranslatorSingleton.getInstance().translate("MegaBasterd will restart"), LabelTranslatorSingleton.getInstance().translate("Restart required"), JOptionPane.WARNING_MESSAGE);
restartApplication(1); restartApplication(1);
} else { } else {
exit(0); exit(0);

View File

@ -250,7 +250,7 @@
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0"> <Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Component id="jTabbedPane1" pref="431" max="32767" attributes="0"/> <Component id="jTabbedPane1" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="1" attributes="0"> <Group type="103" groupAlignment="1" attributes="0">
<Component id="logo_label" min="-2" max="-2" attributes="0"/> <Component id="logo_label" min="-2" max="-2" attributes="0"/>

View File

@ -206,6 +206,8 @@ public final class MainPanelView extends javax.swing.JFrame {
updateFonts(getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor()); updateFonts(getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor());
translateLabels(getRootPane());
for (JComponent c : new JComponent[]{global_speed_down_label, global_speed_up_label, down_remtime_label, up_remtime_label, close_all_finished_down_button, close_all_finished_up_button, pause_all_down_button, pause_all_up_button}) { for (JComponent c : new JComponent[]{global_speed_down_label, global_speed_up_label, down_remtime_label, up_remtime_label, close_all_finished_down_button, close_all_finished_up_button, pause_all_down_button, pause_all_up_button}) {
c.setVisible(false); c.setVisible(false);
@ -217,6 +219,9 @@ public final class MainPanelView extends javax.swing.JFrame {
jScrollPane_down.getVerticalScrollBar().setUnitIncrement(20); jScrollPane_down.getVerticalScrollBar().setUnitIncrement(20);
jScrollPane_up.getVerticalScrollBar().setUnitIncrement(20); jScrollPane_up.getVerticalScrollBar().setUnitIncrement(20);
jTabbedPane1.setTitleAt(0, LabelTranslatorSingleton.getInstance().translate("Downloads"));
jTabbedPane1.setTitleAt(1, LabelTranslatorSingleton.getInstance().translate("Uploads"));
pack(); pack();
} }
@ -922,11 +927,11 @@ public final class MainPanelView extends javax.swing.JFrame {
private void clean_all_down_menuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clean_all_down_menuActionPerformed private void clean_all_down_menuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clean_all_down_menuActionPerformed
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(_main_panel.getView(), int n = showOptionDialog(_main_panel.getView(),
"Remove all preprocessing, provisioning and waiting downloads?", LabelTranslatorSingleton.getInstance().translate("Remove all preprocessing, provisioning and waiting downloads?"),
"Warning!", YES_NO_CANCEL_OPTION, QUESTION_MESSAGE, LabelTranslatorSingleton.getInstance().translate("Warning!"), YES_NO_CANCEL_OPTION, QUESTION_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -1090,11 +1095,11 @@ public final class MainPanelView extends javax.swing.JFrame {
private void clean_all_up_menuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clean_all_up_menuActionPerformed private void clean_all_up_menuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clean_all_up_menuActionPerformed
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(_main_panel.getView(), int n = showOptionDialog(_main_panel.getView(),
"Remove all preprocessing, provisioning and waiting uploads?", LabelTranslatorSingleton.getInstance().translate("Remove all preprocessing, provisioning and waiting uploads?"),
"Warning!", YES_NO_CANCEL_OPTION, QUESTION_MESSAGE, LabelTranslatorSingleton.getInstance().translate("Warning!"), YES_NO_CANCEL_OPTION, QUESTION_MESSAGE,
null, null,
options, options,
options[0]); options[0]);

View File

@ -58,6 +58,10 @@ import java.net.HttpURLConnection;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.net.Proxy; import java.net.Proxy;
import java.net.URL; import java.net.URL;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.border.TitledBorder; import javax.swing.border.TitledBorder;
/** /**
@ -252,7 +256,7 @@ public final class MiscTools {
if (component instanceof javax.swing.JMenu) { if (component instanceof javax.swing.JMenu) {
for (Component child : ((javax.swing.JMenu) component).getMenuComponents()) { for (Component child : ((javax.swing.JMenu) component).getMenuComponents()) {
if (child instanceof Container) { if (child instanceof JMenuItem) {
updateFonts(child, font, zoom_factor); updateFonts(child, font, zoom_factor);
} }
@ -276,6 +280,48 @@ public final class MiscTools {
} }
} }
public static void translateLabels(final Component component) {
if (component != null) {
if (component instanceof javax.swing.JLabel) {
((JLabel) component).setText(LabelTranslatorSingleton.getInstance().translate(((JLabel) component).getText()));
} else if (component instanceof javax.swing.JButton) {
((JButton) component).setText(LabelTranslatorSingleton.getInstance().translate(((JButton) component).getText()));
} else if (component instanceof javax.swing.JCheckBox) {
((javax.swing.JCheckBox) component).setText(LabelTranslatorSingleton.getInstance().translate(((javax.swing.JCheckBox) component).getText()));
} else if ((component instanceof JMenuItem) && !(component instanceof JMenu)) {
((JMenuItem) component).setText(LabelTranslatorSingleton.getInstance().translate(((JMenuItem) component).getText()));
} else if (component instanceof JMenu) {
for (Component child : ((JMenu) component).getMenuComponents()) {
if (child instanceof JMenuItem) {
translateLabels(child);
}
}
((JMenu) component).setText(LabelTranslatorSingleton.getInstance().translate(((JMenu) component).getText()));
} else if (component instanceof Container) {
for (Component child : ((Container) component).getComponents()) {
if (child instanceof Container) {
translateLabels(child);
}
}
}
}
}
public static void updateTitledBorderFont(final TitledBorder border, final Font font, final float zoom_factor) { public static void updateTitledBorderFont(final TitledBorder border, final Font font, final float zoom_factor) {
Font old_title_font = border.getTitleFont(); Font old_title_font = border.getTitleFont();

View File

@ -56,6 +56,8 @@ public class SetMasterPasswordDialog extends javax.swing.JDialog {
updateFonts(this.getRootPane(), DEFAULT_FONT, main_panel.getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, main_panel.getZoom_factor());
translateLabels(getRootPane());
_pass_ok = false; _pass_ok = false;
_new_pass = null; _new_pass = null;
@ -207,7 +209,7 @@ public class SetMasterPasswordDialog extends javax.swing.JDialog {
private void ok_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ok_buttonActionPerformed private void ok_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ok_buttonActionPerformed
status_label.setText("Verifying your password, please wait..."); status_label.setText(LabelTranslatorSingleton.getInstance().translate("Verifying your password, please wait..."));
final Dialog tthis = this; final Dialog tthis = this;
@ -220,7 +222,7 @@ public class SetMasterPasswordDialog extends javax.swing.JDialog {
if (Arrays.equals(new_pass_textfield.getPassword(), confirm_pass_textfield.getPassword())) { if (Arrays.equals(new_pass_textfield.getPassword(), confirm_pass_textfield.getPassword())) {
status_label.setText("Processing your password, please wait..."); status_label.setText(LabelTranslatorSingleton.getInstance().translate("Processing your password, please wait..."));
if (new_pass_textfield.getPassword().length > 0) { if (new_pass_textfield.getPassword().length > 0) {
@ -235,7 +237,7 @@ public class SetMasterPasswordDialog extends javax.swing.JDialog {
} else { } else {
JOptionPane.showMessageDialog(tthis, "Passwords does not match!", "Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Passwords does not match!"), "Error", JOptionPane.ERROR_MESSAGE);
status_label.setText(""); status_label.setText("");

View File

@ -176,7 +176,7 @@
<Component id="megacrypter_reverse_warning_label" max="32767" attributes="0"/> <Component id="megacrypter_reverse_warning_label" max="32767" attributes="0"/>
<Group type="102" attributes="0"> <Group type="102" attributes="0">
<Component id="rec_download_slots_label" min="-2" max="-2" attributes="0"/> <Component id="rec_download_slots_label" min="-2" max="-2" attributes="0"/>
<EmptySpace min="0" pref="27" max="32767" attributes="0"/> <EmptySpace min="0" pref="31" max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
</Group> </Group>
@ -319,7 +319,7 @@
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Dialog" size="14" style="2"/> <Font name="Dialog" size="14" style="2"/>
</Property> </Property>
<Property name="text" type="java.lang.String" value="Note: if you want to download without using a MEGA PREMIUM account you SHOULD enable it. (Slots consume RAM, so use them moderately). "/> <Property name="text" type="java.lang.String" value="Note: if you want to download without using a MEGA PREMIUM account you SHOULD enable it. (Slots consume RAM, so use them moderately)."/>
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JCheckBox" name="megacrypter_reverse_checkbox"> <Component class="javax.swing.JCheckBox" name="megacrypter_reverse_checkbox">
@ -1024,21 +1024,31 @@
<DimensionLayout dim="0"> <DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0"> <Group type="102" attributes="0">
<EmptySpace min="-2" max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="proxy_panel" max="32767" attributes="0"/> <Component id="proxy_panel" max="32767" attributes="0"/>
<Group type="102" alignment="1" attributes="0"> <Group type="102" alignment="1" attributes="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0"> <Group type="102" alignment="0" attributes="0">
<Component id="zoom_label" min="-2" max="-2" attributes="0"/> <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/> <EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="zoom_spinner" min="-2" max="-2" attributes="0"/> <Component id="language_combo" max="32767" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<Component id="zoom_label" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="zoom_spinner" min="-2" max="-2" attributes="0"/>
</Group>
<Component id="rec_zoom_label" alignment="0" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
</Group> </Group>
<Component id="rec_zoom_label" alignment="0" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace type="separate" max="-2" attributes="0"/> <EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="jSeparator2" min="-2" pref="50" max="-2" attributes="0"/> <Component id="jSeparator2" min="-2" pref="50" max="-2" attributes="0"/>
<EmptySpace pref="270" max="32767" attributes="0"/> <EmptySpace min="-2" pref="136" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0"> <Group type="103" groupAlignment="0" max="-2" attributes="0">
<Group type="102" attributes="0"> <Group type="102" attributes="0">
<Component id="import_settings_button" min="-2" max="-2" attributes="0"/> <Component id="import_settings_button" min="-2" max="-2" attributes="0"/>
@ -1050,7 +1060,7 @@
</Group> </Group>
<Component id="jSeparator1" alignment="0" max="32767" attributes="0"/> <Component id="jSeparator1" alignment="0" max="32767" attributes="0"/>
</Group> </Group>
<EmptySpace min="-2" max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
@ -1058,7 +1068,7 @@
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0"> <Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" max="-2" attributes="0"/> <EmptySpace min="-2" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0"> <Group type="102" attributes="0">
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="export_settings_button" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="export_settings_button" alignment="3" min="-2" max="-2" attributes="0"/>
@ -1068,9 +1078,17 @@
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="jButton1" min="-2" max="-2" attributes="0"/> <Component id="jButton1" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="rec_zoom_label" min="-2" max="-2" attributes="0"/> <Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="language_combo" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Component id="rec_zoom_label" min="-2" max="-2" attributes="0"/>
</Group>
</Group> </Group>
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
</Group> </Group>
<Component id="jSeparator2" max="32767" attributes="0"/> <Component id="jSeparator2" max="32767" attributes="0"/>
</Group> </Group>
@ -1078,7 +1096,7 @@
<Component id="jSeparator1" min="-2" max="-2" attributes="0"/> <Component id="jSeparator1" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" min="-2" max="-2" attributes="0"/> <EmptySpace type="separate" min="-2" max="-2" attributes="0"/>
<Component id="proxy_panel" min="-2" max="-2" attributes="0"/> <Component id="proxy_panel" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="192" max="32767" attributes="0"/> <EmptySpace pref="172" max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
@ -1375,6 +1393,27 @@
<Property name="orientation" type="int" value="1"/> <Property name="orientation" type="int" value="1"/>
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JLabel" name="jLabel2">
<Properties>
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Dialog" size="18" style="1"/>
</Property>
<Property name="text" type="java.lang.String" value="Language:"/>
</Properties>
</Component>
<Component class="javax.swing.JComboBox" name="language_combo">
<Properties>
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Dialog" size="18" style="1"/>
</Property>
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
<StringArray count="0"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
</AuxValues>
</Component>
</SubComponents> </SubComponents>
</Container> </Container>
</SubComponents> </SubComponents>

View File

@ -80,6 +80,16 @@ public final class SettingsDialog extends javax.swing.JDialog {
updateTitledBorderFont(((javax.swing.border.TitledBorder) proxy_auth_panel.getBorder()), DEFAULT_FONT, _main_panel.getZoom_factor()); updateTitledBorderFont(((javax.swing.border.TitledBorder) proxy_auth_panel.getBorder()), DEFAULT_FONT, _main_panel.getZoom_factor());
translateLabels(getRootPane());
jTabbedPane1.setTitleAt(0, LabelTranslatorSingleton.getInstance().translate("Downloads"));
jTabbedPane1.setTitleAt(1, LabelTranslatorSingleton.getInstance().translate("Uploads"));
jTabbedPane1.setTitleAt(2, LabelTranslatorSingleton.getInstance().translate("Accounts"));
jTabbedPane1.setTitleAt(3, LabelTranslatorSingleton.getInstance().translate("Advanced"));
downloads_scroll_pane.getVerticalScrollBar().setUnitIncrement(20); downloads_scroll_pane.getVerticalScrollBar().setUnitIncrement(20);
downloads_scroll_pane.getHorizontalScrollBar().setUnitIncrement(20); downloads_scroll_pane.getHorizontalScrollBar().setUnitIncrement(20);
@ -459,6 +469,22 @@ public final class SettingsDialog extends javax.swing.JDialog {
proxy_pass_textfield.setText(DBTools.selectSettingValue("proxy_pass")); proxy_pass_textfield.setText(DBTools.selectSettingValue("proxy_pass"));
String language = DBTools.selectSettingValue("language");
this.language_combo.addItem(LabelTranslatorSingleton.getInstance().translate("English"));
this.language_combo.addItem(LabelTranslatorSingleton.getInstance().translate("Spanish"));
if (language == null) {
language = MainPanel.DEFAULT_LANGUAGE;
}
if (language.equals("EN")) {
this.language_combo.setSelectedItem(LabelTranslatorSingleton.getInstance().translate("English"));
} else if (language.equals("ES")) {
this.language_combo.setSelectedItem(LabelTranslatorSingleton.getInstance().translate("Spanish"));
}
_remember_master_pass = true; _remember_master_pass = true;
_deleted_mega_accounts = new HashSet(); _deleted_mega_accounts = new HashSet();
@ -563,6 +589,8 @@ public final class SettingsDialog extends javax.swing.JDialog {
jButton1 = new javax.swing.JButton(); jButton1 = new javax.swing.JButton();
jSeparator1 = new javax.swing.JSeparator(); jSeparator1 = new javax.swing.JSeparator();
jSeparator2 = new javax.swing.JSeparator(); jSeparator2 = new javax.swing.JSeparator();
jLabel2 = new javax.swing.JLabel();
language_combo = new javax.swing.JComboBox<>();
status = new javax.swing.JLabel(); status = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
@ -599,7 +627,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
megacrypter_reverse_warning_label.setText("Note: you MUST \"OPEN\" this port in your router/firewall."); megacrypter_reverse_warning_label.setText("Note: you MUST \"OPEN\" this port in your router/firewall.");
rec_download_slots_label.setFont(new java.awt.Font("Dialog", 2, 14)); // NOI18N rec_download_slots_label.setFont(new java.awt.Font("Dialog", 2, 14)); // NOI18N
rec_download_slots_label.setText("Note: if you want to download without using a MEGA PREMIUM account you SHOULD enable it. (Slots consume RAM, so use them moderately). "); rec_download_slots_label.setText("Note: if you want to download without using a MEGA PREMIUM account you SHOULD enable it. (Slots consume RAM, so use them moderately).");
megacrypter_reverse_checkbox.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N megacrypter_reverse_checkbox.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
megacrypter_reverse_checkbox.setText("Use MegaCrypter reverse mode"); megacrypter_reverse_checkbox.setText("Use MegaCrypter reverse mode");
@ -717,7 +745,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
.addComponent(megacrypter_reverse_warning_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(megacrypter_reverse_warning_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createSequentialGroup() .addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(rec_download_slots_label) .addComponent(rec_download_slots_label)
.addGap(0, 27, Short.MAX_VALUE)))) .addGap(0, 31, Short.MAX_VALUE))))
.addGroup(jPanel3Layout.createSequentialGroup() .addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup() .addGroup(jPanel3Layout.createSequentialGroup()
@ -1296,6 +1324,11 @@ public final class SettingsDialog extends javax.swing.JDialog {
jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL); jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL);
jLabel2.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
jLabel2.setText("Language:");
language_combo.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
javax.swing.GroupLayout advanced_panelLayout = new javax.swing.GroupLayout(advanced_panel); javax.swing.GroupLayout advanced_panelLayout = new javax.swing.GroupLayout(advanced_panel);
advanced_panel.setLayout(advanced_panelLayout); advanced_panel.setLayout(advanced_panelLayout);
advanced_panelLayout.setHorizontalGroup( advanced_panelLayout.setHorizontalGroup(
@ -1307,13 +1340,20 @@ public final class SettingsDialog extends javax.swing.JDialog {
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, advanced_panelLayout.createSequentialGroup() .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, advanced_panelLayout.createSequentialGroup()
.addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(advanced_panelLayout.createSequentialGroup() .addGroup(advanced_panelLayout.createSequentialGroup()
.addComponent(zoom_label) .addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(zoom_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(language_combo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(rec_zoom_label)) .addGroup(advanced_panelLayout.createSequentialGroup()
.addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(advanced_panelLayout.createSequentialGroup()
.addComponent(zoom_label)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(zoom_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(rec_zoom_label))
.addGap(0, 0, Short.MAX_VALUE)))
.addGap(18, 18, 18) .addGap(18, 18, 18)
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 270, Short.MAX_VALUE) .addGap(136, 136, 136)
.addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(advanced_panelLayout.createSequentialGroup() .addGroup(advanced_panelLayout.createSequentialGroup()
.addComponent(import_settings_button) .addComponent(import_settings_button)
@ -1327,7 +1367,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(advanced_panelLayout.createSequentialGroup() .addGroup(advanced_panelLayout.createSequentialGroup()
.addContainerGap() .addContainerGap()
.addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(advanced_panelLayout.createSequentialGroup() .addGroup(advanced_panelLayout.createSequentialGroup()
.addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(export_settings_button) .addComponent(export_settings_button)
@ -1337,13 +1377,19 @@ public final class SettingsDialog extends javax.swing.JDialog {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1) .addComponent(jButton1)
.addComponent(rec_zoom_label))) .addGroup(advanced_panelLayout.createSequentialGroup()
.addGroup(advanced_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(language_combo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(rec_zoom_label)))
.addGap(6, 6, 6))
.addComponent(jSeparator2)) .addComponent(jSeparator2))
.addGap(18, 18, 18) .addGap(18, 18, 18)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18) .addGap(18, 18, 18)
.addComponent(proxy_panel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(proxy_panel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(192, Short.MAX_VALUE)) .addContainerGap(172, Short.MAX_VALUE))
); );
jTabbedPane1.addTab("Advanced", new javax.swing.ImageIcon(getClass().getResource("/images/icons8-administrative-tools-30.png")), advanced_panel); // NOI18N jTabbedPane1.addTab("Advanced", new javax.swing.ImageIcon(getClass().getResource("/images/icons8-administrative-tools-30.png")), advanced_panel); // NOI18N
@ -1421,6 +1467,22 @@ public final class SettingsDialog extends javax.swing.JDialog {
settings.put("megacrypter_reverse_port", String.valueOf(megacrypter_reverse_port_spinner.getValue())); settings.put("megacrypter_reverse_port", String.valueOf(megacrypter_reverse_port_spinner.getValue()));
settings.put("smart_proxy", smart_proxy_checkbox.isSelected() ? "yes" : "no"); settings.put("smart_proxy", smart_proxy_checkbox.isSelected() ? "yes" : "no");
String old_language = DBTools.selectSettingValue("language");
if (old_language == null) {
old_language = MainPanel.DEFAULT_LANGUAGE;
}
String language = (String) language_combo.getSelectedItem();
if (language.equals(LabelTranslatorSingleton.getInstance().translate("English"))) {
language = "EN";
} else if (language.equals(LabelTranslatorSingleton.getInstance().translate("Spanish"))) {
language = "ES";
}
settings.put("language", language);
String old_zoom = DBTools.selectSettingValue("font_zoom"); String old_zoom = DBTools.selectSettingValue("font_zoom");
if (old_zoom == null) { if (old_zoom == null) {
@ -1485,7 +1547,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
insertSettingsValues(settings); insertSettingsValues(settings);
if (!zoom.equals(old_zoom) if (!language.equals(old_language) || !zoom.equals(old_zoom)
|| use_proxy != old_use_proxy || use_proxy != old_use_proxy
|| !proxy_host.equals(old_proxy_host) || !proxy_host.equals(old_proxy_host)
|| !proxy_port.equals(old_proxy_port) || !proxy_port.equals(old_proxy_port)
@ -1721,7 +1783,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
pack(); pack();
JOptionPane.showMessageDialog(tthis, "There were errors with some accounts (email and/or password are/is wrong). Please, check them:\n\n" + final_email_error, "Mega Account Check Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("There were errors with some accounts (email and/or password are/is wrong). Please, check them:\n\n") + final_email_error, "Mega Account Check Error", JOptionPane.ERROR_MESSAGE);
save_button.setEnabled(true); save_button.setEnabled(true);
@ -1755,7 +1817,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
@Override @Override
public void run() { public void run() {
status.setText(""); status.setText("");
JOptionPane.showMessageDialog(tthis, "Settings successfully saved!", "Settings saved", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Settings successfully saved!"), LabelTranslatorSingleton.getInstance().translate("Settings saved"), JOptionPane.INFORMATION_MESSAGE);
_settings_ok = true; _settings_ok = true;
setDefaultCloseOperation(DISPOSE_ON_CLOSE); setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setVisible(false); setVisible(false);
@ -1767,7 +1829,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
} else { } else {
JOptionPane.showMessageDialog(this, "Settings successfully saved!", "Settings saved", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("Settings successfully saved!"), LabelTranslatorSingleton.getInstance().translate("Settings saved"), JOptionPane.INFORMATION_MESSAGE);
_settings_ok = true; _settings_ok = true;
setDefaultCloseOperation(DISPOSE_ON_CLOSE); setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setVisible(false); setVisible(false);
@ -1798,11 +1860,11 @@ public final class SettingsDialog extends javax.swing.JDialog {
private void import_settings_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_import_settings_buttonActionPerformed private void import_settings_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_import_settings_buttonActionPerformed
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(this, int n = showOptionDialog(this,
"All your current settings and accounts will be deleted after import. (It is recommended to export your current settings before importing). \n\nDo you want to continue?", LabelTranslatorSingleton.getInstance().translate("All your current settings and accounts will be deleted after import. (It is recommended to export your current settings before importing). \n\nDo you want to continue?"),
"IMPORT SETTINGS", YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE, LabelTranslatorSingleton.getInstance().translate("IMPORT SETTINGS"), YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -1830,7 +1892,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
_main_panel.loadUserSettings(); _main_panel.loadUserSettings();
JOptionPane.showMessageDialog(this, "Settings successfully imported!", "Settings imported", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("Settings successfully imported!"), LabelTranslatorSingleton.getInstance().translate("Settings imported"), JOptionPane.INFORMATION_MESSAGE);
_settings_ok = true; _settings_ok = true;
@ -1851,11 +1913,11 @@ public final class SettingsDialog extends javax.swing.JDialog {
private void export_settings_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_export_settings_buttonActionPerformed private void export_settings_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_export_settings_buttonActionPerformed
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(this, int n = showOptionDialog(this,
"Only SAVED settings and accounts will be exported. (If you are unsure, it is better to save your current settings and then export them).\n\nDo you want to continue?", LabelTranslatorSingleton.getInstance().translate("Only SAVED settings and accounts will be exported. (If you are unsure, it is better to save your current settings and then export them).\n\nDo you want to continue?"),
"EXPORT SETTINGS", YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE, LabelTranslatorSingleton.getInstance().translate("EXPORT SETTINGS"), YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -1889,7 +1951,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
oos.writeObject(settings); oos.writeObject(settings);
JOptionPane.showMessageDialog(this, "Settings successfully exported!", "Settings exported", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("Settings successfully exported!"), LabelTranslatorSingleton.getInstance().translate("Settings exported"), JOptionPane.INFORMATION_MESSAGE);
setVisible(false); setVisible(false);
@ -2047,11 +2109,11 @@ public final class SettingsDialog extends javax.swing.JDialog {
private void delete_all_accounts_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_delete_all_accounts_buttonActionPerformed private void delete_all_accounts_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_delete_all_accounts_buttonActionPerformed
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(this, int n = showOptionDialog(this,
"Master password will be reset and all your accounts will be removed. (THIS CAN'T BE UNDONE)\n\nDo you want to continue?", LabelTranslatorSingleton.getInstance().translate("Master password will be reset and all your accounts will be removed. (THIS CAN'T BE UNDONE)\n\nDo you want to continue?"),
"RESET ACCOUNTS", YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE, LabelTranslatorSingleton.getInstance().translate("RESET ACCOUNTS"), YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -2117,7 +2179,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
_main_panel.getElc_accounts().clear(); _main_panel.getElc_accounts().clear();
JOptionPane.showMessageDialog(this, "Accounts successfully reset!", "Accounts reset", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("Accounts successfully reset!"), LabelTranslatorSingleton.getInstance().translate("Accounts reset"), JOptionPane.INFORMATION_MESSAGE);
setVisible(false); setVisible(false);
@ -2428,11 +2490,11 @@ public final class SettingsDialog extends javax.swing.JDialog {
// TODO add your handling code here: // TODO add your handling code here:
Object[] options = {"No", Object[] options = {"No",
"Yes"}; LabelTranslatorSingleton.getInstance().translate("Yes")};
int n = showOptionDialog(this, int n = showOptionDialog(this,
"ALL YOUR SETTINGS, ACCOUNTS AND TRANSFERENCES WILL BE REMOVED. (THIS CAN'T BE UNDONE)\n\nDo you want to continue?", LabelTranslatorSingleton.getInstance().translate("ALL YOUR SETTINGS, ACCOUNTS AND TRANSFERENCES WILL BE REMOVED. (THIS CAN'T BE UNDONE)\n\nDo you want to continue?"),
"RESET MEGABASTERD", YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE, LabelTranslatorSingleton.getInstance().translate("RESET MEGABASTERD"), YES_NO_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE,
null, null,
options, options,
options[0]); options[0]);
@ -2469,6 +2531,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
private javax.swing.JButton import_settings_button; private javax.swing.JButton import_settings_button;
private javax.swing.JButton jButton1; private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel3;
private javax.swing.JProgressBar jProgressBar1; private javax.swing.JProgressBar jProgressBar1;
private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator1;
@ -2483,6 +2546,7 @@ public final class SettingsDialog extends javax.swing.JDialog {
private javax.swing.JSeparator jSeparator8; private javax.swing.JSeparator jSeparator8;
private javax.swing.JSeparator jSeparator9; private javax.swing.JSeparator jSeparator9;
private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JComboBox<String> language_combo;
private javax.swing.JCheckBox limit_download_speed_checkbox; private javax.swing.JCheckBox limit_download_speed_checkbox;
private javax.swing.JCheckBox limit_upload_speed_checkbox; private javax.swing.JCheckBox limit_upload_speed_checkbox;
private javax.swing.JLabel max_down_speed_label; private javax.swing.JLabel max_down_speed_label;

View File

@ -52,6 +52,8 @@ public final class StreamerDialog extends javax.swing.JDialog implements Clipboa
updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, _main_panel.getZoom_factor());
translateLabels(getRootPane());
_clipboardspy = clipboardspy; _clipboardspy = clipboardspy;
_selected_item = null; _selected_item = null;
@ -247,7 +249,7 @@ public final class StreamerDialog extends javax.swing.JDialog implements Clipboa
if (error) { if (error) {
JOptionPane.showMessageDialog(tthis, "Please, paste a Mega/MegaCrypter/ELC link!", "Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("Please, paste a Mega/MegaCrypter/ELC link!"), "Error", JOptionPane.ERROR_MESSAGE);
original_link_textfield.setText(""); original_link_textfield.setText("");

View File

@ -84,6 +84,8 @@ public final class UploadView extends javax.swing.JPanel implements Transference
updateFonts(this, DEFAULT_FONT, upload.getMain_panel().getZoom_factor()); updateFonts(this, DEFAULT_FONT, upload.getMain_panel().getZoom_factor());
translateLabels(getRootPane());
_upload = upload; _upload = upload;
slots_spinner.setModel(new SpinnerNumberModel(_upload.getMain_panel().getDefault_slots_up(), MIN_WORKERS, MAX_WORKERS, 1)); slots_spinner.setModel(new SpinnerNumberModel(_upload.getMain_panel().getDefault_slots_up(), MIN_WORKERS, MAX_WORKERS, 1));

View File

@ -17,6 +17,7 @@
package com.tonikelope.megabasterd; package com.tonikelope.megabasterd;
import static com.tonikelope.megabasterd.MainPanel.DEFAULT_FONT; import static com.tonikelope.megabasterd.MainPanel.DEFAULT_FONT;
import static com.tonikelope.megabasterd.MiscTools.translateLabels;
import static com.tonikelope.megabasterd.MiscTools.updateFonts; import static com.tonikelope.megabasterd.MiscTools.updateFonts;
/** /**
@ -37,6 +38,8 @@ public class WarningExitMessage extends javax.swing.JDialog {
updateFonts(this.getRootPane(), DEFAULT_FONT, main_panel.getZoom_factor()); updateFonts(this.getRootPane(), DEFAULT_FONT, main_panel.getZoom_factor());
translateLabels(getRootPane());
_main_panel = main_panel; _main_panel = main_panel;
_restart = restart; _restart = restart;