new xml Tag for en and de (#708)

* new xml Tag for en and de

* add linux support for env LANG

* precopiled header into TrueCrypt.fdp to substitute '_()' with 'LangString[]'

* more LangString in Code

* add Language xml's to Linux Setup location

* backup language for linux is en

* remove Language.en.xml install

* rearange new xml lines to end

* yes/no dialogs now translated

* All OK/Cancel Button now support international

Co-authored-by: tb@tbon.de <tb@tbon.de>
This commit is contained in:
T-Bonhagen 2020-12-11 18:42:59 +01:00 committed by GitHub
parent cb7adbfa26
commit 38ad7650ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 3891 additions and 2654 deletions

View File

@ -1449,6 +1449,125 @@
<entry lang="de" key="IDC_FORCE_VERACRYPT_FIRST_BOOT_ENTRY">VeraCrypt als ersten Eintrag im EFI-Firmware-Bootmenü erzwingen</entry>
<entry lang="de" key="RAM_ENCRYPTION_DISABLE_HIBERNATE">WARNUNG: Die RAM-Verschlüsselung ist nicht kompatibel mit den Windows-Funktionen Ruhezustand und Schnellstart. VeraCrypt muss sie deaktivieren, bevor die RAM-Verschlüsselung aktiviert wird.\n\nFortfahren?</entry>
<entry lang="de" key="CONFIRM_DISABLE_FAST_STARTUP">WARNUNG: Der Windows-Schnellstart ist aktiviert und es ist bekannt, dass er Probleme bei der Arbeit mit VeraCrypt-Volumes verursacht. Es wird empfohlen, ihn für eine bessere Sicherheit und Benutzerfreundlichkeit zu deaktivieren.\n\nMöchten Sie den Windows-Schnellstart deaktivieren?</entry>
<entry lang="de" key="QUICK_FORMAT_HELP">Damit das neue Volumen im Betriebsystem eingehängt werden kann, muß es mit einem Dateisystem formatiert werden. Bitte wählen Sie einen Typ aus.\n\nWenn das Volumen auf einem Laufwerk oder einer Partition liegt, kann 'Schnell-Formatierung' gewählt werden um die Verschlüsselung des freien Speicherplatz zu überspringen.</entry>
<entry lang="de" key="IDC_ENABLE_HARDWARE_ENCRYPTION_NEG">AES-Verschlüsselung nicht beschleunigen durch Nutzung der AES-Befehle des Prozessors</entry>
<entry lang="de" key="IDM_ADD_ALL_VOLUME_TO_FAVORITES">Alle eingebundenen Volumen zu Favoriten hinzufügen...</entry>
<entry lang="de" key="TASKICON_PREF_MENU_ITEMS">Taskleistensymbol</entry>
<entry lang="de" key="TASKICON_PREF_OPEN_VOL">Eingehängte Volumen öffnen</entry>
<entry lang="de" key="TASKICON_PREF_DISMOUNT_VOL">Eingehängte Volumen trennen</entry>
<entry lang="de" key="MOUNT_POINT">Einhängepunkt</entry>
<entry lang="de" key="DISK_FREE">Freier Speicherplatz: {0}</entry>
<entry lang="de" key="VOLUME_SIZE_HELP">Bitte Größe des zu erstellenden Containers angeben. Hinweis: die Mindestgröße eines Volumes ist 292 KiB.</entry>
<entry lang="de" key="LINUX_CONFIRM_INNER_VOLUME_CALC">WARNUNG: Sie haben nicht das Dateisystem FAT für das äußere Volumen ausgewählt. Bitte beachten Sie, dass VeraCrypt derzeit nicht die exakte maximale Größe des versteckten Volumen bestimmen kann und diese nur, möglicherweise falsch, abschätzt. Es liegt deshalb in Ihrer Verantwortung eine angemessene Größe für das versteckte Volumen zu wählen um eine Überlappung mit dem äußeren Volumen zu verhindern.\n\nMöchten Sie trotzdem mit dem ausgewählten Dateisystem für das äußere Volumen fortfahren?</entry>
<entry lang="de" key="LINUX_PREF_TAB_SECURITY">Sicherheit</entry>
<entry lang="de" key="LINUX_PREF_TAB_MOUNT_OPTIONS">Einbinden</entry>
<entry lang="de" key="LINUX_PREF_TAB_BACKGROUND_TASK">Hintergrunddienst</entry>
<entry lang="de" key="LINUX_PREF_TAB_SYSTEM_INTEGRATION">Systemintegration</entry>
<entry lang="de" key="LINUX_PREF_TAB_SYSTEM_INTEGRATION_EXPLORER">Dateiverwaltung</entry>
<entry lang="de" key="LINUX_PREF_TAB_PERFORMANCE">Leistung</entry>
<entry lang="de" key="LINUX_PREF_TAB_KEYFILES">Schlüsseldatein</entry>
<entry lang="de" key="LINUX_PREF_TAB_TOKENS">Sicherheitstoken</entry>
<entry lang="de" key="LINUX_PREF_KERNEL_SERVICES">Kernel-Dienste</entry>
<entry lang="de" key="LINUX_PREF_KERNEL_CRYPT">Kryptografiedienste des Kernel nicht verwenden</entry>
<entry lang="de" key="LINUX_PREF_TAB_MOUNT_OPTIONS_FS">Dateisystem</entry>
<entry lang="de" key="IDT_LINUX_PREF_TAB_MOUNT_OPTIONS">Einbindungsoptionen:</entry>
<entry lang="de" key="LINUX_CROSS_SUPPORT">Plattformunabhängigkeit</entry>
<entry lang="de" key="LINUX_CROSS_SUPPORT_OTHER">I werde das Volumen plattformübergreifend nutzen</entry>
<entry lang="de" key="LINUX_CROSS_SUPPORT_OTHER_HELP">Wählen Sie diese Option, wenn Sie das Volumen auf anderen Platformen einhängen können müssen.</entry>
<entry lang="de" key="LINUX_CROSS_SUPPORT_ONLY">I werde diese Volumen nur unter {0} einhängen</entry>
<entry lang="de" key="LINUX_CROSS_SUPPORT_ONLY_HELP">Wählen Sie diese Option, wenn Sie das Volumen nicht auf anderen Platformen einhängen können müssen.</entry>
<entry lang="en" key="LINUX_DESELECT">Abwählen</entry>
<entry lang="de" key="LINUX_ADMIN_PW_QUERY">Benutzer- oder Administrator-Passwort eingeben:</entry>
<entry lang="de" key="LINUX_ADMIN_PW_QUERY_TITLE">Administrator Privilegien erforderlich</entry>
<entry lang="de" key="LINUX_VC_RUNNING_ALREADY">VeraCrypt wird bereits ausgeführt.</entry>
<entry lang="de" key="LINUX_SYSTEM_ENC_PW_LENGTH_NOTE">Das Passwort für die Systemverschlüsselung ist länger als {0} Zeichen.</entry>
<entry lang="de" key="LINUX_MOUNT_SYSTEM_ENC_PREBOOT">Partition mithilfe der Sytemverschlüsselung einbinden(Preboot Authentifizierung)</entry>
<entry lang="de" key="LINUX_DO_NOT_MOUNT">Nicht einbinden</entry>
<entry lang="de" key="LINUX_MOUNT_AT_DIR">Einbinden als Verzeichnis:</entry>
<entry lang="de" key="LINUX_SELECT">Auswählen...</entry>
<entry lang="de" key="LINUX_DISMOUNT_ALL_WHEN">Alle Volumen aushängen wenn</entry>
<entry lang="de" key="LINUX_ENTERING_POWERSAVING">System betritt Energiesparmodus</entry>
<entry lang="de" key="LINUX_LOGIN_ACTION">Aktionen beim anmelden ausführen</entry>
<entry lang="de" key="LINUX_CLOSE_EXPL_ON_DISMOUNT">Alle Explorer Fenster schließen wenn Volumen ausgehänt wird</entry>
<entry lang="de" key="LINUX_HOTKEYS">Tastenkombinationen</entry>
<entry lang="de" key="LINUX_SYSTEM_HOTKEYS">Systemweite Tastenkombinationen</entry>
<entry lang="de" key="LINUX_SOUND_NOTIFICATION">Systembenachichtigungston wird beim ein- und aushängen abgespielt</entry>
<entry lang="de" key="LINUX_CONFIRM_AFTER_DISMOUNT">Bestätigungsnachricht nach dem aushängen anzeigen</entry>
<entry lang="de" key="LINUX_VC_QUITS">VeraCrypt beendet</entry>
<entry lang="de" key="LINUX_OPEN_FINDER">Finder Fenster nach erfolgreichem einbinden öffnen</entry>
<entry lang="de" key="LINUX_DISABLE_KERNEL_ONLY_SETTING">Bitte beachten Sie, dass diese Einstellungen nur bei deaktivierten Kernel-Kryptographidienst wirksam werden.</entry>
<entry lang="de" key="LINUX_DISABLE_KERNEL_CRYPT_CONFIRM">Das deaktivierten des Kernel-Kryptographidienstes kann die Leistung reduzieren.\n\nSind Sie sicher?</entry>
<entry lang="de" key="LINUX_KERNEL_CRYPT_OPTION_CHANGE_MOUNTED_HINT">Bitte beachten Sie, dass das deaktivierten dieser Einstellungen möglicherwiese keine Auswirkung auf mit Hilfe des Kernel-Kryptographidienst eingehängten Volumens hat.</entry>
<entry lang="de" key="LINUX_REMOUNT_BECAUSEOF_SETTING">Bitte beachten Sie, dass alle eingehängten Volumen neu einhänget werden müssen bevor diese Einstellungen genutzt werden können</entry>
<entry lang="de" key="LINUX_UNKNOWN_EXC_OCCURRED">Unbekannte Ausnahme aufgetreten.</entry>
<entry lang="de" key="LINUX_FIRST_AID">Das Laufwerk Werkzeug wird nach dem drücken von 'OK' geladen.\n\nBitte wählen Sie das Volumen im Werkzeug aus und drücken 'Laufwerk verifizieren' oder 'Laufwerk reparieren' auf der 'Erste Hilfe' Seite</entry>
<entry lang="de" key="LINUX_MOUNT_ALL_DEV">Alle Geräte einhängen</entry>
<entry lang="de" key="LINUX_ERROR_LOADING_CONFIG">Es ist ein Fehler aufgetreten beim lader der Konfigurationdatein aus </entry>
<entry lang="de" key="LINUX_SELECT_FREE_SLOT">Bitte einen freien Laufwerksplatz aus der Liste wählen.</entry>
<entry lang="de" key="LINUX_MESSAGE_ON_MOUNT_AGAIN">\n\nSoll die Meldung beim nächten einhängen eines solchen Volumes wieder angezeigt werden?</entry>
<entry lang="de" key="LINUX_WARNING">Warnung</entry>
<entry lang="de" key="LINUX_ERROR"></entry>
<entry lang="de" key="LINUX_ONLY_TEXTMODE">Diese Merkmal wird nur im Text-Modus unterstützt.</entry>
<entry lang="de" key="LINUX_FREE_SPACE_ON_DRIVE">Freier Speicherplatz auf Laufwerk {0}: ist {1}.</entry>
<entry lang="de" key="LINUX_DYNAMIC_NOTICE">Bitte beachten Sie, falls Ihr Betriebsystem Speicherplatz nicht vom Beginn des Verzeichnissystems an belegt, ist der maximale Speicherplatz im versteckten Volumen viel weniger als der Platz des Äusseren Volumen. Dies ist kein Fehler in VeraCrypt, sondern eine Limitierung des Betriebsystems.</entry>
<entry lang="de" key="LINUX_MAX_HIDDEN_SIZE">Maximal möglicher Speicherplatz im versteckten Volumen ist {0}.</entry>
<entry lang="de" key="LINUX_OPEN_OUTER_VOL">Öffne Äusseres Volumen</entry>
<entry lang="de" key="LINUX_OUTER_VOL_IS_MOUNTED">Das äußere Volume wurde erfolgreich erstellt und als '{0}' eingebunden. Jetzt müssen Sie noch einige sensibel aussehende Alibi-Dateien auf dieses Volume kopieren. Diese Dateien sind für Personen bestimmt welche die Herausgabe des Passwortes erzwingen möchten. Diesen Personen offenbaren Sie nur das Passwort des äußeren, nicht aber das des versteckten Volumes. Die wirklich wichtigen Dateien speichern Sie in das (noch zu erstellende) versteckte Volume. Klicken Sie nach dem Kopieren der Alibi-Dateien auf „Weiter“, ohne zuvor das Volume zu trennen. Es erfolgt dann eine Analyse der Clusterbelegung des äußeren Volumes, um festzustellen, wie viel freier zusammenhängender Speicher vom Ende des Volumes aus verfügbar ist. Dieser Bereich wird für die Unterbringung des versteckten Volumes verwendet. Die Analyse der Clusterbelegung stellt sicher, dass keine Daten des äußeren Volumes durch das versteckte Volume überschrieben werden.</entry>
<entry lang="de" key="LINUX_ERROR_TRY_ENCRYPT_SYSTEM_DRIVE">Fehler: Sie versuchen ein Systemlaufwerk zu verschlüsseln.\n\nVeraCrypt kann nur unter Windows Systemlaufwerke verschlüsseln.</entry>
<entry lang="de" key="LINUX_ERROR_TRY_ENCRYPT_SYSTEM_PARTITION">Fehler: Sie versuchen eine Systempartition zu verschlüsseln.\n\nVeraCrypt kann nur unter Windows Systempartitionen verschlüsseln.</entry>
<entry lang="de" key="LINUX_WARNING_FORMAT_DESTROY_FS">Warnung: Formatieren des Gerätes wird alle Daten im Dateisystem '{0}' zerstören.\n\nWollen Sie trotzdemfortfahren?</entry>
<entry lang="de" key="LINUX_MOUNTET_HINT">Das Dateisystem des gewählten Gerätes ins eingehängt. Bitte hängen Sie '{0}' aus um fortzufahren.</entry>
<entry lang="de" key="LINUX_HIDDEN_PASS_NO_DIFF">Das versteckte Volumen darft nicht zum äußeren Volumen identische Schlüsseldatein, Passworter und PIM haben.</entry>
<entry lang="de" key="LINUX_NOT_FAT_HINT">Bitte beachten Sie, dass das Volumen nicht mit dem FAT Dateisystem formatiert wird, und darum kann die Installation eines Dateisystemtreibers auf anderen Platformen als '{0}' notwendig sein um das Volumen einzuhängen.</entry>
<entry lang="de" key="LINUX_ERROR_SIZE_HIDDEN_VOL">Fehler: Das versteckte Volumen wird größer {0} TB {1} GB angelegt werden.\n\n Mögliche Lösung:\n- Erstellen Sie ein Volumen/Partition kleiner als {0} TB.\n</entry>
<entry lang="de" key="LINUX_MAX_SIZE_HINT">- Benutzen Sie ein Laufwerk mit 4096-Byte Sektoren um in der Lage zu sein Partitionen/Geräte beasierte versteckte Volumen mit bis zu 16 TB anzulegen.</entry>
<entry lang="de" key="LINUX_DOT_LF">.\n</entry>
<entry lang="de" key="LINUX_NOT_SUPPORTED">(wird von den vorhandenen Komponenten dieser Platform nicht unterstützt).</entry>
<entry lang="de" key="LINUX_KERNEL_OLD">Ihr System verwenden einen alten Linux Kernel.\n\nWegen eines Fehlers im Linux Kernel kann es passieren, dass Ihr System beim schreiben auf ein VeraCrypt Volumen nicht mehr reagiert. Diese Problem kann durch einen Kernel in Version 2.6.24 oder neuer gelöst werden.</entry>
<entry lang="de" key="LINUX_VOL_DISMOUNTED">Volume {0} ausgehängt.</entry>
<entry lang="de" key="LINUX_OOM">Zu wenig Speicher.</entry>
<entry lang="de" key="LINUX_CANT_GET_ADMIN_PRIV">Erlangen der Administrator Privilegien fehlgeschlagen</entry>
<entry lang="de" key="LINUX_COMMAND_GET_ERROR">Kommando {0} lieferte Fehler: {1}.</entry>
<entry lang="de" key="LINUX_CMD_HELP">VeraCrypt Kommandozeilen Hilfe</entry>
<entry lang="de" key="LINUX_HIDDEN_FILES_PRESENT_IN_KEYFILE_PATH">\n\nWARNUNG: Versteckte Dateien wurden im Suchpfad gefunden. Diese versteckten Dateien können nicht als Schlüsseldateien verwendet werden. Wenn Sie diese Dateien als Schlüsseldateien verwenden möchten, müssen Sie das den führenden Punkt vom Dateinamen entfernen. Hinweis: Versteckte Dateien sind nur sichtbar wenn die entsprechende Option in den System Optionen aktiviert ist.</entry>
-<entry lang="de" key="LINUX_EX2MSG_DEVICESECTORSIZEMISMATCH">Speichergerät und VeraCrypt Volumen Sektorgröße stimmen nicht überein</entry>
<entry lang="de" key="LINUX_EX2MSG_ENCRYPTEDSYSTEMREQUIRED">Diese Operation kann nur ausgefühert werden wenn das Betriebsystem auch auf diesem Volumen läuft.</entry>
<entry lang="de" key="LINUX_EX2MSG_INSUFFICIENTDATA">Nicht genügend Daten vorhanden.</entry>
<entry lang="de" key="LINUX_EX2MSG_KERNELCRYPTOSERVICETESTFAILED">Kernel Kryptographiedienst Test fehlgeschlagen. Dier Kryptographiedienst Ihres Kernels unterstützt wahrscheinlich keine Volumen größer als 2 TB.\n\nMögliche Lösungen:\n- Aktualisieren Sie den Linux Kernel auf die Version 2.6.33 oder höher.\n- Deaktivieren sie den Kryptographiedienst oder benutzen Sie die Einhängeoption 'nokernelcrypto' auf der Kommandozeile.</entry>
<entry lang="de" key="LINUX_EX2MSG_LOOPDEVICESETUPFAILED">Fehler beim setzen den Loop Gerätes.</entry>
<entry lang="de" key="LINUX_EX2MSG_MISSINGARGUMENT">Ein benötigtest Argument fehlt.</entry>
<entry lang="de" key="LINUX_EX2MSG_MISSINGVOLUMEDATA">Volume Daten fehlen.</entry>
<entry lang="de" key="LINUX_EX2MSG_MOUNTPOINTREQUIRED">Einhängepunkt ist erforderlich.</entry>
<entry lang="de" key="LINUX_EX2MSG_MOUNTPOINTUNAVAILABLE">Einhängepunkt wird bereits verwendet.</entry>
<entry lang="de" key="LINUX_EX2MSG_PASSWORDEMPTY">Kein Passwort oder keine Schlüsseldatei angegeben.</entry>
<entry lang="de" key="LINUX_EX2MSG_PASSWORDORKEYBOARDLAYOUTINCORRECT">\n\nHinweis: Das Preboot Authentifikations-Passwort muss in der Preboot Umgebung eingegen werden wo Nicht-US Tasturbelegung nicht verfügbar sind. Daher müssen Preboot Authentifikations-Passwörter immer mit der standart US Tasturbelegung eingegeben werden.(Sonst wird das Password meistens falsch eingegen). Trotzdem brauchen Sie kein echte US Tastatur; Sie müssen nur die Tasturbelegung im Betriebsystem änder.</entry>
<entry lang="de" key="LINUX_EX2MSG_PASSWORDORMOUNTOPTIONSINCORRECT">\n\nHinweis: Wenn Sie versuchen eine Partition auf einem verschlüsselten Systemlaufwerk ohne Preboot Authentifizierung oder eines nicht laufenden Betriesystems einzuhängen, benutzen Sie bitte die Option Systemverschlüsselung.</entry>
<entry lang="de" key="LINUX_EX2MSG_PASSWORDTOOLONG">Password ist länger als {0} Zeichen.</entry>
<entry lang="de" key="LINUX_EX2MSG_PARTITIONDEVICEREQUIRED">Partitionsgerät erforderlich.</entry>
<entry lang="de" key="LINUX_EX2MSG_PROTECTIONPASSWORDINCORRECT">Inkorrektes Password für das versteckte Volumen oder es existiert kein verstecktes Volumen.</entry>
<entry lang="de" key="LINUX_EX2MSG_PROTECTIONPASSWORDKEYFILESINCORRECT">Inkorrekte Schlüsseldatei(n) und/oder Password für das versteckte Volumen oder es existiert kein verstecktes Volumen.</entry>
<entry lang="de" key="LINUX_EX2MSG_STRINGCONVERSIONFAILED">Ungültige Zeichen characters aufgetreten.</entry>
<entry lang="de" key="LINUX_EX2MSG_STRINGFORMATTEREXCEPTION">Fehler beim der Textformatierung aufgetreten.</entry>
<entry lang="de" key="LINUX_EX2MSG_TEMPORARYDIRECTORYFAILURE">Fehler beim Erstellen einer Datein oder eines Verzeichnis im temporären Ordner.\n\nBitte stellen Sie sicher, dass der temporären Ordner existiert, Sie zu Zugriffsberechtigt sind und genug Speicherplatz vorhanden ist.</entry>
<entry lang="de" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZEHIDDENVOLUMEPROTECTION">Fehler: Das Laufwerk benutzt eine von 512 Byte verschiedene Sektorgröße.\n\nWegen Komponentenlimitierung auf Ihrer Platform, äußere Voluem auf dem Laufwerk können nicht mit Schutz eine versteckten Volumens eingehängt werden.\n\nMögliche Lösungen:\n- Erstellen Sie einen dateibasierten Volumen-Kontainer auf dem Laufwerk.\n- Sichern Sie den Inhalt den versteckte Volumen und aktualisieren Sie dann das äußere Volumen.</entry>
<entry lang="de" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZENOKERNELCRYPTO">Fehler: Das Laufwerk benutzt eine von 512 Byte verschiedene Sektorgröße.\n\nWegen Komponentenlimitierung auf Ihrer Platform, können Partitions- und Gerätebasierende Volumen nicht auf dem Laufwerk erstellt/benutzt werden. \n\nMögliche Lösungen:\n- Aktivieren Sie den Kernel Kryptographiedienst.\n- Benutzen Sie ein Laufwerk mit 512-Byte Sektoren.\n- Erstellen Sie einen dateibasierten Volumen-Kontainer auf dem Laufwerk.</entry>
<entry lang="de" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZE">Fehler: Das Laufwerk benutzt eine von 512 Byte verschiedene Sektorgröße.\n\nWegen Komponentenlimitierung auf Ihrer Platform, können Partitions- und Gerätebasierende Volumen nicht auf dem Laufwerk erstellt/benutzt werden. \n\nMögliche Lösungen:\n- Erstellen Sie einen dateibasierten Volumen-Kontainer auf dem Laufwerk.\n- Benutzen Sie ein Laufwerk mit 512-Byte Sektoren.\n- Benutzen Sie VeraCrypt auf einer anderen Platform.</entry>
<entry lang="de" key="LINUX_EX2MSG_VOLUMEHOSTINUSE">Die Host Datei oder das Host Gerät ist bereits in Benutzung.</entry>
<entry lang="de" key="LINUX_EX2MSG_VOLUMESLOTUNAVAILABLE">Volume Platz nicht verfügbar.</entry>
<entry lang="de" key="LINUX_EX2MSG_HIGHERFUSEVERSIONREQUIRED">VeraCrypt benötigt OSXFUSE in Version 2.5 oder höher.</entry>
<entry lang="de" key="EXCEPTION_OCCURRED">Ausnahme aufgetreten</entry>
<entry lang="de" key="ENTER_PASSWORD">Passwort eingeben</entry>
<entry lang="de" key="ENTER_TC_VOL_PASSWORD">VeraCrypt Volume Passwort eingeben</entry>
<entry lang="de" key="MOUNT">Einhängen</entry>
<entry lang="de" key="NO_VOLUMES_MOUNTED">Keine Volumen eingehängt.</entry>
<entry lang="de" key="OPEN_NEW_VOLUME">Erstellen ein neues VeraCrypt Volumen</entry>
<entry lang="de" key="PARAMETER_INCORRECT">Parameter falsch</entry>
<entry lang="de" key="SELECT_KEYFILES">Schlüsseldatei auswählen</entry>
<entry lang="de" key="START_TC">Starte VeraCrypt</entry>
<entry lang="de" key="VOLUME_ALREADY_MOUNTED">Das volume {0} ist bereits eingeängt.</entry>
<entry lang="de" key="UNKNOWN_OPTION">Unbekannte Option</entry>
<entry lang="de" key="VOLUME_LOCATION">Volume Speicherort</entry>
<entry lang="de" key="VOLUME_HOST_IN_USE">WARNUNG: Die Datei/das Laufwerk {0} ist bereits in Verwendung!\n\nWenn Sie diese Warnung ignorieren, können nicht vorhersehbare Probleme einschließlich Systemabstürze auftreten. Alle Programme, die die Datei/das Laufwerk verwenden (zum Beispiel Virenscanner oder Backup-Software) sollten geschlossen werden, bevor das Volume eingebunden wird.\n\nTrotzdem fortfahren?</entry>
</localization>
<!-- XML-Schema -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

View File

@ -1446,6 +1446,126 @@
<entry lang="en" key="IDC_FORCE_VERACRYPT_FIRST_BOOT_ENTRY">Force VeraCrypt entry to be the first in the EFI firmware boot menu</entry>
<entry lang="en" key="RAM_ENCRYPTION_DISABLE_HIBERNATE">WARNING: RAM encryption is not compatible with Windows Hibernate and Windows Fast Startup features. VeraCrypt needs to disable them before activating RAM encryption.\n\nContinue?</entry>
<entry lang="en" key="CONFIRM_DISABLE_FAST_STARTUP">WARNING: Windows Fast Startup is enabled and it is known to cause issues when working with VeraCrypt volumes. It is advised to disable it for better security and usability.\n\nDo you want to disable Windows Fast Startup?</entry>
<entry lang="en" key="QUICK_FORMAT_HELP">In order to enable your operating system to mount your new volume, it has to be formatted with a filesystem. Please select a filesystem type.\n\nIf your volume is going to be hosted on a device or partition, you can use 'Quick format' to skip encryption of free space of the volume.</entry>
<entry lang="en" key="IDC_ENABLE_HARDWARE_ENCRYPTION_NEG">Do not accelerate AES encryption/decryption by using the AES instructions of the processor</entry>
<entry lang="en" key="IDM_ADD_ALL_VOLUME_TO_FAVORITES">Add All Mounted Volumes to Favorites...</entry>
<entry lang="en" key="TASKICON_PREF_MENU_ITEMS">Task Icon Menu Items</entry>
<entry lang="en" key="TASKICON_PREF_OPEN_VOL">Open Mounted Volumes</entry>
<entry lang="en" key="TASKICON_PREF_DISMOUNT_VOL">Dismount Mounted Volumes</entry>
<entry lang="en" key="DISK_FREE">Free space available: {0}</entry>
<entry lang="en" key="VOLUME_SIZE_HELP">Please specify the size of the container to create. Note that the minimum possible size of a volume is 292 KiB.</entry>
<entry lang="en" key="LINUX_CONFIRM_INNER_VOLUME_CALC">WARNING: You have selected a filesystem other than FAT for the outer volume.\nPlease Note that in this case VeraCrypt can't calculate the exact maximum allowed size for the hidden volume and it will use only an estimation that can be wrong.\nThus, it is your responsibility to use an adequate value for the size of the hidden volume so that it doesn\'t overlap the outer volume.\n\nDo you want to continue using the selected filesystem for the outer volume?</entry>
<entry lang="en" key="LINUX_PREF_TAB_SECURITY">Security</entry>
<entry lang="en" key="LINUX_PREF_TAB_MOUNT_OPTIONS">Mount Options</entry>
<entry lang="en" key="LINUX_PREF_TAB_BACKGROUND_TASK">Background Task</entry>
<entry lang="en" key="LINUX_PREF_TAB_SYSTEM_INTEGRATION">System Integration</entry>
<entry lang="en" key="LINUX_PREF_TAB_SYSTEM_INTEGRATION_EXPLORER">Filesystem Explorer</entry>
<entry lang="en" key="LINUX_PREF_TAB_PERFORMANCE">Performance</entry>
<entry lang="en" key="LINUX_PREF_TAB_KEYFILES">Keyfiles</entry>
<entry lang="en" key="LINUX_PREF_TAB_TOKENS">Security Tokens</entry>
<entry lang="en" key="LINUX_PREF_KERNEL_SERVICES">Kernel Services</entry>
<entry lang="en" key="LINUX_PREF_KERNEL_CRYPT">Do not use kernel cryptographic services</entry>
<entry lang="en" key="LINUX_PREF_TAB_MOUNT_OPTIONS_FS">Filesystem</entry>
<entry lang="en" key="IDT_LINUX_PREF_TAB_MOUNT_OPTIONS">Mount options:</entry>
<entry lang="en" key="LINUX_CROSS_SUPPORT">Cross-Platform Support</entry>
<entry lang="en" key="LINUX_CROSS_SUPPORT_OTHER">I will mount the volume on other platforms</entry>
<entry lang="en" key="LINUX_CROSS_SUPPORT_OTHER_HELP">Choose this option if you need to use the volume on other platforms.</entry>
<entry lang="en" key="LINUX_CROSS_SUPPORT_ONLY">I will mount the volume only on {0}</entry>
<entry lang="en" key="LINUX_CROSS_SUPPORT_ONLY_HELP">Choose this option if you do not need to use the volume on other platforms.</entry>
<entry lang="en" key="LINUX_CROSS_SUPPORT_ONLY_HELP">Choose this option if you do not need to use the volume on other platforms.</entry>
<entry lang="en" key="LINUX_DESELECT">Deselect</entry>
<entry lang="en" key="LINUX_ADMIN_PW_QUERY">Enter your user password or administrator password:</entry>
<entry lang="en" key="LINUX_ADMIN_PW_QUERY_TITLE">Administrator privileges required</entry>
<entry lang="en" key="LINUX_VC_RUNNING_ALREADY">VeraCrypt is already running.</entry>
<entry lang="en" key="LINUX_SYSTEM_ENC_PW_LENGTH_NOTE">System Encryption password is longer than {0} characters.</entry>
<entry lang="en" key="LINUX_MOUNT_SYSTEM_ENC_PREBOOT">Mount partition &amp;using system encryption (preboot authentication)</entry>
<entry lang="en" key="LINUX_DO_NOT_MOUNT">Do &amp;not mount</entry>
<entry lang="en" key="LINUX_MOUNT_AT_DIR">Mount at directory:</entry>
<entry lang="en" key="LINUX_SELECT">Se&amp;lect...</entry>
<entry lang="en" key="LINUX_DISMOUNT_ALL_WHEN">Dismount All Volumes When</entry>
<entry lang="en" key="LINUX_ENTERING_POWERSAVING">System is entering power saving mode</entry>
<entry lang="en" key="LINUX_LOGIN_ACTION">Actions to Perform when User Logs On</entry>
<entry lang="en" key="LINUX_CLOSE_EXPL_ON_DISMOUNT">Close all Explorer windows of volume being dismounted</entry>
<entry lang="en" key="LINUX_HOTKEYS">Hotkeys</entry>
<entry lang="en" key="LINUX_SYSTEM_HOTKEYS">System-Wide Hotkeys</entry>
<entry lang="en" key="LINUX_SOUND_NOTIFICATION">Play system notification sound after mount/dismount</entry>
<entry lang="en" key="LINUX_CONFIRM_AFTER_DISMOUNT">Display confirmation message box after dismount</entry>
<entry lang="en" key="LINUX_VC_QUITS">VeraCrypt quits</entry>
<entry lang="en" key="LINUX_OPEN_FINDER">Open Finder window for successfully mounted volume</entry>
<entry lang="en" key="LINUX_DISABLE_KERNEL_ONLY_SETTING">Please note that this setting takes effect only if use of the kernel cryptographic services is disabled.</entry>
<entry lang="en" key="LINUX_DISABLE_KERNEL_CRYPT_CONFIRM">Disabling the use of kernel cryptographic services can degrade performance.\n\nAre you sure?</entry>
<entry lang="en" key="LINUX_KERNEL_CRYPT_OPTION_CHANGE_MOUNTED_HINT">Please note that disabling this option may have no effect on volumes mounted using kernel cryptographic services.</entry>
<entry lang="en" key="LINUX_REMOUNT_BECAUSEOF_SETTING">Please note that any currently mounted volumes need to be remounted before they can use this setting.</entry>
<entry lang="en" key="LINUX_UNKNOWN_EXC_OCCURRED">Unknown exception occurred.</entry>
<entry lang="en" key="LINUX_FIRST_AID">"Disk Utility will be launched after you press 'OK'.\n\nPlease select your volume in the Disk Utility window and press 'Verify Disk' or 'Repair Disk' button on the 'First Aid' page.</entry>
<entry lang="en" key="LINUX_MOUNT_ALL_DEV">Mount All Devices</entry>
<entry lang="en" key="LINUX_ERROR_LOADING_CONFIG">Error while loading configuration files located in </entry>
<entry lang="en" key="LINUX_SELECT_FREE_SLOT">Please select a free drive slot from the list.</entry>
<entry lang="en" key="LINUX_MESSAGE_ON_MOUNT_AGAIN">\n\nDo you want to show this message next time you mount such a volume?</entry>
<entry lang="en" key="LINUX_WARNING">Warning</entry>
<entry lang="en" key="LINUX_ERROR">Error</entry>
<entry lang="en" key="LINUX_ONLY_TEXTMODE">This feature is currently supported only in text mode.</entry>
<entry lang="en" key="LINUX_FREE_SPACE_ON_DRIVE">Free space on drive {0}: is {1}.</entry>
<entry lang="en" key="LINUX_DYNAMIC_NOTICE">Please note that if your operating system does not allocate files from the beginning of the free space, the maximum possible hidden volume size may be much smaller than the size of the free space on the outer volume. This is not a bug in VeraCrypt but a limitation of the operating system.</entry>
<entry lang="en" key="LINUX_MAX_HIDDEN_SIZE">Maximum possible hidden volume size for this volume is {0}.</entry>
<entry lang="en" key="LINUX_OPEN_OUTER_VOL">Open Outer Volume</entry>
<entry lang="en" key="LINUX_OUTER_VOL_IS_MOUNTED">Outer volume has been successfully created and mounted as '{0}'. To this volume you should now copy some sensitive-looking files that you actually do NOT want to hide. The files will be there for anyone forcing you to disclose your password. You will reveal only the password for this outer volume, not for the hidden one. The files that you really care about will be stored in the hidden volume, which will be created later on. When you finish copying, click Next. Do not dismount the volume.\n\nNote: After you click Next, the outer volume will be analyzed to determine the size of uninterrupted area of free space whose end is aligned with the end of the volume. This area will accommodate the hidden volume, so it will limit its maximum possible size. The procedure ensures no data on the outer volume are overwritten by the hidden volume.</entry>
<entry lang="en" key="LINUX_ERROR_TRY_ENCRYPT_SYSTEM_DRIVE">Error: You are trying to encrypt a system drive.\n\nVeraCrypt can encrypt a system drive only under Windows.</entry>
<entry lang="en" key="LINUX_ERROR_TRY_ENCRYPT_SYSTEM_PARTITION">Error: You are trying to encrypt a system partition.\n\nVeraCrypt can encrypt system partitions only under Windows.</entry>
<entry lang="en" key="LINUX_WARNING_FORMAT_DESTROY_FS">WARNING: Formatting of the device will destroy all data on filesystem '{0}'.\n\nDo you want to continue?</entry>
<entry lang="en" key="LINUX_MOUNTET_HINT">The filesystem of the selected device is currently mounted. Please dismount '{0}' before proceeding.</entry>
<entry lang="en" key="LINUX_HIDDEN_PASS_NO_DIFF">The Hidden volume can't have the same password, PIM and keyfiles as the Outer volume</entry>
<entry lang="en" key="LINUX_NOT_FAT_HINT">Please note that the volume will not be formatted with a FAT filesystem and, therefore, you may be required to install additional filesystem drivers on platforms other than {0}, which will enable you to mount the volume.</entry>
<entry lang="en" key="LINUX_ERROR_SIZE_HIDDEN_VOL">Error: The hidden volume to be created is larger than {0} TB ({1} GB).\n\nPossible solutions:\n- Create a container/partition smaller than {0} TB.\n</entry>
<entry lang="en" key="LINUX_MAX_SIZE_HINT">- Use a drive with 4096-byte sectors to be able to create partition/device-hosted hidden volumes up to 16 TB in size</entry>
<entry lang="en" key="LINUX_DOT_LF">.\n</entry>
<entry lang="en" key="LINUX_NOT_SUPPORTED"> (not supported by components available on this platform).\n</entry>
<entry lang="en" key="LINUX_KERNEL_OLD">Your system uses an old version of the Linux kernel.\n\nDue to a bug in the Linux kernel, your system may stop responding when writing data to a VeraCrypt volume. This problem can be solved by upgrading the kernel to version 2.6.24 or later.</entry>
<entry lang="en" key="LINUX_VOL_DISMOUNTED">Volume {0} has been dismounted.</entry>
<entry lang="en" key="LINUX_OOM">Out of memory.</entry>
<entry lang="en" key="LINUX_CANT_GET_ADMIN_PRIV">Failed to obtain administrator privileges</entry>
<entry lang="en" key="LINUX_COMMAND_GET_ERROR">Command \"{0}\" returned error {1}.</entry>
<entry lang="en" key="LINUX_CMD_HELP">VeraCrypt Command Line Help</entry>
<entry lang="en" key="LINUX_HIDDEN_FILES_PRESENT_IN_KEYFILE_PATH">\n\nWarning: Hidden files are present in a keyfile path. If you need to use them as keyfiles, remove the leading dot from their filenames. Hidden files are visible only if enabled in system options.</entry>
<entry lang="en" key="LINUX_EX2MSG_DEVICESECTORSIZEMISMATCH">Storage device and VC volume sector size mismatch</entry>
<entry lang="en" key="LINUX_EX2MSG_ENCRYPTEDSYSTEMREQUIRED">This operation must be performed only when the system hosted on the volume is running.</entry>
<entry lang="en" key="LINUX_EX2MSG_INSUFFICIENTDATA">Not enough data available.</entry>
<entry lang="en" key="LINUX_EX2MSG_KERNELCRYPTOSERVICETESTFAILED">Kernel cryptographic service test failed. The cryptographic service of your kernel most likely does not support volumes larger than 2 TB.\n\nPossible solutions:\n- Upgrade the Linux kernel to version 2.6.33 or later.\n- Disable use of the kernel cryptographic services (Settings > Preferences > System Integration) or use 'nokernelcrypto' mount option on the command line.</entry>
<entry lang="en" key="LINUX_EX2MSG_LOOPDEVICESETUPFAILED">Failed to set up a loop device.</entry>
<entry lang="en" key="LINUX_EX2MSG_MISSINGARGUMENT">A required argument is missing.</entry>
<entry lang="en" key="LINUX_EX2MSG_MISSINGVOLUMEDATA">Volume data missing.</entry>
<entry lang="en" key="LINUX_EX2MSG_MOUNTPOINTREQUIRED">Mount point required.</entry>
<entry lang="en" key="LINUX_EX2MSG_MOUNTPOINTUNAVAILABLE">Mount point is already in use.</entry>
<entry lang="en" key="LINUX_EX2MSG_PASSWORDEMPTY">No password or keyfile specified.</entry>
<entry lang="en" key="LINUX_EX2MSG_PASSWORDORKEYBOARDLAYOUTINCORRECT">\n\nNote that pre-boot authentication passwords need to be typed in the pre-boot environment where non-US keyboard layouts are not available. Therefore, pre-boot authentication passwords must always be typed using the standard US keyboard layout (otherwise, the password will be typed incorrectly in most cases). However, note that you do NOT need a real US keyboard; you just need to change the keyboard layout in your operating system.</entry>
<entry lang="en" key="LINUX_EX2MSG_PASSWORDORMOUNTOPTIONSINCORRECT">\n\nNote: If you are attempting to mount a partition located on an encrypted system drive without pre-boot authentication or to mount the encrypted system partition of an operating system that is not running, you can do so by selecting 'Options >' > 'Mount partition using system encryption'.</entry>
<entry lang="en" key="LINUX_EX2MSG_PASSWORDTOOLONG">Password is longer than {0} characters.</entry>
<entry lang="en" key="LINUX_EX2MSG_PARTITIONDEVICEREQUIRED">Partition device required.</entry>
<entry lang="en" key="LINUX_EX2MSG_PROTECTIONPASSWORDINCORRECT">Incorrect password to the protected hidden volume or the hidden volume does not exist.</entry>
<entry lang="en" key="LINUX_EX2MSG_PROTECTIONPASSWORDKEYFILESINCORRECT">Incorrect keyfile(s) and/or password to the protected hidden volume or the hidden volume does not exist.</entry>
<entry lang="en" key="LINUX_EX2MSG_STRINGCONVERSIONFAILED">Invalid characters encountered.</entry>
<entry lang="en" key="LINUX_EX2MSG_STRINGFORMATTEREXCEPTION">Error while parsing formatted string.</entry>
<entry lang="en" key="LINUX_EX2MSG_TEMPORARYDIRECTORYFAILURE">Failed to create a file or directory in a temporary directory.\n\nPlease make sure that the temporary directory exists, its security permissions allow you to access it, and there is sufficient disk space.</entry>
<entry lang="en" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZEHIDDENVOLUMEPROTECTION">Error: The drive uses a sector size other than 512 bytes.\n\nDue to limitations of components available on your platform, outer volumes hosted on the drive cannot be mounted using hidden volume protection.\n\nPossible solutions:\n- Use a drive with 512-byte sectors.\n- Create a file-hosted volume (container) on the drive.\n- Backup the contents of the hidden volume and then update the outer volume.</entry>
<entry lang="en" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZENOKERNELCRYPTO">Error: The drive uses a sector size other than 512 bytes.\n\nDue to limitations of components available on your platform, partition/device-hosted volumes on the drive can only be mounted using kernel cryptographic services.\n\nPossible solutions:\n- Enable use of the kernel cryptographic services (Preferences > System Integration).\n- Use a drive with 512-byte sectors.\n- Create a file-hosted volume (container) on the drive.</entry>
<entry lang="en" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZE">Error: The drive uses a sector size other than 512 bytes.\n\nDue to limitations of components available on your platform, partition/device-hosted volumes cannot be created/used on the drive.\n\nPossible solutions:\n- Create a file-hosted volume (container) on the drive.\n- Use a drive with 512-byte sectors.\n- Use VeraCrypt on another platform.</entry>
<entry lang="en" key="LINUX_EX2MSG_VOLUMEHOSTINUSE">The host file/device is already in use.</entry>
<entry lang="en" key="LINUX_EX2MSG_VOLUMESLOTUNAVAILABLE">Volume slot unavailable.</entry>
<entry lang="en" key="LINUX_EX2MSG_HIGHERFUSEVERSIONREQUIRED">VeraCrypt requires OSXFUSE 2.5 or above.</entry>
<entry lang="en" key="EXCEPTION_OCCURRED">Exception occurred</entry>
<entry lang="en" key="ENTER_PASSWORD">Enter password</entry>
<entry lang="en" key="ENTER_TC_VOL_PASSWORD">Enter VeraCrypt Volume Password</entry>
<entry lang="en" key="MOUNT">Mount</entry>
<entry lang="en" key="MOUNT_POINT">Mount Directory"</entry>
<entry lang="en" key="NO_VOLUMES_MOUNTED">No volumes mounted.</entry>
<entry lang="en" key="OPEN_NEW_VOLUME">Specify a New VeraCrypt Volume</entry>
<entry lang="en" key="PARAMETER_INCORRECT">Parameter incorrect</entry>
<entry lang="en" key="SELECT_KEYFILES">Select Keyfiles</entry>
<entry lang="en" key="START_TC">Start VeraCrypt</entry>
<entry lang="en" key="VOLUME_ALREADY_MOUNTED">The volume {0} is already mounted.</entry>
<entry lang="en" key="UNKNOWN_OPTION">Unknown option</entry>
<entry lang="en" key="VOLUME_LOCATION">Volume Location</entry>
<entry lang="en" key="VOLUME_HOST_IN_USE">WARNING: The host file/device {0} is already in use!\n\nIgnoring this can cause undesired results including system instability. All applications that might be using the host file/device should be closed before mounting the volume.\n\nContinue mounting?</entry>
</localization>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="VeraCrypt">

View File

@ -243,7 +243,7 @@ namespace VeraCrypt
}
catch (...)
{
Gui->ShowError (_("Unknown exception occurred."));
Gui->ShowError (LangString["LINUX_UNKNOWN_EXC_OCCURRED"]);
}
_exit (1);

