mirror of
https://github.com/MaintainTeam/Hypatia.git
synced 2025-03-01 05:48:23 +03:00
More German string translations, credit Petra Mirelli
https://gitlab.com/divested-mobile/hypatia/-/issues/1#note_508460677
This commit is contained in:
parent
fc28629571
commit
c6e3ab1dde
8 changed files with 45 additions and 14 deletions
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
|
@ -6,8 +6,8 @@ android {
|
||||||
applicationId "us.spotco.malwarescanner"
|
applicationId "us.spotco.malwarescanner"
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 29
|
targetSdkVersion 29
|
||||||
versionCode 51
|
versionCode 53
|
||||||
versionName "2.12"
|
versionName "2.13"
|
||||||
resConfigs "en", "de"
|
resConfigs "en", "de"
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
@ -30,5 +30,5 @@ android {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
implementation 'com.google.android.material:material:1.2.1'
|
implementation 'com.google.android.material:material:1.3.0'
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ class Database {
|
||||||
public final static HashMap<String, String> signaturesSHA1 = new HashMap<>();
|
public final static HashMap<String, String> signaturesSHA1 = new HashMap<>();
|
||||||
public final static HashMap<String, String> signaturesSHA256 = new HashMap<>();
|
public final static HashMap<String, String> signaturesSHA256 = new HashMap<>();
|
||||||
|
|
||||||
private static final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
|
private static final DateFormat dateFormat = new SimpleDateFormat(Utils.getContext().getString(R.string.simple_date_format_short));
|
||||||
|
|
||||||
public Database(TextView log) {
|
public Database(TextView log) {
|
||||||
Database.log = log;
|
Database.log = log;
|
||||||
|
@ -184,7 +184,7 @@ class Database {
|
||||||
String lastModifiedLocal = "";
|
String lastModifiedLocal = "";
|
||||||
if (out.exists()) {
|
if (out.exists()) {
|
||||||
connection.setIfModifiedSince(out.lastModified());
|
connection.setIfModifiedSince(out.lastModified());
|
||||||
lastModifiedLocal = " since " + dateFormat.format(new Date(out.lastModified())); //TODO: Move to strings.xml
|
lastModifiedLocal = Utils.getContext().getString(R.string.main_database_not_modified_since, dateFormat.format(new Date(out.lastModified())));
|
||||||
}
|
}
|
||||||
connection.connect();
|
connection.connect();
|
||||||
String lastModifiedServer = dateFormat.format(new Date(connection.getLastModified()));
|
String lastModifiedServer = dateFormat.format(new Date(connection.getLastModified()));
|
||||||
|
@ -205,7 +205,7 @@ class Database {
|
||||||
fileOutputStream.close();
|
fileOutputStream.close();
|
||||||
publishProgress(url.replaceAll(baseURL, "")
|
publishProgress(url.replaceAll(baseURL, "")
|
||||||
+ "\n\t" + Utils.getContext().getString(R.string.main_database_download_success)
|
+ "\n\t" + Utils.getContext().getString(R.string.main_database_download_success)
|
||||||
+ "\n\tReleased on " + lastModifiedServer + "\n"); //TODO: Move to strings.xml
|
+ "\n\t" + Utils.getContext().getString(R.string.main_database_released_on, lastModifiedServer) + "\n");
|
||||||
} else {
|
} else {
|
||||||
publishProgress(url.replaceAll(baseURL, "")
|
publishProgress(url.replaceAll(baseURL, "")
|
||||||
+ "\n\t" + Utils.getContext().getString(R.string.main_database_download_error, res + "") + "\n");
|
+ "\n\t" + Utils.getContext().getString(R.string.main_database_download_error, res + "") + "\n");
|
||||||
|
|
|
@ -75,9 +75,9 @@ public class MainActivity extends AppCompatActivity {
|
||||||
|
|
||||||
logView = findViewById(R.id.txtLogOutput);
|
logView = findViewById(R.id.txtLogOutput);
|
||||||
logView.setMovementMethod(new ScrollingMovementMethod());
|
logView.setMovementMethod(new ScrollingMovementMethod());
|
||||||
logView.append("Copyright 2017-2021 Divested Computing Group\n"); //TODO: Move to strings.xml
|
logView.append(getString(R.string.app_copyright) + "\n");
|
||||||
logView.append("License: GPLv3\n");
|
logView.append(getString(R.string.app_license) + "\n");
|
||||||
logView.append("Powered by ClamAV signatures\n\n");
|
logView.append(getString(R.string.app_db_type_clamav) + "\n\n");
|
||||||
|
|
||||||
malwareScanner = new MalwareScanner(this, this, true);
|
malwareScanner = new MalwareScanner(this, this, true);
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ public class MainActivity extends AppCompatActivity {
|
||||||
startScanner();
|
startScanner();
|
||||||
} else {
|
} else {
|
||||||
malwareScanner.cancel(true);
|
malwareScanner.cancel(true);
|
||||||
|
logView.append(getString(R.string.app_db_type_clamav) + "\n\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -169,7 +170,7 @@ public class MainActivity extends AppCompatActivity {
|
||||||
case R.id.mnuUpdateDatabase:
|
case R.id.mnuUpdateDatabase:
|
||||||
if (prefs.getBoolean("ONION_ROUTING", false)) {
|
if (prefs.getBoolean("ONION_ROUTING", false)) {
|
||||||
Utils.requestStartOrbot(this);
|
Utils.requestStartOrbot(this);
|
||||||
logView.append("Downloading over Tor, this may take a while...\n"); //TODO: Move to strings.xml
|
logView.append(getString(R.string.lblOnionRoutingEnabledHint) + "\n");
|
||||||
}
|
}
|
||||||
updateDatabase();
|
updateDatabase();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -127,7 +127,7 @@ public class MalwareScannerService extends Service {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateForegroundNotification() {
|
private void updateForegroundNotification() {
|
||||||
foregroundNotification.setSubText(Utils.FILES_SCANNED + " files scanned"); //TODO: Move to strings.xml
|
foregroundNotification.setSubText(getString(R.string.main_files_scanned_count, Utils.FILES_SCANNED) + "");
|
||||||
notificationManager.notify(-1, foregroundNotification.build());
|
notificationManager.notify(-1, foregroundNotification.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,37 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Hypatia</string>
|
<string name="app_name">Hypatia</string>
|
||||||
|
<string name="app_copyright">Copyright 2017-2021 Divested Computing Group</string>
|
||||||
|
<string name="app_license">Lizenz: GPLv3</string>
|
||||||
|
<string name="app_db_type_clamav">Basierend auf ClamAV-Signaturen</string>
|
||||||
|
|
||||||
|
<string name="lblOnionRoutingToggle">Download über Tor</string>
|
||||||
|
<string name="lblOnionRoutingEnabledHint">Download über Tor wurde ausgewählt, das kann etwas länger dauern. Bitte haben sie Geduld...</string>
|
||||||
|
<string name="lblOnionRoutingNotInstalled">Orbot ist nicht installiert!</string>
|
||||||
|
<string name="lblOnionRoutingNotRunning">Orbot läuft nicht!</string>
|
||||||
|
<string name="lblUpdateDatabase">Datenbanken aktualisieren</string>
|
||||||
|
<string name="lblSelectDatabases">Datenbanken auswählen</string>
|
||||||
|
<string name="lblSelectDatabasesTitle">Bitte gewünschte Datenbanken auswählen</string>
|
||||||
|
<string name="lblScanSystem">/system scannen</string>
|
||||||
|
<string name="lblScanApps">APK-Dateien scannen</string>
|
||||||
|
<string name="lblScanInternal">Internen Speicher scannen</string>
|
||||||
|
<string name="lblScanExternal">Externen Speicher scannen</string>
|
||||||
<string name="lblNotificationMalwareDetectionTitle">Malware-Erkennung</string>
|
<string name="lblNotificationMalwareDetectionTitle">Malware-Erkennung</string>
|
||||||
<string name="lblNotificationMalwareDetectionDescription">Dient zur Warnung in Echtzeit wenn Malware erkannt wird</string>
|
<string name="lblNotificationMalwareDetectionDescription">Dient zur Warnung in Echtzeit wenn Malware erkannt wird</string>
|
||||||
<string name="lblNotificationRealtimeTitle">Echtzeit-Scanner</string>
|
<string name="lblNotificationRealtimeTitle">Echtzeit-Scanner</string>
|
||||||
<string name="lblNotificationRealtimeText">Bekannte Malware wird in Echtzeit erkannt</string>
|
<string name="lblNotificationRealtimeText">Bekannte Malware wird in Echtzeit erkannt</string>
|
||||||
<string name="lblRealtimeScannerToggle">Echtzeit-Scanner</string>
|
<string name="lblRealtimeScannerToggle">Echtzeit-Scanner</string>
|
||||||
|
|
||||||
<string name="main_database_updating">Update der %s Datenbank...</string>
|
<string name="simple_date_format_short">dd.MM.yyyy</string>
|
||||||
|
|
||||||
|
<string name="main_database_updating">Update von %s Datenbank(en) ...</string>
|
||||||
<string name="main_database_downloading">Download von %s</string>
|
<string name="main_database_downloading">Download von %s</string>
|
||||||
<string name="main_database_download_success">Erfolgreich heruntergeladen</string>
|
<string name="main_database_download_success">Erfolgreich heruntergeladen</string>
|
||||||
<string name="main_database_download_error">Datei wurde nicht heruntergeladen. Fehlercode %s</string>
|
<string name="main_database_download_error">Datei wurde nicht heruntergeladen. Fehlercode %s</string>
|
||||||
<string name="main_no_database_available">Keine Datenbank verfügbar. Scan wird abgebrochen...</string>
|
<string name="main_no_database_available">Keine Datenbank verfügbar. Scan wird abgebrochen...</string>
|
||||||
|
<string name="main_database_released_on">Veröffentlicht am %s</string>
|
||||||
<string name="main_database_not_changed">Datei wurde nicht geändert</string>
|
<string name="main_database_not_changed">Datei wurde nicht geändert</string>
|
||||||
|
<string name="main_database_not_modified_since">seit %s</string>
|
||||||
<string name="main_database_download_error_logcat">Download ist fehlgeschlagen. Für weitere Details bitte in logcat nachsehen</string>
|
<string name="main_database_download_error_logcat">Download ist fehlgeschlagen. Für weitere Details bitte in logcat nachsehen</string>
|
||||||
|
|
||||||
<string name="main_starting_scan">Scan startet...</string>
|
<string name="main_starting_scan">Scan startet...</string>
|
||||||
|
@ -23,4 +42,5 @@
|
||||||
<string name="main_hash_scan_done">Alle %s Hashes wurden mit den Signatur-Datenbanken abgeglichen</string>
|
<string name="main_hash_scan_done">Alle %s Hashes wurden mit den Signatur-Datenbanken abgeglichen</string>
|
||||||
<string name="main_no_hashes_available">Keine %s Hash-Signaturen verfügbar</string>
|
<string name="main_no_hashes_available">Keine %s Hash-Signaturen verfügbar</string>
|
||||||
<string name="main_scanning_done">Scan nach %s Sekunden abgeschlossen!</string>
|
<string name="main_scanning_done">Scan nach %s Sekunden abgeschlossen!</string>
|
||||||
|
<string name="main_files_scanned_count">% Datei(en) gescannt</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Hypatia</string>
|
<string name="app_name">Hypatia</string>
|
||||||
|
<string name="app_copyright">Copyright 2017-2021 Divested Computing Group</string>
|
||||||
|
<string name="app_license">License: GPLv3</string>
|
||||||
|
<string name="app_db_type_clamav">Powered by ClamAV signatures</string>
|
||||||
|
|
||||||
<string name="lblOnionRoutingToggle">Download over Tor</string>
|
<string name="lblOnionRoutingToggle">Download over Tor</string>
|
||||||
|
<string name="lblOnionRoutingEnabledHint">Downloading over Tor, this may take a while...</string>
|
||||||
<string name="lblOnionRoutingNotInstalled">Orbot is not installed!</string>
|
<string name="lblOnionRoutingNotInstalled">Orbot is not installed!</string>
|
||||||
<string name="lblOnionRoutingNotRunning">Orbot is not running!</string>
|
<string name="lblOnionRoutingNotRunning">Orbot is not running!</string>
|
||||||
<string name="lblUpdateDatabase">Update databases</string>
|
<string name="lblUpdateDatabase">Update databases</string>
|
||||||
|
@ -18,12 +23,16 @@
|
||||||
<string name="lblNotificationRealtimeDetection">Malware Detected:</string>
|
<string name="lblNotificationRealtimeDetection">Malware Detected:</string>
|
||||||
<string name="lblRealtimeScannerToggle">Realtime Scanner</string>
|
<string name="lblRealtimeScannerToggle">Realtime Scanner</string>
|
||||||
|
|
||||||
|
<string name="simple_date_format_short">yyyy/MM/dd</string>
|
||||||
|
|
||||||
<string name="main_database_updating">Updating %s databases...</string>
|
<string name="main_database_updating">Updating %s databases...</string>
|
||||||
<string name="main_database_downloading">Downloading %s</string>
|
<string name="main_database_downloading">Downloading %s</string>
|
||||||
<string name="main_database_download_success">Successfully downloaded</string>
|
<string name="main_database_download_success">Successfully downloaded</string>
|
||||||
<string name="main_database_download_error">File not downloaded, response code %s</string>
|
<string name="main_database_download_error">File not downloaded, response code %s</string>
|
||||||
<string name="main_no_database_available">No database available, not scanning...</string>
|
<string name="main_no_database_available">No database available, not scanning...</string>
|
||||||
|
<string name="main_database_released_on">Released on %s</string>
|
||||||
<string name="main_database_not_changed">File not changed</string>
|
<string name="main_database_not_changed">File not changed</string>
|
||||||
|
<string name="main_database_not_modified_since">since %s</string>
|
||||||
<string name="main_database_download_error_logcat">Failed to download, check logcat</string>
|
<string name="main_database_download_error_logcat">Failed to download, check logcat</string>
|
||||||
|
|
||||||
<string name="main_starting_scan">Starting scan...</string>
|
<string name="main_starting_scan">Starting scan...</string>
|
||||||
|
@ -34,4 +43,5 @@
|
||||||
<string name="main_hash_scan_done">Checked all %s hashes against signature databases</string>
|
<string name="main_hash_scan_done">Checked all %s hashes against signature databases</string>
|
||||||
<string name="main_no_hashes_available">No %s hashes signatures available</string>
|
<string name="main_no_hashes_available">No %s hashes signatures available</string>
|
||||||
<string name="main_scanning_done">Scan completed in %s seconds!</string>
|
<string name="main_scanning_done">Scan completed in %s seconds!</string>
|
||||||
</resources>
|
<string name="main_files_scanned_count">% files scanned</string>
|
||||||
|
</resources>
|
||||||
|
|
|
@ -7,7 +7,7 @@ buildscript {
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:4.1.1'
|
classpath 'com.android.tools.build:gradle:4.1.2'
|
||||||
|
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
|
Loading…
Add table
Reference in a new issue