Restore support for Jelly Bean

+ code cleanup

Signed-off-by: Tad <tad@spotco.us>
This commit is contained in:
Tad 2023-12-26 19:26:33 -05:00
parent f1d747b739
commit c242c1fa75
No known key found for this signature in database
GPG key ID: B286E9F57A07424B
36 changed files with 139 additions and 296 deletions

View file

@ -4,10 +4,10 @@ android {
compileSdkVersion 33 compileSdkVersion 33
defaultConfig { defaultConfig {
applicationId "us.spotco.malwarescanner" applicationId "us.spotco.malwarescanner"
minSdkVersion 19 minSdkVersion 16
targetSdkVersion 32 targetSdkVersion 32
versionCode 301 versionCode 302
versionName "3.01" versionName "3.02"
resConfigs 'en', 'af', 'de', 'el', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'ru', 'tr', 'zh-rCN' resConfigs 'en', 'af', 'de', 'el', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'ru', 'tr', 'zh-rCN'
} }
buildTypes { buildTypes {

View file

@ -43,7 +43,6 @@
android:name=".MainActivity" android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden" android:configChanges="orientation|keyboardHidden"
android:exported="true" android:exported="true"
android:label="@string/app_name"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />

View file

@ -23,6 +23,7 @@ import android.os.AsyncTask;
import android.util.Log; import android.util.Log;
import android.widget.TextView; import android.widget.TextView;
import com.google.common.base.Charsets;
import com.google.common.hash.BloomFilter; import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels; import com.google.common.hash.Funnels;
@ -33,7 +34,6 @@ import java.net.HttpURLConnection;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.net.Proxy; import java.net.Proxy;
import java.net.URL; import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.Date; import java.util.Date;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
@ -127,17 +127,17 @@ class Database {
switch (databaseLocation.getName()) { switch (databaseLocation.getName()) {
case "hypatia-md5-bloom.bin": case "hypatia-md5-bloom.bin":
Log.d("Hypatia", "Processing md5"); Log.d("Hypatia", "Processing md5");
signaturesMD5 = BloomFilter.readFrom(databaseLoading, Funnels.stringFunnel(StandardCharsets.US_ASCII)); signaturesMD5 = BloomFilter.readFrom(databaseLoading, Funnels.stringFunnel(Charsets.US_ASCII));
signaturesCount += signaturesMD5.approximateElementCount(); signaturesCount += signaturesMD5.approximateElementCount();
break; break;
case "hypatia-sha1-bloom.bin": case "hypatia-sha1-bloom.bin":
Log.d("Hypatia", "Processing sha1"); Log.d("Hypatia", "Processing sha1");
signaturesSHA1 = BloomFilter.readFrom(databaseLoading, Funnels.stringFunnel(StandardCharsets.US_ASCII)); signaturesSHA1 = BloomFilter.readFrom(databaseLoading, Funnels.stringFunnel(Charsets.US_ASCII));
signaturesCount += signaturesSHA1.approximateElementCount(); signaturesCount += signaturesSHA1.approximateElementCount();
break; break;
case "hypatia-sha256-bloom.bin": case "hypatia-sha256-bloom.bin":
Log.d("Hypatia", "Processing sha256"); Log.d("Hypatia", "Processing sha256");
signaturesSHA256 = BloomFilter.readFrom(databaseLoading, Funnels.stringFunnel(StandardCharsets.US_ASCII)); signaturesSHA256 = BloomFilter.readFrom(databaseLoading, Funnels.stringFunnel(Charsets.US_ASCII));
signaturesCount += signaturesSHA256.approximateElementCount(); signaturesCount += signaturesSHA256.approximateElementCount();
break; break;
} }

View file

@ -72,7 +72,7 @@ class MalwareScanner extends AsyncTask<HashSet<File>, Object, String> {
} }
} }
private void logResult(String result, boolean userFacingOnly, String hashsum) { private void logResult(String result, String hashsum) {
if (result.startsWith("Potential match")) { if (result.startsWith("Potential match")) {
String[] malwareDetect = result.split(" in "); String[] malwareDetect = result.split(" in ");
if (hashsum != null) { if (hashsum != null) {
@ -100,15 +100,13 @@ class MalwareScanner extends AsyncTask<HashSet<File>, Object, String> {
mBuilder.setChannelId("DETECTION"); mBuilder.setChannelId("DETECTION");
} }
//Lookup action //Lookup action
if (hashsum != null) { Intent lookupIntent = new Intent(context, NotificationPromptActivity.class);
Intent lookupIntent = new Intent(context, NotificationPromptActivity.class); lookupIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
lookupIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); lookupIntent.setAction("us.spotco.malwarescanner.LOOKUP_HASH");
lookupIntent.setAction("us.spotco.malwarescanner.LOOKUP_HASH"); lookupIntent.putExtra("NOTIFICATION_ID", notificationId);
lookupIntent.putExtra("NOTIFICATION_ID", notificationId); lookupIntent.putExtra("HASH", hashsum);
lookupIntent.putExtra("HASH", hashsum); PendingIntent lookupIntentPending = PendingIntent.getActivity(context, notificationId + 1, lookupIntent, PendingIntent.FLAG_IMMUTABLE);
PendingIntent lookupIntentPending = PendingIntent.getActivity(context, notificationId + 1, lookupIntent, PendingIntent.FLAG_IMMUTABLE); mBuilder.addAction(android.R.drawable.ic_dialog_map, context.getText(R.string.lookupVT), lookupIntentPending);
mBuilder.addAction(android.R.drawable.ic_dialog_map, context.getText(R.string.lookupVT), lookupIntentPending);
}
//Delete action //Delete action
if (malwareDetect[1].startsWith("~/")) { if (malwareDetect[1].startsWith("~/")) {
Intent deleteIntent = new Intent(context, NotificationPromptActivity.class); Intent deleteIntent = new Intent(context, NotificationPromptActivity.class);
@ -148,7 +146,7 @@ class MalwareScanner extends AsyncTask<HashSet<File>, Object, String> {
@Override @Override
protected final void onPreExecute() { protected final void onPreExecute() {
scanStartTime = SystemClock.elapsedRealtime(); scanStartTime = SystemClock.elapsedRealtime();
logResult(context.getString(R.string.main_starting_scan), true, null); logResult(context.getString(R.string.main_starting_scan), null);
} }
@Override @Override
@ -269,7 +267,7 @@ class MalwareScanner extends AsyncTask<HashSet<File>, Object, String> {
if (objects.length == 3) { if (objects.length == 3) {
hash = (String) objects[2]; hash = (String) objects[2];
} }
logResult((String) objects[0], (boolean) objects[1], hash); logResult((String) objects[0], hash);
} }
private void checkSignature(String hashType, HashMap<File, String> signaturesToCheck, BloomFilter<String> signatureDatabase) { private void checkSignature(String hashType, HashMap<File, String> signaturesToCheck, BloomFilter<String> signatureDatabase) {

View file

@ -108,9 +108,10 @@ public class MalwareScannerService extends Service {
.setContentTitle(getText(R.string.lblNotificationRealtimeTitle)) .setContentTitle(getText(R.string.lblNotificationRealtimeTitle))
.setContentText(getText(R.string.lblNotificationRealtimeText)) .setContentText(getText(R.string.lblNotificationRealtimeText))
.setPriority(Notification.PRIORITY_MIN) .setPriority(Notification.PRIORITY_MIN)
.setOngoing(true) .setOngoing(true);
.setShowWhen(false); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
foregroundNotification.setShowWhen(false);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
foregroundNotification.setChannelId("FOREGROUND"); foregroundNotification.setChannelId("FOREGROUND");
} }

View file

@ -32,7 +32,7 @@ public class NotificationPromptActivity extends Activity {
case "us.spotco.malwarescanner.LOOKUP_HASH": case "us.spotco.malwarescanner.LOOKUP_HASH":
if (Objects.requireNonNull(intent.getStringExtra("HASH")).length() == 64) { if (Objects.requireNonNull(intent.getStringExtra("HASH")).length() == 64) {
String hashsum = intent.getStringExtra("HASH"); String hashsum = intent.getStringExtra("HASH");
new AlertDialog.Builder(this) AlertDialog lookupDialog = new AlertDialog.Builder(this)
.setTitle(R.string.confirm_lookup_title) .setTitle(R.string.confirm_lookup_title)
.setMessage(getString(R.string.confirm_lookup_summary) + "\n>>>" + hashsum.substring(0, 8) + "<<<") .setMessage(getString(R.string.confirm_lookup_summary) + "\n>>>" + hashsum.substring(0, 8) + "<<<")
.setIcon(android.R.drawable.ic_dialog_alert) .setIcon(android.R.drawable.ic_dialog_alert)
@ -41,13 +41,10 @@ public class NotificationPromptActivity extends Activity {
startActivity(lookupIntent); startActivity(lookupIntent);
finish(); finish();
}) })
.setNegativeButton(android.R.string.no, (dialog, whichButton) -> { .setNegativeButton(android.R.string.no, (dialog, whichButton) -> finish())
finish(); .create();
}) lookupDialog.setOnDismissListener((dialog) -> finish());
.setOnDismissListener((dialog) -> { lookupDialog.show();
finish();
})
.show();
} else { } else {
Log.d("Hypatia", "Invalid hash"); Log.d("Hypatia", "Invalid hash");
finish(); finish();
@ -57,7 +54,7 @@ public class NotificationPromptActivity extends Activity {
if (intent.getPackage() == null || Objects.equals(intent.getPackage(), BuildConfig.APPLICATION_ID)) { if (intent.getPackage() == null || Objects.equals(intent.getPackage(), BuildConfig.APPLICATION_ID)) {
File matched = new File(Objects.requireNonNull(intent.getStringExtra("FILE_PATH"))); File matched = new File(Objects.requireNonNull(intent.getStringExtra("FILE_PATH")));
if (matched.exists() && matched.isFile()) { if (matched.exists() && matched.isFile()) {
new AlertDialog.Builder(this) AlertDialog deleteDialog = new AlertDialog.Builder(this)
.setTitle(R.string.confirm_delete_title) .setTitle(R.string.confirm_delete_title)
.setMessage(getString(R.string.confirm_delete_summary) + "\n>>>" + matched.getName() + "<<<") .setMessage(getString(R.string.confirm_delete_summary) + "\n>>>" + matched.getName() + "<<<")
.setIcon(android.R.drawable.ic_dialog_alert) .setIcon(android.R.drawable.ic_dialog_alert)
@ -70,13 +67,10 @@ public class NotificationPromptActivity extends Activity {
clearNotification(context, intent.getIntExtra("NOTIFICATION_ID", 0)); clearNotification(context, intent.getIntExtra("NOTIFICATION_ID", 0));
finish(); finish();
}) })
.setNegativeButton(android.R.string.no, (dialog, whichButton) -> { .setNegativeButton(android.R.string.no, (dialog, whichButton) -> finish())
finish(); .create();
}) deleteDialog.setOnDismissListener((dialog) -> finish());
.setOnDismissListener((dialog) -> { deleteDialog.show();
finish();
})
.show();
} else { } else {
finish(); finish();
} }

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -6,12 +6,9 @@
<string name="app_db_type_clamav">Aangedryf deur ClamAV tipe stempels</string> <string name="app_db_type_clamav">Aangedryf deur ClamAV tipe stempels</string>
<string name="lblOnionRoutingToggle">Laai af deur Tor</string> <string name="lblOnionRoutingToggle">Laai af deur Tor</string>
<string name="lblOnionRoutingEnabledHint">Laai tans af deur Tor, dit mag \'n oogknip neem...</string> <string name="lblOnionRoutingEnabledHint">Laai tans af deur Tor, dit mag \'n oogknip neem</string>
<string name="lblOnionRoutingNotInstalled">Orbot of InviZible is nie geïnstalleer nie!</string> <string name="lblOnionRoutingNotInstalled">Orbot of InviZible is nie geïnstalleer nie!</string>
<string name="lblOnionRoutingNotRunning">Orbot of InviZible is nie aan die loop nie!</string>
<string name="lblUpdateDatabase">Dateer databasisse op</string> <string name="lblUpdateDatabase">Dateer databasisse op</string>
<string name="lblSelectDatabases">Kies databasisse</string>
<string name="lblSelectDatabasesTitle">Kies die databassisse om te aktiveer</string>
<string name="lblFullCredits">Erkennings</string> <string name="lblFullCredits">Erkennings</string>
<string name="lblScanSystem">Skandeer sisteem</string> <string name="lblScanSystem">Skandeer sisteem</string>
<string name="lblScanApps">Skandeer APKs</string> <string name="lblScanApps">Skandeer APKs</string>
@ -26,32 +23,23 @@
<string name="lblNotificationRealtimeDetection">Wanware Opgetel:</string> <string name="lblNotificationRealtimeDetection">Wanware Opgetel:</string>
<string name="lblRealtimeScannerToggle">Intydse Skandeerder</string> <string name="lblRealtimeScannerToggle">Intydse Skandeerder</string>
<string name="main_database_updating">Dateer tans %s databasisse op...</string> <string name="main_database_updating">Dateer tans %s databasisse op…</string>
<string name="main_database_downloading">Laai tans %s af</string>
<string name="main_database_download_success">Suksesvol afgelaai</string> <string name="main_database_download_success">Suksesvol afgelaai</string>
<string name="main_database_download_error">Lêer nie afgelaai nie, respons kode %s</string> <string name="main_database_download_error">Lêer nie afgelaai nie, respons kode %s</string>
<string name="main_no_database_available">Geen databasis beskikbaar, skandeer dus nie...</string> <string name="main_no_database_available">Geen databasis beskikbaar, skandeer dus nie</string>
<string name="main_database_released_on">Vrygestel op %s</string> <string name="main_database_released_on">Vrygestel op %s</string>
<string name="main_database_not_changed">Lêer nie verander</string> <string name="main_database_not_changed">Lêer nie verander</string>
<string name="main_database_not_modified_since">sedert %s</string> <string name="main_database_not_modified_since">sedert %s</string>
<string name="main_database_download_error_logcat">Kon nie aflaai nie, kyk dalk na logcat</string> <string name="main_database_download_error_logcat">Kon nie aflaai nie, kyk dalk na logcat</string>
<string name="main_starting_scan">Begin tans skandering...</string> <string name="main_starting_scan">Begin tans skandering…</string>
<string name="main_cancelling_scan">Kanseleer tans skandering...</string> <string name="main_cancelling_scan">Kanseleer tans skandering…</string>
<string name="main_cancelled_scan">Skandering gekanseleer</string>
<string name="main_files_pending_scan">%s lêers wag hul beurt af</string> <string name="main_files_pending_scan">%s lêers wag hul beurt af</string>
<string name="main_database_loading">Laai tans databasis af...</string> <string name="main_database_loading">Laai tans databasis af</string>
<string name="main_database_loaded">Databasis gelaai met %s huts stempels</string> <string name="main_database_loaded">Databasis gelaai met %s huts stempels</string>
<string name="main_hashing_files">Huts tans lêers...</string> <string name="main_hashing_files">Huts tans lêers</string>
<string name="main_hashing_done">Hutse is bereken vir alle verkose lêers</string> <string name="main_hashing_done">Hutse is bereken vir alle verkose lêers</string>
<string name="main_hash_scan_done">Al %s hutse is met die stempel databasis vergelyk</string> <string name="main_hash_scan_done">Al %s hutse is met die stempel databasis vergelyk</string>
<string name="main_scanning_done">Skandering voltooid in %s sekondes @ %sMB/s!</string> <string name="main_scanning_done">Skandering voltooid in %s sekondes @ %sMB/s!</string>
<string name="main_files_scanned_count">%s lêers geskandeer</string> <string name="main_files_scanned_count">%s lêers geskandeer</string>
<string name="db_desc_author">Outeur</string>
<string name="db_desc_license">Lisensie</string>
<string name="db_desc_size">Grootte</string>
<string name="db_desc_source">Bron</string>
<string name="db_desc_size_small">Klein</string>
<string name="db_desc_size_medium">Medium</string>
<string name="db_desc_size_large">Groot</string>
</resources> </resources>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -7,10 +7,7 @@
<string name="lblOnionRoutingToggle">Über Tor laden</string> <string name="lblOnionRoutingToggle">Über Tor laden</string>
<string name="lblOnionRoutingEnabledHint">Herunterladen wird zur Anonymisierung über das Tor-Netzwerk geleitet und kann daher länger dauern.</string> <string name="lblOnionRoutingEnabledHint">Herunterladen wird zur Anonymisierung über das Tor-Netzwerk geleitet und kann daher länger dauern.</string>
<string name="lblOnionRoutingNotInstalled">Orbot ist nicht installiert!</string> <string name="lblOnionRoutingNotInstalled">Orbot ist nicht installiert!</string>
<string name="lblOnionRoutingNotRunning">Orbot wird nicht ausgeführt!</string>
<string name="lblUpdateDatabase">Datenbank aktualisieren</string> <string name="lblUpdateDatabase">Datenbank aktualisieren</string>
<string name="lblSelectDatabases">Datenbank auswählen</string>
<string name="lblSelectDatabasesTitle">Zu aktivierende Datenbank(en) auswählen (Vorauswahl ausreichend)</string>
<string name="lblDatabaseServer">Datenbankserver überschreiben</string> <string name="lblDatabaseServer">Datenbankserver überschreiben</string>
<string name="lblFullCredits">Mitwirkende</string> <string name="lblFullCredits">Mitwirkende</string>
<string name="lblScanSystem">/system scannen</string> <string name="lblScanSystem">/system scannen</string>
@ -28,33 +25,24 @@
<string name="lblReset">Zurücksetzen</string> <string name="lblReset">Zurücksetzen</string>
<string name="lblOverride">Überschreiben</string> <string name="lblOverride">Überschreiben</string>
<string name="main_database_updating">%s Datenbank(en) wird/werden aktualisiert...</string> <string name="main_database_updating">%s Datenbank(en) wird/werden aktualisiert</string>
<string name="main_database_override">Datenbankserver %s wird genutzt</string> <string name="main_database_override">Datenbankserver %s wird genutzt</string>
<string name="main_database_downloading">Lade %s herunter</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">Datenbank(en) nicht heruntergeladen. Fehlernummer %s</string> <string name="main_database_download_error">Datenbank(en) nicht heruntergeladen. Fehlernummer %s</string>
<string name="main_no_database_available">Datenbank(en) nicht verfügbar. Schadsoftware-Prüfung nicht möglich...</string> <string name="main_no_database_available">Datenbank(en) nicht verfügbar. Schadsoftware-Prüfung nicht möglich</string>
<string name="main_database_released_on">Veröffentlicht am %s</string> <string name="main_database_released_on">Veröffentlicht am %s</string>
<string name="main_database_not_changed">Keine Veränderung der Datenbank(en)</string> <string name="main_database_not_changed">Keine Veränderung der Datenbank(en)</string>
<string name="main_database_not_modified_since">seit %s</string> <string name="main_database_not_modified_since">seit %s</string>
<string name="main_database_download_error_logcat">Herunterladen ist fehlgeschlagen. Details können im logcat eingesehen werden</string> <string name="main_database_download_error_logcat">Herunterladen ist fehlgeschlagen. Details können im logcat eingesehen werden</string>
<string name="main_starting_scan">Schadsoftware-Prüfung startet...</string> <string name="main_starting_scan">Schadsoftware-Prüfung startet…</string>
<string name="main_cancelling_scan">Prüfung wird abgebrochen...</string> <string name="main_cancelling_scan">Prüfung wird abgebrochen…</string>
<string name="main_cancelled_scan">Prüfung wurde abgebrochen</string>
<string name="main_files_pending_scan">%s Dateien sind zur Schadsoftware-Prüfung vorgesehen</string> <string name="main_files_pending_scan">%s Dateien sind zur Schadsoftware-Prüfung vorgesehen</string>
<string name="main_database_loading">Lade Datenbank(en)...</string> <string name="main_database_loading">Lade Datenbank(en)</string>
<string name="main_database_loaded">Datenbank(en) mit %s Signaturen geladen</string> <string name="main_database_loaded">Datenbank(en) mit %s Signaturen geladen</string>
<string name="main_hashing_files">Generiere Prüfsummen der Dateien...</string> <string name="main_hashing_files">Generiere Prüfsummen der Dateien</string>
<string name="main_hashing_done">Prüfsummen für alle Dateien generiert</string> <string name="main_hashing_done">Prüfsummen für alle Dateien generiert</string>
<string name="main_hash_scan_done">Alle %s Prüfsummen wurden mit den Signaturen der Datenbank(en) verglichen</string> <string name="main_hash_scan_done">Alle %s Prüfsummen wurden mit den Signaturen der Datenbank(en) verglichen</string>
<string name="main_scanning_done">Überprüfung nach %s Sekunden abgeschlossen @ %sMB/s!</string> <string name="main_scanning_done">Überprüfung nach %s Sekunden abgeschlossen @ %sMB/s!</string>
<string name="main_files_scanned_count">%s Dateien überprüft</string> <string name="main_files_scanned_count">%s Dateien überprüft</string>
<string name="db_desc_author">Autor</string>
<string name="db_desc_license">Lizenz</string>
<string name="db_desc_size">Größe</string>
<string name="db_desc_source">Quelle</string>
<string name="db_desc_size_small">Klein</string>
<string name="db_desc_size_medium">Mittel</string>
<string name="db_desc_size_large">Groß</string>
</resources> </resources>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -6,12 +6,9 @@
<string name="app_db_type_clamav">Υποστηρίζεται από υπογραφές τύπου ClamAV</string> <string name="app_db_type_clamav">Υποστηρίζεται από υπογραφές τύπου ClamAV</string>
<string name="lblOnionRoutingToggle">Πραγματοποιείται Λήψη μέσω Tor</string> <string name="lblOnionRoutingToggle">Πραγματοποιείται Λήψη μέσω Tor</string>
<string name="lblOnionRoutingEnabledHint">Λήψη μέσω Tor, αυτό μπορεί να πάρει κάποιο χρόνο...</string> <string name="lblOnionRoutingEnabledHint">Λήψη μέσω Tor, αυτό μπορεί να πάρει κάποιο χρόνο</string>
<string name="lblOnionRoutingNotInstalled">Το Orbot δεν είναι εγκατεστημένο!</string> <string name="lblOnionRoutingNotInstalled">Το Orbot δεν είναι εγκατεστημένο!</string>
<string name="lblOnionRoutingNotRunning">Το Orbot δεν εκτελείται!</string>
<string name="lblUpdateDatabase">Ενημέρωση βάσεων δεδομένων</string> <string name="lblUpdateDatabase">Ενημέρωση βάσεων δεδομένων</string>
<string name="lblSelectDatabases">Επιλογή βάσεων δεδομένων</string>
<string name="lblSelectDatabasesTitle">Επιλέξτε τις βάσεις δεδομένων που θέλετε να ενεργοποιήσετε</string>
<string name="lblDatabaseServer">Παράκαμψη διακομιστή βάσης δεδομένων</string> <string name="lblDatabaseServer">Παράκαμψη διακομιστή βάσης δεδομένων</string>
<string name="lblFullCredits">Credits</string> <string name="lblFullCredits">Credits</string>
<string name="lblScanSystem">Σάρωση /system</string> <string name="lblScanSystem">Σάρωση /system</string>
@ -29,35 +26,26 @@
<string name="lblReset">Επαναφορά</string> <string name="lblReset">Επαναφορά</string>
<string name="lblOverride">Παράκαμψη</string> <string name="lblOverride">Παράκαμψη</string>
<string name="main_database_updating">Ενημέρωση %s βάσεων δεδομένων...</string> <string name="main_database_updating">Ενημέρωση %s βάσεων δεδομένων</string>
<string name="main_database_override">Χρήση διακομιστή %s</string> <string name="main_database_override">Χρήση διακομιστή %s</string>
<string name="main_database_downloading">Λήψη %s</string>
<string name="main_database_download_success">Επιτυχής λήψη</string> <string name="main_database_download_success">Επιτυχής λήψη</string>
<string name="main_database_download_error">Δεν έγινε η λήψη του αρχείου, κωδικός απόκρισης %s</string> <string name="main_database_download_error">Δεν έγινε η λήψη του αρχείου, κωδικός απόκρισης %s</string>
<string name="main_no_database_available">Δεν υπάρχει διαθέσιμη βάση δεδομένων, δεν γίνεται σάρωση...</string> <string name="main_no_database_available">Δεν υπάρχει διαθέσιμη βάση δεδομένων, δεν γίνεται σάρωση</string>
<string name="main_database_released_on">Δημοσιεύτηκε στις %s</string> <string name="main_database_released_on">Δημοσιεύτηκε στις %s</string>
<string name="main_database_not_changed">Το αρχείο δεν άλλαξε</string> <string name="main_database_not_changed">Το αρχείο δεν άλλαξε</string>
<string name="main_database_not_modified_since">από %s</string> <string name="main_database_not_modified_since">από %s</string>
<string name="main_database_download_error_logcat">Αποτυχία λήψης, ελέγξτε το logcat</string> <string name="main_database_download_error_logcat">Αποτυχία λήψης, ελέγξτε το logcat</string>
<string name="main_starting_scan">Έναρξη σάρωσης...</string> <string name="main_starting_scan">Έναρξη σάρωσης…</string>
<string name="main_cancelling_scan">Ακύρωση σάρωσης...</string> <string name="main_cancelling_scan">Ακύρωση σάρωσης…</string>
<string name="main_cancelled_scan">Ακυρώθηκε η σάρωση</string>
<string name="main_files_pending_scan">%s αρχεία περιμένουν σάρωση</string> <string name="main_files_pending_scan">%s αρχεία περιμένουν σάρωση</string>
<string name="main_database_loading">Φόρτωση βάσης δεδομένων...</string> <string name="main_database_loading">Φόρτωση βάσης δεδομένων</string>
<string name="main_database_loaded">Φορτώθηκε βάση δεδομένων με %s υπογραφές</string> <string name="main_database_loaded">Φορτώθηκε βάση δεδομένων με %s υπογραφές</string>
<string name="main_hashing_files">Καταγραφή αρχείων...</string> <string name="main_hashing_files">Καταγραφή αρχείων</string>
<string name="main_hashing_done">Υπολογίστηκαν τα hashes για όλα τα αρχεία</string> <string name="main_hashing_done">Υπολογίστηκαν τα hashes για όλα τα αρχεία</string>
<string name="main_hash_scan_done">Έλεγθηκαν και τα %s hashes ως προς τις βάσεις υπογραφών</string> <string name="main_hash_scan_done">Έλεγθηκαν και τα %s hashes ως προς τις βάσεις υπογραφών</string>
<string name="main_scanning_done">Η σάρωση ολοκληρώθηκε σε %s δευτερόλεπτα @ %sMB/s!</string> <string name="main_scanning_done">Η σάρωση ολοκληρώθηκε σε %s δευτερόλεπτα @ %sMB/s!</string>
<string name="main_files_scanned_count">%s αρχεία σαρώθηκαν</string> <string name="main_files_scanned_count">%s αρχεία σαρώθηκαν</string>
<string name="db_desc_author">Συντάκτης</string>
<string name="db_desc_license">Άδεια</string>
<string name="db_desc_size">Μέγεθος</string>
<string name="db_desc_source">Πηγή</string>
<string name="db_desc_size_small">Μικρό</string>
<string name="db_desc_size_medium">Μεσαίο</string>
<string name="db_desc_size_large">Μεγάλο</string>
<string name="scan_control">Έλεγχος σάρωσης</string> <string name="scan_control">Έλεγχος σάρωσης</string>
<string name="lblScanRunning">Παράλειψη ενέργειας, μια σάρωση βρίσκεται ήδη σε εξέλιξη!</string> <string name="lblScanRunning">Παράλειψη ενέργειας, μια σάρωση βρίσκεται ήδη σε εξέλιξη!</string>
<string name="lblSigningKey">Κλειδί υπογραφής της βάσης δεδομένων</string> <string name="lblSigningKey">Κλειδί υπογραφής της βάσης δεδομένων</string>

View file

@ -21,6 +21,8 @@
<item>• Nex (@botherder): Bases de datos de firmas</item> <item>• Nex (@botherder): Bases de datos de firmas</item>
<item>• Amnesty International: Bases de datos de firmas</item> <item>• Amnesty International: Bases de datos de firmas</item>
<item>• Echap: Bases de datos de firmas</item> <item>• Echap: Bases de datos de firmas</item>
<item>• MalwareBazaar: Bases de datos de firmas</item>
<item>• VirusShare: Bases de datos de firmas</item>
<item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item> <item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item>
<item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item> <item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item>
<item>• Google: Icono de la aplicación</item> <item>• Google: Icono de la aplicación</item>

View file

@ -5,12 +5,9 @@
<string name="app_db_type_clamav">Potenciada por firmas al estilo de ClamAV</string> <string name="app_db_type_clamav">Potenciada por firmas al estilo de ClamAV</string>
<string name="lblOnionRoutingToggle">Descarga a través de Tor</string> <string name="lblOnionRoutingToggle">Descarga a través de Tor</string>
<string name="lblOnionRoutingEnabledHint">Descargando a través de Tor, esto puede llevar un tiempo...</string> <string name="lblOnionRoutingEnabledHint">Descargando a través de Tor, esto puede llevar un tiempo</string>
<string name="lblOnionRoutingNotInstalled">¡Orbot no está instalado!</string> <string name="lblOnionRoutingNotInstalled">¡Orbot no está instalado!</string>
<string name="lblOnionRoutingNotRunning">¡Orbot no se está ejecutando!</string>
<string name="lblUpdateDatabase">Actualizar bases de datos</string> <string name="lblUpdateDatabase">Actualizar bases de datos</string>
<string name="lblSelectDatabases">Seleccionar bases de datos</string>
<string name="lblSelectDatabasesTitle">Seleccione las bases de datos que desea habilitar</string>
<string name="lblDatabaseServer">Modificar servidor BBDD</string> <string name="lblDatabaseServer">Modificar servidor BBDD</string>
<string name="lblFullCredits">Créditos</string> <string name="lblFullCredits">Créditos</string>
<string name="lblScanSystem">Escanear /sistema</string> <string name="lblScanSystem">Escanear /sistema</string>
@ -28,35 +25,26 @@
<string name="lblReset">Restablecer</string> <string name="lblReset">Restablecer</string>
<string name="lblOverride">Modificar</string> <string name="lblOverride">Modificar</string>
<string name="main_database_updating">Actualizando %s bases de datos...</string> <string name="main_database_updating">Actualizando %s bases de datos</string>
<string name="main_database_override">Utilizando el servidor %s</string> <string name="main_database_override">Utilizando el servidor %s</string>
<string name="main_database_downloading">Descargando %s</string>
<string name="main_database_download_success">Descarga exitosa</string> <string name="main_database_download_success">Descarga exitosa</string>
<string name="main_database_download_error">Archivo no descargado, código de respuesta %s</string> <string name="main_database_download_error">Archivo no descargado, código de respuesta %s</string>
<string name="main_no_database_available">No hay base de datos disponible, no se está analizando...</string> <string name="main_no_database_available">No hay base de datos disponible, no se está analizando</string>
<string name="main_database_released_on">Liberada en %s</string> <string name="main_database_released_on">Liberada en %s</string>
<string name="main_database_not_changed">Archivo no modificado</string> <string name="main_database_not_changed">Archivo no modificado</string>
<string name="main_database_not_modified_since">desde %s</string> <string name="main_database_not_modified_since">desde %s</string>
<string name="main_database_download_error_logcat">No se pudo descargar, compruebe el logcat</string> <string name="main_database_download_error_logcat">No se pudo descargar, compruebe el logcat</string>
<string name="main_starting_scan">Iniciando escaneo...</string> <string name="main_starting_scan">Iniciando escaneo…</string>
<string name="main_cancelling_scan">Cancelando escaneo...</string> <string name="main_cancelling_scan">Cancelando escaneo…</string>
<string name="main_cancelled_scan">Escaneo cancelado</string>
<string name="main_files_pending_scan">%s archivos pendientes de escanear</string> <string name="main_files_pending_scan">%s archivos pendientes de escanear</string>
<string name="main_database_loading">Cargando base de datos...</string> <string name="main_database_loading">Cargando base de datos</string>
<string name="main_database_loaded">Cargada base de datos con %s firmas</string> <string name="main_database_loaded">Cargada base de datos con %s firmas</string>
<string name="main_hashing_files">Calculando Hashes de archivos...</string> <string name="main_hashing_files">Calculando Hashes de archivos</string>
<string name="main_hashing_done">Hashes calculados para todos los archivos</string> <string name="main_hashing_done">Hashes calculados para todos los archivos</string>
<string name="main_hash_scan_done">Comprobados todos los hashes de %s con las bases de datos de firmas</string> <string name="main_hash_scan_done">Comprobados todos los hashes de %s con las bases de datos de firmas</string>
<string name="main_scanning_done">¡Escaneo completado en %s segundos @ %sMB/s!</string> <string name="main_scanning_done">¡Escaneo completado en %s segundos @ %sMB/s!</string>
<string name="main_files_scanned_count">%s archivos escaneados</string> <string name="main_files_scanned_count">%s archivos escaneados</string>
<string name="db_desc_author">Autor</string>
<string name="db_desc_license">Licencia</string>
<string name="db_desc_size">Tamaño</string>
<string name="db_desc_source">Fuente</string>
<string name="db_desc_size_small">Pequeña</string>
<string name="db_desc_size_medium">Mediana</string>
<string name="db_desc_size_large">Grande</string>
<string name="scan_control">Control de escaneo</string> <string name="scan_control">Control de escaneo</string>
<string name="lblScanRunning">Saltarse la acción, ¡se está ejecutando un escaneo!</string> <string name="lblScanRunning">Saltarse la acción, ¡se está ejecutando un escaneo!</string>
<string name="lblSigningKey">Clave de firma de BBDD</string> <string name="lblSigningKey">Clave de firma de BBDD</string>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -4,12 +4,9 @@
<string name="app_db_type_clamav">Powered by ClamAV tyylin allekirjoitukset</string> <string name="app_db_type_clamav">Powered by ClamAV tyylin allekirjoitukset</string>
<string name="lblOnionRoutingToggle">Lataa käyttäen Tor-verkkoa</string> <string name="lblOnionRoutingToggle">Lataa käyttäen Tor-verkkoa</string>
<string name="lblOnionRoutingEnabledHint">Ladataan käyttäen Tor-verkkoa, tämä voi kestää jonkin aikaa...</string> <string name="lblOnionRoutingEnabledHint">Ladataan käyttäen Tor-verkkoa, tämä voi kestää jonkin aikaa</string>
<string name="lblOnionRoutingNotInstalled">Orbot:ia ei ole asennettu!</string> <string name="lblOnionRoutingNotInstalled">Orbot:ia ei ole asennettu!</string>
<string name="lblOnionRoutingNotRunning">Orbot ei ole käynnissä!</string>
<string name="lblUpdateDatabase">Päivitä tietokannat</string> <string name="lblUpdateDatabase">Päivitä tietokannat</string>
<string name="lblSelectDatabases">Valitse tietokannat</string>
<string name="lblSelectDatabasesTitle">Valitse käytettävät tietokannat</string>
<string name="lblDatabaseServer">Tietokantapalvelimen ohitus</string> <string name="lblDatabaseServer">Tietokantapalvelimen ohitus</string>
<string name="lblFullCredits">Krediitit</string> <string name="lblFullCredits">Krediitit</string>
<string name="lblScanSystem">Tarkista /järjestelmä</string> <string name="lblScanSystem">Tarkista /järjestelmä</string>
@ -27,33 +24,24 @@
<string name="lblReset">Palauta</string> <string name="lblReset">Palauta</string>
<string name="lblOverride">Ohita</string> <string name="lblOverride">Ohita</string>
<string name="main_database_updating">Päivitetään %s tietokanta(a)...</string> <string name="main_database_updating">Päivitetään %s tietokanta(a)</string>
<string name="main_database_override">Käytetään palvelinta %s</string> <string name="main_database_override">Käytetään palvelinta %s</string>
<string name="main_database_downloading">Ladataan %s</string>
<string name="main_database_download_success">Ladattiin onnistuneesti</string> <string name="main_database_download_success">Ladattiin onnistuneesti</string>
<string name="main_database_download_error">Tiedostoa ei ladattu, vastauskoodi %s</string> <string name="main_database_download_error">Tiedostoa ei ladattu, vastauskoodi %s</string>
<string name="main_no_database_available">Tietokantaa ei ole käytettävissä, ei tarkistusta...</string> <string name="main_no_database_available">Tietokantaa ei ole käytettävissä, ei tarkistusta</string>
<string name="main_database_released_on">Julkaistu %s</string> <string name="main_database_released_on">Julkaistu %s</string>
<string name="main_database_not_changed">Tiedostoa ei ole muutettu</string> <string name="main_database_not_changed">Tiedostoa ei ole muutettu</string>
<string name="main_database_not_modified_since">%s jälkeen</string> <string name="main_database_not_modified_since">%s jälkeen</string>
<string name="main_database_download_error_logcat">Lataus epäonnistui, tarkista logcat</string> <string name="main_database_download_error_logcat">Lataus epäonnistui, tarkista logcat</string>
<string name="main_starting_scan">Aloitetaan tarkistus...</string> <string name="main_starting_scan">Aloitetaan tarkistus…</string>
<string name="main_cancelling_scan">Perutaan tarkistus...</string> <string name="main_cancelling_scan">Perutaan tarkistus…</string>
<string name="main_cancelled_scan">Tarkistus peruttu</string>
<string name="main_files_pending_scan">%s tarkistettavaa tiedostoa</string> <string name="main_files_pending_scan">%s tarkistettavaa tiedostoa</string>
<string name="main_database_loading">Ladataan tietokantaa...</string> <string name="main_database_loading">Ladataan tietokantaa</string>
<string name="main_database_loaded">Ladattiin tietokanta %s allekirjoituksella</string> <string name="main_database_loaded">Ladattiin tietokanta %s allekirjoituksella</string>
<string name="main_hashing_files">Hashataan tiedostoja...</string> <string name="main_hashing_files">Hashataan tiedostoja</string>
<string name="main_hashing_done">Laskettiin hashit kaikille tiedostoille</string> <string name="main_hashing_done">Laskettiin hashit kaikille tiedostoille</string>
<string name="main_hash_scan_done">Tarkistettiin kaikki %s hashit allekirjoitustietokannoista</string> <string name="main_hash_scan_done">Tarkistettiin kaikki %s hashit allekirjoitustietokannoista</string>
<string name="main_scanning_done">Tarkistus suoritettu %s sekunnissa @ %sMB/s!</string> <string name="main_scanning_done">Tarkistus suoritettu %s sekunnissa @ %sMB/s!</string>
<string name="main_files_scanned_count">%s tiedostoa tarkistettu</string> <string name="main_files_scanned_count">%s tiedostoa tarkistettu</string>
<string name="db_desc_author">Tekijä</string>
<string name="db_desc_license">Lisenssi</string>
<string name="db_desc_size">Koko</string>
<string name="db_desc_source">Lähde</string>
<string name="db_desc_size_small">Pieni</string>
<string name="db_desc_size_medium">Keskikokoinen</string>
<string name="db_desc_size_large">Suuri</string>
</resources> </resources>

View file

@ -15,11 +15,14 @@
<item>• @Sdarfeesh: Simplified Chinese Translations</item> <item>• @Sdarfeesh: Simplified Chinese Translations</item>
<item>• @cardpuncher: French/Turkish Translations</item> <item>• @cardpuncher: French/Turkish Translations</item>
<item>• Tommaso Fonda: Italian Translations</item> <item>• Tommaso Fonda: Italian Translations</item>
<item>• Dimitris Vagiakakos: Greek Translations</item>
<item>• ClamAV par Cisco: bases de données de signatures</item> <item>• ClamAV par Cisco: bases de données de signatures</item>
<item>• ESET: bases de données de signatures</item> <item>• ESET: bases de données de signatures</item>
<item>• Nex (@botherder): bases de données de signatures</item> <item>• Nex (@botherder): bases de données de signatures</item>
<item>• Amnesty International: bases de données de signatures</item> <item>• Amnesty International: bases de données de signatures</item>
<item>• Echap: bases de données de signatures</item> <item>• Echap: bases de données de signatures</item>
<item>• MalwareBazaar: bases de données de signatures</item>
<item>• VirusShare: bases de données de signatures</item>
<item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item> <item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item>
<item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item> <item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item>
<item>• Google: icône de l\'application</item> <item>• Google: icône de l\'application</item>

View file

@ -1,18 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name" translatable="false">Hypatia</string>
<string name="app_copyright">Copyright 2017-2023 Divested Computing Group</string> <string name="app_copyright">Copyright 2017-2023 Divested Computing Group</string>
<string name="app_license">Licence: GPL-3.0</string> <string name="app_license">Licence: GPL-3.0</string>
<string name="app_version">Numéro de version: %s</string> <string name="app_version">Numéro de version: %s</string>
<string name="app_db_type_clamav">Propulsé par les signatures de style ClamAV</string> <string name="app_db_type_clamav">Propulsé par les signatures de style ClamAV</string>
<string name="lblOnionRoutingToggle">Téléchargement par Tor</string> <string name="lblOnionRoutingToggle">Téléchargement par Tor</string>
<string name="lblOnionRoutingEnabledHint">Téléchargement par Tor, cela peut prendre un certain temps...</string> <string name="lblOnionRoutingEnabledHint">Téléchargement par Tor, cela peut prendre un certain temps</string>
<string name="lblOnionRoutingNotInstalled">Orbot n\'est pas installé !</string> <string name="lblOnionRoutingNotInstalled">Orbot n\'est pas installé !</string>
<string name="lblOnionRoutingNotRunning">Orbot n\'est pas en marche !</string>
<string name="lblUpdateDatabase">Mise à jour des bases de données</string> <string name="lblUpdateDatabase">Mise à jour des bases de données</string>
<string name="lblSelectDatabases">Sélectionner les bases de données</string>
<string name="lblSelectDatabasesTitle">Sélectionner les bases de données à activer</string>
<string name="lblDatabaseServer">Remplacer le serveur de base de données</string> <string name="lblDatabaseServer">Remplacer le serveur de base de données</string>
<string name="lblFullCredits">Crédits</string> <string name="lblFullCredits">Crédits</string>
<string name="lblScanSystem">Analyser le /système</string> <string name="lblScanSystem">Analyser le /système</string>
@ -30,34 +26,25 @@
<string name="lblReset">Réinitialiser</string> <string name="lblReset">Réinitialiser</string>
<string name="lblOverride">Remplacer</string> <string name="lblOverride">Remplacer</string>
<string name="main_database_updating">Mise à jour des %s bases de données...</string> <string name="main_database_updating">Mise à jour des %s bases de données</string>
<string name="main_database_override">Utilisation du serveur %s</string> <string name="main_database_override">Utilisation du serveur %s</string>
<string name="main_database_downloading">Télécharger %s</string>
<string name="main_database_download_success">Téléchargement réussi</string> <string name="main_database_download_success">Téléchargement réussi</string>
<string name="main_database_download_error">Fichier non téléchargé, code de réponse %s</string> <string name="main_database_download_error">Fichier non téléchargé, code de réponse %s</string>
<string name="main_no_database_available">Pas de base de données disponible, pas d\'analyse...</string> <string name="main_no_database_available">Pas de base de données disponible, pas d\'analyse</string>
<string name="main_database_released_on">Publiée le %s</string> <string name="main_database_released_on">Publiée le %s</string>
<string name="main_database_not_changed">Fichier non modifié</string> <string name="main_database_not_changed">Fichier non modifié</string>
<string name="main_database_not_modified_since">depuis le %s</string> <string name="main_database_not_modified_since">depuis le %s</string>
<string name="main_database_download_error_logcat">Téléchargement échoué, vérifier le logcat</string> <string name="main_database_download_error_logcat">Téléchargement échoué, vérifier le logcat</string>
<string name="main_starting_scan">Démarrage de l\'analyse...</string> <string name="main_starting_scan">Démarrage de l\'analyse…</string>
<string name="main_cancelling_scan">L\'analyse est annulée...</string> <string name="main_cancelling_scan">L\'analyse est annulée…</string>
<string name="main_cancelled_scan">L\'analyse a été annulée</string>
<string name="main_files_pending_scan">%s dossiers en attente de scan</string> <string name="main_files_pending_scan">%s dossiers en attente de scan</string>
<string name="main_database_loaded">Base de données chargée de %s signatures</string> <string name="main_database_loaded">Base de données chargée de %s signatures</string>
<string name="main_hashing_files">Hachage de fichiers...</string> <string name="main_hashing_files">Hachage de fichiers</string>
<string name="main_hashing_done">Hachages calculés pour tous les fichiers</string> <string name="main_hashing_done">Hachages calculés pour tous les fichiers</string>
<string name="main_hash_scan_done">Vérification de tous les hachages %s par rapport aux bases de données de signatures</string> <string name="main_hash_scan_done">Vérification de tous les hachages %s par rapport aux bases de données de signatures</string>
<string name="main_scanning_done">Analyse complétée en %s secondes @ %sMo/s!</string> <string name="main_scanning_done">Analyse complétée en %s secondes @ %sMo/s!</string>
<string name="main_files_scanned_count">%s fichiers analysés</string> <string name="main_files_scanned_count">%s fichiers analysés</string>
<string name="db_desc_author">Auteur</string>
<string name="db_desc_license">Licence</string>
<string name="db_desc_size">Taille</string>
<string name="db_desc_source">La source</string>
<string name="db_desc_size_medium">Moyenne</string>
<string name="db_desc_size_large">Grande</string>
<string name="db_desc_size_small">Petite</string>
<string name="scan_control">Contrôle de l\'analyse</string> <string name="scan_control">Contrôle de l\'analyse</string>
<string name="lblScanRunning">Action ignorée, une analyse est en cours !</string> <string name="lblScanRunning">Action ignorée, une analyse est en cours !</string>
<string name="lblSigningKey">Signature utilisée pour signer la base de données</string> <string name="lblSigningKey">Signature utilisée pour signer la base de données</string>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -5,12 +5,9 @@
<string name="app_db_type_clamav">Basato su firme in stile ClamAV</string> <string name="app_db_type_clamav">Basato su firme in stile ClamAV</string>
<string name="lblOnionRoutingToggle">Aggiorna tramite Tor</string> <string name="lblOnionRoutingToggle">Aggiorna tramite Tor</string>
<string name="lblOnionRoutingEnabledHint">Aggiornamento tramite Tor, potrebbe volerci un po\'...</string> <string name="lblOnionRoutingEnabledHint">Aggiornamento tramite Tor, potrebbe volerci un po\'</string>
<string name="lblOnionRoutingNotInstalled">Orbot non è installato!</string> <string name="lblOnionRoutingNotInstalled">Orbot non è installato!</string>
<string name="lblOnionRoutingNotRunning">Orbot non è in esecuzione!</string>
<string name="lblUpdateDatabase">Aggiorna i database</string> <string name="lblUpdateDatabase">Aggiorna i database</string>
<string name="lblSelectDatabases">Seleziona database</string>
<string name="lblSelectDatabasesTitle">Seleziona i database da abilitare</string>
<string name="lblDatabaseServer">Modifica il server dei database</string> <string name="lblDatabaseServer">Modifica il server dei database</string>
<string name="lblFullCredits">Crediti</string> <string name="lblFullCredits">Crediti</string>
<string name="lblScanSystem">Scansiona le app di sistema</string> <string name="lblScanSystem">Scansiona le app di sistema</string>
@ -28,35 +25,26 @@
<string name="lblReset">Reset</string> <string name="lblReset">Reset</string>
<string name="lblOverride">Modifica</string> <string name="lblOverride">Modifica</string>
<string name="main_database_updating">Aggiornamento database %s...</string> <string name="main_database_updating">Aggiornamento database %s</string>
<string name="main_database_override">Utilizza un altro server %s</string> <string name="main_database_override">Utilizza un altro server %s</string>
<string name="main_database_downloading">Scaricando %s</string>
<string name="main_database_download_success">Scaricato con successo</string> <string name="main_database_download_success">Scaricato con successo</string>
<string name="main_database_download_error">Database non scaricato, errore %s</string> <string name="main_database_download_error">Database non scaricato, errore %s</string>
<string name="main_no_database_available">Nessun database selezionato, scansione annullata...</string> <string name="main_no_database_available">Nessun database selezionato, scansione annullata</string>
<string name="main_database_released_on">Aggiornato il %s</string> <string name="main_database_released_on">Aggiornato il %s</string>
<string name="main_database_not_changed">Database non modificato</string> <string name="main_database_not_changed">Database non modificato</string>
<string name="main_database_not_modified_since">dal %s</string> <string name="main_database_not_modified_since">dal %s</string>
<string name="main_database_download_error_logcat">Impossibile aggiornare, controlla il logcat</string> <string name="main_database_download_error_logcat">Impossibile aggiornare, controlla il logcat</string>
<string name="main_starting_scan">Avviamento scansione...</string> <string name="main_starting_scan">Avviamento scansione…</string>
<string name="main_cancelling_scan">Annullamento scansione...</string> <string name="main_cancelling_scan">Annullamento scansione…</string>
<string name="main_cancelled_scan">Scansione annullata</string>
<string name="main_files_pending_scan">%s file da scansionare</string> <string name="main_files_pending_scan">%s file da scansionare</string>
<string name="main_database_loading">Caricamento database...</string> <string name="main_database_loading">Caricamento database</string>
<string name="main_database_loaded">Database caricato con %s firme</string> <string name="main_database_loaded">Database caricato con %s firme</string>
<string name="main_hashing_files">Hashing dei file...</string> <string name="main_hashing_files">Hashing dei file</string>
<string name="main_hashing_done">Calcolando gli hash per tutti i file</string> <string name="main_hashing_done">Calcolando gli hash per tutti i file</string>
<string name="main_hash_scan_done">Confrontati tutti gli hash %s con il database delle firme</string> <string name="main_hash_scan_done">Confrontati tutti gli hash %s con il database delle firme</string>
<string name="main_scanning_done">Scansione completata in %s secondi @ %sMB/s!</string> <string name="main_scanning_done">Scansione completata in %s secondi @ %sMB/s!</string>
<string name="main_files_scanned_count">%s file scansionati</string> <string name="main_files_scanned_count">%s file scansionati</string>
<string name="db_desc_author">Autore</string>
<string name="db_desc_license">Licenza</string>
<string name="db_desc_size">Dimensione</string>
<string name="db_desc_source">Fonte</string>
<string name="db_desc_size_medium">Medio</string>
<string name="db_desc_size_large">Grande</string>
<string name="db_desc_size_small">Piccola</string>
<string name="scan_control">Controllo scansione</string> <string name="scan_control">Controllo scansione</string>
<string name="lblScanRunning">Azione saltata, è in corso una scansione!</string> <string name="lblScanRunning">Azione saltata, è in corso una scansione!</string>
<string name="lblSigningKey">Chiave di firma del database</string> <string name="lblSigningKey">Chiave di firma del database</string>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -8,10 +8,7 @@
<string name="lblOnionRoutingToggle">Pobierz przez Tor</string> <string name="lblOnionRoutingToggle">Pobierz przez Tor</string>
<string name="lblOnionRoutingEnabledHint">Pobieranie przez Tor, może to zająć chwilę…</string> <string name="lblOnionRoutingEnabledHint">Pobieranie przez Tor, może to zająć chwilę…</string>
<string name="lblOnionRoutingNotInstalled">Orbot nie jest zainstalowany!</string> <string name="lblOnionRoutingNotInstalled">Orbot nie jest zainstalowany!</string>
<string name="lblOnionRoutingNotRunning">Orbot nie jest uruchomiony!</string>
<string name="lblUpdateDatabase">Aktualizuj bazy danych</string> <string name="lblUpdateDatabase">Aktualizuj bazy danych</string>
<string name="lblSelectDatabases">Wybierz bazy danych</string>
<string name="lblSelectDatabasesTitle">Wybierz bazy danych do aktywacji</string>
<string name="lblDatabaseServer">Zastąpienia serwera bazy danych</string> <string name="lblDatabaseServer">Zastąpienia serwera bazy danych</string>
<string name="lblFullCredits">Uznania</string> <string name="lblFullCredits">Uznania</string>
<string name="lblScanSystem">Skanuj /system</string> <string name="lblScanSystem">Skanuj /system</string>
@ -31,7 +28,6 @@
<string name="main_database_updating">Aktualizacja bazy danych %s…</string> <string name="main_database_updating">Aktualizacja bazy danych %s…</string>
<string name="main_database_override">Wykorzystywanie serwera %s</string> <string name="main_database_override">Wykorzystywanie serwera %s</string>
<string name="main_database_downloading">Pobieranie %s</string>
<string name="main_database_download_success">Pomyślnie pobrano</string> <string name="main_database_download_success">Pomyślnie pobrano</string>
<string name="main_database_download_error">Nie pobrano plikku, kod odpowiedzi %s</string> <string name="main_database_download_error">Nie pobrano plikku, kod odpowiedzi %s</string>
<string name="main_no_database_available">Baza danych nie jest dostępna, nie skanuję…</string> <string name="main_no_database_available">Baza danych nie jest dostępna, nie skanuję…</string>
@ -42,7 +38,6 @@
<string name="main_starting_scan">Rozpoczynanie skanowania…</string> <string name="main_starting_scan">Rozpoczynanie skanowania…</string>
<string name="main_cancelling_scan">Anulowanie skanowania…</string> <string name="main_cancelling_scan">Anulowanie skanowania…</string>
<string name="main_cancelled_scan">Anulowano skanowanie</string>
<string name="main_files_pending_scan">%s plików oczekuje na skanowanie</string> <string name="main_files_pending_scan">%s plików oczekuje na skanowanie</string>
<string name="main_database_loading">Ładowanie bazy danych…</string> <string name="main_database_loading">Ładowanie bazy danych…</string>
<string name="main_database_loaded">Załadowano bazę danych z %s sygnaturami</string> <string name="main_database_loaded">Załadowano bazę danych z %s sygnaturami</string>
@ -51,11 +46,4 @@
<string name="main_hash_scan_done">Porównano wszystkie %s hashów z bazą danych sygnatur</string> <string name="main_hash_scan_done">Porównano wszystkie %s hashów z bazą danych sygnatur</string>
<string name="main_scanning_done">Ukończono skanowanie w %s sekund @ %sMB/s!</string> <string name="main_scanning_done">Ukończono skanowanie w %s sekund @ %sMB/s!</string>
<string name="main_files_scanned_count">Zeskanowano %s plików</string> <string name="main_files_scanned_count">Zeskanowano %s plików</string>
<string name="db_desc_author">Autor</string>
<string name="db_desc_license">Licencja</string>
<string name="db_desc_size">Rozmiar</string>
<string name="db_desc_source">Źródło</string>
<string name="db_desc_size_small">Small</string>
<string name="db_desc_size_medium">Medium</string>
<string name="db_desc_size_large">Large</string>
</resources> </resources>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -5,12 +5,9 @@
<string name="app_version">Versão: %s</string> <string name="app_version">Versão: %s</string>
<string name="app_db_type_clamav">Produzido por assinaturas estilo ClamAV</string> <string name="app_db_type_clamav">Produzido por assinaturas estilo ClamAV</string>
<string name="lblOnionRoutingEnabledHint">Baixando via Tor, isto pode demorar um pouco...</string> <string name="lblOnionRoutingEnabledHint">Baixando via Tor, isto pode demorar um pouco</string>
<string name="lblOnionRoutingNotInstalled">Orbot não está instalado!</string> <string name="lblOnionRoutingNotInstalled">Orbot não está instalado!</string>
<string name="lblOnionRoutingNotRunning">Orbot não está iniciado!</string>
<string name="lblUpdateDatabase">Atualizar base de dados</string> <string name="lblUpdateDatabase">Atualizar base de dados</string>
<string name="lblSelectDatabases">Selecionar base de dados</string>
<string name="lblSelectDatabasesTitle">Selecionar base de dados para ativar</string>
<string name="lblFullCredits">Créditos</string> <string name="lblFullCredits">Créditos</string>
<string name="lblScanSystem">Analisar /sistema</string> <string name="lblScanSystem">Analisar /sistema</string>
<string name="lblScanApps">Analisar APKs do App</string> <string name="lblScanApps">Analisar APKs do App</string>
@ -25,31 +22,23 @@
<string name="lblNotificationRealtimeDetection">Malware detectado:</string> <string name="lblNotificationRealtimeDetection">Malware detectado:</string>
<string name="lblRealtimeScannerToggle">Analisar em tempo real</string> <string name="lblRealtimeScannerToggle">Analisar em tempo real</string>
<string name="main_database_updating">Atualizando %s base de dados...</string> <string name="main_database_updating">Atualizando %s base de dados…</string>
<string name="main_database_downloading">Baixando %s</string>
<string name="main_database_download_success">Baixado com sucesso</string> <string name="main_database_download_success">Baixado com sucesso</string>
<string name="main_database_download_error">Arquivo não baixado, código de resposta %s</string> <string name="main_database_download_error">Arquivo não baixado, código de resposta %s</string>
<string name="main_no_database_available">Sem base de dados disponível, análise não efetuada...</string> <string name="main_no_database_available">Sem base de dados disponível, análise não efetuada</string>
<string name="main_database_released_on">Lançado em %s</string> <string name="main_database_released_on">Lançado em %s</string>
<string name="main_database_not_changed">Arquivo não alterado</string> <string name="main_database_not_changed">Arquivo não alterado</string>
<string name="main_database_not_modified_since">desde %s</string> <string name="main_database_not_modified_since">desde %s</string>
<string name="main_database_download_error_logcat">Falha no download, veja logcat</string> <string name="main_database_download_error_logcat">Falha no download, veja logcat</string>
<string name="main_starting_scan">Iniciando análise...</string> <string name="main_starting_scan">Iniciando análise…</string>
<string name="main_cancelling_scan">Cancelando análise...</string> <string name="main_cancelling_scan">Cancelando análise…</string>
<string name="main_cancelled_scan">Análise cancelada</string>
<string name="main_files_pending_scan">%s arquivos pendentes para analisar</string> <string name="main_files_pending_scan">%s arquivos pendentes para analisar</string>
<string name="main_database_loading">Carregando base de dados...</string> <string name="main_database_loading">Carregando base de dados</string>
<string name="main_database_loaded">Carregou base de dados com %s assinaturas</string> <string name="main_database_loaded">Carregou base de dados com %s assinaturas</string>
<string name="main_hashing_files">Hashing arquivos...</string> <string name="main_hashing_files">Hashing arquivos</string>
<string name="main_hashing_done">Hashes calculados para todos os arquivos</string> <string name="main_hashing_done">Hashes calculados para todos os arquivos</string>
<string name="main_hash_scan_done">Verificados todos %s hashes em relação a base de dados de assinaturas</string> <string name="main_hash_scan_done">Verificados todos %s hashes em relação a base de dados de assinaturas</string>
<string name="main_scanning_done">Análise concluída em %s segundos @ %sMB/s!</string> <string name="main_scanning_done">Análise concluída em %s segundos @ %sMB/s!</string>
<string name="main_files_scanned_count">%s arquivos analisados</string> <string name="main_files_scanned_count">%s arquivos analisados</string>
<string name="db_desc_license">Licença</string>
<string name="db_desc_size_large">Grande</string>
<string name="db_desc_size_medium">Média</string>
<string name="db_desc_size_small">Pequena</string>
<string name="db_desc_source">Fonte</string>
<string name="db_desc_size">Tamanho</string>
</resources> </resources>

View file

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources></resources> <resources />

View file

@ -5,12 +5,9 @@
<string name="app_db_type_clamav">Используются сигнатуры от ClamAV</string> <string name="app_db_type_clamav">Используются сигнатуры от ClamAV</string>
<string name="lblOnionRoutingToggle">Скачать через Tor</string> <string name="lblOnionRoutingToggle">Скачать через Tor</string>
<string name="lblOnionRoutingEnabledHint">Загрузка через Tor может занять некоторое время...</string> <string name="lblOnionRoutingEnabledHint">Загрузка через Tor может занять некоторое время</string>
<string name="lblOnionRoutingNotInstalled">Orbot не установлен!</string> <string name="lblOnionRoutingNotInstalled">Orbot не установлен!</string>
<string name="lblOnionRoutingNotRunning">Orbot не запущен!</string>
<string name="lblUpdateDatabase">Обновить базы данных</string> <string name="lblUpdateDatabase">Обновить базы данных</string>
<string name="lblSelectDatabases">Выбрать базы данных</string>
<string name="lblSelectDatabasesTitle">Выберите базы данных для включения</string>
<string name="lblDatabaseServer">Переопределение сервера базы данных</string> <string name="lblDatabaseServer">Переопределение сервера базы данных</string>
<string name="lblFullCredits">Благодарность</string> <string name="lblFullCredits">Благодарность</string>
<string name="lblScanSystem">Сканировать /system</string> <string name="lblScanSystem">Сканировать /system</string>
@ -28,35 +25,26 @@
<string name="lblReset">Сбросить</string> <string name="lblReset">Сбросить</string>
<string name="lblOverride">Переопределить</string> <string name="lblOverride">Переопределить</string>
<string name="main_database_updating">Обновление %s баз данных...</string> <string name="main_database_updating">Обновление %s баз данных</string>
<string name="main_database_override">Используется сервер %s</string> <string name="main_database_override">Используется сервер %s</string>
<string name="main_database_downloading">Загрузка %s</string>
<string name="main_database_download_success">Успешно загружена</string> <string name="main_database_download_success">Успешно загружена</string>
<string name="main_database_download_error">Файл не загружен, код ответа %s</string> <string name="main_database_download_error">Файл не загружен, код ответа %s</string>
<string name="main_no_database_available">База данных недоступна, сканирование не выполняется...</string> <string name="main_no_database_available">База данных недоступна, сканирование не выполняется</string>
<string name="main_database_released_on">Выпущены %s</string> <string name="main_database_released_on">Выпущены %s</string>
<string name="main_database_not_changed">Файл не изменен</string> <string name="main_database_not_changed">Файл не изменен</string>
<string name="main_database_not_modified_since">%s</string> <string name="main_database_not_modified_since">%s</string>
<string name="main_database_download_error_logcat">Не удалось загрузить, проверьте logcat</string> <string name="main_database_download_error_logcat">Не удалось загрузить, проверьте logcat</string>
<string name="main_starting_scan">Запуск сканирования...</string> <string name="main_starting_scan">Запуск сканирования…</string>
<string name="main_cancelling_scan">Отмена сканирования...</string> <string name="main_cancelling_scan">Отмена сканирования…</string>
<string name="main_cancelled_scan">Сканирование отменено</string>
<string name="main_files_pending_scan">%s файл(-ов) ожидают сканирования</string> <string name="main_files_pending_scan">%s файл(-ов) ожидают сканирования</string>
<string name="main_database_loading">Загрузка базы данных...</string> <string name="main_database_loading">Загрузка базы данных</string>
<string name="main_database_loaded">Загружена база данных с %s сигнатурами</string> <string name="main_database_loaded">Загружена база данных с %s сигнатурами</string>
<string name="main_hashing_files">Хеширование файлов...</string> <string name="main_hashing_files">Хеширование файлов</string>
<string name="main_hashing_done">Расчетные хеши для всех файлов</string> <string name="main_hashing_done">Расчетные хеши для всех файлов</string>
<string name="main_hash_scan_done">Проверены все хэши %s по базам данных сигнатур</string> <string name="main_hash_scan_done">Проверены все хэши %s по базам данных сигнатур</string>
<string name="main_scanning_done">Сканирование выполнено за %s секунд @ %sMB/s!</string> <string name="main_scanning_done">Сканирование выполнено за %s секунд @ %sMB/s!</string>
<string name="main_files_scanned_count">Просканировано %s файлов</string> <string name="main_files_scanned_count">Просканировано %s файлов</string>
<string name="db_desc_license">Лицензия</string>
<string name="db_desc_author">Автор</string>
<string name="db_desc_size">Размер</string>
<string name="db_desc_source">Источник</string>
<string name="db_desc_size_small">Маленький</string>
<string name="db_desc_size_medium">Средний</string>
<string name="db_desc_size_large">Большой</string>
<string name="scan_control">Контроль сканирования</string> <string name="scan_control">Контроль сканирования</string>
<string name="lblScanRunning">Пропускаем действие, выполняется сканирование!</string> <string name="lblScanRunning">Пропускаем действие, выполняется сканирование!</string>
<string name="lblSigningKey">Ключ подписи базы данных</string> <string name="lblSigningKey">Ключ подписи базы данных</string>

View file

@ -15,11 +15,14 @@
<item>• @Sdarfeesh: Simplified Chinese Translations</item> <item>• @Sdarfeesh: Simplified Chinese Translations</item>
<item>• @cardpuncher: French/Turkish Translations</item> <item>• @cardpuncher: French/Turkish Translations</item>
<item>• Tommaso Fonda: Italian Translations</item> <item>• Tommaso Fonda: Italian Translations</item>
<item>• Dimitris Vagiakakos: Greek Translations</item>
<item>• Cisco tarafından ClamAV: İmza Veri Tabanları</item> <item>• Cisco tarafından ClamAV: İmza Veri Tabanları</item>
<item>• ESET: İmza Veri Tabanları</item> <item>• ESET: İmza Veri Tabanları</item>
<item>• Nex (@botherder): İmza Veri Tabanları</item> <item>• Nex (@botherder): İmza Veri Tabanları</item>
<item>• Uluslararası Af Örgütü: İmza Veri Tabanları</item> <item>• Uluslararası Af Örgütü: İmza Veri Tabanları</item>
<item>• Echap: İmza Veri Tabanları</item> <item>• Echap: İmza Veri Tabanları</item>
<item>• MalwareBazaar: İmza Veri Tabanları</item>
<item>• VirusShare: İmza Veri Tabanları</item>
<item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item> <item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item>
<item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item> <item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item>
<item>• Google: Uygulama İkonu</item> <item>• Google: Uygulama İkonu</item>

View file

@ -1,18 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name" translatable="false">Hypatia</string>
<string name="app_copyright">Telif hakkı 2017-2023 Divested Computing Group</string> <string name="app_copyright">Telif hakkı 2017-2023 Divested Computing Group</string>
<string name="app_license">Lisans: GPL-3.0</string> <string name="app_license">Lisans: GPL-3.0</string>
<string name="app_version">Sürüm: %s</string> <string name="app_version">Sürüm: %s</string>
<string name="app_db_type_clamav">ClamAV tarzı imzalarla güçlendirilmiştir</string> <string name="app_db_type_clamav">ClamAV tarzı imzalarla güçlendirilmiştir</string>
<string name="lblOnionRoutingToggle">Tor üzerinden indir</string> <string name="lblOnionRoutingToggle">Tor üzerinden indir</string>
<string name="lblOnionRoutingEnabledHint">Tor üzerinden indiriliyor, bu uzun sürebilir...</string> <string name="lblOnionRoutingEnabledHint">Tor üzerinden indiriliyor, bu uzun sürebilir</string>
<string name="lblOnionRoutingNotInstalled">Orbot kurulu değil!</string> <string name="lblOnionRoutingNotInstalled">Orbot kurulu değil!</string>
<string name="lblOnionRoutingNotRunning">Orbot çalışır hâlde değil!</string>
<string name="lblUpdateDatabase">Veri tabanlarını güncelle</string> <string name="lblUpdateDatabase">Veri tabanlarını güncelle</string>
<string name="lblSelectDatabases">Veri tabanlarını seç</string>
<string name="lblSelectDatabasesTitle">Etkinleştirilecek veri tabanlarını seç</string>
<string name="lblDatabaseServer">Veri tabanı sunucusu yerine koy</string> <string name="lblDatabaseServer">Veri tabanı sunucusu yerine koy</string>
<string name="lblFullCredits">Katkıda bulunanlar</string> <string name="lblFullCredits">Katkıda bulunanlar</string>
<string name="lblScanSystem">Sistemi /tara</string> <string name="lblScanSystem">Sistemi /tara</string>
@ -30,35 +26,26 @@
<string name="lblReset">Sıfırla</string> <string name="lblReset">Sıfırla</string>
<string name="lblOverride">Yerine Koy</string> <string name="lblOverride">Yerine Koy</string>
<string name="main_database_updating">%s veri tabanı güncelleniyor...</string> <string name="main_database_updating">%s veri tabanı güncelleniyor</string>
<string name="main_database_override">%s sunucusu kullanılıyor</string> <string name="main_database_override">%s sunucusu kullanılıyor</string>
<string name="main_database_downloading">%s indiriliyor</string>
<string name="main_database_download_success">Başarıyla indirildi</string> <string name="main_database_download_success">Başarıyla indirildi</string>
<string name="main_database_download_error">Dosya indirilmedi, cevap kodu %s</string> <string name="main_database_download_error">Dosya indirilmedi, cevap kodu %s</string>
<string name="main_no_database_available">Hiçbir veri tabanı mevcut değil, tarama yapılmıyor...</string> <string name="main_no_database_available">Hiçbir veri tabanı mevcut değil, tarama yapılmıyor</string>
<string name="main_database_released_on">%s tarihinde yayınlandı</string> <string name="main_database_released_on">%s tarihinde yayınlandı</string>
<string name="main_database_not_changed">Dosya değiştirilmedi</string> <string name="main_database_not_changed">Dosya değiştirilmedi</string>
<string name="main_database_not_modified_since">%s tarihinden beri</string> <string name="main_database_not_modified_since">%s tarihinden beri</string>
<string name="main_database_download_error_logcat">İndirme başarısız, logcat kontrolü yapın</string> <string name="main_database_download_error_logcat">İndirme başarısız, logcat kontrolü yapın</string>
<string name="main_starting_scan">Tarama başlatılıyor...</string> <string name="main_starting_scan">Tarama başlatılıyor…</string>
<string name="main_cancelling_scan">Tarama iptal ediliyor...</string> <string name="main_cancelling_scan">Tarama iptal ediliyor…</string>
<string name="main_cancelled_scan">Tarama iptal edildi</string>
<string name="main_files_pending_scan">%s dosya taranmayı bekliyor</string> <string name="main_files_pending_scan">%s dosya taranmayı bekliyor</string>
<string name="main_database_loading">Veri tabanı yükleniyor...</string> <string name="main_database_loading">Veri tabanı yükleniyor</string>
<string name="main_database_loaded">Veri tabanı, %s imza ile yüklendi</string> <string name="main_database_loaded">Veri tabanı, %s imza ile yüklendi</string>
<string name="main_hashing_files">Dosyaların karma değeri hesaplanıyor...</string> <string name="main_hashing_files">Dosyaların karma değeri hesaplanıyor</string>
<string name="main_hashing_done">Tüm dosyaların karma değeri hesaplandı</string> <string name="main_hashing_done">Tüm dosyaların karma değeri hesaplandı</string>
<string name="main_hash_scan_done">Tüm %s karma değer imza veri tabanlarıyla karşılaştırıldı</string> <string name="main_hash_scan_done">Tüm %s karma değer imza veri tabanlarıyla karşılaştırıldı</string>
<string name="main_scanning_done">Tarama % saniyede %sMB/s hızla tamamlandı!</string> <string name="main_scanning_done">Tarama % saniyede %sMB/s hızla tamamlandı!</string>
<string name="main_files_scanned_count">%s dosya tarandı</string> <string name="main_files_scanned_count">%s dosya tarandı</string>
<string name="db_desc_author">Yazar</string>
<string name="db_desc_license">Lisans</string>
<string name="db_desc_size">Boyut</string>
<string name="db_desc_source">Kaynak</string>
<string name="db_desc_size_small">Küçük</string>
<string name="db_desc_size_medium">Orta</string>
<string name="db_desc_size_large">Büyük</string>
<string name="scan_control">Tarama Kontrolü</string> <string name="scan_control">Tarama Kontrolü</string>
<string name="lblScanRunning">Faaliyet es geçiliyor, bir tarama devam etmekte!</string> <string name="lblScanRunning">Faaliyet es geçiliyor, bir tarama devam etmekte!</string>
<string name="lblSigningKey">Veri tabanı imzalama anahtarı</string> <string name="lblSigningKey">Veri tabanı imzalama anahtarı</string>

View file

@ -1,18 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name" translatable="false">Hypatia</string>
<string name="app_copyright">版权所有 2017-2023 Divested Computing Group</string> <string name="app_copyright">版权所有 2017-2023 Divested Computing Group</string>
<string name="app_license">许可证GPL-3.0</string> <string name="app_license">许可证GPL-3.0</string>
<string name="app_version">版本:%s</string> <string name="app_version">版本:%s</string>
<string name="app_db_type_clamav">由 ClamAV 数据库特征码提供支持</string> <string name="app_db_type_clamav">由 ClamAV 数据库特征码提供支持</string>
<string name="lblOnionRoutingToggle">通过 Tor 下载</string> <string name="lblOnionRoutingToggle">通过 Tor 下载</string>
<string name="lblOnionRoutingEnabledHint">正在通过 Tor 下载,这可能需要一段时间...</string> <string name="lblOnionRoutingEnabledHint">正在通过 Tor 下载,这可能需要一段时间</string>
<string name="lblOnionRoutingNotInstalled">Orbot 未安装!</string> <string name="lblOnionRoutingNotInstalled">Orbot 未安装!</string>
<string name="lblOnionRoutingNotRunning">Orbot 未运行!</string>
<string name="lblUpdateDatabase">更新数据库</string> <string name="lblUpdateDatabase">更新数据库</string>
<string name="lblSelectDatabases">选择数据库</string>
<string name="lblSelectDatabasesTitle">选择要启用的数据库</string>
<string name="lblDatabaseServer">数据库服务器覆盖</string> <string name="lblDatabaseServer">数据库服务器覆盖</string>
<string name="lblFullCredits">致谢名单</string> <string name="lblFullCredits">致谢名单</string>
<string name="lblScanSystem">扫描 /system</string> <string name="lblScanSystem">扫描 /system</string>
@ -30,35 +26,26 @@
<string name="lblReset">重置</string> <string name="lblReset">重置</string>
<string name="lblOverride">覆盖</string> <string name="lblOverride">覆盖</string>
<string name="main_database_updating">正在更新 %s 个数据库...</string> <string name="main_database_updating">正在更新 %s 个数据库</string>
<string name="main_database_override">使用服务器 %s</string> <string name="main_database_override">使用服务器 %s</string>
<string name="main_database_downloading">正在下载 %s</string>
<string name="main_database_download_success">下载成功</string> <string name="main_database_download_success">下载成功</string>
<string name="main_database_download_error">文件未下载,响应代码 %s</string> <string name="main_database_download_error">文件未下载,响应代码 %s</string>
<string name="main_no_database_available">无可用数据库,不执行扫描...</string> <string name="main_no_database_available">无可用数据库,不执行扫描</string>
<string name="main_database_released_on">发布于 %s</string> <string name="main_database_released_on">发布于 %s</string>
<string name="main_database_not_changed">文件无变更</string> <string name="main_database_not_changed">文件无变更</string>
<string name="main_database_not_modified_since">%s 以来)</string> <string name="main_database_not_modified_since">%s 以来)</string>
<string name="main_database_download_error_logcat">下载失败,查看 Logcat</string> <string name="main_database_download_error_logcat">下载失败,查看 Logcat</string>
<string name="main_starting_scan">开始扫描...</string> <string name="main_starting_scan">开始扫描…</string>
<string name="main_cancelling_scan">正在取消扫描...</string> <string name="main_cancelling_scan">正在取消扫描…</string>
<string name="main_cancelled_scan">扫描已取消</string>
<string name="main_files_pending_scan">%s 个文件等待扫描</string> <string name="main_files_pending_scan">%s 个文件等待扫描</string>
<string name="main_database_loading">正在加载数据库...</string> <string name="main_database_loading">正在加载数据库</string>
<string name="main_database_loaded">已加载带有 %s 个特征码的数据库</string> <string name="main_database_loaded">已加载带有 %s 个特征码的数据库</string>
<string name="main_hashing_files">正在计算文件哈希值...</string> <string name="main_hashing_files">正在计算文件哈希值</string>
<string name="main_hashing_done">已计算所有文件的哈希值</string> <string name="main_hashing_done">已计算所有文件的哈希值</string>
<string name="main_hash_scan_done">已根据特征码数据库检查全部 %s 哈希值</string> <string name="main_hash_scan_done">已根据特征码数据库检查全部 %s 哈希值</string>
<string name="main_scanning_done">扫描在 %s 秒内完成 @ %sMB/s!</string> <string name="main_scanning_done">扫描在 %s 秒内完成 @ %sMB/s!</string>
<string name="main_files_scanned_count">已扫描 %s 个文件</string> <string name="main_files_scanned_count">已扫描 %s 个文件</string>
<string name="db_desc_author">作者</string>
<string name="db_desc_license">许可证</string>
<string name="db_desc_size">大小</string>
<string name="db_desc_source">来源</string>
<string name="db_desc_size_small"></string>
<string name="db_desc_size_medium"></string>
<string name="db_desc_size_large"></string>
<string name="scan_control">扫描控制</string> <string name="scan_control">扫描控制</string>
<string name="lblScanRunning">跳过操作,扫描正在运行!</string> <string name="lblScanRunning">跳过操作,扫描正在运行!</string>
</resources> </resources>

View file

@ -22,6 +22,7 @@
<item>• Amnesty International: Signature Databases</item> <item>• Amnesty International: Signature Databases</item>
<item>• Echap: Signature Databases</item> <item>• Echap: Signature Databases</item>
<item>• MalwareBazaar: Signature Databases</item> <item>• MalwareBazaar: Signature Databases</item>
<item>• VirusShare: Signature Databases</item>
<item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item> <item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item>
<item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item> <item>• GPGDetachedSignatureVerifier.java: Federico Fissore, Arduino LLC</item>
<item>• Google: App Icon</item> <item>• Google: App Icon</item>

View file

@ -1,3 +1 @@
<resources> <resources></resources>
<dimen name="fab_margin">16dp</dimen>
</resources>

View file

@ -7,12 +7,9 @@
<string name="app_db_type_clamav">Powered by ClamAV style signatures</string> <string name="app_db_type_clamav">Powered by ClamAV style 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="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="lblUpdateDatabase">Update databases</string> <string name="lblUpdateDatabase">Update databases</string>
<string name="lblSelectDatabases">Select databases</string>
<string name="lblSelectDatabasesTitle">Select databases to enable</string>
<string name="lblDatabaseServer">Database server override</string> <string name="lblDatabaseServer">Database server override</string>
<string name="lblFullCredits">Credits</string> <string name="lblFullCredits">Credits</string>
<string name="lblScanSystem">Scan /system</string> <string name="lblScanSystem">Scan /system</string>
@ -30,35 +27,26 @@
<string name="lblReset">Reset</string> <string name="lblReset">Reset</string>
<string name="lblOverride">Override</string> <string name="lblOverride">Override</string>
<string name="main_database_updating">Updating %s databases...</string> <string name="main_database_updating">Updating %s databases</string>
<string name="main_database_override">Using server %s</string> <string name="main_database_override">Using server %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_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_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>
<string name="main_cancelling_scan">Cancelling scan...</string> <string name="main_cancelling_scan">Cancelling scan…</string>
<string name="main_cancelled_scan">Cancelled scan</string>
<string name="main_files_pending_scan">%s files pending scan</string> <string name="main_files_pending_scan">%s files pending scan</string>
<string name="main_database_loading">Loading database...</string> <string name="main_database_loading">Loading database</string>
<string name="main_database_loaded">Loaded database with %s signatures</string> <string name="main_database_loaded">Loaded database with %s signatures</string>
<string name="main_hashing_files">Hashing files...</string> <string name="main_hashing_files">Hashing files</string>
<string name="main_hashing_done">Calculated hashes for all files</string> <string name="main_hashing_done">Calculated hashes for all files</string>
<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_scanning_done">Scan completed in %s seconds @ %sMB/s!</string> <string name="main_scanning_done">Scan completed in %s seconds @ %sMB/s!</string>
<string name="main_files_scanned_count">%s files scanned</string> <string name="main_files_scanned_count">%s files scanned</string>
<string name="db_desc_author">Author</string>
<string name="db_desc_license">License</string>
<string name="db_desc_size">Size</string>
<string name="db_desc_source">Source</string>
<string name="db_desc_size_small">Small</string>
<string name="db_desc_size_medium">Medium</string>
<string name="db_desc_size_large">Large</string>
<string name="scan_control">Scan Control</string> <string name="scan_control">Scan Control</string>
<string name="lblScanRunning">Skipping action, a scan is running!</string> <string name="lblScanRunning">Skipping action, a scan is running!</string>
<string name="lblSigningKey">Database signing key</string> <string name="lblSigningKey">Database signing key</string>
@ -79,8 +67,6 @@
<string name="confirm_delete_summary">Are you sure you want to delete the following file?</string> <string name="confirm_delete_summary">Are you sure you want to delete the following file?</string>
<string name="delete_failed">Failed to delete!</string> <string name="delete_failed">Failed to delete!</string>
<string name="ignored">Ignored!</string> <string name="ignored">Ignored!</string>
<string name="confirm_uninstall_title">Confirm uninstall</string>
<string name="confirm_uninstall_summary">Are you sure you want to uninstall the following app?</string>
<string name="uninstallApp">Uninstall</string> <string name="uninstallApp">Uninstall</string>
<string name="lblSelfTest">Write self test files</string> <string name="lblSelfTest">Write self test files</string>
</resources> </resources>

View file

@ -0,0 +1 @@
* Small crash fix

View file

@ -0,0 +1 @@
* Improve notification action handling

View file

@ -0,0 +1,2 @@
* Restore support for Android 4.1 / Jelly Bean
* Code cleanup

View file

@ -16,6 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import com.google.common.base.CharMatcher; import com.google.common.base.CharMatcher;
import com.google.common.base.Charsets;
import com.google.common.hash.BloomFilter; import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels; import com.google.common.hash.Funnels;
@ -25,7 +26,6 @@ import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.FileReader; import java.io.FileReader;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.zip.GZIPInputStream; import java.util.zip.GZIPInputStream;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -53,9 +53,9 @@ public class Main {
public static int amtPreviousSignaturesSHA256 = 0; public static int amtPreviousSignaturesSHA256 = 0;
public static void main(String[] args) { public static void main(String[] args) {
signaturesMD5 = BloomFilter.create(Funnels.stringFunnel(StandardCharsets.US_ASCII), 4500000, 0.00001); //4.5m signaturesMD5 = BloomFilter.create(Funnels.stringFunnel(Charsets.US_ASCII), 5800000, 0.00001); //5.8m
signaturesSHA1 = BloomFilter.create(Funnels.stringFunnel(StandardCharsets.US_ASCII), 10000, 0.00001); //10k signaturesSHA1 = BloomFilter.create(Funnels.stringFunnel(Charsets.US_ASCII), 10000, 0.00001); //10k
signaturesSHA256 = BloomFilter.create(Funnels.stringFunnel(StandardCharsets.US_ASCII), 800000, 0.00001); //800k signaturesSHA256 = BloomFilter.create(Funnels.stringFunnel(Charsets.US_ASCII), 800000, 0.00001); //800k
System.out.println("Processing:"); System.out.println("Processing:");
for (File databaseLocation : new File(args[0]).listFiles()) { for (File databaseLocation : new File(args[0]).listFiles()) {