View File

@ -48,21 +48,21 @@ namespace VeraCrypt
enableNewPassword = true;
enableNewKeyfiles = true;
enablePkcs5Prf = true;
SetTitle (_("Change Volume Password and Keyfiles"));
SetTitle (LangString["IDD_PASSWORDCHANGE_DLG"]);
break;
case Mode::ChangeKeyfiles:
enableNewKeyfiles = true;
SetTitle (_("Add/Remove Keyfiles to/from Volume"));
SetTitle (LangString["IDD_PCDM_ADD_REMOVE_VOL_KEYFILES"]);
break;
case Mode::RemoveAllKeyfiles:
SetTitle (_("Remove All Keyfiles from Volume"));
SetTitle (LangString["IDD_PCDM_REMOVE_ALL_KEYFILES_FROM_VOL"]);
break;
case Mode::ChangePkcs5Prf:
enablePkcs5Prf = true;
SetTitle (_("Change Header Key Derivation Algorithm"));
SetTitle (LangString["IDD_PCDM_CHANGE_PKCS5_PRF"]);
break;
default:

View File

@ -75,7 +75,7 @@ namespace VeraCrypt
}
#ifdef TC_WINDOWS
fields[ColumnDevice] = StringFormatter (L"{0} {1}:", _("Harddisk"), device.SystemNumber);
fields[ColumnDevice] = StringFormatter (L"{0} {1}:", LangString["HARDDISK"], device.SystemNumber);
fields[ColumnDrive] = device.MountPoint;
fields[ColumnName] = device.Name;
#else
@ -120,21 +120,20 @@ namespace VeraCrypt
Fit();
Layout();
Center();
StdButtonsOK->Disable();
StdButtonsOK->SetDefault();
OKButton->Disable();
OKButton->SetDefault();
}
void DeviceSelectionDialog::OnListItemActivated (wxListEvent& event)
{
if (StdButtonsOK->IsEnabled())
if (OKButton->IsEnabled())
EndModal (wxID_OK);
}
void DeviceSelectionDialog::OnListItemDeselected (wxListEvent& event)
{
if (DeviceListCtrl->GetSelectedItemCount() == 0)
StdButtonsOK->Disable();
OKButton->Disable();
}
void DeviceSelectionDialog::OnListItemSelected (wxListEvent& event)
@ -144,9 +143,9 @@ namespace VeraCrypt
if (device && device->Size)
{
SelectedDevice = *device;
StdButtonsOK->Enable();
OKButton->Enable();
}
else
StdButtonsOK->Disable();
OKButton->Disable();
}
}

