Merge pull request #22 from SimpleMobileTools/master

upd
This commit is contained in:
solokot 2018-03-19 14:59:03 +03:00 committed by GitHub
commit e43ffc4efa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 437 additions and 145 deletions

View file

@ -6,7 +6,7 @@ buildscript {
propMinSdkVersion = 16
propTargetSdkVersion = propCompileSdkVersion
propVersionCode = 1
propVersionName = '3.16.1'
propVersionName = '3.16.11'
kotlin_version = '1.2.30'
support_libs = '27.1.0'
}

View file

@ -30,7 +30,7 @@ import java.io.File
import java.util.*
open class BaseSimpleActivity : AppCompatActivity() {
var copyMoveCallback: (() -> Unit)? = null
var copyMoveCallback: ((destinationPath: String) -> Unit)? = null
var actionOnPermission: ((granted: Boolean) -> Unit)? = null
var isAskingPermissions = false
var useDynamicTheme = true
@ -190,7 +190,7 @@ open class BaseSimpleActivity : AppCompatActivity() {
}
fun copyMoveFilesTo(fileDirItems: ArrayList<FileDirItem>, source: String, destination: String, isCopyOperation: Boolean, copyPhotoVideoOnly: Boolean,
copyHidden: Boolean, callback: () -> Unit) {
copyHidden: Boolean, callback: (destinationPath: String) -> Unit) {
if (source == destination) {
toast(R.string.source_and_destination_same)
return
@ -230,7 +230,7 @@ open class BaseSimpleActivity : AppCompatActivity() {
val updatedPaths = updatedFiles.map { it.path } as ArrayList<String>
scanPaths(updatedPaths) {
runOnUiThread {
copyMoveListener.copySucceeded(false, fileDirItems.size * 2 == updatedFiles.size)
copyMoveListener.copySucceeded(false, fileDirItems.size * 2 == updatedFiles.size, destination)
}
}
} catch (e: Exception) {
@ -294,13 +294,13 @@ open class BaseSimpleActivity : AppCompatActivity() {
}
val copyMoveListener = object : CopyMoveListener {
override fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean) {
override fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean, destinationPath: String) {
if (copyOnly) {
toast(if (copiedAll) R.string.copying_success else R.string.copying_success_partial)
} else {
toast(if (copiedAll) R.string.moving_success else R.string.moving_success_partial)
}
copyMoveCallback?.invoke()
copyMoveCallback?.invoke(destinationPath)
copyMoveCallback = null
}

View file

@ -35,6 +35,7 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
private var mDocuments = LinkedHashMap<String, DocumentFile?>()
private var mFiles = ArrayList<FileDirItem>()
private var mFileCountToCopy = 0
private var mDestinationPath = ""
// progress indication
private var mNotificationManager: NotificationManager
@ -58,6 +59,7 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
val pair = params[0]
mFiles = pair.first!!
mDestinationPath = pair.second!!
mFileCountToCopy = mFiles.size
mNotifId = (System.currentTimeMillis() / 1000).toInt()
mMaxSize = 0
@ -65,7 +67,7 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
if (file.size == 0L) {
file.size = file.getProperSize(activity, copyHidden)
}
val newPath = "${pair.second}/${file.name}"
val newPath = "$mDestinationPath/${file.name}"
val fileExists = if (newPath.startsWith(OTG_PATH)) activity.getFastDocumentFile(newPath)?.exists()
?: false else File(newPath).exists()
if (getConflictResolution(newPath) != CONFLICT_SKIP || !fileExists) {
@ -80,7 +82,7 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
for (file in mFiles) {
try {
val newPath = "${pair.second}/${file.name}"
val newPath = "$mDestinationPath/${file.name}"
val newFileDirItem = FileDirItem(newPath, newPath.getFilenameFromPath(), file.isDirectory)
if (activity.getDoesFilePathExist(newPath)) {
val resolution = getConflictResolution(newPath)
@ -113,7 +115,7 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal
val listener = mListener?.get() ?: return
if (success) {
listener.copySucceeded(copyOnly, mTransferredFiles.size >= mFileCountToCopy)
listener.copySucceeded(copyOnly, mTransferredFiles.size >= mFileCountToCopy, mDestinationPath)
} else {
listener.copyFailed()
}

View file

@ -67,9 +67,7 @@ class RenameItemDialog(val activity: BaseSimpleActivity, val path: String, val c
updatedPaths.add(newPath)
activity.renameFile(path, newPath) {
if (it) {
activity.scanPaths(updatedPaths) {
callback(newPath)
}
callback(newPath)
dismiss()
} else {
activity.toast(R.string.unknown_error_occurred)

View file

@ -595,8 +595,13 @@ fun BaseSimpleActivity.getFileOutputStream(fileDirItem: FileDirItem, allowCreati
}
}
} else {
val file = File(fileDirItem.path)
if (!file.parentFile.exists()) {
file.parentFile.mkdirs()
}
try {
callback(FileOutputStream(File(fileDirItem.path)))
callback(FileOutputStream(file))
} catch (e: Exception) {
callback(null)
}

View file

@ -230,11 +230,27 @@ fun Context.scanPaths(paths: ArrayList<String>, callback: (() -> Unit)? = null)
fun Context.rescanPaths(paths: ArrayList<String>, callback: (() -> Unit)? = null) {
var cnt = paths.size
MediaScannerConnection.scanFile(applicationContext, paths.toTypedArray(), null, { s, uri ->
if (--cnt == 0) {
callback?.invoke()
var connection: MediaScannerConnection? = null
val connectionClient = object : MediaScannerConnection.MediaScannerConnectionClient {
override fun onMediaScannerConnected() {
paths.forEach {
if (connection?.isConnected == true) {
connection?.scanFile(it, "")
}
}
}
})
override fun onScanCompleted(path: String?, uri: Uri?) {
if (--cnt == 0) {
connection?.disconnect()
callback?.invoke()
}
}
}
connection = MediaScannerConnection(this, connectionClient)
connection.connect()
}
fun getPaths(file: File): ArrayList<String> {
@ -289,7 +305,7 @@ fun Context.updateInMediaStore(oldPath: String, newPath: String) {
fun Context.updateLastModified(path: String, lastModified: Long) {
val values = ContentValues().apply {
put(MediaStore.MediaColumns.DATE_MODIFIED, lastModified)
put(MediaStore.MediaColumns.DATE_MODIFIED, lastModified / 1000)
}
File(path).setLastModified(lastModified)
val uri = getFileUri(path)

View file

@ -109,6 +109,21 @@ fun Context.getLatestMediaId(uri: Uri = MediaStore.Files.getContentUri("external
return 0
}
fun Context.getLatestMediaByDateId(uri: Uri = MediaStore.Files.getContentUri("external")): Long {
val projection = arrayOf(BaseColumns._ID)
val sortOrder = "${MediaStore.Images.ImageColumns.DATE_TAKEN} DESC"
var cursor: Cursor? = null
try {
cursor = contentResolver.query(uri, projection, null, null, sortOrder)
if (cursor?.moveToFirst() == true) {
return cursor.getLongValue(BaseColumns._ID)
}
} finally {
cursor?.close()
}
return 0
}
// some helper functions were taken from https://github.com/iPaulPro/aFileChooser/blob/master/aFileChooser/src/com/ipaulpro/afilechooser/utils/FileUtils.java
@SuppressLint("NewApi")
fun Context.getRealPathFromURI(uri: Uri): String? {

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.commons.interfaces
interface CopyMoveListener {
fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean)
fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean, destinationPath: String)
fun copyFailed()
}

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">About</string>
<string name="website_label">For the source codes visit</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Lun</string>
<string name="tuesday_short">Meu</string>
<string name="wednesday_short">Mer</string>
<string name="thursday_short">Yao</string>
<string name="friday_short">Gwe</string>
<string name="saturday_short">Sad</string>
<string name="sunday_short">Sul</string>
<!-- About -->
<string name="about">About</string>
<string name="website_label">For the source codes visit</string>

View file

@ -391,6 +391,14 @@
<string name="saturday_letter">DS</string>
<string name="sunday_letter">DG</string>
<string name="monday_short">Dil</string>
<string name="tuesday_short">Dim</string>
<string name="wednesday_short">Dim</string>
<string name="thursday_short">Dij</string>
<string name="friday_short">Div</string>
<string name="saturday_short">Dis</string>
<string name="sunday_short">Diu</string>
<!-- About -->
<string name="about">Sobre</string>
<string name="website_label">Més aplicacions senzilles i codi font a</string>

View file

@ -406,6 +406,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">N</string>
<string name="monday_short">Pon</string>
<string name="tuesday_short">Úte</string>
<string name="wednesday_short">Stř</string>
<string name="thursday_short">Čtv</string>
<string name="friday_short">Pát</string>
<string name="saturday_short">Sob</string>
<string name="sunday_short">Ned</string>
<!-- About -->
<string name="about">O aplikaci</string>
<string name="website_label">Pro zdrojové kódy navštivte</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">L</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Man</string>
<string name="tuesday_short">Tir</string>
<string name="wednesday_short">Ons</string>
<string name="thursday_short">Tor</string>
<string name="friday_short">Fre</string>
<string name="saturday_short">Lør</string>
<string name="sunday_short">Søn</string>
<!-- About -->
<string name="about">Om</string>
<string name="website_label">For at se kildekoden besøg</string>

View file

@ -221,7 +221,7 @@
<string name="fingerprint_setup_successfully">Schutz erfolgreich eingerichtet. Falls beim Zurücksetzen Probleme auftreten, bitte die App neu installieren.</string>
<!-- Times -->
<string name="seconds_raw">seconds</string>
<string name="seconds_raw">Sekunden</string>
<string name="minutes_raw">Minuten</string>
<string name="hours_raw">Stunden</string>
<string name="days_raw">Tage</string>
@ -271,8 +271,8 @@
<!-- For example: Event reminder: 3 minutes before -->
<plurals name="seconds_before">
<item quantity="one">%d second before</item>
<item quantity="other">%d seconds before</item>
<item quantity="one">%d Sekunde vorher</item>
<item quantity="other">%d Sekunden vorher</item>
</plurals>
<plurals name="minutes_before">
<item quantity="one">%d Minute vorher</item>
@ -289,8 +289,8 @@
<!-- For example: Postpone reminder by 3 minutes -->
<plurals name="by_seconds">
<item quantity="one">%d second</item>
<item quantity="other">%d seconds</item>
<item quantity="one">%d Sekunde</item>
<item quantity="other">%d Sekunden</item>
</plurals>
<plurals name="by_minutes">
<item quantity="one">%d Minute</item>
@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Mo</string>
<string name="tuesday_short">Di</string>
<string name="wednesday_short">Mi</string>
<string name="thursday_short">Do</string>
<string name="friday_short">Fr</string>
<string name="saturday_short">Sa</string>
<string name="sunday_short">So</string>
<!-- About -->
<string name="about">Über</string>
<string name="website_label">Weitere schlichte Apps und Quellcode siehe</string>
@ -437,7 +445,7 @@
<string name="faq_3_title_commons">Ich habe versehentlich einige Dateien gelöscht. Wie kann ich diese wiederherstellen?</string>
<string name="faq_3_text_commons">Unglücklicherweise gar nicht. Dateien werden sofort nach dem Bestätigungsdialog gelöscht, sprich ein Papierkorb ist nicht vorhanden.</string>
<string name="faq_4_title_commons">Ich mag die Farben des Widgets nicht. Kann ich sie wechseln?</string>
<string name="faq_4_text_commons">Ja, wenn du ein Widget auf den Home Screen ziehst, erscheint ein Konfigurationmenü. In der linken unteren Ecke sind farbige Kästchen, drücke auf sie und wähle eine neue Farbe. Ausserdem kannst du den Regler nutzen, um den Alphaparameter (Transparenz) einzustellen.</string>
<string name="faq_4_text_commons">Ja, wenn du ein Widget auf den Home Screen ziehst, erscheint ein Konfigurationsmenü. In der linken unteren Ecke sind farbige Kästchen, drücke auf sie und wähle eine neue Farbe. Ausserdem kannst du den Regler nutzen, um den Alphaparameter (Transparenz) einzustellen.</string>
<!-- License -->
<string name="notice">Diese App nutzt die folgenden Drittanbieterbibliotheken, die mein Leben einfacher machen. Danke!</string>
@ -461,5 +469,5 @@
<string name="espresso_title">Espresso (Test-Hilfstool)</string>
<string name="gson_title">Gson (JSON-Parser)</string>
<string name="leak_canary_title">Leak Canary (Memory-Leak-Detektor)</string>
<string name="number_picker_title">Number Picker (customizable number picker)</string>
<string name="number_picker_title">Number Picker (Konfigurierbarer Zahlenwähler)</string>
</resources>

View file

@ -388,6 +388,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">D</string>
<string name="monday_short">Lun</string>
<string name="tuesday_short">Mar</string>
<string name="wednesday_short">Mié</string>
<string name="thursday_short">Jue</string>
<string name="friday_short">Vie</string>
<string name="saturday_short">Sáb</string>
<string name="sunday_short">Dom</string>
<!-- About -->
<string name="about">Acerca de</string>
<string name="website_label">Más aplicaciones sencillas y código fuente en</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">L</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Maa</string>
<string name="tuesday_short">Tii</string>
<string name="wednesday_short">Kes</string>
<string name="thursday_short">Tor</string>
<string name="friday_short">Per</string>
<string name="saturday_short">Lau</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">Tietoa</string>
<string name="website_label">Lähdekoodin löydät täältä</string>

View file

@ -388,6 +388,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">D</string>
<string name="monday_short">Lun</string>
<string name="tuesday_short">Mar</string>
<string name="wednesday_short">Mer</string>
<string name="thursday_short">Jeu</string>
<string name="friday_short">Ven</string>
<string name="saturday_short">Sam</string>
<string name="sunday_short">Dim</string>
<!-- About -->
<string name="about">À propos</string>
<string name="website_label">Pour le code source, visitez</string>

View file

@ -388,6 +388,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">D</string>
<string name="monday_short">Seg</string>
<string name="tuesday_short">Ter</string>
<string name="wednesday_short">Cua</string>
<string name="thursday_short">Qui</string>
<string name="friday_short">Sex</string>
<string name="saturday_short">Sáb</string>
<string name="sunday_short">Dom</string>
<!-- About -->
<string name="about">Acerca de</string>
<string name="website_label">Más aplicaciones sencillas y código fuente en</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter"></string>
<string name="sunday_letter"></string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">के बारे में</string>
<string name="website_label">अधिक एप्पस व सोर्स कोड</string>

View file

@ -407,6 +407,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">O nama</string>
<string name="website_label">Za pregled izvornog koda posjetite</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">SZ</string>
<string name="sunday_letter">V</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">Információ</string>
<string name="website_label">További egyszerű alkalmazások és a forráskód itt</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">Tentang</string>
<string name="website_label">Untuk Sumber Kode Kunjungi</string>

View file

@ -13,8 +13,8 @@
<string name="unknown">Sconosciuto</string>
<string name="always">Sempre</string>
<string name="never">Mai</string>
<string name="details">Details</string>
<string name="notes">Notes</string>
<string name="details">Dettagli</string>
<string name="notes">Note</string>
<!-- Search -->
<string name="search">Cerca</string>
@ -43,9 +43,9 @@
<string name="renaming_folder">Rinominazione cartella</string>
<string name="filename_cannot_be_empty">Il nome del file non deve essere vuoto</string>
<string name="filename_invalid_characters">Il nome contiene caratteri non validi</string>
<string name="filename_invalid_characters_placeholder">Filename \'%s\' contains invalid characters</string>
<string name="filename_invalid_characters_placeholder">Il nome del file \'%s\' contiene caratteri non validi</string>
<string name="extension_cannot_be_empty">L\'estensione non può essere vuota</string>
<string name="source_file_doesnt_exist">Source file %s doesn\'t exist</string>
<string name="source_file_doesnt_exist">Il file di origine %s non esiste</string>
<!-- Copy / Move -->
<string name="copy">Copia</string>
@ -112,7 +112,7 @@
<string name="sd_card">Scheda SD</string>
<string name="root">Root</string>
<string name="wrong_root_selected">Selezionata una cartella errata, seleziona la cartella di root della tua scheda SD</string>
<string name="sd_card_otg_same">SD card and OTG device paths cannot be the same</string>
<string name="sd_card_otg_same">I percorsi della scheda SD e del dispositivo OTG non possono essere uguali</string>
<!-- File properties -->
<string name="properties">Proprietà</string>
@ -136,8 +136,8 @@
<string name="background_color">Colore di sfondo</string>
<string name="text_color">Colore del testo</string>
<string name="primary_color">Colore primario</string>
<string name="foreground_color">Foreground color</string>
<string name="app_icon_color">App icon color</string>
<string name="foreground_color">Colore in primo piano</string>
<string name="app_icon_color">Colore icona app</string>
<string name="restore_defaults">Ripristina predefiniti</string>
<string name="theme">Tema</string>
<string name="changing_color_description">Modificando un colore, il tema diventerà personale</string>
@ -221,10 +221,10 @@
<string name="fingerprint_setup_successfully">Protezione impostata correttamente. Reinstalla l\'app in caso di problemi nel ripristinarla.</string>
<!-- Times -->
<string name="seconds_raw">seconds</string>
<string name="minutes_raw">minutes</string>
<string name="hours_raw">hours</string>
<string name="days_raw">days</string>
<string name="seconds_raw">secondi</string>
<string name="minutes_raw">minuti</string>
<string name="hours_raw">ore</string>
<string name="days_raw">giorni</string>
<plurals name="seconds">
<item quantity="one">%d secondo</item>
@ -239,77 +239,77 @@
<item quantity="other">%d ore</item>
</plurals>
<plurals name="days">
<item quantity="one">%d day</item>
<item quantity="other">%d days</item>
<item quantity="one">%d giorno</item>
<item quantity="other">%d giorni</item>
</plurals>
<plurals name="weeks">
<item quantity="one">%d week</item>
<item quantity="other">%d weeks</item>
<item quantity="one">%d settimana</item>
<item quantity="other">%d settimane</item>
</plurals>
<plurals name="months">
<item quantity="one">%d month</item>
<item quantity="other">%d months</item>
<item quantity="one">%d mese</item>
<item quantity="other">%d mesi</item>
</plurals>
<plurals name="years">
<item quantity="one">%d year</item>
<item quantity="other">%d years</item>
<item quantity="one">%d anno</item>
<item quantity="other">%d anni</item>
</plurals>
<!-- For example: I will be there in 5 minutes -->
<plurals name="in_seconds">
<item quantity="one">%d second</item>
<item quantity="other">%d seconds</item>
<item quantity="one">%d secondo</item>
<item quantity="other">%d secondi</item>
</plurals>
<plurals name="in_minutes">
<item quantity="one">%d minute</item>
<item quantity="other">%d minutes</item>
<item quantity="one">%d minuto</item>
<item quantity="other">%d minuti</item>
</plurals>
<plurals name="in_hours">
<item quantity="one">%d hour</item>
<item quantity="other">%d hours</item>
<item quantity="one">%d ora</item>
<item quantity="other">%d ore</item>
</plurals>
<!-- For example: Event reminder: 3 minutes before -->
<plurals name="seconds_before">
<item quantity="one">%d second before</item>
<item quantity="other">%d seconds before</item>
<item quantity="one">%d secondo prima</item>
<item quantity="other">%d secondi prima</item>
</plurals>
<plurals name="minutes_before">
<item quantity="one">%d minute before</item>
<item quantity="other">%d minutes before</item>
<item quantity="one">%d minuto prima</item>
<item quantity="other">%d minuti prima</item>
</plurals>
<plurals name="hours_before">
<item quantity="one">%d hour before</item>
<item quantity="other">%d hours before</item>
<item quantity="one">%d ora prima</item>
<item quantity="other">%d ore prima</item>
</plurals>
<plurals name="days_before">
<item quantity="one">%d day before</item>
<item quantity="other">%d days before</item>
<item quantity="one">%d giorno prima</item>
<item quantity="other">%d giorni prima</item>
</plurals>
<!-- For example: Postpone reminder by 3 minutes -->
<plurals name="by_seconds">
<item quantity="one">%d second</item>
<item quantity="other">%d seconds</item>
<item quantity="one">%d secondo</item>
<item quantity="other">%d secondi</item>
</plurals>
<plurals name="by_minutes">
<item quantity="one">%d minute</item>
<item quantity="other">%d minutes</item>
<item quantity="one">%d minuto</item>
<item quantity="other">%d minuti</item>
</plurals>
<plurals name="by_hours">
<item quantity="one">%d hour</item>
<item quantity="other">%d hours</item>
<item quantity="one">%d ora</item>
<item quantity="other">%d ore</item>
</plurals>
<!-- For example: Time remaining till the alarm goes off: 6 hours, 5 minutes -->
<string name="alarm_goes_off_in">Time remaining till the alarm goes off:\n%s</string>
<string name="alarm_warning">Please make sure the alarm works properly before relying on it. It could misbehave due to system restrictions related to battery saving.</string>
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
<string name="alarm_goes_off_in">Tempo rimanente prima che suoni la sveglia:\n%s</string>
<string name="alarm_warning">Assicurati che la sveglia funzioni correttamente prima di fare affidamento su di essa. Potrebbe comportarsi in modo anomalo a causa di restrizioni di sistema relative al risparmio della batteria.</string>
<string name="reminder_warning">Assicurati che i promemoria funzionino correttamente prima di fare affidamento su di essi. Potrebbero comportarsi in modo anomalo a causa di restrizioni di sistema relative al risparmio della batteria.</string>
<!-- Alarms -->
<string name="snooze">Snooze</string>
<string name="dismiss">Dismiss</string>
<string name="no_reminder">No reminder</string>
<string name="snooze">Posponi</string>
<string name="dismiss">Ignora</string>
<string name="no_reminder">Nessun promemoria</string>
<string name="at_start">All\'inizio</string>
<!-- Settings -->
@ -327,15 +327,15 @@
<string name="password_protect_whole_app">Proteggi con password tutta l\'applicazione</string>
<string name="keep_last_modified">Mantieni data/ora ultima modifica in copia/sposta/rinomina</string>
<string name="show_info_bubble">Mostra un fumetto informativo durante il trascinamento della barra di scorrimento</string>
<string name="prevent_phone_from_sleeping">Prevent phone from sleeping while the app is in foreground</string>
<string name="skip_delete_confirmation">Always skip delete confirmation dialog</string>
<string name="enable_pull_to_refresh">Enable pull-to-refresh from the top</string>
<string name="use_24_hour_time_format">Use 24-hour time format</string>
<string name="sunday_first">Start week on Sunday</string>
<string name="widgets">Widgets</string>
<string name="use_same_snooze">Always use same snooze time</string>
<string name="snooze_time">Snooze time</string>
<string name="vibrate_on_button_press">Vibrate on button press</string>
<string name="prevent_phone_from_sleeping">Impedisci allo schermo di spegnersi mentre l\'app è in primo piano</string>
<string name="skip_delete_confirmation">Non chiedere mai la conferma di eliminazione</string>
<string name="enable_pull_to_refresh">Attiva tira-per-aggiornare dall\'alto</string>
<string name="use_24_hour_time_format">Usa il formato 24 ore</string>
<string name="sunday_first">Inizio settimana di domenica</string>
<string name="widgets">Widget</string>
<string name="use_same_snooze">Usa sempre lo stesso tempo di ripetizione</string>
<string name="snooze_time">Tempo di ripetizione</string>
<string name="vibrate_on_button_press">Vibra alla pressione dei tasti</string>
<!-- Setting sections -->
<string name="visibility">Visibilità</string>
@ -356,8 +356,8 @@
<!-- OTG devices -->
<string name="otg">OTG</string>
<string name="confirm_otg_storage_access_text">Please choose the root folder of the OTG device on the next screen, to grant access</string>
<string name="wrong_root_selected_otg">Wrong folder selected, please select the root folder of your OTG device</string>
<string name="confirm_otg_storage_access_text">Scegli la cartella di root del dispositivo OTG nella prossima schermata, per consentire l\'accesso</string>
<string name="wrong_root_selected_otg">Cartella selezionata errata, seleziona la cartella di root del dispositivo OTG</string>
<!-- Dates -->
<string name="january">Gennaio</string>
@ -373,13 +373,13 @@
<string name="november">Novembre</string>
<string name="december">Dicembre</string>
<string name="monday">Monday</string>
<string name="tuesday">Tuesday</string>
<string name="wednesday">Wednesday</string>
<string name="thursday">Thursday</string>
<string name="friday">Friday</string>
<string name="saturday">Saturday</string>
<string name="sunday">Sunday</string>
<string name="monday">Lunedì</string>
<string name="tuesday">Martedì</string>
<string name="wednesday">Mercoledì</string>
<string name="thursday">Giovedì</string>
<string name="friday">Venerdì</string>
<string name="saturday">Sabato</string>
<string name="sunday">Domenica</string>
<string name="monday_letter">L</string>
<string name="tuesday_letter">M</string>
@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">D</string>
<string name="monday_short">Lun</string>
<string name="tuesday_short">Mar</string>
<string name="wednesday_short">Mer</string>
<string name="thursday_short">Gio</string>
<string name="friday_short">Ven</string>
<string name="saturday_short">Sab</string>
<string name="sunday_short">Dom</string>
<!-- About -->
<string name="about">Informazioni</string>
<string name="website_label">Altre semplici app e codici sorgenti in</string>
@ -419,26 +427,26 @@
<!-- New app (do not translate anything on the 4th line) -->
<string name="new_app">
<![CDATA[
Hey,<br><br>
just letting you know that a new app has been released recently:<br><br>
Ehi,<br><br>
tanto per farti sapere che è uscita una nuova app di recente:<br><br>
<a href="%1$s">%2$s</a><br><br>
You can download it by pressing the title.<br><br>
Thanks
Puoi scaricarla toccando il titolo.
Grazie
]]>
</string>
<!-- FAQ -->
<string name="frequently_asked_questions">Frequently asked questions</string>
<string name="faq_1_title_commons">How come I don\'t see this apps widget on the list of widgets?</string>
<string name="faq_1_text_commons">It is most likely because you moved the app on an SD card. There is an Android system limitation which hides the given app widgets
in that case. The only solution is to move the app back onto the Internal Storage via your device settings.</string>
<string name="faq_2_title_commons">I want to support you, but I cannot donate money. Is there anything else I can do?</string>
<string name="faq_2_text_commons">Yes, of course. You can spread the word about the apps or give good feedback and ratings. You can also help by translating the apps in a new language, or just update some existing translations.
You can find the guide at https://github.com/SimpleMobileTools/General-Discussion , or just shoot me a message at hello@simplemobiletools.com if you need help.</string>
<string name="faq_3_title_commons">I deleted some files by mistake, how can I recover them?</string>
<string name="faq_3_text_commons">Sadly, you cannot. Files are deleted instantly after the confirmation dialog, there is no trashbin available.</string>
<string name="faq_4_title_commons">I don\'t like the widget colors, can I change them?</string>
<string name="faq_4_text_commons">Yep, as you drag a widget on your home screen a widget config screen appears. You will see colored squares at the bottom left corner, just press them to pick a new color. You can use the slider for adjusting the alpha too.</string>
<string name="frequently_asked_questions">Domande frequenti</string>
<string name="faq_1_title_commons">Come mai non vedo il widget di questa app nell\'elenco dei widget?</string>
<string name="faq_1_text_commons">Probabilmente perchè hai spostato l\'app nella scheda SD. C\'è una limitazione di sistema di Android che nasconde i widget in questione
in quel caso. L\'unica soluzione è spostare l\'app nell\'archiviazione interna usando le impostazioni di sistema.</string>
<string name="faq_2_title_commons">Vorrei darti supporto, ma non posso donare del denaro. Posso fare dell\'altro?</string>
<string name="faq_2_text_commons">Sì, certo. Puoi spargere la voce riguardo le app o dare feedback e voti positivi. Puoi anche aiutare a tradurre le app in una nuova lingua, o aggiornare le traduzioni esistenti.
Puoi trovare la guida su https://github.com/SimpleMobileTools/General-Discussion , o scrivimi un messaggio a hello@simplemobiletools.com se ti serve aiuto.</string>
<string name="faq_3_title_commons">Ho eliminato dei file per errore, come posso recuperarli?</string>
<string name="faq_3_text_commons">Purtroppo non puoi. I file vengono eliminati subito dopo la richiesta di conferma, non c\'è nessun cestino disponibile.</string>
<string name="faq_4_title_commons">Non mi piacciono i colori del widget, posso cambiarli?</string>
<string name="faq_4_text_commons">Sì, quando trascini un widget nella tua schermata appare una finestra di configurazione. Vedrai dei quadrati colorati nell\'angolo in basso a sinistra, toccali per scegliere un colore. Puoi muovere l\'indicatore per regolare l\'alpha.</string>
<!-- License -->
<string name="notice">Questa app usa le seguenti librerie di terze parti per semplificarmi la vita. Grazie.</string>
@ -462,5 +470,5 @@
<string name="espresso_title">Espresso (aiutante nei test)</string>
<string name="gson_title">Gson (parser JSON)</string>
<string name="leak_canary_title">Leak Canary (rileva leak di memoria)</string>
<string name="number_picker_title">Number Picker (customizable number picker)</string>
<string name="number_picker_title">Number Picker (Selettore di numeri personalizzabile)</string>
</resources>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">ש\'</string>
<string name="sunday_letter">א\'</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">About</string>
<string name="website_label">For the source codes visit</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter"></string>
<string name="sunday_letter"></string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">アプリについて</string>
<string name="website_label">もっとシンプルなアプリとソースコードは</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter"></string>
<string name="sunday_letter"></string>
<string name="monday_short">월요일</string>
<string name="tuesday_short">화요일</string>
<string name="wednesday_short">수요일</string>
<string name="thursday_short">목요일</string>
<string name="friday_short">금요일</string>
<string name="saturday_short">토요일</string>
<string name="sunday_short">일요일</string>
<!-- About -->
<string name="about">앱정보</string>
<string name="website_label">소스코드 공개 링크</string>

View file

@ -406,6 +406,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">Apie</string>
<string name="website_label">Pirminá kodà rasite</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">L</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Man</string>
<string name="tuesday_short">Tir</string>
<string name="wednesday_short">Ons</string>
<string name="thursday_short">Tor</string>
<string name="friday_short">Fre</string>
<string name="saturday_short">Lør</string>
<string name="sunday_short">Søn</string>
<!-- About -->
<string name="about">Om</string>
<string name="website_label">For kildekoden besøk</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">Z</string>
<string name="sunday_letter">Z</string>
<string name="monday_short">Maa</string>
<string name="tuesday_short">Din</string>
<string name="wednesday_short">Woe</string>
<string name="thursday_short">Don</string>
<string name="friday_short">Vri</string>
<string name="saturday_short">Zat</string>
<string name="sunday_short">Zon</string>
<!-- About -->
<string name="about">Over</string>
<string name="website_label">Bezoek voor de broncode</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">L</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Man</string>
<string name="tuesday_short">Tir</string>
<string name="wednesday_short">Ons</string>
<string name="thursday_short">Tor</string>
<string name="friday_short">Fre</string>
<string name="saturday_short">Lør</string>
<string name="sunday_short">Søn</string>
<!-- About -->
<string name="about">Om</string>
<string name="website_label">For the source codes visit</string>

View file

@ -403,6 +403,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">N</string>
<string name="monday_short">Pon</string>
<string name="tuesday_short">Wto</string>
<string name="wednesday_short">Śro</string>
<string name="thursday_short">Czw</string>
<string name="friday_short">Pią</string>
<string name="saturday_short">Sob</string>
<string name="sunday_short">Nie</string>
<!-- About -->
<string name="about">O aplikacji</string>
   <string name="website_label">Nasza strona internetowa:</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">D</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">Sobre</string>
<string name="website_label">Mais aplicativos Simple e código-fonte em</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">D</string>
<string name="monday_short">seg</string>
<string name="tuesday_short">ter</string>
<string name="wednesday_short">qua</string>
<string name="thursday_short">Qui</string>
<string name="friday_short">sex</string>
<string name="saturday_short">sáb</string>
<string name="sunday_short">dom</string>
<!-- About -->
<string name="about">Acerca</string>
<string name="website_label">Mais aplicações Simple e código fonte em</string>

View file

@ -415,6 +415,14 @@
<string name="saturday_letter">С</string>
<string name="sunday_letter">В</string>
<string name="monday_short">Пон</string>
<string name="tuesday_short">Вто</string>
<string name="wednesday_short">Сре</string>
<string name="thursday_short">Чет</string>
<string name="friday_short">Пят</string>
<string name="saturday_short">Суб</string>
<string name="sunday_short">Вос</string>
<!-- About -->
<string name="about">О приложении</string>
<string name="website_label">Исходный код можно найти по адресу</string>

View file

@ -407,6 +407,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">N</string>
<string name="monday_short">Pon</string>
<string name="tuesday_short">Uto</string>
<string name="wednesday_short">Str</string>
<string name="thursday_short">Štv</string>
<string name="friday_short">Pia</string>
<string name="saturday_short">Sob</string>
<string name="sunday_short">Ned</string>
<!-- About -->
<string name="about">O aplikácií</string>
<string name="website_label">Pre zdrojové kódy navštívte</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">L</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Mån</string>
<string name="tuesday_short">Tis</string>
<string name="wednesday_short">Ons</string>
<string name="thursday_short">Tor</string>
<string name="friday_short">Fre</string>
<string name="saturday_short">Lör</string>
<string name="sunday_short">Sön</string>
<!-- About -->
<string name="about">Om</string>
<string name="website_label">Du hittar källkoden på</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">C</string>
<string name="sunday_letter">P</string>
<string name="monday_short">Paz</string>
<string name="tuesday_short">Sal</string>
<string name="wednesday_short">Çar</string>
<string name="thursday_short">Per</string>
<string name="friday_short">Cum</string>
<string name="saturday_short">Cum</string>
<string name="sunday_short">Paz</string>
<!-- About -->
<string name="about">Hakkında</string>
<string name="website_label">Kaynak kodları için ziyaret edin</string>

View file

@ -136,8 +136,8 @@
<string name="background_color">背景色</string>
<string name="text_color">文本颜色</string>
<string name="primary_color">主体色</string>
<string name="foreground_color">Foreground color</string>
<string name="app_icon_color">App icon color</string>
<string name="foreground_color">前景色</string>
<string name="app_icon_color">应用图标颜色</string>
<string name="restore_defaults">恢复默认</string>
<string name="theme">主题</string>
<string name="changing_color_description">更改颜色将切换到自定义主题</string>
@ -221,10 +221,10 @@
<string name="fingerprint_setup_successfully">指纹保护设置成功。如果出现问题,请重新安装本应用。</string>
<!-- Times -->
<string name="seconds_raw">seconds</string>
<string name="minutes_raw">minutes</string>
<string name="hours_raw">hours</string>
<string name="days_raw">days</string>
<string name="seconds_raw"></string>
<string name="minutes_raw">分钟</string>
<string name="hours_raw">小时</string>
<string name="days_raw"></string>
<plurals name="seconds">
<item quantity="one">%d 秒</item>
@ -271,34 +271,34 @@
<!-- For example: Event reminder: 3 minutes before -->
<plurals name="seconds_before">
<item quantity="one">%d second before</item>
<item quantity="other">%d seconds before</item>
<item quantity="one">%d 秒前</item>
<item quantity="other">%d 秒前</item>
</plurals>
<plurals name="minutes_before">
<item quantity="one">%d minute before</item>
<item quantity="other">%d minutes before</item>
<item quantity="one">%d 分钟前</item>
<item quantity="other">%d 分钟前</item>
</plurals>
<plurals name="hours_before">
<item quantity="one">%d hour before</item>
<item quantity="other">%d hours before</item>
<item quantity="one">%d 小时前</item>
<item quantity="other">%d 小时前</item>
</plurals>
<plurals name="days_before">
<item quantity="one">%d day before</item>
<item quantity="other">%d days before</item>
<item quantity="one">%d 天前</item>
<item quantity="other">%d 天前</item>
</plurals>
<!-- For example: Postpone reminder by 3 minutes -->
<plurals name="by_seconds">
<item quantity="one">%d second</item>
<item quantity="other">%d seconds</item>
<item quantity="one">%d </item>
<item quantity="other">%d </item>
</plurals>
<plurals name="by_minutes">
<item quantity="one">%d minute</item>
<item quantity="other">%d minutes</item>
<item quantity="one">%d 分钟</item>
<item quantity="other">%d 分钟</item>
</plurals>
<plurals name="by_hours">
<item quantity="one">%d hour</item>
<item quantity="other">%d hours</item>
<item quantity="one">%d 小时</item>
<item quantity="other">%d 小时</item>
</plurals>
<!-- For example: Time remaining till the alarm goes off: 6 hours, 5 minutes -->
@ -307,10 +307,10 @@
<string name="reminder_warning">在依赖它们之前,请确保提醒能够正常工作。由于系统与节电有关的限制,它们有时可能会失灵。</string>
<!-- Alarms -->
<string name="snooze">Snooze</string>
<string name="dismiss">Dismiss</string>
<string name="no_reminder">No reminder</string>
<string name="at_start">At start</string>
<string name="snooze">贪睡</string>
<string name="dismiss">关闭</string>
<string name="no_reminder">不再提醒</string>
<string name="at_start">开始时</string>
<!-- Settings -->
<string name="settings">设置</string>
@ -330,12 +330,12 @@
<string name="prevent_phone_from_sleeping">阻止设备自动休眠</string>
<string name="skip_delete_confirmation">忽略删除确认对话框</string>
<string name="enable_pull_to_refresh">启用顶部上拉刷新</string>
<string name="use_24_hour_time_format">Use 24-hour time format</string>
<string name="sunday_first">Start week on Sunday</string>
<string name="widgets">Widgets</string>
<string name="use_same_snooze">Always use same snooze time</string>
<string name="snooze_time">Snooze time</string>
<string name="vibrate_on_button_press">Vibrate on button press</string>
<string name="use_24_hour_time_format">使用 24 小时制</string>
<string name="sunday_first">每周以周日开头</string>
<string name="widgets">小部件</string>
<string name="use_same_snooze">始终使用相同的贪睡时间</string>
<string name="snooze_time">贪睡时间</string>
<string name="vibrate_on_button_press">按下按键后震动</string>
<!-- Setting sections -->
<string name="visibility">可见度</string>
@ -389,6 +389,14 @@
<string name="saturday_letter"></string>
<string name="sunday_letter"></string>
<string name="monday_short">周一</string>
<string name="tuesday_short">周二</string>
<string name="wednesday_short">周三</string>
<string name="thursday_short">周四</string>
<string name="friday_short">周五</string>
<string name="saturday_short">周六</string>
<string name="sunday_short">周日</string>
<!-- About -->
<string name="about">关于</string>
<string name="website_label">应用源码</string>

View file

@ -220,7 +220,7 @@
<string name="fingerprint_setup_successfully">保護設置成功。若再次設置時發生問題,請重新安裝應用程式。</string>
<!-- Times -->
<string name="seconds_raw">seconds</string>
<string name="seconds_raw">秒鐘</string>
<string name="minutes_raw">分鐘</string>
<string name="hours_raw">小時</string>
<string name="days_raw"></string>
@ -270,8 +270,8 @@
<!-- For example: Event reminder: 3 minutes before -->
<plurals name="seconds_before">
<item quantity="one">%d second before</item>
<item quantity="other">%d seconds before</item>
<item quantity="one">%d秒鐘前</item>
<item quantity="other">%d秒鐘前</item>
</plurals>
<plurals name="minutes_before">
<item quantity="one">%d分鐘前</item>
@ -288,8 +288,8 @@
<!-- For example: Postpone reminder by 3 minutes -->
<plurals name="by_seconds">
<item quantity="one">%d second</item>
<item quantity="other">%d seconds</item>
<item quantity="one">%d秒鐘</item>
<item quantity="other">%d秒鐘</item>
</plurals>
<plurals name="by_minutes">
<item quantity="one">%d分鐘</item>
@ -307,7 +307,7 @@
<!-- Alarms -->
<string name="snooze">延遲</string>
<string name="dismiss">Dismiss</string>
<string name="dismiss">關閉</string>
<string name="no_reminder">不提醒</string>
<string name="at_start">準時</string>
@ -333,8 +333,8 @@
<string name="sunday_first">每周由星期日開始</string>
<string name="widgets">小工具</string>
<string name="use_same_snooze">總是使用相同延遲間隔</string>
<string name="snooze_time">Snooze time</string>
<string name="vibrate_on_button_press">Vibrate on button press</string>
<string name="snooze_time">延遲時間</string>
<string name="vibrate_on_button_press">按下按鈕時震動</string>
<!-- Setting sections -->
<string name="visibility">可見度</string>
@ -388,6 +388,14 @@
<string name="saturday_letter"></string>
<string name="sunday_letter"></string>
<string name="monday_short">週一</string>
<string name="tuesday_short">週二</string>
<string name="wednesday_short">週三</string>
<string name="thursday_short">週四</string>
<string name="friday_short">週五</string>
<string name="saturday_short">週六</string>
<string name="sunday_short">週日</string>
<!-- About -->
<string name="about">關於</string>
<string name="website_label">觀看原始碼</string>
@ -419,9 +427,9 @@
<string name="new_app">
<![CDATA[
嗨,<br><br>
想讓你知道最近剛發布了一個新的應用程式:<br><br>
告訴你最近有一個新的應用程式剛發布:<br><br>
<a href="%1$s">%2$s</a><br><br>
點標題就能下載了<br><br>
點標題下載來試試看吧<br><br>
謝謝
]]>
</string>

View file

@ -389,6 +389,14 @@
<string name="saturday_letter">S</string>
<string name="sunday_letter">S</string>
<string name="monday_short">Mon</string>
<string name="tuesday_short">Tue</string>
<string name="wednesday_short">Wed</string>
<string name="thursday_short">Thu</string>
<string name="friday_short">Fri</string>
<string name="saturday_short">Sat</string>
<string name="sunday_short">Sun</string>
<!-- About -->
<string name="about">About</string>
<string name="website_label">For the source codes visit</string>