View File

@ -121,7 +121,7 @@ namespace VeraCrypt
else
EncryptionAlgorithmStaticText->SetLabel (L"");
EncryptionAlgorithmHyperlink->SetLabel (_("More information"));
EncryptionAlgorithmHyperlink->SetLabel (LangString["IDC_MORE_INFO_SYS_ENCRYPTION"]);
}
Layout();

File diff suppressed because it is too large Load Diff

View File

@ -41,6 +41,8 @@
#include <wx/spinctrl.h>
#include <wx/notebook.h>
#include "international.h"
///////////////////////////////////////////////////////////////////////////
namespace VeraCrypt
@ -244,7 +246,7 @@ namespace VeraCrypt
public:
BenchmarkDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("VeraCrypt - Algorithms Benchmark"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
BenchmarkDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_BENCHMARK_DLG"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~BenchmarkDialogBase();
};
@ -284,19 +286,19 @@ namespace VeraCrypt
protected:
wxListCtrl* DeviceListCtrl;
wxStdDialogButtonSizer* StdButtons;
wxButton* StdButtonsOK;
wxButton* StdButtonsCancel;
wxButton* CancelButton;
wxButton* OKButton;
// Virtual event handlers, overide them in your derived class
virtual void OnListItemActivated( wxListEvent& event ) { event.Skip(); }
virtual void OnListItemDeselected( wxListEvent& event ) { event.Skip(); }
virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
DeviceSelectionDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select a Partition or Device"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
DeviceSelectionDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_RAWDEVICES_DLG"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
~DeviceSelectionDialogBase();
};
@ -335,7 +337,7 @@ namespace VeraCrypt
public:
EncryptionTestDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("VeraCrypt - Test Vectors"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
EncryptionTestDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_CIPHER_TEST_DLG"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~EncryptionTestDialogBase();
};
@ -368,7 +370,7 @@ namespace VeraCrypt
public:
FavoriteVolumesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Favorite Volumes"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
FavoriteVolumesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_FAVORITE_VOLUMES"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~FavoriteVolumesDialogBase();
};
@ -398,7 +400,7 @@ namespace VeraCrypt
public:
KeyfilesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Keyfiles"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
KeyfilesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("SELECT_TOKEN_KEYFILES"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~KeyfilesDialogBase();
};
@ -455,7 +457,7 @@ namespace VeraCrypt
public:
LegalNoticesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("VeraCrypt - Legal Notices"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
LegalNoticesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("LEGAL_NOTICES_DLG_TITLE"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~LegalNoticesDialogBase();
};
@ -507,7 +509,7 @@ namespace VeraCrypt
public:
MountOptionsDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Enter VeraCrypt Volume Password"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
MountOptionsDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_PASSWORD_DLG"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
~MountOptionsDialogBase();
};
@ -522,17 +524,17 @@ namespace VeraCrypt
protected:
wxChoice* SecurityTokenChoice;
wxTextCtrl* KeyfileNameTextCtrl;
wxStdDialogButtonSizer* StdButtons;
wxButton* StdButtonsOK;
wxButton* StdButtonsCancel;
wxButton* CancelButton;
wxButton* OKButton;
// Virtual event handlers, overide them in your derived class
virtual void OnKeyfileNameChanged( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
NewSecurityTokenKeyfileDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("New Security Token Keyfile Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
NewSecurityTokenKeyfileDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_TOKEN_PREFERENCES"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
~NewSecurityTokenKeyfileDialogBase();
};
@ -545,6 +547,7 @@ namespace VeraCrypt
private:
protected:
wxBoxSizer* bSizer32;
wxNotebook* PreferencesNotebook;
wxPanel* SecurityPage;
wxStaticBoxSizer* AutoDismountSizer;
@ -600,9 +603,8 @@ namespace VeraCrypt
wxButton* RemoveHotkeyButton;
wxCheckBox* BeepAfterHotkeyMountDismountCheckBox;
wxCheckBox* DisplayMessageAfterHotkeyDismountCheckBox;
wxStdDialogButtonSizer* StdButtons;
wxButton* StdButtonsOK;
wxButton* StdButtonsCancel;
wxButton* OKButton;
wxButton* CancelButton;
// Virtual event handlers, overide them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
@ -618,7 +620,6 @@ namespace VeraCrypt
virtual void OnHotkeyListItemSelected( wxListEvent& event ) { event.Skip(); }
virtual void OnAssignHotkeyButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnRemoveHotkeyButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCancelButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
@ -628,7 +629,7 @@ namespace VeraCrypt
wxPanel* SecurityTokensPage;
wxPanel* HotkeysPage;
PreferencesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Preferences"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
PreferencesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_PREFERENCES_DLG"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
~PreferencesDialogBase();
};
@ -657,7 +658,7 @@ namespace VeraCrypt
public:
RandomPoolEnrichmentDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("VeraCrypt - Random Pool Enrichment"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
RandomPoolEnrichmentDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_RANDOM_POOL_ENRICHMENT"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~RandomPoolEnrichmentDialogBase();
};
@ -689,7 +690,7 @@ namespace VeraCrypt
public:
SecurityTokenKeyfilesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Security Token Keyfiles"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
SecurityTokenKeyfilesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_KEYFILES"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
~SecurityTokenKeyfilesDialogBase();
};
@ -703,12 +704,15 @@ namespace VeraCrypt
protected:
wxListCtrl* PropertiesListCtrl;
wxStdDialogButtonSizer* StdButtons;
wxButton* StdButtonsOK;
wxButton* OKButton;
// Virtual event handlers, overide them in your derived class
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
VolumePropertiesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Volume Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
VolumePropertiesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("IDD_VOLUME_PROPERTIES"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
~VolumePropertiesDialogBase();
};

View File

@ -219,7 +219,7 @@ namespace VeraCrypt
L"cmd.exe", args.c_str(), nullptr, SW_SHOW);
#else
# ifdef TC_MACOSX
Gui->ShowInfo (_("Disk Utility will be launched after you press 'OK'.\n\nPlease select your volume in the Disk Utility window and press 'Verify Disk' or 'Repair Disk' button on the 'First Aid' page."));
Gui->ShowInfo (LangString["LINUX_FIRST_AID"]);
# endif
Core->CheckFilesystem (selectedVolume, repair);
UpdateVolumeList();
@ -282,15 +282,15 @@ namespace VeraCrypt
VolumeStaticBoxSizer->Detach (VolumeGridBagSizer);
VolumeStaticBoxSizer->Add (VolumeGridBagSizer, 1, wxEXPAND, 0);
ExitButton->SetLabel (_("Close"));
MountAllDevicesButton->SetLabel (_("Mount All Devices"));
ExitButton->SetLabel (LangString["CLOSE"]);
MountAllDevicesButton->SetLabel (LangString["LINUX_MOUNT_ALL_DEV"]);
#endif
#ifdef TC_WINDOWS
SlotListCtrl->InsertColumn (ColumnSlot, LangString["DRIVE"], wxLIST_FORMAT_LEFT, 1);
colPermilles.push_back (75);
#else
SlotListCtrl->InsertColumn (ColumnSlot, _("Slot"), wxLIST_FORMAT_LEFT, 1);
SlotListCtrl->InsertColumn (ColumnSlot, LangString["TOKEN_SLOT_ID"], wxLIST_FORMAT_LEFT, 1);
colPermilles.push_back (82);
#endif
@ -493,7 +493,7 @@ namespace VeraCrypt
catch (exception &e)
{
Gui->ShowError (e);
Gui->ShowError (_("Error while loading configuration files located in ") + wstring (Application::GetConfigFilePath (L"")));
Gui->ShowError (LangString["LINUX_ERROR_LOADING_CONFIG"] + wstring (Application::GetConfigFilePath (L"")));
}
}
@ -514,8 +514,8 @@ namespace VeraCrypt
Gui->AppendToMenu (*popup, LangString[Gui->IsInBackgroundMode() ? "SHOW_TC" : "HIDE_TC"], this, wxCommandEventHandler (TaskBarIcon::OnShowHideMenuItemSelected));
popup->AppendSeparator();
Gui->AppendToMenu (*popup, _("Mount All Favorite Volumes"), this, wxCommandEventHandler (TaskBarIcon::OnMountAllFavoritesMenuItemSelected))->Enable (!Busy);
Gui->AppendToMenu (*popup, _("Dismount All Mounted Volumes"), this, wxCommandEventHandler (TaskBarIcon::OnDismountAllMenuItemSelected))->Enable (!Busy);
Gui->AppendToMenu (*popup, LangString["IDM_MOUNT_FAVORITE_VOLUMES"], this, wxCommandEventHandler (TaskBarIcon::OnMountAllFavoritesMenuItemSelected))->Enable (!Busy);
Gui->AppendToMenu (*popup, LangString["HK_DISMOUNT_ALL"], this, wxCommandEventHandler (TaskBarIcon::OnDismountAllMenuItemSelected))->Enable (!Busy);
// Favorite volumes
if (Gui->GetPreferences().BackgroundTaskMenuMountItemsEnabled && !Frame->FavoriteVolumesMenuMap.empty())
@ -524,7 +524,8 @@ namespace VeraCrypt
typedef pair <int, FavoriteVolume> FavMapPair;
foreach (FavMapPair fp, Frame->FavoriteVolumesMenuMap)
{
Gui->AppendToMenu (*popup, LangString["MOUNT"] + L" " + wstring (fp.second.Path) + (fp.second.MountPoint.IsEmpty() ? L"" : L" " + wstring (fp.second.MountPoint)),
//TBH Gui->AppendToMenu (*popup, LangString["MOUNT"] + L" " + wstring (fp.second.Path) + (fp.second.MountPoint.IsEmpty() ? L"" : L" " + wstring (fp.second.MountPoint)),
Gui->AppendToMenu (*popup, LangString["MOUNT_BUTTON"] + L" " + wstring (fp.second.Path) + (fp.second.MountPoint.IsEmpty() ? L"" : L" " + wstring (fp.second.MountPoint)),
this, wxCommandEventHandler (TaskBarIcon::OnFavoriteVolumeMenuItemSelected), fp.first)->Enable (!Busy);
}
}
@ -569,10 +570,10 @@ namespace VeraCrypt
}
popup->AppendSeparator();
Gui->AppendToMenu (*popup, _("Preferences..."), this, wxCommandEventHandler (TaskBarIcon::OnPreferencesMenuItemSelected))->Enable (!Busy);
Gui->AppendToMenu (*popup, LangString["IDM_PREFERENCES"], this, wxCommandEventHandler (TaskBarIcon::OnPreferencesMenuItemSelected))->Enable (!Busy);
#ifndef TC_MACOSX
popup->AppendSeparator();
Gui->AppendToMenu (*popup, _("Exit"), this, wxCommandEventHandler (TaskBarIcon::OnExitMenuItemSelected))->Enable (!Busy && Frame->CanExit());
Gui->AppendToMenu (*popup, LangString["EXIT"], this, wxCommandEventHandler (TaskBarIcon::OnExitMenuItemSelected))->Enable (!Busy && Frame->CanExit());
#endif
return popup.release();
}
@ -692,7 +693,7 @@ namespace VeraCrypt
{
if (!IsFreeSlotSelected())
{
Gui->ShowWarning (_("Please select a free drive slot from the list."));
Gui->ShowWarning (LangString["LINUX_SELECT_FREE_SLOT"]);
return;
}
@ -1143,10 +1144,10 @@ namespace VeraCrypt
{
Gui->AppendToMenu (popup, LangString["DISMOUNT"], this, wxCommandEventHandler (MainFrame::OnDismountVolumeMenuItemSelected));
Gui->AppendToMenu (popup, LangString["OPEN"], this, wxCommandEventHandler (MainFrame::OnOpenVolumeMenuItemSelected));
Gui->AppendToMenu (popup, _("Deselect"), this, wxCommandEventHandler (MainFrame::OnClearSlotSelectionMenuItemSelected));
Gui->AppendToMenu (popup, LangString["LINUX_DESELECT"], this, wxCommandEventHandler (MainFrame::OnClearSlotSelectionMenuItemSelected));
popup.AppendSeparator();
Gui->AppendToMenu (popup, _("Add to Favorites..."), this, wxCommandEventHandler (MainFrame::OnAddToFavoritesMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDPM_ADD_TO_FAVORITES"], this, wxCommandEventHandler (MainFrame::OnAddToFavoritesMenuItemSelected));
popup.AppendSeparator();
Gui->AppendToMenu (popup, LangString["IDPM_CHECK_FILESYS"], this, wxCommandEventHandler (MainFrame::OnCheckFilesystemMenuItemSelected));
@ -1159,7 +1160,7 @@ namespace VeraCrypt
}
else if (IsFreeSlotSelected())
{
Gui->AppendToMenu (popup, _("Mount Volume"), this, wxCommandEventHandler (MainFrame::OnMountVolumeMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDM_MOUNT_VOLUME"], this, wxCommandEventHandler (MainFrame::OnMountVolumeMenuItemSelected));
popup.AppendSeparator();
@ -1168,7 +1169,7 @@ namespace VeraCrypt
popup.AppendSeparator();
Gui->AppendToMenu (popup, _("Deselect"), this, wxCommandEventHandler (MainFrame::OnClearSlotSelectionMenuItemSelected));
Gui->AppendToMenu (popup, LangString["LINUX_DESELECT"], this, wxCommandEventHandler (MainFrame::OnClearSlotSelectionMenuItemSelected));
PopupMenu (&popup);
}
@ -1483,21 +1484,21 @@ namespace VeraCrypt
wxMenu popup;
Gui->AppendToMenu (popup, _("Change Volume Password..."), this, wxCommandEventHandler (MainFrame::OnChangePasswordMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDM_CHANGE_PASSWORD"], this, wxCommandEventHandler (MainFrame::OnChangePasswordMenuItemSelected));
popup.AppendSeparator ();
Gui->AppendToMenu (popup, _("Add/Remove Keyfiles to/from Volume..."), this, wxCommandEventHandler (MainFrame::OnChangeKeyfilesMenuItemSelected));
Gui->AppendToMenu (popup, _("Remove All Keyfiles from Volume..."), this, wxCommandEventHandler (MainFrame::OnRemoveKeyfilesMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDM_ADD_REMOVE_VOL_KEYFILES"], this, wxCommandEventHandler (MainFrame::OnChangeKeyfilesMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDM_REMOVE_ALL_KEYFILES_FROM_VOL"], this, wxCommandEventHandler (MainFrame::OnRemoveKeyfilesMenuItemSelected));
popup.AppendSeparator ();
Gui->AppendToMenu (popup, _("Change Header Key Derivation Algorithm..."), this, wxCommandEventHandler (MainFrame::OnChangePkcs5PrfMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDM_CHANGE_SYS_HEADER_KEY_DERIV_ALGO"], this, wxCommandEventHandler (MainFrame::OnChangePkcs5PrfMenuItemSelected));
popup.AppendSeparator ();
Gui->AppendToMenu (popup, _("Backup Volume Header..."), this, wxCommandEventHandler (MainFrame::OnBackupVolumeHeadersMenuItemSelected));
Gui->AppendToMenu (popup, _("Restore Volume Header..."), this, wxCommandEventHandler (MainFrame::OnRestoreVolumeHeaderMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDM_BACKUP_VOL_HEADER"], this, wxCommandEventHandler (MainFrame::OnBackupVolumeHeadersMenuItemSelected));
Gui->AppendToMenu (popup, LangString["IDM_RESTORE_VOL_HEADER"], this, wxCommandEventHandler (MainFrame::OnRestoreVolumeHeaderMenuItemSelected));
PopupMenu (&popup, VolumeToolsButton->GetPosition().x + 2, VolumeToolsButton->GetPosition().y + 2);
}
@ -1587,7 +1588,7 @@ namespace VeraCrypt
{
bool mounted = IsMountedSlotSelected();
VolumeButton->SetLabel (mounted ? LangString["DISMOUNT"] : wxString (_("Mount")));
VolumeButton->SetLabel (mounted ? LangString["UNMOUNT_BUTTON"] : LangString["MOUNT_BUTTON"]);
VolumePropertiesButton->Enable (mounted);
DismountVolumeMenuItem->Enable (mounted);

View File

@ -88,7 +88,7 @@ namespace VeraCrypt
OptionsButton->SetLabel (OptionsButtonLabel + L" >");
OptionsPanel->Show (false);
ProtectionPasswordPanel = new VolumePasswordPanel (OptionsPanel, &options, options.ProtectionPassword, true, options.ProtectionKeyfiles, false, true, true, false, true, true, _("P&assword to hidden volume:"));
ProtectionPasswordPanel = new VolumePasswordPanel (OptionsPanel, &options, options.ProtectionPassword, true, options.ProtectionKeyfiles, false, true, true, false, true, true, LangString["IDT_HIDDEN_PROT_PASSWD"]);
ProtectionPasswordSizer->Add (ProtectionPasswordPanel, 1, wxALL | wxEXPAND);
UpdateDialog();
@ -143,7 +143,7 @@ namespace VeraCrypt
if (Options.PartitionInSystemEncryptionScope && Options.Password->Size() > VolumePassword::MaxLegacySize)
{
Gui->ShowWarning (StringFormatter (_("System Encryption password is longer than {0} characters."), (int) VolumePassword::MaxLegacySize));
Gui->ShowWarning (StringFormatter (LangString["LINUX_SYSTEM_ENC_PW_LENGTH_NOTE"], (int) VolumePassword::MaxLegacySize));
return;
}

View File

@ -43,7 +43,7 @@ namespace VeraCrypt
void NewSecurityTokenKeyfileDialog::OnKeyfileNameChanged (wxCommandEvent& event)
{
StdButtonsOK->Enable (!KeyfileNameTextCtrl->GetValue().empty());
OKButton->Enable(!KeyfileNameTextCtrl->GetValue().empty());
event.Skip();
}
}

View File

@ -135,8 +135,8 @@ namespace VeraCrypt
#ifdef TC_MACOSX
DismountOnScreenSaverCheckBox->Show (false);
DismountOnLogOffCheckBox->SetLabel (_("VeraCrypt quits"));
OpenExplorerWindowAfterMountCheckBox->SetLabel (_("Open Finder window for successfully mounted volume"));
DismountOnLogOffCheckBox->SetLabel (LangString["LINUX_VC_QUITS"]);
OpenExplorerWindowAfterMountCheckBox->SetLabel (LangString["LINUX_OPEN_FINDER"]);
MountRemovableCheckBox->Show (false);
FilesystemSizer->Show (false);
@ -200,7 +200,7 @@ namespace VeraCrypt
Fit();
Center();
StdButtonsOK->SetDefault();
OKButton->SetDefault();
#ifdef TC_WINDOWS
// Hotkey timer
@ -302,20 +302,20 @@ namespace VeraCrypt
if (Gui->AskYesNo (LangString["CONFIRM_SETTING_DEGRADES_PERFORMANCE"], true, true))
{
#ifdef TC_LINUX
Gui->ShowWarning (_("Please note that this setting takes effect only if use of the kernel cryptographic services is disabled."));
Gui->ShowWarning (LangString["LINUX_DISABLE_KERNEL_ONLY_SETTING"]);
#endif
}
else
NoHardwareCryptoCheckBox->SetValue (false);
}
Gui->ShowWarning (_("Please note that any currently mounted volumes need to be remounted before they can use this setting."));
Gui->ShowWarning (LangString["LINUX_REMOUNT_BECAUSEOF_SETTING"]);
}
void PreferencesDialog::OnNoKernelCryptoCheckBoxClick (wxCommandEvent& event)
{
if (event.IsChecked())
NoKernelCryptoCheckBox->SetValue (Gui->AskYesNo (_("Disabling the use of kernel cryptographic services can degrade performance.\n\nAre you sure?"), false, true));
NoKernelCryptoCheckBox->SetValue (Gui->AskYesNo (LangString["LINUX_DISABLE_KERNEL_CRYPT_CONFIRM"], false, true));
}
void PreferencesDialog::OnClose (wxCloseEvent& event)
@ -424,7 +424,7 @@ namespace VeraCrypt
{
#ifdef TC_LINUX
if (!event.IsChecked())
Gui->ShowInfo (_("Please note that disabling this option may have no effect on volumes mounted using kernel cryptographic services."));
Gui->ShowInfo (LangString["LINUX_KERNEL_CRYPT_OPTION_CHANGE_MOUNTED_HINT"]);
#endif
}

File diff suppressed because it is too large Load Diff

View File

@ -117,7 +117,7 @@ namespace VeraCrypt
page->SetPageTitle (LangString["INTRO_TITLE"]);
page->AddChoice (VolumeHostType::File, LangString["IDC_FILE_CONTAINER"], LangString["IDT_FILE_CONTAINER"], L"introcontainer", LangString["IDC_MORE_INFO_ON_CONTAINERS"]);
page->AddChoice (VolumeHostType::Device, _("Create a volume within a partition/&drive"), _("Formats and encrypts a non-system partition, entire external or secondary drive, entire USB stick, etc."));
page->AddChoice (VolumeHostType::Device, LangString["IDC_NONSYS_DEVICE"], LangString["IDT_NON_SYS_DEVICE"]);
page->SetSelection (SelectedVolumeHostType);
return page;
@ -138,7 +138,7 @@ namespace VeraCrypt
case Step::VolumeLocation:
{
VolumeLocationWizardPage *page = new VolumeLocationWizardPage (GetPageParent(), SelectedVolumeHostType);
page->SetPageTitle (LangString["VOLUME_LOCATION"]);
page->SetPageTitle (LangString["LOCATION"]);
if (SelectedVolumeType == VolumeType::Hidden)
page->SetPageText (LangString[SelectedVolumeHostType == VolumeHostType::File ? "FILE_HELP_HIDDEN_HOST_VOL" : "DEVICE_HELP_HIDDEN_HOST_VOL"]);
@ -179,8 +179,8 @@ namespace VeraCrypt
else if (SelectedVolumeType == VolumeType::Hidden)
{
pageTitle = LangString["SIZE_HIDVOL_TITLE"];
pageText = LangString["SIZE_HELP_HIDDEN_VOL"] + L"\n\n" + _("Please note that if your operating system does not allocate files from the beginning of the free space, the maximum possible hidden volume size may be much smaller than the size of the free space on the outer volume. This is not a bug in VeraCrypt but a limitation of the operating system.");
freeSpaceText = StringFormatter (_("Maximum possible hidden volume size for this volume is {0}."), Gui->SizeToString (MaxHiddenVolumeSize));
pageText = LangString["SIZE_HELP_HIDDEN_VOL"] + L"\n\n" + LangString["LINUX_DYNAMIC_NOTICE"];
freeSpaceText = StringFormatter (LangString["LINUX_MAX_HIDDEN_SIZE"], Gui->SizeToString (MaxHiddenVolumeSize));
}
else
{
@ -246,11 +246,9 @@ namespace VeraCrypt
SingleChoiceWizardPage <bool> *page = new SingleChoiceWizardPage <bool> (GetPageParent(), wxEmptyString, true);
page->SetPageTitle (LangString["FILESYS_PAGE_TITLE"]);
page->AddChoice (false, _("I will not store files larger than 4 GB on the volume"),
_("Choose this option if you do not need to store files larger than 4 GB (4,294,967,296 bytes) on the volume."));
page->AddChoice (true, LangString["UISTR_YES"],LangString["FILESYS_PAGE_HELP_QUESTION"]);
page->AddChoice (true, _("I will store files larger than 4 GB on the volume"),
_("Choose this option if you need to store files larger than 4 GB (4,294,967,296 bytes) on the volume."));
page->AddChoice (false, LangString["UISTR_NO"],LangString["FILESYS_PAGE_HELP_EXPLANATION"]);
page->SetSelection (LargeFilesSupport);
return page;
@ -264,7 +262,7 @@ namespace VeraCrypt
VolumeFormatOptionsWizardPage *page = new VolumeFormatOptionsWizardPage (GetPageParent(), filesystemSize, SectorSize,
SelectedVolumePath.IsDevice() && (OuterVolume || SelectedVolumeType != VolumeType::Hidden), OuterVolume, LargeFilesSupport);
page->SetPageTitle (_("Format Options"));
page->SetPageTitle (LangString["FORMAT_TITLE"]);
page->SetFilesystemType (SelectedFilesystemType);
if (!OuterVolume && SelectedVolumeType == VolumeType::Hidden)
@ -277,13 +275,12 @@ namespace VeraCrypt
case Step::CrossPlatformSupport:
{
SingleChoiceWizardPage <bool> *page = new SingleChoiceWizardPage <bool> (GetPageParent(), wxEmptyString, true);
page->SetPageTitle (_("Cross-Platform Support"));
page->SetPageTitle ( LangString["LINUX_CROSS_SUPPORT"]);
page->AddChoice (true, _("I will mount the volume on other platforms"),
_("Choose this option if you need to use the volume on other platforms."));
page->AddChoice (true, LangString["LINUX_CROSS_SUPPORT_OTHER"], LangString["LINUX_CROSS_SUPPORT_OTHER_HELP"]);
page->AddChoice (false, StringFormatter (_("I will mount the volume only on {0}"), SystemInfo::GetPlatformName()),
_("Choose this option if you do not need to use the volume on other platforms."));
page->AddChoice (false, StringFormatter ( LangString["LINUX_CROSS_SUPPORT_ONLY"], SystemInfo::GetPlatformName()),
LangString["LINUX_CROSS_SUPPORT_ONLY_HELP"]);
page->SetSelection (CrossPlatformSupport);
return page;
@ -312,7 +309,7 @@ namespace VeraCrypt
page->SetPageTitle (LangString["FORMAT_FINISHED_TITLE"]);
page->SetPageText (LangString["FORMAT_FINISHED_HELP"]);
SetCancelButtonText (_("Exit"));
SetCancelButtonText (LangString["IDC_EXIT"]);
return page;
}
@ -353,13 +350,12 @@ namespace VeraCrypt
DirectoryPath OuterVolumeMountPoint;
};
InfoWizardPage *page = new InfoWizardPage (GetPageParent(), _("Open Outer Volume"),
InfoWizardPage *page = new InfoWizardPage (GetPageParent(), LangString["LINUX_OPEN_OUTER_VOL"],
shared_ptr <Functor> (new OpenOuterVolumeFunctor (MountedOuterVolume->MountPoint)));
page->SetPageTitle (LangString["HIDVOL_HOST_FILLING_TITLE"]);
page->SetPageText (StringFormatter (
_("Outer volume has been successfully created and mounted as '{0}'. To this volume you should now copy some sensitive-looking files that you actually do NOT want to hide. The files will be there for anyone forcing you to disclose your password. You will reveal only the password for this outer volume, not for the hidden one. The files that you really care about will be stored in the hidden volume, which will be created later on. When you finish copying, click Next. Do not dismount the volume.\n\nNote: After you click Next, the outer volume will be analyzed to determine the size of uninterrupted area of free space whose end is aligned with the end of the volume. This area will accommodate the hidden volume, so it will limit its maximum possible size. The procedure ensures no data on the outer volume are overwritten by the hidden volume."),
page->SetPageText (StringFormatter (LangString["LINUX_OUTER_VOL_IS_MOUNTED"],
wstring (MountedOuterVolume->MountPoint)));
return page;
@ -645,7 +641,7 @@ namespace VeraCrypt
{
if (partition.MountPoint == "/")
{
Gui->ShowError (_("Error: You are trying to encrypt a system drive.\n\nVeraCrypt can encrypt a system drive only under Windows."));
Gui->ShowError (LangString["LINUX_ERROR_TRY_ENCRYPT_SYSTEM_DRIVE"]);
return GetCurrentStep();
}
}
@ -680,11 +676,11 @@ namespace VeraCrypt
{
if (mountPoint == "/")
{
Gui->ShowError (_("Error: You are trying to encrypt a system partition.\n\nVeraCrypt can encrypt system partitions only under Windows."));
Gui->ShowError (LangString["LINUX_ERROR_TRY_ENCRYPT_SYSTEM_PARTITION"]);
return GetCurrentStep();
}
if (!Gui->AskYesNo (StringFormatter (_("WARNING: Formatting of the device will destroy all data on filesystem '{0}'.\n\nDo you want to continue?"), wstring (mountPoint)), false, true))
if (!Gui->AskYesNo (StringFormatter (LangString["LINUX_WARNING_FORMAT_DESTROY_FS"], wstring (mountPoint)), false, true))
return GetCurrentStep();
try
@ -694,7 +690,7 @@ namespace VeraCrypt
catch (exception &e)
{
Gui->ShowError (e);
Gui->ShowError (StringFormatter (_("The filesystem of the selected device is currently mounted. Please dismount '{0}' before proceeding."), wstring (mountPoint)));
Gui->ShowError (StringFormatter (LangString["LINUX_MOUNTET_HINT"], wstring (mountPoint)));
return GetCurrentStep();
}
}
@ -815,7 +811,7 @@ namespace VeraCrypt
//check if they have also the same PIM
if (OuterPim == Pim)
{
Gui->ShowError (_("The Hidden volume can't have the same password, PIM and keyfiles as the Outer volume"));
Gui->ShowError (LangString["LINUX_HIDDEN_PASS_NO_DIFF"]);
return GetCurrentStep();
}
}
@ -866,7 +862,7 @@ namespace VeraCrypt
//check if they have also the same PIM
if (OuterPim == Pim)
{
Gui->ShowError (_("The Hidden volume can't have the same password, PIM and keyfiles as the Outer volume"));
Gui->ShowError (LangString["LINUX_HIDDEN_PASS_NO_DIFF"]);
return GetCurrentStep();
}
}
@ -931,11 +927,7 @@ namespace VeraCrypt
{
if (page->GetFilesystemType() != VolumeCreationOptions::FilesystemType::FAT)
{
if (!Gui->AskYesNo (_("WARNING: You have selected a filesystem other than FAT for the outer volume.\n"
"Please Note that in this case VeraCrypt can't calculate the exact maximum allowed size for the hidden volume and it will use only an estimation that can be wrong.\n"
"Thus, it is your responsibility to use an adequate value for the size of the hidden volume so that it doesn\'t overlap the outer volume.\n\n"
"Do you want to continue using the selected filesystem for the outer volume?")
, false, true))
if (!Gui->AskYesNo (LangString["LINUX_CONFIRM_INNER_VOLUME_CALC"], false, true))
{
return GetCurrentStep();
}
@ -966,7 +958,7 @@ namespace VeraCrypt
}
if (forward && CrossPlatformSupport)
Gui->ShowWarning (StringFormatter (_("Please note that the volume will not be formatted with a FAT filesystem and, therefore, you may be required to install additional filesystem drivers on platforms other than {0}, which will enable you to mount the volume."), SystemInfo::GetPlatformName()));
Gui->ShowWarning (StringFormatter (LangString["LINUX_NOT_FAT_HINT"], SystemInfo::GetPlatformName()));
return Step::CreationProgress;
}
@ -984,15 +976,15 @@ namespace VeraCrypt
if (OuterVolume && VolumeSize > TC_MAX_FAT_SECTOR_COUNT * SectorSize)
{
uint64 limit = TC_MAX_FAT_SECTOR_COUNT * SectorSize / BYTES_PER_TB;
wstring err = StringFormatter (_("Error: The hidden volume to be created is larger than {0} TB ({1} GB).\n\nPossible solutions:\n- Create a container/partition smaller than {0} TB.\n"), limit, limit * 1024);
wstring err = StringFormatter (LangString["LINUX_ERROR_SIZE_HIDDEN_VOL"], limit, limit * 1024);
if (SectorSize < 4096)
{
err += _("- Use a drive with 4096-byte sectors to be able to create partition/device-hosted hidden volumes up to 16 TB in size");
err += LangString["LINUX_MAX_SIZE_HINT"];
#if defined (TC_LINUX)
err += _(".\n");
err += LangString["LINUX_DOT_LF"];
#else
err += _(" (not supported by components available on this platform).\n");
err += LangString["LINUX_NOT_SUPPORTED"];
#endif
}
@ -1004,7 +996,7 @@ namespace VeraCrypt
{
wxString confirmMsg = LangString["OVERWRITEPROMPT_DEVICE"];
if (!Gui->AskYesNo (wxString::Format (confirmMsg, wxString (_("DEVICE")).c_str(), wstring (SelectedVolumePath).c_str(), L""), false, true))
if (!Gui->AskYesNo (wxString::Format (confirmMsg, wxString (LangString["DEVICE"]).c_str(), wstring (SelectedVolumePath).c_str(), L""), false, true))
return GetCurrentStep();
}
else if (FilesystemPath (wstring (SelectedVolumePath)).IsFile())

View File

@ -20,9 +20,7 @@ namespace VeraCrypt
VolumeFormatOptionsWizardPage::VolumeFormatOptionsWizardPage (wxPanel* parent, uint64 filesystemSize, uint32 sectorSize, bool enableQuickFormatButton, bool disableNoneFilesystem, bool disable32bitFilesystems)
: VolumeFormatOptionsWizardPageBase (parent)
{
InfoStaticText->SetLabel (_(
"In order to enable your operating system to mount your new volume, it has to be formatted with a filesystem. Please select a filesystem type.\n\nIf your volume is going to be hosted on a device or partition, you can use 'Quick format' to skip encryption of free space of the volume."));
InfoStaticText->SetLabel ( LangString["QUICK_FORMAT_HELP"] );
if (!disableNoneFilesystem)
FilesystemTypeChoice->Append (LangString["NONE"], (void *) VolumeCreationOptions::FilesystemType::None);

View File

@ -89,7 +89,7 @@ namespace VeraCrypt
Fit();
Center();
StdButtonsOK->SetDefault();
OKButton->SetDefault();
}
void VolumePropertiesDialog::AppendToList (const string &name, const wxString &value)

View File

@ -52,13 +52,13 @@ namespace VeraCrypt
wxString drive = wxFileName (wstring (volumePath)).GetVolume();
if (!drive.empty())
{
FreeSpaceStaticText->SetLabel (StringFormatter (_("Free space on drive {0}: is {1}."),
FreeSpaceStaticText->SetLabel (StringFormatter (LangString["LINUX_FREE_SPACE_ON_DRIVE"],
drive, Gui->SizeToString (diskSpace.GetValue())));
}
else
#endif
{
FreeSpaceStaticText->SetLabel (StringFormatter (_("Free space available: {0}"),
FreeSpaceStaticText->SetLabel (StringFormatter (LangString["DISK_FREE"],
Gui->SizeToString (diskSpace.GetValue())));
}
}

View File

@ -13,6 +13,7 @@
#include "Main/Main.h"
#include "Main/Application.h"
#include <wx/msgqueue.h>
#include <wx/msgdlg.h>
namespace VeraCrypt
{
@ -165,7 +166,7 @@ namespace VeraCrypt
void OnAdminPasswordRequest(wxCommandEvent &)
{
wxPasswordEntryDialog dialog (this, _("Enter your user password or administrator password:"), _("Administrator privileges required"));
wxPasswordEntryDialog dialog (this, LangString["LINUX_ADMIN_PW_QUERY"], LangString["LINUX_ADMIN_PW_QUERY_TITLE"]);
if (dialog.ShowModal() != wxID_OK)
m_queue.Post(wxT(""));
else
@ -196,8 +197,9 @@ namespace VeraCrypt
pParam->m_style |= wxSTAY_ON_TOP;
}
int iResult = wxMessageBox (pParam->m_message, pParam->m_caption, pParam->m_style, this);
wxMessageDialog cur(this, pParam->m_message, pParam->m_caption, pParam->m_style);
cur.SetYesNoLabels(LangString["UISTR_YES"], LangString["UISTR_NO"]);
int iResult = (cur.ShowModal() == wxID_YES ? wxYES : wxNO);
delete pParam;
m_queue.Post(wxString::Format(wxT("%d"), iResult));
}

View File

@ -100,7 +100,7 @@ namespace VeraCrypt
void WizardFrame::SetCancelButtonText (const wxString &text)
{
CancelButton->SetLabel (text.empty() ? wxString (_("Cancel")) : text);
CancelButton->SetLabel (text.empty() ? wxString (LangString["IDC_ABORT_BUTTON"]) : text);
}
void WizardFrame::SetImage (const wxBitmap &bitmap)
@ -167,7 +167,7 @@ namespace VeraCrypt
wxString nextButtonText = CurrentPage->GetNextButtonText();
if (nextButtonText.empty())
NextButton->SetLabel (_("&Next >"));
NextButton->SetLabel (_("NEXT"));
else
NextButton->SetLabel (nextButtonText);

View File

@ -0,0 +1,6 @@
#ifdef TC_LINUX
#include "Main/LanguageStrings.h"
#undef _
#define _(key) LangString[key]
#endif

View File

@ -58,7 +58,7 @@ namespace VeraCrypt
#ifdef TC_MACOSX
g_customIdCmdV = wxNewId();
g_customIdCmdA = wxNewId();
wxApp::s_macHelpMenuTitleName = _("&Help");
wxApp::s_macHelpMenuTitleName = LangString["MENU_HELP"];
#endif
}
@ -466,7 +466,7 @@ namespace VeraCrypt
}
else
{
wxPasswordEntryDialog dialog (Gui->GetActiveWindow(), _("Enter your user password or administrator password:"), _("Administrator privileges required"));
wxPasswordEntryDialog dialog (Gui->GetActiveWindow(), LangString["LINUX_ADMIN_PW_QUERY"], LangString["LINUX_ADMIN_PW_QUERY_TITLE"]);
if (dialog.ShowModal() != wxID_OK)
throw UserAbort (SRC_POS);
sValue = dialog.GetValue();
@ -885,7 +885,7 @@ namespace VeraCrypt
#ifdef TC_LINUX
if (volume && !Preferences.NonInteractive && !Preferences.DisableKernelEncryptionModeWarning
&& volume->EncryptionModeName != L"XTS"
&& !AskYesNo (LangString["ENCRYPTION_MODE_NOT_SUPPORTED_BY_KERNEL"] + _("\n\nDo you want to show this message next time you mount such a volume?"), true, true))
&& !AskYesNo (LangString["ENCRYPTION_MODE_NOT_SUPPORTED_BY_KERNEL"] + LangString["LINUX_MESSAGE_ON_MOUNT_AGAIN"], true, true))
{
UserPreferences prefs = GetPreferences();
prefs.DisableKernelEncryptionModeWarning = true;
@ -986,7 +986,7 @@ namespace VeraCrypt
if (write (showFifo, buf, 1) == 1)
{
close (showFifo);
Gui->ShowInfo (_("VeraCrypt is already running."));
Gui->ShowInfo (LangString["LINUX_VC_RUNNING_ALREADY"]);
Application::SetExitCode (0);
return false;
}
@ -1018,7 +1018,7 @@ namespace VeraCrypt
wxLog::FlushActive();
Application::SetExitCode (1);
Gui->ShowInfo (_("VeraCrypt is already running."));
Gui->ShowInfo (LangStrin["LINUX_VC_RUNNING_ALREADY"]);
return false;
#endif
}
@ -1887,9 +1887,9 @@ namespace VeraCrypt
else
{
if (style & wxICON_EXCLAMATION)
caption = wxString (_("Warning")) + L':';
caption = wxString (LangString["LINUX_WARNING"]) + L':';
else if (style & wxICON_ERROR || style & wxICON_HAND)
caption = wxString (_("Error")) + L':';
caption = wxString (LangString["LINUX_ERROR"]) + L':';
else
caption.clear();
}
@ -1907,8 +1907,9 @@ namespace VeraCrypt
style |= wxSTAY_ON_TOP;
}
return wxMessageBox (subMessage, caption, style, GetActiveWindow());
wxMessageDialog cur(GetActiveWindow(), subMessage, caption, style);
cur.SetYesNoLabels(LangString["UISTR_YES"], LangString["UISTR_NO"]);
return (cur.ShowModal() == wxID_YES ? wxYES : wxNO) ;
}
}
@ -1923,7 +1924,7 @@ namespace VeraCrypt
void GraphicUserInterface::ThrowTextModeRequired () const
{
Gui->ShowError (_("This feature is currently supported only in text mode."));
Gui->ShowError (LangString["LINUX_ONLY_TEXTMODE"]);
throw UserAbort (SRC_POS);
}

View File

@ -40,43 +40,28 @@ namespace VeraCrypt
void LanguageStrings::Init ()
{
#ifdef TC_LINUX
static byte LanguageXml[] =
{
# include "Common/Language.xml.h"
, 0
};
string def = string ((const char*) LanguageXml);
foreach (XmlNode node, XmlParser (def).GetNodes (L"entry"))
{
wxString text = node.InnerText;
text.Replace (L"\\n", L"\n");
text.Replace (L"%s", L"{0}");
Map[StringConverter::ToSingle (wstring (node.Attributes[L"key"]))] = text;
}
#endif
foreach (XmlNode node, XmlParser (Resources::GetLanguageXml()).GetNodes (L"entry"))
{
wxString text = node.InnerText;
text.Replace (L"\\n", L"\n");
text.Replace (L"%s", L"{0}");
Map[StringConverter::ToSingle (wstring (node.Attributes[L"key"]))] = text;
}
Map["EXCEPTION_OCCURRED"] = _("Exception occurred");
Map["MOUNT"] = _("Mount");
Map["MOUNT_POINT"] = _("Mount Directory");
Map["NO"] = _("No");
Map["NO_VOLUMES_MOUNTED"] = _("No volumes mounted.");
Map["OPEN_NEW_VOLUME"] = _("Specify a New VeraCrypt Volume");
Map["PARAMETER_INCORRECT"] = _("Parameter incorrect");
Map["SELECT_KEYFILES"] = _("Select Keyfiles");
Map["START_TC"] = _("Start VeraCrypt");
Map["VOLUME_ALREADY_MOUNTED"] = _("The volume \"{0}\" is already mounted.");
Map["UNKNOWN_OPTION"] = _("Unknown option");
Map["VOLUME_LOCATION"] = _("Volume Location");
Map["YES"] = _("Yes");
Map["VOLUME_HOST_IN_USE"] = _("WARNING: The host file/device \"{0}\" is already in use!\n\nIgnoring this can cause undesired results including system instability. All applications that might be using the host file/device should be closed before mounting the volume.\n\nContinue mounting?");
Map["VIRTUAL_DEVICE"] = _("Virtual Device");
Map["CONFIRM_BACKGROUND_TASK_DISABLED"] = _("WARNING: If the VeraCrypt Background Task is disabled, the following functions, depending on the platform, will be disabled whenever you exit VeraCrypt:\n\n1) Auto-dismount (e.g., upon logoff, time-out, etc.)\n2) Notifications (e.g., when damage to hidden volume is prevented)\n3) Tray icon\n\nNote: You may shut down the Background Task anytime by right-clicking the VeraCrypt tray icon and selecting 'Exit'.\n\nAre you sure you want to disable the VeraCrypt Background Task?");
Map["CONFIRM_EXIT"] = _("WARNING: If VeraCrypt exits now, the following functions, depending on the platform, will be disabled:\n\n1) Auto-dismount (e.g., upon logoff, time-out, etc.)\n2) Notifications (e.g., when damage to hidden volume is prevented)\n3) Tray icon\n\nNote: If you do not wish VeraCrypt to continue running in background after you close its window, disable the Background Task in the Preferences.\n\nAre you sure you want VeraCrypt to exit?");
Map["DAMAGE_TO_HIDDEN_VOLUME_PREVENTED"] = _("WARNING: Data were attempted to be saved to the hidden volume area of the volume \"{0}\"!\n\nVeraCrypt prevented these data from being saved in order to protect the hidden volume. This may have caused filesystem corruption on the outer volume and the operating system may have reported a write error (\"Delayed Write Failed\", \"The parameter is incorrect\", etc.). The entire volume (both the outer and the hidden part) will be write-protected until it is dismounted.\n\nWe strongly recommend that you restart the operating system now.");
Map["ENTER_PASSWORD"] = _("Enter password");
Map["ENTER_PASSWORD_FOR"] = _("Enter password for \"{0}\"");
Map["ENTER_TC_VOL_PASSWORD"] = _("Enter VeraCrypt Volume Password");
Map["SELECT_KEYFILE_PATH"] = _("Select Keyfile Search Path");
Map["MORE_INFO_ABOUT"] = _("More information on {0}");
Map["TWO_LAYER_CASCADE_HELP"] = _("Two ciphers in a cascade operating in XTS mode. Each block is first encrypted with {0} ({1}-bit key) and then with {2} ({3}-bit key). Each cipher uses its own key. All keys are mutually independent.");
Map["THREE_LAYER_CASCADE_HELP"] = _("Three ciphers in a cascade operating in XTS mode. Each block is first encrypted with {0} ({1}-bit key), then with {2} ({3}-bit key), and finally with {4} ({5}-bit key). Each cipher uses its own key. All keys are mutually independent.");
Map["CHECKING_FS"] = _("Checking the file system on the VeraCrypt volume mounted as {0}...");
Map["REPAIRING_FS"] = _("Attempting to repair the file system on the VeraCrypt volume mounted as {0}...");
Map["UNMOUNT_LOCK_FAILED"] = _("Volume \"{0}\" contains files or folders being used by applications or system.\n\nForce dismount?");
Map["VOLUME_SIZE_HELP"] = _("Please specify the size of the container to create. Note that the minimum possible size of a volume is 292 KiB.");
Map["ENCRYPTION_MODE_NOT_SUPPORTED_BY_KERNEL"] = _("The volume you have mounted uses a mode of operation that is not supported by the Linux kernel. You may experience slow performance when using this volume. To achieve full performance, you should move the data from this volume to a new volume created by VeraCrypt 5.0 or later.");
}
LanguageStrings LangString;

View File

@ -250,6 +250,8 @@ prepare: $(APPNAME)
chmod +x $(BASE_DIR)/Setup/Linux/usr/bin/$(APPNAME)-uninstall.sh
cp $(BASE_DIR)/License.txt $(BASE_DIR)/Setup/Linux/usr/share/doc/$(APPNAME)/License.txt
cp $(BASE_DIR)/../doc/html/* "$(BASE_DIR)/Setup/Linux/usr/share/doc/$(APPNAME)/HTML"
mkdir -p $(BASE_DIR)/Setup/Linux/usr/share/veracrypt/languages
cp -r $(BASE_DIR)/../Translations/* $(BASE_DIR)/Setup/Linux/usr/share/veracrypt/languages/
ifndef TC_NO_GUI
mkdir -p $(BASE_DIR)/Setup/Linux/usr/share/applications

View File

@ -14,6 +14,12 @@
#include "Platform/Platform.h"
#include "Resources.h"
#ifdef TC_LINUX
#include "Platform/File.h"
#include "Platform/StringConverter.h"
#include <stdio.h>
#endif
#ifdef TC_WINDOWS
#include "Main/resource.h"
#endif
@ -48,6 +54,79 @@ namespace VeraCrypt
strBuf.Zero();
strBuf.CopyFrom (res);
return string (reinterpret_cast <char *> (strBuf.Ptr()));
#elif TC_LINUX
// get language from env LANG
// support: C,POSIX,
// support for e.g. german: de_DE.UTF-8, de.UTF8, de_DE, de
// not support e.g.: de@Euro
string defaultLang("en");
string filenamePrefix("/usr/share/veracrypt/languages/Language.");
string filenamePost(".xml");
string filename = filenamePrefix + defaultLang + filenamePost;
if(const char* env_p = std::getenv("LANG")){
string lang(env_p);
std::cout << lang << std::endl;
if ( lang.size() > 1 ){
int found = lang.find(".");
if ( found > 1 ){
string langTag = lang.substr (0,found);
string lowerLangTag(StringConverter::ToLower (langTag) );
int foundUnderscore = lowerLangTag.find("_");
if ( foundUnderscore > 0 ) {
lowerLangTag.replace(foundUnderscore,1,1,'-');
filename = filenamePrefix + lowerLangTag + filenamePost;
FilesystemPath xml(filename);
if (! xml.IsFile()){
string shortLangTag = lowerLangTag.substr(0,foundUnderscore);
filename = filenamePrefix + shortLangTag + filenamePost;
FilesystemPath xml(filename);
if (! xml.IsFile()){
filename = filenamePrefix + defaultLang + filenamePost;
}
}
}else{
filename = filenamePrefix + langTag + filenamePost;
FilesystemPath xml(filename);
if (! xml.IsFile()){
filename = filenamePrefix + defaultLang + filenamePost;
}
}
}else{
string lowerLang(StringConverter::ToLower (lang) );
filename = filenamePrefix + lowerLang + filenamePost;
FilesystemPath xml(filename);
if (! xml.IsFile()){
int foundUnderscore = lowerLang.find("_");
if ( foundUnderscore > 0 ) {
lowerLang.replace(foundUnderscore,1,1,'-');
filename = filenamePrefix + lowerLang + filenamePost;
FilesystemPath xml(filename);
if (! xml.IsFile()){
filename = filenamePrefix + defaultLang + filenamePost;
}
}
}
}
}
}
FilesystemPath xml(filename);
if ( xml.IsFile() ){
File file;
file.Open (xml, File::OpenRead, File::ShareRead);
vector <byte> keyfileData (file.Length());
BufferPtr keyfileDataBuf (&keyfileData.front(), keyfileData.size());
file.ReadCompleteBuffer (keyfileDataBuf);
file.Close();
string langxml(keyfileData.begin(), keyfileData.end());
return langxml;
}
static byte LanguageXml[] =
{
# include "Common/Language.xml.h"
, 0
};
return string ((const char*) LanguageXml);
#else
static byte LanguageXml[] =
{

View File

@ -238,7 +238,7 @@ namespace VeraCrypt
while (true)
{
wxString s = AskString (StringFormatter (L"{0} (y={1}/n={2}) [{3}]: ",
message, LangString["YES"], LangString["NO"], LangString[defaultYes ? "YES" : "NO"]));
message, LangString["UISTR_YES"], LangString["UISTR_NO"], LangString[defaultYes ? "UISTR_YES" : "UISTR_NO"]));
if (s.IsSameAs (L'n', false) || s.IsSameAs (L"no", false) || (!defaultYes && s.empty()))
return false;

View File

@ -54,7 +54,7 @@ namespace VeraCrypt
if (!Preferences.NonInteractive)
{
if (!SystemInfo::IsVersionAtLeast (2, 6, 24))
ShowWarning (_("Your system uses an old version of the Linux kernel.\n\nDue to a bug in the Linux kernel, your system may stop responding when writing data to a VeraCrypt volume. This problem can be solved by upgrading the kernel to version 2.6.24 or later."));
ShowWarning (LangString["LINUX_KERNEL_OLD"]);
}
#endif // TC_LINUX
}
@ -212,7 +212,7 @@ namespace VeraCrypt
{
if (!message.IsEmpty())
message += L'\n';
message += StringFormatter (_("Volume \"{0}\" has been dismounted."), wstring (volume->Path));
message += StringFormatter (LangString["LINUX_VOL_DISMOUNTED"], wstring (volume->Path));
}
}
@ -247,7 +247,7 @@ namespace VeraCrypt
foreach_ref (const VolumeInfo &volume, volumes)
{
prop << _("Slot") << L": " << StringConverter::FromNumber (volume.SlotNumber) << L'\n';
prop << LangString["TOKEN_SLOT_ID"] << L": " << StringConverter::FromNumber (volume.SlotNumber) << L'\n';
prop << LangString["VOLUME"] << L": " << wstring (volume.Path) << L'\n';
#ifndef TC_WINDOWS
prop << LangString["VIRTUAL_DEVICE"] << L": " << wstring (volume.VirtualDevice) << L'\n';
@ -355,7 +355,7 @@ namespace VeraCrypt
// bad_alloc
const bad_alloc *outOfMemory = dynamic_cast <const bad_alloc *> (&ex);
if (outOfMemory)
return _("Out of memory.");
return LangString["LINUX_OOM"];
// Unresolved exceptions
string typeName (StringConverter::GetTypeName (typeid (ex)));
@ -384,12 +384,12 @@ namespace VeraCrypt
// ElevationFailed
if (dynamic_cast <const ElevationFailed*> (&ex))
errOutput += wxString (_("Failed to obtain administrator privileges")) + (StringConverter::Trim (execEx->GetErrorOutput()).empty() ? L". " : L": ");
errOutput += wxString (LangString["LINUX_CANT_GET_ADMIN_PRIV"]) + (StringConverter::Trim (execEx->GetErrorOutput()).empty() ? L". " : L": ");
errOutput += StringConverter::ToWide (execEx->GetErrorOutput());
if (errOutput.empty())
return errOutput + StringFormatter (_("Command \"{0}\" returned error {1}."), execEx->GetCommand(), execEx->GetExitCode());
return errOutput + StringFormatter (LangString["LINUX_COMMAND_GET_ERROR"], execEx->GetCommand(), execEx->GetExitCode());
return wxString (errOutput).Trim (true);
}
@ -406,7 +406,7 @@ namespace VeraCrypt
if (Keyfile::WasHiddenFilePresentInKeyfilePath())
{
#ifdef TC_UNIX
message += _("\n\nWarning: Hidden files are present in a keyfile path. If you need to use them as keyfiles, remove the leading dot from their filenames. Hidden files are visible only if enabled in system options.");
message += LangString["LINUX_HIDDEN_FILES_PRESENT_IN_KEYFILE_PATH"];
#else
message += LangString["HIDDEN_FILES_PRESENT_IN_KEYFILE_PATH"];
#endif
@ -442,60 +442,61 @@ namespace VeraCrypt
wxString UserInterface::ExceptionTypeToString (const std::type_info &ex)
{
#define EX2MSG(exception, message) do { if (ex == typeid (exception)) return (message); } while (false)
EX2MSG (DriveLetterUnavailable, LangString["DRIVE_LETTER_UNAVAILABLE"]);
EX2MSG (DeviceSectorSizeMismatch, _("Storage device and VC volume sector size mismatch"));
EX2MSG (EncryptedSystemRequired, _("This operation must be performed only when the system hosted on the volume is running."));
EX2MSG (DeviceSectorSizeMismatch, LangString["LINUX_EX2MSG_DEVICESECTORSIZEMISMATCH"]);
EX2MSG (EncryptedSystemRequired, LangString["LINUX_EX2MSG_ENCRYPTEDSYSTEMREQUIRED"]);
EX2MSG (ExternalException, LangString["EXCEPTION_OCCURRED"]);
EX2MSG (InsufficientData, _("Not enough data available."));
EX2MSG (InsufficientData, LangString["LINUX_EX2MSG_INSUFFICIENTDATA"]);
EX2MSG (InvalidSecurityTokenKeyfilePath, LangString["INVALID_TOKEN_KEYFILE_PATH"]);
EX2MSG (HigherVersionRequired, LangString["NEW_VERSION_REQUIRED"]);
EX2MSG (KernelCryptoServiceTestFailed, _("Kernel cryptographic service test failed. The cryptographic service of your kernel most likely does not support volumes larger than 2 TB.\n\nPossible solutions:\n- Upgrade the Linux kernel to version 2.6.33 or later.\n- Disable use of the kernel cryptographic services (Settings > Preferences > System Integration) or use 'nokernelcrypto' mount option on the command line."));
EX2MSG (KernelCryptoServiceTestFailed, LangString["LINUX_EX2MSG_KERNELCRYPTOSERVICETESTFAILED"]);
EX2MSG (KeyfilePathEmpty, LangString["ERR_KEYFILE_PATH_EMPTY"]);
EX2MSG (LoopDeviceSetupFailed, _("Failed to set up a loop device."));
EX2MSG (MissingArgument, _("A required argument is missing."));
EX2MSG (MissingVolumeData, _("Volume data missing."));
EX2MSG (MountPointRequired, _("Mount point required."));
EX2MSG (MountPointUnavailable, _("Mount point is already in use."));
EX2MSG (LoopDeviceSetupFailed, LangString["LINUX_EX2MSG_LOOPDEVICESETUPFAILED"]);
EX2MSG (MissingArgument, LangString["LINUX_EX2MSG_MISSINGARGUMENT"]);
EX2MSG (MissingVolumeData, LangString["LINUX_EX2MSG_MISSINGVOLUMEDATA"]);
EX2MSG (MountPointRequired, LangString["LINUX_EX2MSG_MOUNTPOINTREQUIRED"]);
EX2MSG (MountPointUnavailable, LangString["LINUX_EX2MSG_MOUNTPOINTUNAVAILABLE"]);
EX2MSG (NoDriveLetterAvailable, LangString["NO_FREE_DRIVES"]);
EX2MSG (PasswordEmpty, _("No password or keyfile specified."));
EX2MSG (PasswordEmpty, LangString["LINUX_EX2MSG_PASSWORDEMPTY"]);
EX2MSG (PasswordIncorrect, LangString["PASSWORD_WRONG"]);
EX2MSG (PasswordKeyfilesIncorrect, LangString["PASSWORD_OR_KEYFILE_WRONG"]);
EX2MSG (PasswordOrKeyboardLayoutIncorrect, LangString["PASSWORD_OR_KEYFILE_WRONG"] + _("\n\nNote that pre-boot authentication passwords need to be typed in the pre-boot environment where non-US keyboard layouts are not available. Therefore, pre-boot authentication passwords must always be typed using the standard US keyboard layout (otherwise, the password will be typed incorrectly in most cases). However, note that you do NOT need a real US keyboard; you just need to change the keyboard layout in your operating system."));
EX2MSG (PasswordOrMountOptionsIncorrect, LangString["PASSWORD_OR_KEYFILE_OR_MODE_WRONG"] + _("\n\nNote: If you are attempting to mount a partition located on an encrypted system drive without pre-boot authentication or to mount the encrypted system partition of an operating system that is not running, you can do so by selecting 'Options >' > 'Mount partition using system encryption'."));
EX2MSG (PasswordTooLong, StringFormatter (_("Password is longer than {0} characters."), (int) VolumePassword::MaxSize));
EX2MSG (PasswordOrKeyboardLayoutIncorrect, LangString["PASSWORD_OR_KEYFILE_WRONG"] + LangString["LINUX_EX2MSG_PASSWORDORKEYBOARDLAYOUTINCORRECT"]);
EX2MSG (PasswordOrMountOptionsIncorrect, LangString["PASSWORD_OR_KEYFILE_OR_MODE_WRONG"] + LangString["LINUX_EX2MSG_PASSWORDORMOUNTOPTIONSINCORRECT"]);
EX2MSG (PasswordTooLong, StringFormatter (LangString["LINUX_EX2MSG_PASSWORDTOOLONG"], (int) VolumePassword::MaxSize));
EX2MSG (PasswordUTF8TooLong, LangString["PASSWORD_UTF8_TOO_LONG"]);
EX2MSG (PasswordLegacyUTF8TooLong, LangString["LEGACY_PASSWORD_UTF8_TOO_LONG"]);
EX2MSG (PasswordUTF8Invalid, LangString["PASSWORD_UTF8_INVALID"]);
EX2MSG (PartitionDeviceRequired, _("Partition device required."));
EX2MSG (ProtectionPasswordIncorrect, _("Incorrect password to the protected hidden volume or the hidden volume does not exist."));
EX2MSG (ProtectionPasswordKeyfilesIncorrect,_("Incorrect keyfile(s) and/or password to the protected hidden volume or the hidden volume does not exist."));
EX2MSG (PartitionDeviceRequired, LangString["LINUX_EX2MSG_PARTITIONDEVICEREQUIRED"]);
EX2MSG (ProtectionPasswordIncorrect, LangString["LINUX_EX2MSG_PROTECTIONPASSWORDINCORRECT"]);
EX2MSG (ProtectionPasswordKeyfilesIncorrect, LangString["LINUX_EX2MSG_PROTECTIONPASSWORDKEYFILESINCORRECT"]);
EX2MSG (RootDeviceUnavailable, LangString["NODRIVER"]);
EX2MSG (SecurityTokenKeyfileAlreadyExists, LangString["TOKEN_KEYFILE_ALREADY_EXISTS"]);
EX2MSG (SecurityTokenKeyfileNotFound, LangString["TOKEN_KEYFILE_NOT_FOUND"]);
EX2MSG (SecurityTokenLibraryNotInitialized, LangString["PKCS11_MODULE_INIT_FAILED"]);
EX2MSG (StringConversionFailed, _("Invalid characters encountered."));
EX2MSG (StringFormatterException, _("Error while parsing formatted string."));
EX2MSG (TemporaryDirectoryFailure, _("Failed to create a file or directory in a temporary directory.\n\nPlease make sure that the temporary directory exists, its security permissions allow you to access it, and there is sufficient disk space."));
EX2MSG (StringConversionFailed, LangString["LINUX_EX2MSG_STRINGCONVERSIONFAILED"]);
EX2MSG (StringFormatterException, LangString["LINUX_EX2MSG_STRINGFORMATTEREXCEPTION"]);
EX2MSG (TemporaryDirectoryFailure, LangString["LINUX_EX2MSG_TEMPORARYDIRECTORYFAILURE"]);
EX2MSG (UnportablePassword, LangString["UNSUPPORTED_CHARS_IN_PWD"]);
#if defined (TC_LINUX)
EX2MSG (UnsupportedSectorSize, LangString["SECTOR_SIZE_UNSUPPORTED"]);
EX2MSG (UnsupportedSectorSizeHiddenVolumeProtection, _("Error: The drive uses a sector size other than 512 bytes.\n\nDue to limitations of components available on your platform, outer volumes hosted on the drive cannot be mounted using hidden volume protection.\n\nPossible solutions:\n- Use a drive with 512-byte sectors.\n- Create a file-hosted volume (container) on the drive.\n- Backup the contents of the hidden volume and then update the outer volume."));
EX2MSG (UnsupportedSectorSizeNoKernelCrypto, _("Error: The drive uses a sector size other than 512 bytes.\n\nDue to limitations of components available on your platform, partition/device-hosted volumes on the drive can only be mounted using kernel cryptographic services.\n\nPossible solutions:\n- Enable use of the kernel cryptographic services (Preferences > System Integration).\n- Use a drive with 512-byte sectors.\n- Create a file-hosted volume (container) on the drive."));
EX2MSG (UnsupportedSectorSizeHiddenVolumeProtection, LangString["LINUX_EX2MSG_UNSUPPORTEDSECTORSIZEHIDDENVOLUMEPROTECTION"]);
EX2MSG (UnsupportedSectorSizeNoKernelCrypto, LangString["LINUX_EX2MSG_UNSUPPORTEDSECTORSIZENOKERNELCRYPTO"]);
#else
EX2MSG (UnsupportedSectorSize, _("Error: The drive uses a sector size other than 512 bytes.\n\nDue to limitations of components available on your platform, partition/device-hosted volumes cannot be created/used on the drive.\n\nPossible solutions:\n- Create a file-hosted volume (container) on the drive.\n- Use a drive with 512-byte sectors.\n- Use VeraCrypt on another platform."));
EX2MSG (UnsupportedSectorSize, LangString["LINUX_EX2MSG_UNSUPPORTEDSECTORSIZE"]);
#endif
EX2MSG (VolumeAlreadyMounted, LangString["VOL_ALREADY_MOUNTED"]);
EX2MSG (VolumeEncryptionNotCompleted, LangString["ERR_ENCRYPTION_NOT_COMPLETED"]);
EX2MSG (VolumeHostInUse, _("The host file/device is already in use."));
EX2MSG (VolumeSlotUnavailable, _("Volume slot unavailable."));
EX2MSG (VolumeHostInUse, LangString["LINUX_EX2MSG_VOLUMEHOSTINUSE"]);
EX2MSG (VolumeSlotUnavailable, LangString["LINUX_EX2MSG_VOLUMESLOTUNAVAILABLE"]);
EX2MSG (UnsupportedAlgoInTrueCryptMode, LangString["ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE"]);
EX2MSG (UnsupportedTrueCryptFormat, LangString["UNSUPPORTED_TRUECRYPT_FORMAT"]);
#ifdef TC_MACOSX
EX2MSG (HigherFuseVersionRequired, _("VeraCrypt requires OSXFUSE 2.5 or above."));
EX2MSG (HigherFuseVersionRequired, LangString["LINUX_EX2MSG_HIGHERFUSEVERSIONREQUIRED"]);
#endif
#undef EX2MSG
@ -800,7 +801,7 @@ namespace VeraCrypt
}
catch (...)
{
ShowError (_("Unknown exception occurred."));
ShowError (LangString["LINUX_UNKNOWN_EXC_OCCURRED"]);
}
Yield();
@ -1007,7 +1008,7 @@ namespace VeraCrypt
{
if (!message.IsEmpty())
message += L'\n';
message += StringFormatter (_("Volume \"{0}\" has been mounted."), wstring (volume.Path));
message += StringFormatter (LangString["LINUX_VOL_DISMOUNTED"], wstring (volume.Path));
}
ShowInfo (message);
}
@ -1326,7 +1327,7 @@ namespace VeraCrypt
#ifndef TC_NO_GUI
if (Application::GetUserInterfaceType() == UserInterfaceType::Graphic)
{
wxDialog dialog (nullptr, wxID_ANY, _("VeraCrypt Command Line Help"), wxDefaultPosition);
wxDialog dialog (nullptr, wxID_ANY, LangString["LINUX_CMD_HELP"], wxDefaultPosition);
wxTextCtrl *textCtrl = new wxTextCtrl (&dialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY);
textCtrl->SetFont (wxFont (wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, L"Courier"));
@ -1338,7 +1339,7 @@ namespace VeraCrypt
wxBoxSizer *sizer = new wxBoxSizer (wxVERTICAL);
sizer->Add (textCtrl, 1, wxALL | wxEXPAND, 5);
sizer->Add (new wxButton (&dialog, wxID_OK, _("OK")), 0, wxALL | wxALIGN_CENTER_HORIZONTAL, 5);
sizer->Add (new wxButton (&dialog, wxID_OK, LangString["IDOK"]), 0, wxALL | wxALIGN_CENTER_HORIZONTAL, 5);
dialog.SetSizer (sizer);
dialog.Layout();