From 740b82d5f2aa9b748be19d12a21b10f519d5d5e6 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 2 Jan 2020 16:58:29 +0100 Subject: [PATCH 01/66] updating the portugal apps short description --- fastlane/metadata/android/pt-rBR/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/pt-rBR/short_description.txt b/fastlane/metadata/android/pt-rBR/short_description.txt index d29c44f98..e87fc131b 100644 --- a/fastlane/metadata/android/pt-rBR/short_description.txt +++ b/fastlane/metadata/android/pt-rBR/short_description.txt @@ -1 +1 @@ -Galeria offline sem anúncios. Organize, edite, e proteja fotos e vídeos. +Procure suas memórias sem interrupções. From fbb20477d6c91029b06f3c0fa7bfd5900cab718d Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 2 Jan 2020 17:11:19 +0100 Subject: [PATCH 02/66] update commons to 5.21.14 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 258f5ead0..317c093b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.9' + implementation 'com.simplemobiletools:commons:5.21.14' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 6234050c7f876d8b0f8c8f50acc39cd156c5d69f Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 2 Jan 2020 17:37:41 +0100 Subject: [PATCH 03/66] fix #1668, properly delete empty folders when appropriate --- .../gallery/pro/activities/MainActivity.kt | 6 ++++++ .../simplemobiletools/gallery/pro/extensions/FileDirItem.kt | 3 +-- .../com/simplemobiletools/gallery/pro/extensions/String.kt | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt index cf7ee98bf..1af9c13d0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt @@ -592,6 +592,12 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { folders.filter { !getDoesFilePathExist(it.absolutePath, OTGPath) }.forEach { mDirectoryDao.deleteDirPath(it.absolutePath) } + + if (config.deleteEmptyFolders) { + folders.filter { !it.absolutePath.isDownloadsFolder() && it.isDirectory && it.toFileDirItem(this).getProperFileCount(this, true) == 0 }.forEach { + tryDeleteFileDirItem(it.toFileDirItem(this), true, true) + } + } } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt index 726fcc8a9..c67eebabb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt @@ -1,6 +1,5 @@ package com.simplemobiletools.gallery.pro.extensions -import android.os.Environment import com.simplemobiletools.commons.models.FileDirItem -fun FileDirItem.isDownloadsFolder() = path.equals(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString(), true) +fun FileDirItem.isDownloadsFolder() = path.isDownloadsFolder() diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt index 0d708ce1a..3a8eb02ae 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt @@ -1,6 +1,7 @@ package com.simplemobiletools.gallery.pro.extensions import android.media.MediaMetadataRetriever +import android.os.Environment import com.simplemobiletools.commons.extensions.doesThisOrParentHaveNoMedia import com.simplemobiletools.commons.helpers.NOMEDIA import java.io.File @@ -70,3 +71,5 @@ fun String.getVideoDuration(): Int { } return seconds } + +fun String.isDownloadsFolder() = equals(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString(), true) From b1b9d111483ff911822ffa52e9caa941dd5a819d Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 2 Jan 2020 19:25:13 +0100 Subject: [PATCH 04/66] do not rely on SOURCE_IMAGE_PATH from the editor, store the original path --- .../gallery/pro/activities/NewEditActivity.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index 4a9adb5ee..4f5174640 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -37,11 +37,11 @@ import kotlin.collections.set class NewEditActivity : SimpleActivity() { private val PESDK_EDIT_IMAGE = 1 private val SETTINGS_LIST = "SETTINGS_LIST" - private val SOURCE_IMAGE_PATH = "SOURCE_IMAGE_PATH" private val RESULT_IMAGE_PATH = "RESULT_IMAGE_PATH" private var sourceFileLastModified = 0L private var destinationFilePath = "" private var imagePathFromEditor = "" // delete the file stored at the internal app storage (the editor saves it there) in case moving to the selected location fails + private var sourceImageUri: Uri? = null private lateinit var uri: Uri private lateinit var saveUri: Uri @@ -102,7 +102,6 @@ class NewEditActivity : SimpleActivity() { override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { if (requestCode == PESDK_EDIT_IMAGE) { val extras = resultData?.extras - val source = extras?.getString(SOURCE_IMAGE_PATH, "") ?: "" imagePathFromEditor = extras?.getString(RESULT_IMAGE_PATH, "") ?: "" val settings = extras?.getParcelable<SettingsList>(SETTINGS_LIST) @@ -113,12 +112,19 @@ class NewEditActivity : SimpleActivity() { config.editorBrushSize = brush.brushSize } - if (resultCode != Activity.RESULT_OK || source.isEmpty() || imagePathFromEditor.isEmpty() || source == imagePathFromEditor) { + if (resultCode != Activity.RESULT_OK || sourceImageUri == null || sourceImageUri.toString().isEmpty() || imagePathFromEditor.isEmpty() || sourceImageUri.toString() == imagePathFromEditor) { toast(R.string.image_editing_failed) finish() } else { // the image is stored at the internal app storage first, for example /data/user/0/com.simplemobiletools.gallery.pro/files/editor/IMG_20191207_183023.jpg // first we rename it to the desired name, then move + val sourceString = sourceImageUri?.toString() ?: "" + val source = if (sourceString.isEmpty() || sourceString.startsWith("content")) { + internalStoragePath + } else { + sourceString.substringAfter("file://") + } + SaveAsDialog(this, source, true, cancelCallback = { toast(R.string.image_editing_failed) finish() @@ -173,10 +179,11 @@ class NewEditActivity : SimpleActivity() { } private fun openEditor(inputImage: Uri) { + sourceImageUri = inputImage val filename = inputImage.toString().getFilenameFromPath() val settingsList = createPesdkSettingsList(filename) - settingsList.getSettingsModel(EditorLoadSettings::class.java).imageSource = inputImage + settingsList.getSettingsModel(EditorLoadSettings::class.java).imageSource = sourceImageUri PhotoEditorBuilder(this) .setSettingsList(settingsList) From 9d5565be96ac43b618749384035f69a27a9d0edd Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 2 Jan 2020 23:20:53 +0100 Subject: [PATCH 05/66] do not show Favorites and Recycle bin at the copy destination picker --- .../gallery/pro/activities/WidgetConfigureActivity.kt | 2 +- .../gallery/pro/dialogs/PickDirectoryDialog.kt | 6 ++++-- .../gallery/pro/dialogs/PickMediumDialog.kt | 2 +- .../simplemobiletools/gallery/pro/extensions/Activity.kt | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt index f34a23e9b..d2e1696bb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt @@ -150,7 +150,7 @@ class WidgetConfigureActivity : SimpleActivity() { } private fun changeSelectedFolder() { - PickDirectoryDialog(this, "", false) { + PickDirectoryDialog(this, "", false, true) { updateFolderImage(it) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt index c29f1e6b3..cf8f0b89e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt @@ -14,7 +14,8 @@ import com.simplemobiletools.gallery.pro.helpers.VIEW_TYPE_GRID import com.simplemobiletools.gallery.pro.models.Directory import kotlinx.android.synthetic.main.dialog_directory_picker.view.* -class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: String, showOtherFolderButton: Boolean, val callback: (path: String) -> Unit) { +class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: String, showOtherFolderButton: Boolean, val showFavoritesBin: Boolean, + val callback: (path: String) -> Unit) { private var dialog: AlertDialog private var shownDirectories = ArrayList<Directory>() private var allDirectories = ArrayList<Directory>() @@ -88,7 +89,8 @@ class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: Stri if (allDirectories.isEmpty()) { allDirectories = newDirs.clone() as ArrayList<Directory> } - val distinctDirs = newDirs.distinctBy { it.path.getDistinctPath() }.toMutableList() as ArrayList<Directory> + + val distinctDirs = newDirs.filter { showFavoritesBin || (!it.isRecycleBin() && !it.areFavorites()) }.distinctBy { it.path.getDistinctPath() }.toMutableList() as ArrayList<Directory> val sortedDirs = activity.getSortedDirectories(distinctDirs) val dirs = activity.getDirsToShow(sortedDirs, allDirectories, currentPathPrefix).clone() as ArrayList<Directory> if (dirs.hashCode() == shownDirectories.hashCode()) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt index 99509354b..036b1eadf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt @@ -54,7 +54,7 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c } private fun showOtherFolder() { - PickDirectoryDialog(activity, path, true) { + PickDirectoryDialog(activity, path, true, true) { callback(it) dialog.dismiss() } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt index c2f273e6c..dfdafcc8c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt @@ -208,7 +208,7 @@ fun BaseSimpleActivity.tryCopyMoveFilesTo(fileDirItems: ArrayList<FileDirItem>, } val source = fileDirItems[0].getParentPath() - PickDirectoryDialog(this, source, true) { + PickDirectoryDialog(this, source, true, false) { val destination = it handleSAFDialog(source) { if (it) { From 79c5e239e9489b76944edb2c0a0f40e5463634bb Mon Sep 17 00:00:00 2001 From: siswonugroho <33504481+siswonugroho@users.noreply.github.com> Date: Fri, 3 Jan 2020 18:17:08 +0700 Subject: [PATCH 06/66] Update Indonesian translation Translated new editor strings --- app/src/main/res/values-id/strings.xml | 128 ++++++++++++------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 5a1f4ce34..f0eb5588e 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -203,85 +203,85 @@ <string name="toggle_file_visibility">Ubah visibilitas berkas</string> <!-- New editor strings --> - <string name="pesdk_transform_button_freeCrop">Custom</string> + <string name="pesdk_transform_button_freeCrop">Bebas</string> <string name="pesdk_transform_button_resetCrop">Reset</string> - <string name="pesdk_transform_button_squareCrop">Square</string> - <string name="pesdk_transform_title_name">Transform</string> + <string name="pesdk_transform_button_squareCrop">Persegi</string> + <string name="pesdk_transform_title_name">Ukuran</string> <string name="pesdk_filter_title_name">Filter</string> - <string name="pesdk_filter_asset_none">None</string> - <string name="pesdk_adjustments_title_name">Adjust</string> - <string name="pesdk_adjustments_button_shadowTool">Shadows</string> - <string name="pesdk_adjustments_button_exposureTool">Exposure</string> - <string name="pesdk_adjustments_button_highlightTool">Highlights</string> - <string name="pesdk_adjustments_button_brightnessTool">Brightness</string> - <string name="pesdk_adjustments_button_contrastTool">Contrast</string> - <string name="pesdk_adjustments_button_saturationTool">Saturation</string> - <string name="pesdk_adjustments_button_clarityTool">Clarity</string> + <string name="pesdk_filter_asset_none">Tidak ada</string> + <string name="pesdk_adjustments_title_name">Sesuaikan</string> + <string name="pesdk_adjustments_button_shadowTool">Bayangan</string> + <string name="pesdk_adjustments_button_exposureTool">Eksposur</string> + <string name="pesdk_adjustments_button_highlightTool">Sorotan</string> + <string name="pesdk_adjustments_button_brightnessTool">Kecerahan</string> + <string name="pesdk_adjustments_button_contrastTool">Kontras</string> + <string name="pesdk_adjustments_button_saturationTool">Saturasi</string> + <string name="pesdk_adjustments_button_clarityTool">Perjelas</string> <string name="pesdk_adjustments_button_gammaTool">Gamma</string> - <string name="pesdk_adjustments_button_blacksTool">Blacks</string> - <string name="pesdk_adjustments_button_whitesTool">Whites</string> - <string name="pesdk_adjustments_button_temperatureTool">Temperature</string> - <string name="pesdk_adjustments_button_sharpnessTool">Sharpness</string> + <string name="pesdk_adjustments_button_blacksTool">Hitam</string> + <string name="pesdk_adjustments_button_whitesTool">Putih</string> + <string name="pesdk_adjustments_button_temperatureTool">Suhu</string> + <string name="pesdk_adjustments_button_sharpnessTool">Ketajaman</string> <string name="pesdk_adjustments_button_reset">Reset</string> - <string name="pesdk_focus_title_name">Focus</string> - <string name="pesdk_focus_title_disabled">None</string> + <string name="pesdk_focus_title_name">Fokus</string> + <string name="pesdk_focus_title_disabled">Tidak ada</string> <string name="pesdk_focus_button_radial">Radial</string> <string name="pesdk_focus_button_linear">Linear</string> - <string name="pesdk_focus_button_mirrored">Mirrored</string> + <string name="pesdk_focus_button_mirrored">Cermin</string> <string name="pesdk_focus_button_gaussian">Gaussian</string> - <string name="pesdk_text_title_name">Text</string> - <string name="pesdk_text_title_options">Text Options</string> - <string name="pesdk_text_title_textColor">Text Color</string> + <string name="pesdk_text_title_name">Teks</string> + <string name="pesdk_text_title_options">Opsi Teks</string> + <string name="pesdk_text_title_textColor">Warna Teks</string> <string name="pesdk_text_title_font">Font</string> - <string name="pesdk_text_button_add">Add</string> + <string name="pesdk_text_button_add">Tambah</string> <string name="pesdk_text_button_edit">Edit</string> - <string name="pesdk_text_button_straighten">Straighten</string> + <string name="pesdk_text_button_straighten">Luruskan</string> <string name="pesdk_text_button_font">Font</string> - <string name="pesdk_text_button_color">Color</string> - <string name="pesdk_text_button_backgroundColor">BG Color</string> - <string name="pesdk_text_button_alignment">Alignment</string> - <string name="pesdk_text_button_bringToFront">To Front</string> - <string name="pesdk_text_button_delete">Delete</string> - <string name="pesdk_text_text_editTextPlaceholder">Your text</string> - <string name="pesdk_brush_title_name">Brush</string> - <string name="pesdk_brush_button_color">Color</string> - <string name="pesdk_brush_button_size">Size</string> - <string name="pesdk_brush_button_hardness">Hardness</string> - <string name="pesdk_brush_button_bringToFront">To Front</string> - <string name="pesdk_brush_button_delete">Delete</string> - <string name="pesdk_brush_title_brushColor">Brush Color</string> + <string name="pesdk_text_button_color">Warna</string> + <string name="pesdk_text_button_backgroundColor">Warna BG</string> + <string name="pesdk_text_button_alignment">Perataan</string> + <string name="pesdk_text_button_bringToFront">Ke Depan</string> + <string name="pesdk_text_button_delete">Hapus</string> + <string name="pesdk_text_text_editTextPlaceholder">Ketik teks</string> + <string name="pesdk_brush_title_name">Kuas</string> + <string name="pesdk_brush_button_color">Warna</string> + <string name="pesdk_brush_button_size">Ukuran</string> + <string name="pesdk_brush_button_hardness">Kekerasan</string> + <string name="pesdk_brush_button_bringToFront">Ke Depan</string> + <string name="pesdk_brush_button_delete">hapus</string> + <string name="pesdk_brush_title_brushColor">Warna Kuas</string> <string name="pesdk_editor_title_name">Editor</string> - <string name="pesdk_editor_title_closeEditorAlert">Close Editor?</string> - <string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the image?</string> - <string name="pesdk_editor_button_closeEditorAlertConfirmation">Yes</string> - <string name="pesdk_editor_button_closeEditorAlertCancelation">No</string> - <string name="pesdk_editor_cancel">Cancel</string> - <string name="pesdk_editor_accept">Accept</string> - <string name="pesdk_editor_save">Save</string> - <string name="pesdk_editor_text_exportProgressUnknown">Exporting image…</string> - <string name="pesdk_editor_text_exportProgress" formatted="false">Exporting image %s.</string> - <string name="pesdk_common_button_flipH">Flip H</string> - <string name="pesdk_common_button_flipV">Flip V</string> - <string name="pesdk_common_button_undo">Undo</string> - <string name="pesdk_common_button_redo">Redo</string> - <string name="pesdk_common_title_colorPicker">Color Picker</string> - <string name="pesdk_common_title_transparentColor">Transparent</string> - <string name="pesdk_common_title_whiteColor">White</string> - <string name="pesdk_common_title_grayColor">Gray</string> - <string name="pesdk_common_title_blackColor">Black</string> - <string name="pesdk_common_title_lightBlueColor">Light blue</string> - <string name="pesdk_common_title_blueColor">Blue</string> - <string name="pesdk_common_title_purpleColor">Purple</string> + <string name="pesdk_editor_title_closeEditorAlert">Tutup Editor?</string> + <string name="pesdk_editor_text_closeEditorAlert">Buang perubahan pada gambar?</string> + <string name="pesdk_editor_button_closeEditorAlertConfirmation">Ya</string> + <string name="pesdk_editor_button_closeEditorAlertCancelation">Tidak</string> + <string name="pesdk_editor_cancel">Batal</string> + <string name="pesdk_editor_accept">Terima</string> + <string name="pesdk_editor_save">Simpan</string> + <string name="pesdk_editor_text_exportProgressUnknown">Mengekspor gambar…</string> + <string name="pesdk_editor_text_exportProgress" formatted="false">Mengekspor gambar %s.</string> + <string name="pesdk_common_button_flipH">Balik H</string> + <string name="pesdk_common_button_flipV">Balik V</string> + <string name="pesdk_common_button_undo">Urungkan</string> + <string name="pesdk_common_button_redo">Ulangi</string> + <string name="pesdk_common_title_colorPicker">Pemilih Warna</string> + <string name="pesdk_common_title_transparentColor">Transparan</string> + <string name="pesdk_common_title_whiteColor">Putih</string> + <string name="pesdk_common_title_grayColor">Abu-abu</string> + <string name="pesdk_common_title_blackColor">Hitam</string> + <string name="pesdk_common_title_lightBlueColor">Biru cerah</string> + <string name="pesdk_common_title_blueColor">Biru</string> + <string name="pesdk_common_title_purpleColor">Ungu</string> <string name="pesdk_common_title_orchidColor">Orchid</string> <string name="pesdk_common_title_pinkColor">Pink</string> - <string name="pesdk_common_title_redColor">Red</string> - <string name="pesdk_common_title_orangeColor">Orange</string> - <string name="pesdk_common_title_goldColor">Gold</string> - <string name="pesdk_common_title_yellowColor">Yellow</string> + <string name="pesdk_common_title_redColor">Merah</string> + <string name="pesdk_common_title_orangeColor">Oranye</string> + <string name="pesdk_common_title_goldColor">Emas</string> + <string name="pesdk_common_title_yellowColor">Kuning</string> <string name="pesdk_common_title_oliveColor">Olive</string> - <string name="pesdk_common_title_greenColor">Green</string> + <string name="pesdk_common_title_greenColor">Hijau</string> <string name="pesdk_common_title_aquamarinColor">Aquamarin</string> - <string name="pesdk_common_title_pipettableColor">Pipettable color</string> + <string name="pesdk_common_title_pipettableColor">Warna pipet</string> <!-- FAQ --> <string name="faq_1_title">Bagaimana cara menjadikan Simple Gallery sebagai aplikasi galeri default?</string> From f2d4d81d1b63e1fa2d3fcb1394bc34bace1fd744 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 3 Jan 2020 19:17:07 +0100 Subject: [PATCH 07/66] adding a new proguard rule for renderscript --- app/proguard-rules.pro | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 200ec8081..763f4ff3b 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -12,3 +12,9 @@ -keepclassmembers class * implements android.os.Parcelable { static ** CREATOR; } + +# RenderScript +-keepclasseswithmembernames class * { +native <methods>; +} +-keep class androidx.renderscript.** { *; } From 68880a4fed6c8e14c440a246f4f8891a9d95abc8 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 3 Jan 2020 21:13:59 +0100 Subject: [PATCH 08/66] update commons to 5.21.17 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 317c093b1..2c5ce1f90 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.14' + implementation 'com.simplemobiletools:commons:5.21.17' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 38bd15bd2cba71070c5f4cee61a856205cf129b3 Mon Sep 17 00:00:00 2001 From: unbranched <unbranched@no.com> Date: Sat, 4 Jan 2020 11:59:59 +0100 Subject: [PATCH 09/66] Italian translation update --- app/src/main/res/values-it/strings.xml | 156 ++++++++++++------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7f4a943c2..cc911c85e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -42,7 +42,7 @@ <string name="gifs">GIF</string> <string name="raw_images">Immagini RAW</string> <string name="svgs">SVG</string> - <string name="portraits">Portraits</string> + <string name="portraits">Ritratti</string> <string name="no_media_with_filters">Nessun file trovato con il filtro selezionato.</string> <string name="change_filters_underlined"><u>Cambia filtro</u></string> @@ -203,85 +203,85 @@ <string name="toggle_file_visibility">Attiva / disattiva la visibilità dei file</string> <!-- New editor strings --> - <string name="pesdk_transform_button_freeCrop">Custom</string> - <string name="pesdk_transform_button_resetCrop">Reset</string> - <string name="pesdk_transform_button_squareCrop">Square</string> - <string name="pesdk_transform_title_name">Transform</string> - <string name="pesdk_filter_title_name">Filter</string> - <string name="pesdk_filter_asset_none">None</string> - <string name="pesdk_adjustments_title_name">Adjust</string> - <string name="pesdk_adjustments_button_shadowTool">Shadows</string> - <string name="pesdk_adjustments_button_exposureTool">Exposure</string> - <string name="pesdk_adjustments_button_highlightTool">Highlights</string> - <string name="pesdk_adjustments_button_brightnessTool">Brightness</string> - <string name="pesdk_adjustments_button_contrastTool">Contrast</string> - <string name="pesdk_adjustments_button_saturationTool">Saturation</string> - <string name="pesdk_adjustments_button_clarityTool">Clarity</string> + <string name="pesdk_transform_button_freeCrop">Libera</string> + <string name="pesdk_transform_button_resetCrop">Reimposta</string> + <string name="pesdk_transform_button_squareCrop">Quadrato</string> + <string name="pesdk_transform_title_name">Trasformazione</string> + <string name="pesdk_filter_title_name">Filtro</string> + <string name="pesdk_filter_asset_none">Nessuno</string> + <string name="pesdk_adjustments_title_name">Regolazione</string> + <string name="pesdk_adjustments_button_shadowTool">Ombre</string> + <string name="pesdk_adjustments_button_exposureTool">Esposizione</string> + <string name="pesdk_adjustments_button_highlightTool">Luci</string> + <string name="pesdk_adjustments_button_brightnessTool">Luminosità</string> + <string name="pesdk_adjustments_button_contrastTool">Contrasto</string> + <string name="pesdk_adjustments_button_saturationTool">Saturazione</string> + <string name="pesdk_adjustments_button_clarityTool">Chiarezza</string> <string name="pesdk_adjustments_button_gammaTool">Gamma</string> - <string name="pesdk_adjustments_button_blacksTool">Blacks</string> - <string name="pesdk_adjustments_button_whitesTool">Whites</string> - <string name="pesdk_adjustments_button_temperatureTool">Temperature</string> - <string name="pesdk_adjustments_button_sharpnessTool">Sharpness</string> - <string name="pesdk_adjustments_button_reset">Reset</string> - <string name="pesdk_focus_title_name">Focus</string> - <string name="pesdk_focus_title_disabled">None</string> - <string name="pesdk_focus_button_radial">Radial</string> - <string name="pesdk_focus_button_linear">Linear</string> - <string name="pesdk_focus_button_mirrored">Mirrored</string> - <string name="pesdk_focus_button_gaussian">Gaussian</string> - <string name="pesdk_text_title_name">Text</string> - <string name="pesdk_text_title_options">Text Options</string> - <string name="pesdk_text_title_textColor">Text Color</string> - <string name="pesdk_text_title_font">Font</string> - <string name="pesdk_text_button_add">Add</string> - <string name="pesdk_text_button_edit">Edit</string> - <string name="pesdk_text_button_straighten">Straighten</string> - <string name="pesdk_text_button_font">Font</string> - <string name="pesdk_text_button_color">Color</string> - <string name="pesdk_text_button_backgroundColor">BG Color</string> - <string name="pesdk_text_button_alignment">Alignment</string> - <string name="pesdk_text_button_bringToFront">To Front</string> - <string name="pesdk_text_button_delete">Delete</string> - <string name="pesdk_text_text_editTextPlaceholder">Your text</string> - <string name="pesdk_brush_title_name">Brush</string> - <string name="pesdk_brush_button_color">Color</string> - <string name="pesdk_brush_button_size">Size</string> - <string name="pesdk_brush_button_hardness">Hardness</string> - <string name="pesdk_brush_button_bringToFront">To Front</string> - <string name="pesdk_brush_button_delete">Delete</string> - <string name="pesdk_brush_title_brushColor">Brush Color</string> + <string name="pesdk_adjustments_button_blacksTool">Neri</string> + <string name="pesdk_adjustments_button_whitesTool">Bianchi</string> + <string name="pesdk_adjustments_button_temperatureTool">Temperatura</string> + <string name="pesdk_adjustments_button_sharpnessTool">Nitidezza</string> + <string name="pesdk_adjustments_button_reset">Ripristina</string> + <string name="pesdk_focus_title_name">Fuoco</string> + <string name="pesdk_focus_title_disabled">Nessuno</string> + <string name="pesdk_focus_button_radial">Radiale</string> + <string name="pesdk_focus_button_linear">Lineare</string> + <string name="pesdk_focus_button_mirrored">Speculare</string> + <string name="pesdk_focus_button_gaussian">Gaussiano</string> + <string name="pesdk_text_title_name">Testo</string> + <string name="pesdk_text_title_options">Opzioni testo</string> + <string name="pesdk_text_title_textColor">Colore testo</string> + <string name="pesdk_text_title_font">Carattere</string> + <string name="pesdk_text_button_add">Aggiungi</string> + <string name="pesdk_text_button_edit">Modifica</string> + <string name="pesdk_text_button_straighten">Raddrizza</string> + <string name="pesdk_text_button_font">Carattere</string> + <string name="pesdk_text_button_color">Colore</string> + <string name="pesdk_text_button_backgroundColor">Colore sfondo</string> + <string name="pesdk_text_button_alignment">Allineamento</string> + <string name="pesdk_text_button_bringToFront">Porta davanti</string> + <string name="pesdk_text_button_delete">Elimina</string> + <string name="pesdk_text_text_editTextPlaceholder">Il tuo testo</string> + <string name="pesdk_brush_title_name">Pennello</string> + <string name="pesdk_brush_button_color">Colore</string> + <string name="pesdk_brush_button_size">Dimensione</string> + <string name="pesdk_brush_button_hardness">Durezza</string> + <string name="pesdk_brush_button_bringToFront">Porta davanti</string> + <string name="pesdk_brush_button_delete">Elimina</string> + <string name="pesdk_brush_title_brushColor">Colore pennello</string> <string name="pesdk_editor_title_name">Editor</string> - <string name="pesdk_editor_title_closeEditorAlert">Close Editor?</string> - <string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the image?</string> - <string name="pesdk_editor_button_closeEditorAlertConfirmation">Yes</string> + <string name="pesdk_editor_title_closeEditorAlert">Chiudere l\'editor?</string> + <string name="pesdk_editor_text_closeEditorAlert">Vuoi veramente scartare l\'immagine?</string> + <string name="pesdk_editor_button_closeEditorAlertConfirmation">Sì</string> <string name="pesdk_editor_button_closeEditorAlertCancelation">No</string> - <string name="pesdk_editor_cancel">Cancel</string> - <string name="pesdk_editor_accept">Accept</string> - <string name="pesdk_editor_save">Save</string> - <string name="pesdk_editor_text_exportProgressUnknown">Exporting image…</string> - <string name="pesdk_editor_text_exportProgress" formatted="false">Exporting image %s.</string> - <string name="pesdk_common_button_flipH">Flip H</string> - <string name="pesdk_common_button_flipV">Flip V</string> - <string name="pesdk_common_button_undo">Undo</string> - <string name="pesdk_common_button_redo">Redo</string> - <string name="pesdk_common_title_colorPicker">Color Picker</string> - <string name="pesdk_common_title_transparentColor">Transparent</string> - <string name="pesdk_common_title_whiteColor">White</string> - <string name="pesdk_common_title_grayColor">Gray</string> - <string name="pesdk_common_title_blackColor">Black</string> - <string name="pesdk_common_title_lightBlueColor">Light blue</string> - <string name="pesdk_common_title_blueColor">Blue</string> - <string name="pesdk_common_title_purpleColor">Purple</string> - <string name="pesdk_common_title_orchidColor">Orchid</string> - <string name="pesdk_common_title_pinkColor">Pink</string> - <string name="pesdk_common_title_redColor">Red</string> - <string name="pesdk_common_title_orangeColor">Orange</string> - <string name="pesdk_common_title_goldColor">Gold</string> - <string name="pesdk_common_title_yellowColor">Yellow</string> - <string name="pesdk_common_title_oliveColor">Olive</string> - <string name="pesdk_common_title_greenColor">Green</string> - <string name="pesdk_common_title_aquamarinColor">Aquamarin</string> - <string name="pesdk_common_title_pipettableColor">Pipettable color</string> + <string name="pesdk_editor_cancel">Annulla</string> + <string name="pesdk_editor_accept">Accetta</string> + <string name="pesdk_editor_save">Salva</string> + <string name="pesdk_editor_text_exportProgressUnknown">Esportazione immagine…</string> + <string name="pesdk_editor_text_exportProgress" formatted="false">Esportazione immagine %s.</string> + <string name="pesdk_common_button_flipH">Capovolgi O</string> + <string name="pesdk_common_button_flipV">Capovolgi V</string> + <string name="pesdk_common_button_undo">Annulla</string> + <string name="pesdk_common_button_redo">Ripeti</string> + <string name="pesdk_common_title_colorPicker">Selettore colore</string> + <string name="pesdk_common_title_transparentColor">Trasparente</string> + <string name="pesdk_common_title_whiteColor">Bianco</string> + <string name="pesdk_common_title_grayColor">Grigio</string> + <string name="pesdk_common_title_blackColor">Nero</string> + <string name="pesdk_common_title_lightBlueColor">Azzurro</string> + <string name="pesdk_common_title_blueColor">Blu</string> + <string name="pesdk_common_title_purpleColor">Viola</string> + <string name="pesdk_common_title_orchidColor">Orchidea</string> + <string name="pesdk_common_title_pinkColor">Rosa</string> + <string name="pesdk_common_title_redColor">Rosso</string> + <string name="pesdk_common_title_orangeColor">Arancione</string> + <string name="pesdk_common_title_goldColor">Oro</string> + <string name="pesdk_common_title_yellowColor">Giallo</string> + <string name="pesdk_common_title_oliveColor">Oliva</string> + <string name="pesdk_common_title_greenColor">Verde</string> + <string name="pesdk_common_title_aquamarinColor">Acquamarina</string> + <string name="pesdk_common_title_pipettableColor">Colore pipettabile</string> <!-- FAQ --> <string name="faq_1_title">Come posso impostare Semplice Galleria come la galleria predefinita del dispositivo?</string> @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Semplice Galleria Pro - gestore di foto & editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Sfoglia le tue memorie senza alcuna interruzione.</string> <string name="app_long_description"> Semplice Galleria Pro è una galleria offline altamente personalizzabile. Organizza, modifica le tue foto, recupera file con il cestino, progetti e nascondi file e visualizza una grande varietà di formati foto e video, inclusi RAW, SVG e molti altri. From f55593700fa411d8a2d10d9e45f2376435cf78e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Solatec=20Inform=C3=A0tica?= <35220662+Solatec@users.noreply.github.com> Date: Sat, 4 Jan 2020 15:29:02 +0100 Subject: [PATCH 10/66] Update strings.xml --- app/src/main/res/values-ca/strings.xml | 136 ++++++++++++------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 3c079f438..b8a4097a3 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -203,85 +203,85 @@ <string name="toggle_file_visibility">Activa la visibilitat del fitxer</string> <!-- New editor strings --> - <string name="pesdk_transform_button_freeCrop">Custom</string> - <string name="pesdk_transform_button_resetCrop">Reset</string> - <string name="pesdk_transform_button_squareCrop">Square</string> - <string name="pesdk_transform_title_name">Transform</string> - <string name="pesdk_filter_title_name">Filter</string> - <string name="pesdk_filter_asset_none">None</string> - <string name="pesdk_adjustments_title_name">Adjust</string> - <string name="pesdk_adjustments_button_shadowTool">Shadows</string> - <string name="pesdk_adjustments_button_exposureTool">Exposure</string> - <string name="pesdk_adjustments_button_highlightTool">Highlights</string> - <string name="pesdk_adjustments_button_brightnessTool">Brightness</string> + <string name="pesdk_transform_button_freeCrop">Personalitzat</string> + <string name="pesdk_transform_button_resetCrop">Reiniciar</string> + <string name="pesdk_transform_button_squareCrop">Quadrat</string> + <string name="pesdk_transform_title_name">Transformar</string> + <string name="pesdk_filter_title_name">Filtrar</string> + <string name="pesdk_filter_asset_none">No</string> + <string name="pesdk_adjustments_title_name">Ajustar</string> + <string name="pesdk_adjustments_button_shadowTool">Ombres</string> + <string name="pesdk_adjustments_button_exposureTool">Exposició</string> + <string name="pesdk_adjustments_button_highlightTool">Destacat</string> + <string name="pesdk_adjustments_button_brightnessTool">Brillantor</string> <string name="pesdk_adjustments_button_contrastTool">Contrast</string> - <string name="pesdk_adjustments_button_saturationTool">Saturation</string> - <string name="pesdk_adjustments_button_clarityTool">Clarity</string> + <string name="pesdk_adjustments_button_saturationTool">Saturació</string> + <string name="pesdk_adjustments_button_clarityTool">Claredat</string> <string name="pesdk_adjustments_button_gammaTool">Gamma</string> - <string name="pesdk_adjustments_button_blacksTool">Blacks</string> - <string name="pesdk_adjustments_button_whitesTool">Whites</string> - <string name="pesdk_adjustments_button_temperatureTool">Temperature</string> - <string name="pesdk_adjustments_button_sharpnessTool">Sharpness</string> - <string name="pesdk_adjustments_button_reset">Reset</string> + <string name="pesdk_adjustments_button_blacksTool">Negres</string> + <string name="pesdk_adjustments_button_whitesTool">Blancs</string> + <string name="pesdk_adjustments_button_temperatureTool">Temperatura</string> + <string name="pesdk_adjustments_button_sharpnessTool">Nitidessa</string> + <string name="pesdk_adjustments_button_reset">Restablir</string> <string name="pesdk_focus_title_name">Focus</string> - <string name="pesdk_focus_title_disabled">None</string> + <string name="pesdk_focus_title_disabled">No</string> <string name="pesdk_focus_button_radial">Radial</string> - <string name="pesdk_focus_button_linear">Linear</string> - <string name="pesdk_focus_button_mirrored">Mirrored</string> - <string name="pesdk_focus_button_gaussian">Gaussian</string> + <string name="pesdk_focus_button_linear">Lineal</string> + <string name="pesdk_focus_button_mirrored">Emmirallat</string> + <string name="pesdk_focus_button_gaussian">Gaussià</string> <string name="pesdk_text_title_name">Text</string> - <string name="pesdk_text_title_options">Text Options</string> - <string name="pesdk_text_title_textColor">Text Color</string> + <string name="pesdk_text_title_options">Opcions de Text</string> + <string name="pesdk_text_title_textColor">Color de Text</string> <string name="pesdk_text_title_font">Font</string> - <string name="pesdk_text_button_add">Add</string> - <string name="pesdk_text_button_edit">Edit</string> - <string name="pesdk_text_button_straighten">Straighten</string> - <string name="pesdk_text_button_font">Font</string> + <string name="pesdk_text_button_add">Afegir</string> + <string name="pesdk_text_button_edit">Editar</string> + <string name="pesdk_text_button_straighten">Allisar</string> + <string name="pesdk_text_button_font">Lletra</string> <string name="pesdk_text_button_color">Color</string> - <string name="pesdk_text_button_backgroundColor">BG Color</string> - <string name="pesdk_text_button_alignment">Alignment</string> - <string name="pesdk_text_button_bringToFront">To Front</string> - <string name="pesdk_text_button_delete">Delete</string> - <string name="pesdk_text_text_editTextPlaceholder">Your text</string> - <string name="pesdk_brush_title_name">Brush</string> + <string name="pesdk_text_button_backgroundColor">Color de fons</string> + <string name="pesdk_text_button_alignment">Alineació</string> + <string name="pesdk_text_button_bringToFront">Al davant</string> + <string name="pesdk_text_button_delete">Eliminar</string> + <string name="pesdk_text_text_editTextPlaceholder">El teu text</string> + <string name="pesdk_brush_title_name">Pinzell</string> <string name="pesdk_brush_button_color">Color</string> - <string name="pesdk_brush_button_size">Size</string> - <string name="pesdk_brush_button_hardness">Hardness</string> - <string name="pesdk_brush_button_bringToFront">To Front</string> - <string name="pesdk_brush_button_delete">Delete</string> - <string name="pesdk_brush_title_brushColor">Brush Color</string> + <string name="pesdk_brush_button_size">Mida</string> + <string name="pesdk_brush_button_hardness">Duresa</string> + <string name="pesdk_brush_button_bringToFront">Al davant</string> + <string name="pesdk_brush_button_delete">Eliminar</string> + <string name="pesdk_brush_title_brushColor"> de pinzellColor</string> <string name="pesdk_editor_title_name">Editor</string> - <string name="pesdk_editor_title_closeEditorAlert">Close Editor?</string> - <string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the image?</string> - <string name="pesdk_editor_button_closeEditorAlertConfirmation">Yes</string> + <string name="pesdk_editor_title_closeEditorAlert">Tancar Editor?</string> + <string name="pesdk_editor_text_closeEditorAlert">Vols realment descartar la imatge?</string> + <string name="pesdk_editor_button_closeEditorAlertConfirmation">Si</string> <string name="pesdk_editor_button_closeEditorAlertCancelation">No</string> - <string name="pesdk_editor_cancel">Cancel</string> - <string name="pesdk_editor_accept">Accept</string> - <string name="pesdk_editor_save">Save</string> - <string name="pesdk_editor_text_exportProgressUnknown">Exporting image…</string> - <string name="pesdk_editor_text_exportProgress" formatted="false">Exporting image %s.</string> - <string name="pesdk_common_button_flipH">Flip H</string> - <string name="pesdk_common_button_flipV">Flip V</string> - <string name="pesdk_common_button_undo">Undo</string> - <string name="pesdk_common_button_redo">Redo</string> - <string name="pesdk_common_title_colorPicker">Color Picker</string> + <string name="pesdk_editor_cancel">Cancel·lar</string> + <string name="pesdk_editor_accept">Acceptar</string> + <string name="pesdk_editor_save">Desar</string> + <string name="pesdk_editor_text_exportProgressUnknown">Exportar imatge…</string> + <string name="pesdk_editor_text_exportProgress" formatted="false">Exportant imatge %s.</string> + <string name="pesdk_common_button_flipH">Voltejar H</string> + <string name="pesdk_common_button_flipV">Voltejar V</string> + <string name="pesdk_common_button_undo">Desfer</string> + <string name="pesdk_common_button_redo">Refer</string> + <string name="pesdk_common_title_colorPicker">Selector de colors</string> <string name="pesdk_common_title_transparentColor">Transparent</string> - <string name="pesdk_common_title_whiteColor">White</string> - <string name="pesdk_common_title_grayColor">Gray</string> - <string name="pesdk_common_title_blackColor">Black</string> - <string name="pesdk_common_title_lightBlueColor">Light blue</string> - <string name="pesdk_common_title_blueColor">Blue</string> - <string name="pesdk_common_title_purpleColor">Purple</string> - <string name="pesdk_common_title_orchidColor">Orchid</string> - <string name="pesdk_common_title_pinkColor">Pink</string> - <string name="pesdk_common_title_redColor">Red</string> - <string name="pesdk_common_title_orangeColor">Orange</string> - <string name="pesdk_common_title_goldColor">Gold</string> - <string name="pesdk_common_title_yellowColor">Yellow</string> - <string name="pesdk_common_title_oliveColor">Olive</string> - <string name="pesdk_common_title_greenColor">Green</string> - <string name="pesdk_common_title_aquamarinColor">Aquamarin</string> - <string name="pesdk_common_title_pipettableColor">Pipettable color</string> + <string name="pesdk_common_title_whiteColor">Blanc</string> + <string name="pesdk_common_title_grayColor">Gris</string> + <string name="pesdk_common_title_blackColor">Negre</string> + <string name="pesdk_common_title_lightBlueColor">Blau clar</string> + <string name="pesdk_common_title_blueColor">Blau</string> + <string name="pesdk_common_title_purpleColor">Porpre</string> + <string name="pesdk_common_title_orchidColor">Orquídia</string> + <string name="pesdk_common_title_pinkColor">Rosa</string> + <string name="pesdk_common_title_redColor">Vermell</string> + <string name="pesdk_common_title_orangeColor">Taronja</string> + <string name="pesdk_common_title_goldColor">Or</string> + <string name="pesdk_common_title_yellowColor">Groc</string> + <string name="pesdk_common_title_oliveColor">Oliva</string> + <string name="pesdk_common_title_greenColor">Verd</string> + <string name="pesdk_common_title_aquamarinColor">Aiguamarina</string> + <string name="pesdk_common_title_pipettableColor">Pipetejat de color</string> <!-- FAQ --> <string name="faq_1_title">Com puc fer que Simple Gallery sigui la galeria de dispositius predeterminada?</string> From 37bd0105e882c6ed7fe83190a4cac882a4c62396 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 4 Jan 2020 15:42:26 +0100 Subject: [PATCH 11/66] updating the apps italian short description --- fastlane/metadata/android/it/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/it/short_description.txt b/fastlane/metadata/android/it/short_description.txt index 14614d0a9..0f202fe9e 100644 --- a/fastlane/metadata/android/it/short_description.txt +++ b/fastlane/metadata/android/it/short_description.txt @@ -1 +1 @@ -Galleria offline senza pubblicità. Organizza, modifica e proteggi foto e video +Sfoglia le tue memorie senza alcuna interruzione. From c0194d5db6a820922ac9ff0f57b419769effcbc1 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 4 Jan 2020 17:40:30 +0100 Subject: [PATCH 12/66] update commons to 5.21.19 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 2c5ce1f90..993e5b6bb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.17' + implementation 'com.simplemobiletools:commons:5.21.19' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 3055a50516f23b136132bd4f52433e3765f3c24a Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 4 Jan 2020 17:50:18 +0100 Subject: [PATCH 13/66] update version to 6.11.5 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 993e5b6bb..a01211fdc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 284 - versionName "6.11.4" + versionCode 285 + versionName "6.11.5" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From 6a9177c54e57a52425ea639f82cddb69521ef421 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 4 Jan 2020 17:50:27 +0100 Subject: [PATCH 14/66] updating changelog --- CHANGELOG.md | 7 +++++++ fastlane/metadata/android/en-US/changelogs/285.txt | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/285.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bfb648ea..1475d215e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========== +Version 6.11.5 *(2020-01-04)* +---------------------------- + + * Fixed a few SD card related issues + * Fixed some theming issues + * Added some UI and translation improvements + Version 6.11.4 *(2019-12-27)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/285.txt b/fastlane/metadata/android/en-US/changelogs/285.txt new file mode 100644 index 000000000..abad491dc --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/285.txt @@ -0,0 +1,3 @@ + * Fixed a few SD card related issues + * Fixed some theming issues + * Added some UI and translation improvements From 21722b0c3a91e5cdf6a660fb5c67eacce2a8b85e Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Mon, 6 Jan 2020 12:16:59 +0100 Subject: [PATCH 15/66] tweaking the apps short description, make it longer --- app/src/main/res/values-ar/strings.xml | 2 +- app/src/main/res/values-az/strings.xml | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fi/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-id/strings.xml | 2 +- app/src/main/res/values-in/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko-rKR/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sl/strings.xml | 2 +- app/src/main/res/values-sr/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-vi/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rHK/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 95ab576ab..344bcce6b 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -317,7 +317,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">المعرض البسيط الـ Pro - محرر ومدير الصور</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">تصفح ذكرياتك دون اي انقطاع.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> (تطبيق المعرض البسيط الـ Pro) هو معرض بدون إنترنت قابل للتخصيص بدرجة كبيرة يتمتع بتنظيم الصور وتحريرها وإستعادة الملفات المحذوفة من خلال "سلة المحذوفات" وحماية الملفات وإخفاؤها وعرض مجموعة كبيرة من تنسيقات الصور والفيديو المختلفة بما في ذلك تنسيقات RAW و SVG وغير ذلك الكثير. diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 6ab4d33ec..449778d15 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index b8a4097a3..673ca5601 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Navegueu pels vostres records sense interrupcions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro és una galeria fora de línia altament personalitzable. Organitza i edita les teves fotos, recupera fitxers suprimits amb la paperera de reciclatge, protegeix i amaga fitxers, mostra una gran varietat de formats de foto i vídeo incloent RAW, SVG i molt més. diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 0de30b260..2e17b6791 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Jednoduchá Galerie Pro - Organizér a editor fotografií</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Prohlížejte své vzpomínky bez přerušení.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Jednoduchá Galerie Pro je vysoce přizpůsobitelná offline galerie. Organizujte a upravujte své fotografie, obnovujte smazané fotografie s funkcí odpadkového koše, chraňte je a skrývejte. Prohlížejte množství různých foto a video formátů včetně RAW, SVG a mnoho dalších. diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 03cd3e395..a4fc7e372 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Billedhåndtering</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro er et offline-galleri med mange tilpasningsmuligheder. Organiser og rediger dine billeder, gendan slettede filer via papirkurven, beskyt og skjul filer og se adskillige forskellige billed- og videoformater inklusiv RAW, SVG og mange flere. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f22771d90..c5dd78fa9 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -318,7 +318,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Schlichte Galerie Pro - Foto Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Schlichte Galerie Pro ist eine stark individualisierbare Offline Galerie. Ordne & bearbeite deine Fotos, stelle gelöschte Fotos mit Hilfe des Papierkorbs wieder her, schütze & verstecke Dateien und zeige eine Vielzahl von Bilder- & Videoformaten an, unter anderem RAW, SVG und viele mehr. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c75db686e..14105403d 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -320,7 +320,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">ΑΠΛΗ ΣΥΛΛΟΓΗ Pro - Διαχείριση & Επεξεργασία</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Ξεφυλλίστε τις αναμνήσεις σας χωρίς διακοπές.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Η Απλή Συλλογή Pro είναι χωρίς σύνδεση και εξαιρετικά προσαρμόσιμη. Οργανώστε και επεξεργαστείτε τις φωτογραφίες σας, ανακτήσετε διαγραμμένα αρχεία απο τον κάδο ανακύκλωσης, προστατεύσετε και αποκρύψτε αρχεία, προβάλετε πλήθος διαφορετικών φωτογραφιών και μορφών βίντεο, συμπεριλαμβανομένων των RAW, SVG και πολλών άλλων. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index e1ac72856..cee120d37 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Gestor y editor de fotos</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Explore sus recuerdos sin interrupciones.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro es una galería altamente personalizable disponible sin conexión. Organiza y edita tus fotos, recupera archivos eliminados con la papelera de reciclaje, protege y oculta archivos y mira una gran variedad de diferentes formatos de fotos y videos incluyendo RAW, SVG y muchos más. diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 3a4f6ffdf..ec6c7a99e 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 20ee4def5..2f372892e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -317,7 +317,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index fa073d954..dc9b48aa7 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index f219ee7c4..ebb3c745c 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index b42e97172..35bd4c7e3 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -321,7 +321,7 @@ Ezzel csak a kiválasztott mappák láthatók, mivel a kizárás és a befoglal <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Böngészés az emlékek közt megszakítás nélkül.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index f0eb5588e..6536c8373 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Pengelola & Penyunting Foto</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Menampilkan semua kenangan anda tanpa gangguan.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro adalah aplikasi galeri luring yang sangat mudah diubahsuai. Mengelola & menyunting foto anda, memulihkan berkas yang terhapus dari keranjang sampah, melindungi & menyembunyikan berkas, dan menampilkan banyak format foto & video, diantaranya RAW, SVG dan masih banyak lainnya. diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 5a1f4ce34..21a731990 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Pengelola & Penyunting Foto</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Menampilkan semua kenangan anda tanpa gangguan.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro adalah aplikasi galeri luring yang sangat mudah diubahsuai. Mengelola & menyunting foto anda, memulihkan berkas yang terhapus dari keranjang sampah, melindungi & menyembunyikan berkas, dan menampilkan banyak format foto & video, diantaranya RAW, SVG dan masih banyak lainnya. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index cc911c85e..898992fdb 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Semplice Galleria Pro - gestore di foto & editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Sfoglia le tue memorie senza alcuna interruzione.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Semplice Galleria Pro è una galleria offline altamente personalizzabile. Organizza, modifica le tue foto, recupera file con il cestino, progetti e nascondi file e visualizza una grande varietà di formati foto e video, inclusi RAW, SVG e molti altri. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 780b1244b..108f8bd18 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 1aae7ab77..bf2c14a64 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 568060164..7a8138d85 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 85b68bb6c..e0172c233 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8361c816a..b15bb8853 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Eenvoudige Galerij Pro - Foto’s Beheren & Bewerken</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Navigeer zonder afleidingen door al uw herinneringen.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Eenvoudige Galerij Pro is een volledig aan te passen offline galerij. Organiseer & bewerk foto’s, herstel verwijderde bestanden met de prullenbakfunctie, beveilig & verberg items en bekijk een enorme hoeveelheid aan foto- & videoformaten, waaronder RAW, SVG en nog veel meer. diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f916718a3..62cbd7aad 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -317,7 +317,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro to wysoce konfigurowalna galeria. Przeglądaj i edytuj swoje zdjęcia, dzięki funkcji kosza z łatwością odzyskuj przypadkowo (lub nie) ususnięte pliki, chroń je i ukrywaj dzięki różnym metodom zabezpieczeń. Nie martw się o obsługiwane formaty - wśród nich są m.in. RAW, SVG i wiele więcej. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ac6970a1c..431a95a28 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -318,7 +318,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Galeria Pro - Gerenciador de Imagens</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Procure suas memórias sem interrupções.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> A Simple Galeria Pro é uma galeria de imagens e vídeos altamente customizável. Organize e edite suas fotos e vídeos, recupere arquivos movidos para a lixeira, proteja e oculte seus arquivos, e visualize arquivos em uma grande variedade de formatos, incluindo RAW, SVG, e muito mais. Este app não inclui anúncios ou permissões desnecessárias e também não acessa a internet. Sua privacidade está protegida. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 59101c006..bf4a80ddd 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Editor e gestor de fotos</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Explore as suas memórias sem interrupções.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro é uma aplicação local para gerir fotos e vídeos. Pode organizar e editar as suas fotos, recuperar ficheiros através da reciclagem, proteger e ocultar ficheiros e ver imagens e vídeos disponíveis em vários formatos tais como RAW, SVG e muito mais. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 5db3b5b4e..30aa6d796 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Галерея Pro - управление изображениями</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Просматривайте свои воспоминания без перерывов.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro — настраиваемая автономная галерея. Организуйте и редактируйте свои фотографии; восстанавливайте удалённые файлы при помощи функции "корзина"; защищайте и скрывайте личные файлы; просматривайте множество различных фото- и видеоформатов, включая RAW, SVG и многие другие. diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 968c47c60..0a1a3c2e2 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Jednoduchá galéria Pro - Foto organizér a editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Prehliadajte svoje spomienky bez prerušenia.</string> + <string name="app_short_description">Prehliadajte svoje spomienky bez prerušenia s touto foto a video galériou.</string> <string name="app_long_description"> Jednoduchá Galéria Pro je vysoko prispôsobiteľná offline galéria. Organizujte a upravujte vaše fotky, obnovujte vymazané súbory pomocou odpadkového koša, ochraňujte a skrývajte ich, alebo prehliadajte množstvo rôznych foto a video formátov vrátane RAW, SVG a mnoho ďalších. diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 197c49554..58c3230db 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Pregledovalnik fotografij</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro je visoko prilagodljiva lokalna galerija. Organizirajte & urejajte vaše fotografije, vrnite izbrisane datoteke iz koša, zaščitite & skrijte datoteke in pregledujte ogromno različnih vrst foto & video formatov, vključujoč RAW, SVG in mnoge druge. diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index d6cf72ebc..0a5ab8092 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Једноставна галерија Про је високо прилагодљива галерија којој није неопходан интернет да би радила. Организуј и измени своје слике, опорави обрисане датотеке са кантом за отпатке, заштити и сакриј датотеке имај увид у огромну количину различитих фотографија и видео формата укључујући RAW, SVG и многих других. diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index cbe6289c3..8f4342a62 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index bbf693c31..bb700f47a 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Basit Galeri Pro - Fotoğraf Yönetici & Düzenleyici</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Anılarınıza kesintisiz göz atın.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Basit Galeri Pro, özelleştirilebilir bir çevrimdışı galeridir. Fotoğraflarınızı düzenleyin ve organize edin, geri dönüşüm kutusuyla silinen dosyaları kurtarın, dosyaları koruyun ve gizleyin ve RAW, SVG ve çok daha fazlası dahil olmak üzere çok çeşitli fotoğraf ve video formatlarını görüntüleyin. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index c29acb22a..b30d57e3f 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - фотоменеджер і редактор</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro - це офлайн-галерея з великою кількістю налаштувань. Впорядковуйте та редагуйте ваші фото, відновлюйте видалені файли з кошика, захищайте та приховуйте файли і переглядайте фото і відео різноманітних форматів, включаючи RAW, SVG та багато іншого. diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 1dfd43ac9..f35990c78 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Trình quản lý ảnh & biên tập</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Duyệt khoảnh khắc của bạn mà không có bất kỳ gián đoạn.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro là một bộ sưu tập ngoại tuyến có khả năng tùy biến cao. Tổ chức & chỉnh sửa ảnh của bạn, khôi phục các tệp đã xóa bằng thùng rác, bảo vệ & ẩn các tệp và xem được nhiều định dạng ảnh & video bao gồm RAW, SVG và nhiều hơn nữa. Ứng dụng này không chứa quảng cáo và các quyền không cần thiết. Vì ứng dụng không có yêu cầu truy cập internet, quyền riêng tư của bạn sẽ được bảo vệ. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 97d1713ca..d2c68ffe9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -317,7 +317,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">简约图库 Pro - 图片管理 & 编辑</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> 简约图库 Pro 是一个高度可定制的图库。管理并编辑你的照片,从回收站中恢复已删除的照片,保护并隐藏文件,查看RAW,SVG等等多种照片和视频格式。 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 66b761c8a..037f78856 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">簡易相簿 Pro - 相片管理&編輯器</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> 簡易相簿Pro是一個高度自訂化的離線相簿。整理和編輯你的照片,從回收桶恢復刪除的檔案,保護和隱藏檔案,以及瀏覽大量不同的照片&影片格式,包含RAW、SVG…等更多。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 62c2ab62d..07dc7d737 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">簡易相簿 Pro - 相片管理&編輯器</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">毫無阻礙地瀏覽您的回憶。</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> 簡易相簿Pro是一個高度自訂化的離線相簿。整理和編輯你的照片,從回收桶恢復刪除的檔案,保護和隱藏檔案,以及瀏覽大量不同的照片&影片格式,包含RAW、SVG…等更多。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4f949f7c1..2e8c6d123 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions.</string> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> <string name="app_long_description"> Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. From 26162cc665650081395b86f8fd2afd3a22c49bd1 Mon Sep 17 00:00:00 2001 From: spkprs <kapaspy@gmail.com> Date: Mon, 6 Jan 2020 15:24:26 +0300 Subject: [PATCH 16/66] Update strings.xml --- app/src/main/res/values-el/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 14105403d..aa1793702 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -320,7 +320,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">ΑΠΛΗ ΣΥΛΛΟΓΗ Pro - Διαχείριση & Επεξεργασία</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> + <string name="app_short_description">Περιηγηθείτε στις αναμνήσεις σας χωρίς διακοπές με αυτήν τη συλλογή φωτό & βίντεο</string> <string name="app_long_description"> Η Απλή Συλλογή Pro είναι χωρίς σύνδεση και εξαιρετικά προσαρμόσιμη. Οργανώστε και επεξεργαστείτε τις φωτογραφίες σας, ανακτήσετε διαγραμμένα αρχεία απο τον κάδο ανακύκλωσης, προστατεύσετε και αποκρύψτε αρχεία, προβάλετε πλήθος διαφορετικών φωτογραφιών και μορφών βίντεο, συμπεριλαμβανομένων των RAW, SVG και πολλών άλλων. From d2d762ae06dd328854eee83e2df8c0dbc162b4ef Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Mon, 6 Jan 2020 14:18:07 +0100 Subject: [PATCH 17/66] updating the greek app short desc --- fastlane/metadata/android/el/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/el/short_description.txt b/fastlane/metadata/android/el/short_description.txt index 67f7afb67..400c185f3 100644 --- a/fastlane/metadata/android/el/short_description.txt +++ b/fastlane/metadata/android/el/short_description.txt @@ -1 +1 @@ -Ξεφυλλίστε τις αναμνήσεις σας χωρίς διακοπές. +Περιηγηθείτε στις αναμνήσεις σας χωρίς διακοπές με αυτήν τη συλλογή φωτό &βίντεο From 3a10166b8aedaab0e2a9b81a3d7d9988f2a52a42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hevesi=20J=C3=A1nos?= <44799533+hevesij@users.noreply.github.com> Date: Mon, 6 Jan 2020 17:32:38 +0100 Subject: [PATCH 18/66] Update strings.xml --- app/src/main/res/values-hu/strings.xml | 54 +++++++++----------------- 1 file changed, 19 insertions(+), 35 deletions(-) diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 35bd4c7e3..9fd480f32 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -33,8 +33,7 @@ <string name="dates_fixed_successfully">Sikeres dátum javítás</string> <string name="share_resized">Átméretezett verzió megosztása</string> <string name="upgraded_from_free">Hey,\n\nseems like you upgraded from the old free app. You can now uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings.\n\nYou will only have the Recycle bin items deleted, favorite items unmarked and you will also have to reset your app settings.\n\nThanks!</string> - <string name="switch_to_file_search">Switch to file search across all visible folders</string> - + <string name="switch_to_file_search">Váltás a fájlkeresésre az összes látható mappában</string> <!-- Filter --> <string name="filter_media">Média szűrő</string> <string name="images">Kép</string> @@ -45,7 +44,6 @@ <string name="portraits">Portraits</string> <string name="no_media_with_filters">A kiválasztott szűrők nem találtak médiafájlokat.</string> <string name="change_filters_underlined"><u>Szűrők változtatása</u></string> - <!-- Hide / Exclude --> <string name="hide_folder_description">Ez a funkció elrejti a mappát egy \'.nomedia\' fájl hozzáadásával, és elrejti az almappákat is. Láthatóvá teheti ezeket a Beállítások \"Mutassa a rejtett elemeket\" menüpontban. Folytatja?</string> <string name="exclude">Kizárás</string> @@ -59,14 +57,12 @@ <string name="hidden_folders">Rejtett mappák</string> <string name="manage_hidden_folders">Rejtett mappák kezelése</string> <string name="hidden_folders_placeholder">Úgy tűnik, a mappái nincsenek elrejtve egy \".nomedia\" fájllal.</string> - <!-- Include folders --> <string name="include_folders">Befoglalt mappák</string> <string name="manage_included_folders">Befoglalt mappák kezelése</string> <string name="add_folder">Mappa hozzáadása</string> <string name="included_activity_placeholder">Ha vannak olyan mappák, amelyek média fájlokat tartalmaznak, de az alkalmazás nem ismerte fel, akkor kézzel is hozzáadhatja ezeket.\n\nAz elemek hozzáadása nem zár ki más mappákat.</string> <string name="no_media_add_included">Nem talált médiafájlokat. Ezt megoldhatja a médiafájlokat tartalmazó mappák manuális hozzáadásával.</string> - <!-- Resizing --> <string name="resize">Átméretezés</string> <string name="resize_and_save">Kiválasztás átméretezése és mentés</string> @@ -74,7 +70,6 @@ <string name="height">Magasság</string> <string name="keep_aspect_ratio">Képarány megtartása</string> <string name="invalid_values">Írjon be érvényes felbontást</string> - <!-- Editor --> <string name="editor">Szerkesztő</string> <string name="save">Mentés</string> @@ -82,7 +77,7 @@ <string name="path">Elérési útvonal</string> <string name="invalid_image_path">Érvénytelen kép elérési útvonal</string> <string name="image_editing_failed">Sikertelen kép szerkesztés</string> - <string name="file_edited_successfully">File edited successfully</string> + <string name="file_edited_successfully">A fájl szerkesztése sikerült</string> <string name="edit_image_with">Kép szerkesztés ezzel:</string> <string name="no_editor_found">Nem található kép szerkesztő</string> <string name="unknown_file_location">Ismeretlen fájl hely</string> @@ -97,7 +92,6 @@ <!-- available as an option: 1:1, 4:3, 16:9, free --> <string name="other_aspect_ratio">Egyéb</string> <!-- available as an option: 1:1, 4:3, 16:9, free, other --> - <!-- Set wallpaper --> <string name="simple_wallpaper">Simple Wallpaper</string> <string name="set_as_wallpaper">Beállítás háttérképként</string> @@ -110,7 +104,6 @@ <string name="home_screen">Kezdő képernyő</string> <string name="lock_screen">Zárolás képernyő</string> <string name="home_and_lock_screen">Kezdő és zárolás képernyő</string> - <!-- Slideshow --> <string name="slideshow">Diavetítés</string> <string name="interval">Időköz (másodperc):</string> @@ -126,13 +119,11 @@ <string name="slide">Csúsztatás</string> <string name="slideshow_ended">A diavetítés vége</string> <string name="no_media_for_slideshow">A diavetítéshez nem található média</string> - <!-- View types --> <string name="change_view_type">Nézet típus változtatása</string> <string name="grid">Rács</string> <string name="list">Lista</string> <string name="group_direct_subfolders">Közvetlen almappa csoport</string> - <!-- Grouping at media thumbnails --> <string name="group_by">Csoportosítás</string> <string name="do_not_group_files">Nincs csoportosítás</string> @@ -146,11 +137,9 @@ <string name="by_file_type">Fájl típus</string> <string name="by_extension">Kiterjesztés</string> <string name="grouping_and_sorting">Kérjük, vegye figyelembe, hogy a csoportosítás és a rendezés 2 egymástól független mező</string> - <!-- Widgets --> <string name="folder_on_widget">Mappa mutatása a widgeten:</string> <string name="show_folder_name">Mutassa a mappa nevét</string> - <!-- Settings --> <string name="autoplay_videos">Automatikus videó lejátszás</string> <string name="remember_last_video_position">Emlékezzen a videó utolsó lejátszási pozícióra</string> @@ -192,26 +181,23 @@ <string name="compromise">Kiegyensúlyozott</string> <string name="avoid_showing_invalid_files">Kerülje az érvénytelen fájlok mutatását</string> <string name="show_image_file_types">Mutassa a kép fájl típusokat</string> - <!-- Setting sections --> <string name="thumbnails">Miniatűrök</string> <string name="fullscreen_media">Teljes képernyős média</string> <string name="extended_details">Bővített részletek</string> <string name="bottom_actions">Gomb műveletek</string> - <!-- Bottom actions --> <string name="manage_bottom_actions">Látható gomb műveletek kezelése</string> <string name="toggle_favorite">Kedvencek módosítása</string> <string name="toggle_file_visibility">Fájl láthatóság módosítása</string> - <!-- New editor strings --> <string name="pesdk_transform_button_freeCrop">Egyéni</string> - <string name="pesdk_transform_button_resetCrop">Reset</string> + <string name="pesdk_transform_button_resetCrop">Alaphelyzetbe</string> <string name="pesdk_transform_button_squareCrop">Square</string> <string name="pesdk_transform_title_name">Transform</string> <string name="pesdk_filter_title_name">Szűrő</string> <string name="pesdk_filter_asset_none">Nincs</string> - <string name="pesdk_adjustments_title_name">Adjust</string> + <string name="pesdk_adjustments_title_name">Beállít</string> <string name="pesdk_adjustments_button_shadowTool">Árnyékok</string> <string name="pesdk_adjustments_button_exposureTool">Exposure</string> <string name="pesdk_adjustments_button_highlightTool">Highlights</string> @@ -224,7 +210,7 @@ <string name="pesdk_adjustments_button_whitesTool">Whites</string> <string name="pesdk_adjustments_button_temperatureTool">Színhőmérséklet</string> <string name="pesdk_adjustments_button_sharpnessTool">Élesség</string> - <string name="pesdk_adjustments_button_reset">Reset</string> + <string name="pesdk_adjustments_button_reset">Alaphelyzetbe</string> <string name="pesdk_focus_title_name">Fókusz</string> <string name="pesdk_focus_title_disabled">Nincs</string> <string name="pesdk_focus_button_radial">Radial</string> @@ -242,31 +228,31 @@ <string name="pesdk_text_button_color">Szín</string> <string name="pesdk_text_button_backgroundColor">Háttérszín</string> <string name="pesdk_text_button_alignment">Igazítás</string> - <string name="pesdk_text_button_bringToFront">To Front</string> + <string name="pesdk_text_button_bringToFront">Előre</string> <string name="pesdk_text_button_delete">Törlés</string> <string name="pesdk_text_text_editTextPlaceholder">Saját szöveg</string> - <string name="pesdk_brush_title_name">Brush</string> + <string name="pesdk_brush_title_name">Ecset</string> <string name="pesdk_brush_button_color">Szín</string> <string name="pesdk_brush_button_size">Méret</string> - <string name="pesdk_brush_button_hardness">Hardness</string> - <string name="pesdk_brush_button_bringToFront">To Front</string> + <string name="pesdk_brush_button_hardness">Keménység</string> + <string name="pesdk_brush_button_bringToFront">Előre</string> <string name="pesdk_brush_button_delete">Törlés</string> - <string name="pesdk_brush_title_brushColor">Brush Color</string> + <string name="pesdk_brush_title_brushColor">Ecset színe</string> <string name="pesdk_editor_title_name">Szerkesztő</string> - <string name="pesdk_editor_title_closeEditorAlert">Close Editor?</string> - <string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the image?</string> + <string name="pesdk_editor_title_closeEditorAlert">Bezárja a szerkesztőt?</string> + <string name="pesdk_editor_text_closeEditorAlert">Valóban el akarja dobni a képet?</string> <string name="pesdk_editor_button_closeEditorAlertConfirmation">Igen</string> <string name="pesdk_editor_button_closeEditorAlertCancelation">Nem</string> <string name="pesdk_editor_cancel">Mégsem</string> - <string name="pesdk_editor_accept">Accept</string> + <string name="pesdk_editor_accept">Elfogad</string> <string name="pesdk_editor_save">Mentés</string> - <string name="pesdk_editor_text_exportProgressUnknown">Exporting image…</string> - <string name="pesdk_editor_text_exportProgress" formatted="false">Exporting image %s.</string> - <string name="pesdk_common_button_flipH">Flip H</string> - <string name="pesdk_common_button_flipV">Flip V</string> + <string name="pesdk_editor_text_exportProgressUnknown">Kép exportálása...</string> + <string name="pesdk_editor_text_exportProgress" formatted="false">%s kép exportálása</string> + <string name="pesdk_common_button_flipH">Tükrözés vízszintesen</string> + <string name="pesdk_common_button_flipV">Tükrözés függőlegesen</string> <string name="pesdk_common_button_undo">Visszavonás</string> - <string name="pesdk_common_button_redo">Redo</string> - <string name="pesdk_common_title_colorPicker">Color Picker</string> + <string name="pesdk_common_button_redo">Visszavom</string> + <string name="pesdk_common_title_colorPicker">Színválasztó</string> <string name="pesdk_common_title_transparentColor">Áttetsző</string> <string name="pesdk_common_title_whiteColor">Fehér</string> <string name="pesdk_common_title_grayColor">Szürke</string> @@ -284,7 +270,6 @@ <string name="pesdk_common_title_greenColor">Zöld</string> <string name="pesdk_common_title_aquamarinColor">Aquamarin</string> <string name="pesdk_common_title_pipettableColor">Pipetta szín</string> - <!-- FAQ --> <string name="faq_1_title">Hogyan tudom beállítani a Simple Gallery-t alapértelmezett galériának?</string> <string name="faq_1_text">Először meg kell találnia az alapértelmezett galériát az eszköz beállításainak Alkalmazások részében. Keressen egy olyan gombot, amely valami olyasmit, mint az \"Legyen alapértelmezett\", kattintson rá, majd válassza a \"Alapértelmezések törlése\" pontot. @@ -316,7 +301,6 @@ Ezzel csak a kiválasztott mappák láthatók, mivel a kizárás és a befoglal <string name="faq_14_text">A rejtett elemek megtekintéséhez nyomja meg a \"Rejtettek ideiglenes mutatása\" elemet a fő képernyőn, vagy válassza a \"Mutassa a rejtett elemeket\" az alkalmazás beállításaiban. Ha meg akarja szüntetni, csak hosszan nyomja meg, és válassza a \"Elrejtés megszüntetés\" lehetőséget. A mappák elrejtése egy rejtett \". nomedia\" fájl hozzáadásával történik. Ezt a fájlt bármelyik fájlkezelővel is törölheti.</string> <string name="faq_15_title">Miért használ az alkalmazás ennyi helyet?</string> <string name="faq_15_text">Az alkalmazás gyorsítótára akár a 250 MB-ot is meghaladhatja, és ez gyorsabb megjelenítést biztosít. Ha az alkalmazás még több helyet foglal el, a legvalószínűbb oka, hogy a Lomtárban is van elem. Ezek a fájlok is az alkalmazás méretébe számítanak bele. Törölheti a Lomtárat azzal, hogy megnyitja és törli az összes fájlt vagy az alkalmazás beállításait. A Lomtárban lévő minden fájl 30 nap elteltével automatikusan törlődik.</string> - <!-- Strings displayed only on Google Playstore. Optional, but good to have --> <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> From 305264654af02630e402ad29c7173891b5e83ba2 Mon Sep 17 00:00:00 2001 From: Guillaume <ltGuillaume@users.noreply.github.com> Date: Mon, 6 Jan 2020 19:50:04 +0100 Subject: [PATCH 19/66] Dutch --- app/src/main/res/values-nl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index b15bb8853..922dd0b3f 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Eenvoudige Galerij Pro - Foto’s Beheren & Bewerken</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> + <string name="app_short_description">Navigeer met deze galerij zonder afleidingen door al je herinneringen</string> <string name="app_long_description"> Eenvoudige Galerij Pro is een volledig aan te passen offline galerij. Organiseer & bewerk foto’s, herstel verwijderde bestanden met de prullenbakfunctie, beveilig & verberg items en bekijk een enorme hoeveelheid aan foto- & videoformaten, waaronder RAW, SVG en nog veel meer. From 5880415f3bcb02c9bf64bbd71731139c2a7c11d2 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Mon, 6 Jan 2020 20:49:24 +0100 Subject: [PATCH 20/66] updating the apps dutch short description --- fastlane/metadata/android/nl/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/nl/short_description.txt b/fastlane/metadata/android/nl/short_description.txt index 025e75925..b0c2add72 100644 --- a/fastlane/metadata/android/nl/short_description.txt +++ b/fastlane/metadata/android/nl/short_description.txt @@ -1 +1 @@ -Navigeer zonder afleidingen door al uw herinneringen. +Navigeer met deze galerij zonder afleidingen door al je herinneringen From d8af54b538dbc20ab5e7825853685751819bc4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Solatec=20Inform=C3=A0tica?= <35220662+Solatec@users.noreply.github.com> Date: Tue, 7 Jan 2020 10:33:22 +0100 Subject: [PATCH 21/66] Update strings.xml --- app/src/main/res/values-es/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index cee120d37..3b0c92a89 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Gestor y editor de fotos</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> + <string name="app_short_description">Explore sus recuerdos sin interrupciones con esta galeria de foto y vídeo</string> <string name="app_long_description"> Simple Gallery Pro es una galería altamente personalizable disponible sin conexión. Organiza y edita tus fotos, recupera archivos eliminados con la papelera de reciclaje, protege y oculta archivos y mira una gran variedad de diferentes formatos de fotos y videos incluyendo RAW, SVG y muchos más. From 94ab013b6bfeef6b548049ba2db9c4d73d2c0205 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Tue, 7 Jan 2020 18:51:37 +0100 Subject: [PATCH 22/66] updating the spanish app short description --- fastlane/metadata/android/es/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/es/short_description.txt b/fastlane/metadata/android/es/short_description.txt index 56250b41d..19cbec0ad 100644 --- a/fastlane/metadata/android/es/short_description.txt +++ b/fastlane/metadata/android/es/short_description.txt @@ -1 +1 @@ -Explore sus recuerdos sin interrupciones. +Explore sus recuerdos sin interrupciones con esta galeria de foto y vídeo From e68a4ae99b51e88a0457b5925568a7288bbbc58f Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 9 Jan 2020 10:08:41 +0100 Subject: [PATCH 23/66] decode the file path UI after editing an image --- .../simplemobiletools/gallery/pro/activities/NewEditActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index 4f5174640..e9dd88135 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -118,7 +118,7 @@ class NewEditActivity : SimpleActivity() { } else { // the image is stored at the internal app storage first, for example /data/user/0/com.simplemobiletools.gallery.pro/files/editor/IMG_20191207_183023.jpg // first we rename it to the desired name, then move - val sourceString = sourceImageUri?.toString() ?: "" + val sourceString = Uri.decode(sourceImageUri.toString())?.toString() ?: "" val source = if (sourceString.isEmpty() || sourceString.startsWith("content")) { internalStoragePath } else { From bb3f39737e484f7bb36f970f52fd089e6ab52e07 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 9 Jan 2020 19:31:44 +0100 Subject: [PATCH 24/66] uploading the square version of the icon --- .../metadata/android/en-US/images/square.png | Bin 0 -> 16427 bytes .../metadata/android/en-US/images/square.xcf | Bin 0 -> 34439 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fastlane/metadata/android/en-US/images/square.png create mode 100644 fastlane/metadata/android/en-US/images/square.xcf diff --git a/fastlane/metadata/android/en-US/images/square.png b/fastlane/metadata/android/en-US/images/square.png new file mode 100644 index 0000000000000000000000000000000000000000..77730890725763b43c1ead4bdbf6eecf11e42df9 GIT binary patch literal 16427 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 literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/en-US/images/square.xcf b/fastlane/metadata/android/en-US/images/square.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d8dedf7e36dad601ed61d35c061a176ebda8228a GIT binary patch literal 34439 zcmeHw2fQRzmG`ZxuF&08)m>E`-+PmD&Y2|W3W~abh+sfKKokKP5Lv|;g02$$5CjaE zKxIV`6)@nyh~P+=;4sVp6PffT$M@!iuJrxSx&2sNb#=d8cUQkRzu%qnKXt3CtM9FQ z>fZl3=e`Rs`sihYKXKj#gD<$~;`4<NYO_EH;h`uB{tHm7<8Kv$3jUQ)GAIU0rHSdh zGR|*<EMADqPPpi!=UjOHgbOdf=z};UP_Ky5^RKx2;`0a3zx3jZJ~$>f`hpA3yY%8q zFCRRb#e~Z*JolWzlP6B*e}4o_X;zKFN6-BuAML9j{HFnZ^b_+hJLkNMF1c{<l)mr6 z!K?q+!RE0ES6*__6@xFj<h&1^Kc7B-=>-?eKmUr?Zje6xhlk{m-~TAJL-U{V&q6G` zp-+2V!*hFIb^f_$f9RsKFF$|&*)yh0op{+L7t)#3+|=wTiq*t)dbWun1T{aML;rFp zeK`L*Y`+dWufqjkx^CY;6QJ+&eO*ouNb{e1yaca3GdNd0SBQllK)D#@6Te@tT_S|` zX_POZd;{f&C{Lg)N7;z7A0@$8x+nutCJLc{LkM#-$|2kueyfFN(i(y?1?3HR(je<k z3eh?V<ye$=pqwqlK-~M#vxFFd>x}(^5EI4;G4T$R@1i^^#0-3PF52q2D}{K|3qqWD zgAi}6qKp#a6dXV0YbZZJ`K1u=x>JbvepQIG--3c`o~H?M{-=ew@IfIi>Jj4Nx)7J) z*yY1erlFi5#FfBTT_wcTw+r#fp9^u#CTfcX#lP|5d{Si6nZiipI1*EZo+^o!P8BNj zBsJ10!bv9yElrX%n@*4*pN>PllDO$uNYoV4(V~)$64i9U|N6@{6ld6+lf(?srDTW9 ze9Hy@{Jkgev%3_lGUgwydvr^0s^Hi6X6zZCd^${Z{Qh43_`BD2G|(24L~rr*@2}h! zrWTr_*FEOu=MKkd4z1Bp$9?#rU8#cxX=LZz_;QlEXp)BNo$%1Uw1}2zsKL88hN*`J z(uA2#M>}U?16NTJEA39=C~WlhhWPF=qL?<4xY2V2%1BX4dy_`@!88@aL>WyU#bE=m zio<cE7l#LnI&jp})0>KcqAd*@M-F$00b&5I(!GCgDq6*$w9z=U73bE);It7RS-B|{ zHPL?~f2>8iwQQkWvJFK{6Z_8m(3PLM_OmzN{Fw#+blJJ59zVHeit!?PVP_AXi;lSC z)n^~Q`;+fEenM3hqtR>Khkp0%kIWcc$cPalNPFVF|8mw)OG9U&596LgD?T?}c3khy zXKxy7$c}4lf9%T9Iy$Zu-L>v(@2JS0>soa2XjS&yhFd1+itM?=KOYZ!iJto_n;aU) zBSkG8Aru<i<#f0Nm2{W{)pQ7+FDiq@KrVyukWm>ZPiO;((<B{`4v+^33_+oT1JgD! z6ov4hv{jxkC~XnLn}xr1Fq9^!ixH_TaT=#Xf&Wk@&Ex;Rr0dYv%4_^788z$sWZ2Yu zo3e{#h+&(gbemBMODRDkZh|8cgz2V;ekFcw97&mmETa?^1F1=(2FnP;m>Vp@a0M8M z>mEr`YRV|>Y5)uZIGCiZ47z#%2II({C~W}<)13#Sw2od0)AgNkT1$rl?E$Ky|Dqk8 zNm?PWa7!0Je;3O~pudazNAchCC=OdL*&n4o%yl^W+RaHCz-ULKuid~#I~x3{H5lu| zL|DFj6%GF(qM;aPy+9@bX2KY?yccEyrbB6axD%!WXu#E&(A3Gm<W62KEzRUFM*uKF z{>87dHHwe@p|n%Rr`jc$@gr%u;%hdtb&uM9(#;@#=PEYwk$Tr|fEE#I<z)><_=4@y zR{EdaFG0)VZh$&Y8Uv$7D6-!ir9%i*E=nXA^w}mDeQy&?Su8<3bGbCob6%G6s4Y?+ zyGP37_DOlnPATVYlydfqETieqG_N?};U*aI<tAwTWE1%BZ31(yyt7alvObjeU%9VC zg2JVH8HDEajj{aQinZtn5Z(jVY+)JAc}~6xBlF(F`~ryIzno<>=$l=#U9}5dlrMs@ zcO8*00`=5o@<mX)DwN%$&in<x2tw!W+d}TdhEln5H@yJR$J&5<_Q+R(a_plA(C>H{ zl+z#Y<aa@+p0gyxlQJX?liv01m{|-3>fW+hRK+l$u8q%v3K$O5`SL>`0!9#8b^)k@ zk!chkeh^?(8piuh94>q@I*p>Wr!okW#xG9<(=Z0FxP#vU7)x~@6GbsDjXHnTA_@eO zZC3$|$B}2V!X*&zm<=!?jXR%|GTOm1N;($`M@&rP-epoods*UU=jKFSOiH81gJUI# zHoR4W_`pRHB)$IxFd5gsJ;3@IAbE6J6RdoH6TEs&6YRJVU`iVA{-Tuo?vnDr*Q7l7 z&8B|0lzYD{<*wTx>Duj|Yl8Ljo8XyKo8bGy8N|_b%{%M*c=KL&eL#X}#qkm}ZfpaX zi0gH>37dX<V~hOl-9Lw%fQmzH4C3Amvb7G~4T)xKygGwHeBfuYrK9z413)Jvd+$dl z05qO%V-UZ(5ZyBx{d)NB;Xvrlr2FxC=*3ZK)VrY#ED^f8vFlQF^$2w0-ml^@7)}?u z4^Kw_a}y=~&rSbx(;UP7_U5l_Z$MroM^+u5!;5MNV9)bsdh$)xv*f%$zNva2Kc^_) zR9!!NSB~FQ;o%?8GhoPI+jf0xu*tTqk!-tUsKKVM(OCP|!3M11n6wdoZ(hxSsT_l) z*v?DF0lRopHGX=^06+(@x8sHhEx<PHZ118oTM6fZdk)?_xTRh-VBYCH_KQ>NN<D^} zrMKDU&(~GfEHc|Y4^M2WCRz0r@2zWGX^_@_M?J%u4lQgvJE)~uo1u5yhBpjsR%@j0 z_}I|8&S$Hn9=vB%-C$KAwR`FKx>*k^Aed8JE80E16=y582uD(?e-m9ytHl-YTDYyV zN8+pWT2djc@lO+QlV%O?v&QEp<HuNljmB-$>h&7Iu<^B-^;(wd!|%+l<rv)81dVUa zlt&tOO>crPOlgAaCP~oy(a{q0oHi6-61{=uwK0mq%@Y8UDsDUKd}0i~MycYS_S`Z8 z->nkd@}5C8v!+$?yW-W8TWdxw0~{TCn4k_AZ@31?sG_~&r{7r9YbL?Y@3z)5H489a z`7xkumEM-$omtarIf5@;F`%Z_@>NVuqI*vOv<Yswct}mDIaPXX-gy+DTczh?{o7k> zwJPC8<BIWsh3e?Eap-}WZMAB#Ix1~+J#*5)TGgwL#B=rH<*l`<UmXGVZT*d-2%?>b z;TdkfeFkYt1+%QqJLeKsE5FC@7{3yUA&wU4CvlXBY7p~;Lft0j3YFy?!QCikiwx_t zgkFowhL{OmsS=ujGc-oi@fn@bG+f1GG*u+Es>N`M$g`X*Y?hOR!*Zf<SxyjzYFyGm zgSohALgR3T#%L@)qca+VtC);Ni(EC!Xq3oS^NdCctLiWsA<Sxl(Qsi@Jx0TXUJWX7 zpo^g*1EiD*4-p!$#(1z$fpx}%gaT|b9w?G(#jj*p86bj6o>80dD-NSp;Z+KZT12tp zF{=N^*|h8ek)-GgB|RGDC@|pjK#NnE3nrb)9LZcM>1@#Ivm`~Xf@8P1%n;d>%5-^_ zk)kKkBu-5U5`d|)$^x*NfuAf~u+N2bB6vnB;Ejoza{xdo_umnDDgJyL>FBjMGl>4L zUXEcD*(a^RC<?V{-%Lpcmvp6K4i?F0JdYj*n03z)ki@e^6x^^Gbo^`)s%JhE1I+>& z`IC;6dNouEpJ`7uLb-YEG0+Sg8}&p_njtjg(;W%WbP>7lUIQn>G<@{v@5hXyfj8{s z?vBh4E`?KJs)#21I0l#^BIB-I@VHDCVdk6{L!e1mv5)&zC)^DaafP;<52txT{=0WX zKojtRV}8yLL^R~u7+?Whh$<dWdNdm;d;weWixgPQj&1AklT=ur&b2F2SP6|@rY|l@ zVJ7r63}1LS71QzHM$v|608Fd|w*3xtxCPL@3civoEa9%@Vv5M&y|VY|R7?_iShj<Y zY)!=kJg`_LKDHRh0Xnj5F&PV>u2+`ASQH3tSSrS{o1<&}(iGgeha2c!|6D3YfjAGN z_0O&r<oO7bZNI)BWO^A^eAlx86<UHU7sJ6%htd8u3t=K^K!;vf3<FWeEp#qlmx@86 z1=s6d{z}s!(z|+b3R=CtJ^I_@&pjWJl2Kt7!jl%v)?pADKiqKNNm&e=-u>}`AD!-E z*mOr}+WGidMMaLA-evFhRg9YqUh><{Dk&H*G=#QY*2Y69jMv{V4nxPpv%K~T)8*J% zf9J7s>}>z`(U{25*xCQ!+^izUPS4_FF;B!O!kB#O6iW`Cj;GECXF`ML$kUgV<lyOk z_TzO#U(n!bth#c5hQZ^fjcD7IBMpq60H1H%Fjm8;DFGh7W4eNIQwH4i?GqGsM1}3& z|3_60p*=r7JtK$Ep~p^h6*+`@o_%*ol|IFn&&5w0fNMqV8@j<5jTF(=7dq1t{0QOd zrH2zRknnc?^qGC|X%ykYY>d5k2fP^tct*qX*L6nlhK?7F+;?}N-iEDel-|1tpCSX+ zn>*o4&+Ti#z`@gc(sy6j(?ee8X`<(Z@2zS-+$+uLk=$E<vUd03uHGmnv;0qsH|#zr z7TAmX@8~aUque>q%U<)}^O)>4|MZ8C$X;{b@%2|j*=xq!n^tt9*T%x<J@R9Z?+o!8 z87F%5`Z2d`Mz`eAiM@KusFNQ$!f%{zy*_l-d+y#C;e|C(bm_I0VaJ?**V4o6Der*V zGW4i(KXd<zy$!r4CyRqPQm?lRJ^s=!{@}?Mw;m9aMXcAbC~1s8`D3@<hcQ8Fwmyxe zRiDn%tj}O+)Mv8P>$6y9>a$sD^*JonI>swLU$0@{COYQnm@Vto8oliGDkjj0j#t0} zVz2i8unnt4;yQQz@OZ2s!DB`3_szqy5}xv;d)w#Q;BOs>gPrR>04Ho44n_wSmk@{3 ziqCYvvJis;ub61tZ8LI!<csg!wdm?LxOB^DZ`8T{S&(T%F)+K6sB7P=OFmP=(8Fvk z2Y()%_D2qEU-7x&7_MPgcW-Ya(@=VQx;qcFufFeX80{Tbeebc~EL*kmxu<^q<+s6L z^yY$~wRL!#(iWF;c;@H#|APMoeE@pAap$qESgvUm;v%|kK6Vh4Oa&Z8WAhDj2SU*+ zc$^MDd(9*|&8Q5(W3uDn509WVo>^&2d%HH=eR2zFR;4BFi8`M9FfAi}te5I(Ph-<H zQwG#Y%~h&tch`!WP8>@MP9KXXJY-uRU3fZHno2FG+7&!#U7Hqv^@>v_wqVg3(Bi6* zU`%$#M|N#^{%7C5_C1r@u-px*Ze{P|&#zql(ktuMzPx(XiY1TSeZvRl4#847z%uM` zecVxRdFOl2JNt~cy>a@GnvH|SN?31cZN;;vw#F@WKIT<2^#FB#MPnIM)TWHe7<@je zXwjDRLA6Y0)7ni|Wy&7wdb!BbC>L0o<)q4A5LB!(Ml2`*`dGFcVL^z6KPkDgLW3Dg zd(!e{l{NZhLB%d>tWg65Sny>;h%>3df{I(#G5o7kQNU_A)+<<|2bE&kWb6WaWs9*5 z?3c5QbHG74$Jk<=l)&)N#|>7MlFb^eQ-iWva#*9)X;9WmF7BXGr6p-l&Xfwcg9=sX zr6Lv~<w_CQD0z%sV6)^iwt=luz&Hn-EtMEsz`0VHu>qVfRTyW0?NXJo3hb0>STmF> zm9k%UOLdWC%0anMYQYJma<N=2wK8(cUJ2eP9J9-Q31J98xpGiK;0BNdlmswtq!>_? zU@&7`tfU4*7^7=TT7WPEoKr6OrA#mk-&P7rdN3R(1f^oh2wqQS6mWaAny(4^!Agm6 zRXD&J<BFgkuQM)-Jg~_atqz=J9EdD%p0O{eQ5?peFo6q<i-H=+V_XnucHC&}>tOS! zvFOK;<_L{7jWt_P<I%lSU0x`xnXKhRLaiB;vaDtWotS5A2|DgDHiZXVU<^hP*ki1V z0&oz-UIww3E@Q<fO%o1l8f&VsS<_ilM4mO%4{@d_XIabo5j5_fAjs2+Ws@r$Kk>My zf}r42j|D-|*I9Z#^;!`4zQ!`}spkS5h&=8%f{K?=9}-kOS*v+c&v+gm*S#W3!z-{f zJ(s2BIV`iD%`)fZS?0YQOWVt`bUZxQxW4O|EDN5&vgqk7Jr55L>U~dR8F*?_M#WMo z@KF_bN-^n!YLU(kJgq3JGDVMdy@(1NH;M(8X3=G76&;q@qRlc_eEq|@fS9%nF>PpI z%pH6PFl~NZ%+ON6_dEblZ5|x})y5K38%xAbvYa7ImeUc{O6N@zS(Z~pjwSdtFGhse zWavtf&?KCpF`9_a=!_=dDkh`xxNerwIDAu{(O7)9!)Ofdrod>lP;q~By-`B(f@17u zun0)JqF+=Bq#z`%s4;@Gwx}~2CcL7_Xs9R_vy6s_LNU*1uyBhGqd~$c78nf_cF|)r zK;(--Ax1D`o5%qvF5y;@1=bk12n$$e{O4J=@mRc287GM?nu9XKMXQN2N0;_Rn99&4 zt}Oj)h}sCO|Nk&dZ5U>3LotE-{U8_qEQK@-eyzL~rq(9ER>r8cNa}770ucHl&_<*+ zxJ0Y+tYK*d&eMuihNoo-MgWXSu}Vt=xD0%F1UwM`REqM1u>cd(0$6$~t~@wCbtIUO z+G1*&7t^@p#PpO(R#r|)EeWOq%uG$GOiK+hJJrP;E_hs1P0Zt>$`fX%ia46vx4(^v zH|=lZzwPHZGS1(`oI-Ts!wrCOA{zXqy}WXb^pC#CtJzSQ{X`egXz;tiH})X(dNe55 zckRZi7fY|q<h7whqwfM!K@n6@<-+Y)9E0T0-|`ri%K+nU>i|I1q<iIBj--mzH$A~o zG?DlH4ggGkluvDF22^E_Ue+T6s<fd91>%6J+C{GgRGqX`#!;zLzAS@z-1!G3IP*6# zzyJ|VzNZ5LKW!p%u5CtAz5Uq`K|u(d$_)7NAp{N~I!Y;By@#Wt!t7B8D9jY$Q4=1b zXrvmN;p+VeW~z!Pf97&{m?}7Z?spoDqS_7ZDOssVKl{0qtW-4gXCXideDZDW2~YqE z`(0}q=}4HZ&=~*3k#rOcS3?<iZFj;jES|A3Nk_wgMVVtCO39K%t=EMB1zhBU)d{2M z_=mdFaj<Mr?e?81S+)?NObL*UIq}3Nk6-}iaen>IeQ@#t6;45<>qHp3P@Vo<1P^3R zL}PF1N+-kaMg9dFQ?h%ZcH*N6qiDqK2h*vreo=P*nv|?xsLVnX*fiL`P|5wvfpj{d z+{ZvoOi!^A$jw>Noz8$o47HJ8?MY`6s$RG+0a8U|zU8TuEM%yRxitYA0DgPp!yJi? zz^H9Y@QMQ)ko4~OjSR_78atn-V0z*Wb}rl6jGNlCd?hBcpcf7-zn`7a2;Er)fT*ds zbM0}`7aezPSjfI;@C@r;N~H%n>D{m~<#?R1v1xV6K|5izb;)8G&lB(dDFFPJ(f;Q! zX(eawq2;SN=pc*_zxXo86v2PG<|X)>r>0TIODmD`GYu}@^^XV>?~bT<({V^NnohrA z+XX@wGq7Uq-38)a!#e~#;SPMMiZ@6Y?Rt3~Qo80KV14fkNN-8!fK)&5>|&A5#fLkW zh;$x;f4Y{YM<L|7J3X3g=>jwDZ?XOs`>Q`=NNtJM&M(Pf*;sQOh&dXTjWsu7mPgE8 zxc=7hdNapm_wBQ@%`lP1UB~2Qm`Hrj3E5_t$fKudGEC&~q7P)`&^+|356du-M#qwm z28tY-J*zGoq{-lrWaCxCGjeRUUkk*cA<3>U4pT5F$Ab=Rzh|<7$dCzuJN{)31%^z- z=-Ky!H#-=ilW55O;1sN05nLF?KR&A>$LQ1NW8sRy8pg{mvE(4_S$R!P4$|&5H@2v9 zkTy2mJT`+tIt!O<zj-<)el$vV-!=!yeKblBeglX`Y1gB3RUWN}p7;kIt%rWiqqT<z z>H_mPk=##<oYgC6k<-0#4ZIgBtRT`EHoXd`g_3qf9k?bqrsqM)YGiFT3b;JO#`a&P zVj}z-QDgTKFuHKTT}=)@WR69<;Pu3bKT6@Hu*jL6!7n=WLMq091_gR$D?AlGAs86x z+v`}n0<<X4#Zi%Tt^OrA(>jdR$}fOOZNZ_&x<%6ckTkZxgx(%Re#iCb?7_I1-D@a` z2_$Z`cU6jB<qM%AKJ-*7J2W|R?@}4}lXO3~4*fX>*X&-qNA_XTy=fadZUP<K(zK>Y z@0R6kL&L^aSVuOQ@pd>y$z(>!p5I~lJ`2vs{jZ=?W`pWIxFO}{hf{UKR<w2)A9*$A zRtEuh7FxW&wfkH9@A%o~z@*cQWJ#VpuMSHRsUDWGB21pVbO?+|=k$-9S|($%?5d$K zCf#bwZJQRougd0R^@4#4%t@D8xa8F|T6V5aCS}|0u)GsQm;L5lNt!0FUW9{<aQn9h zs4y&H_ShH6l@vF&!rU~%o!^<J!@xAOIS*k9j}+AiW~UMFy%%O4bNwl|?Z?s}Jn+4D zxG*`<u!Wnj8VEZdI;{x16Zw~}#H>H;ef*sT*qzWg^*59~5r!+@nT7cY)iJ+rVCo<C zzH%<npbf412vV;qFg&kZH5j(2p|stxhf*b?)z^)ONeTzdZ>Kzo@TJd9r5wGe^uFI= z;*NLHbQRVq%D?SV%+$jj-<qVsI)$0p_l6XAfAHZ^I&4(b`n3*B+Z*xWU(E%JC_?k* zEeQvRbv}NYgCP`VE?-U4^6<!_a{`#H(D}!uU6_Z5-A{a|hBr-^pZ8cd=H6jr$wyjX z!a`%p9WmzHjcE17EgCFYs1Ez|5lpcg$?mIKRT#9W_^}<BUt<RO`H?Vdq58pPG3L}! z`yB`f5z(oSbz$n<we{<7L@N072liv8+_U{VZ^;h0YbR#Ny?Y)!>l5gqIca!!&Auo- zGhJXUq^Kyk*}hJ1mwhYgnTYnU2Zh$alz0<`)8HKv9b8NCH0bI0FeaU|IQHbo5=3o~ z4?RqJ9$N<l7kbkB;!5d4PkJ_PZMx8Vwr!Fwbc#da@RLS6j6b>1!)V7d^md}?lbv`2 zQ1nTZ>|YMx!eSp@57!#p=ka08v?=xkbMg&~`R&w*yI#Tfv-dpdS-B^b@27C}%PCkh z#GZt&E@glh()M+Dbnp-)jos_vL$Be5v}Y~9w!&x+?u6f4@t)sN5K0@Z1eW62>2I3; zrumOQH6z%A;+D){BqO_I1)~_{;D#8@$SUQ6F^mkjBgQhyl<Z&}Blx3&@vs~LxN|3% z0CGDh1QSu^L!HFZ4&Z}_o)6%Bhs*_2Sz1BjW2Dg`BT#&J;(;=O>cbZgqz0OgXg8q1 z*Zf(yvakDa$7ejKaK}Tc{#=%dk8m33K84#s!YrVg>_kQ^P*RbAm=uXaHsjhhvKd=$ z8qYRk<E^tW#U-1u`Oaf7+ajCM{>`H?0VA8S?}sx@McRxbPfa!%AvpY*H|JqAbXd8r zr{C{OtI_l8i)#2S7Hs)%E*$`~k;SWH`Q-x;C5-?!1mw<d(_lCdg_G?66kbUj!4@C9 zX{<CI?O&ZIO~<xx{evn^NBei*nvtes?+;JHZLsO+SbV&rz;qz+ruT&t0VxT*k%TXt zRgl)BXW7NbogwSdv-Ii#G6JWu^3y|MK5DSj>lO~nz<y8^+pY!U3>Xl+Oro17QF8c# z*Cl-C*>#aGA}jzd4!f9T=@c!NZqZ~}C>kt_MV%#l7cBjv#xf|XO&O7o#K)xqcnXp} zs21qz<T8*|nS#f<UVyI!$BjaPrCD%US_Ow?wqUc&74j_eg&a$}kY(u<ES7G;WLYRA z@J=x-7UXk7m-h+{I62@5@}c+z1y74d$Abb~zFN_PqX#%~u^=MVWmSQjgEU*7=<2NH zSkqj%eNktzmT}?ug=Vm(yKwzN!&l&<h70E}G&sSanJzdfXyix<3YMD}iB_bFtP9t# zRw%;NRLHq-`~thcdDmrZ1KVzaG5JRv7hYeSLp~ALh1VC@07m;U&H%$r#Tb6A0$gkO zVqCxA7ksyjuPtEox^VewZUKHR7h^^$E)>P7afJ=6I>>RyNjYH6f!i0@0?s&a`~n-m zx&zlQa0b|L1~5jKyQVV`-|Es`xt22s-|7Z#)`9C+!w+zC4jjKguA6s;GO}IU8O8{W z;K1vPTFZ5v*FUi)evZj*pqikcoMl`UI&hwGMbOW87?%Ya7&k!fq>_+LK{yZ!jt6dR zYe?Zps9orHlj;eo&=?m59oHEbga>Rgb_F$BmN6z&z<I{Dp!RbZ=Y<1YV4M@wmLB7* z$O8vXoY$~ur*;h-#U{-ZS=Kbx3_<N2I67;(Fj+HM%Lr=sz{#?v37xe(YpS4r2poqs zMWCyp73>h-APNd=p51`P9RuraM|q9<C~!*nOs<L4ygZ`iJ+8^*@kHSaJzrpH;Nc|Q z%sVWtyv;J3&$G<oN>rcEXIa{Li=~q{S-N?HWg)M#Eao#Ty*wThe9q6SEQ7q#lrf$P zA2m3VqceiMnv=SggVPv#CRb#s=L#$he1eXfIftc{vsq?yd6v0cj%7ZVWohRumQK!O z>E;ZUg`Cc^n9H#Aa<6|R8Dq~SIb)T<{1nLFS7b21f*B;jzvuj6M8AmuaPxJ+{Inm1 zfe`N;0vGdKC~%+3WLy;_DFt%>+X#LSfsh`Ya?D(i4}$^4Og6!vbb-?59KW|g$M1PR zhl4!%%QxzH&GShcbiC&MY()Za--aCI{3NI6A2>c2^tT}G&(Yt4c)-bB_Bs#zfA2HM zb4Z!oF_7k&O8G-1%wx8YnEIWNk~;=`d>7|*SZDs02X$lmJv{(O?(nad$sLh;`g5Qc zklUeDf6*<GbqgG0oaN!XeQiVLcIXoyY36ney1J{G+u@wCn!}bO^{D$&%H)Yk*LMO; z#l<dMA#-}7c|SUWuso!6DBc&h%j6FItQVtZa>wW=UrX+|se@yqL+5Sqi&1h%sLq3b zi$bTPF`qk(uw3jz<X*6bU7w-y#vf6HHJqRWZ*Mw5jZ0QHouK2E#L@|>WWTqMouFay zf-Mmcyr9{+&-b$L6ZtCtCj$Qgo}_$!pBMD4i=-EH*cW5z1=X+I$QuVl?^x6;-JyfN zy$@bc-dEy^^$Ek!n!TdW4LS@?QgVYv<?|BkQiE+JGRMCNmIPqh-L!!Xww0(|xlKAh z_0xX^M-sfC6YlA3dO@$>1P-MY9eUz&_&(tURSQ4wkjT4k2W_nYf2ecfh6cD5ih7%J zAMMTn_GRG54@);_?#va^`Kiph7tT)#gP;<ElS;sglmDu4)PMMJl)a)I<cA`n(-()t zf{0P~90cngWv|&l^zWOn$;G@h{?Q@&ica#A#pwd~m=y1wf46`$fFBPt{sG_^y0$Eo zE{?cs+x<<?W6u^O%<wi|phY${8Srq^j#PR$!p%r}p)DJtXeaI6fSmns-*R|5ki{SF ze+d&RWWh2ALmM`LD__4AvnOOWc5G^gmxH!vcx5r@rtxXqwUK3%^lW4ABe<FN(|IQX zI1G1!_m)15uzgD^eH!5|P%9Q3kYP;geR66<@qxwC0~vQL2MIL;bw}X!%)spkgfG{? zrz1&d>mJPH=cLh*tsB4|&P^LVn^%K2ggc|LRZ1`}()k$fWp_r%?u`ES>TfUhaR1ew zudwUx*_8T%0lDWpAOP6sxa)y;Qmh+%j(Z<|ci--8hn_ecSwWnd-m~Hi#3u75Dlfku znKKpIP9<7@NneusnoqY#?_=-ke;&-vszzho&0{h$H$C3*g=tv~OQaJg-CvxYlaT@O z*N?WOFQxIon^cYr2oF7Sx+;BG`+xC1O%BdOi$93<G7rw~r5C_`n8mInjd;z6;m73B zxp6+obd$zuvhBJWkJB*Rbn75?cQqQD?i#6KfFeX7+Wr;X2Zsp6hrV*0BSQol-#)P* zosZE2Cu7%9ay}-DPSvFI@#*uBZU`&#+mFyFMW6so9}U&TC?JRzgXf9%y_({+9ESUM zQ_^K4jSsXp+2Qywi~}(}5vUvh_!N`wW%pAeGf>Z(O-*jNd-ER9JV;FJ-nkhh4<#n< zXqU`zW6ulB3`gPak0Q!4Pd4ZaV0vtTgKNO^ASp3Ev@Ml+Rg5^VD(>9eB!-dT(R5oT zy({jQZp$QGxf(PN`~yk2Z8umR(89gD4uaT0N@DNco#1t<u&{eKNm4l6w@Q-2@qznO zCWWJ<V<iCPk96Y8d85X-3tTflSxFbBCNjvR8*RZ)R?_?0j*Ut9BAfdDChTv*|M{m7 z#571A13U?cX`l?kgh5OLso+Z}+71Mf<2hr%9yx&nR$8;2qLbJlPYJr<PR28`9o3$| zDCcN4m}%5nPR0f|4P<~v0Xq$paSR*$G?40;HfGd7j&0i0@C|m>20N|hp@N%+G;HLF zLFzX0#2_;^h-pa81~Cn(+90MO6&p4P(xxQ>BoWhUp2%ob@WR$6TXh*yEOFkdD~D@r ztJZyLv?f{Ut)GRRWLA3jU2O_jX*epQ9pAxuoKPL@ynm`CY3caD_fK$|v~>4<Cwr2X z?tS2$B}q%ii?ELg(b8eE^c<5y!$DQQI6o`>T0JjaU1z^mBYb(mNJZMMSFWE#4pBI? zHr_ZbBU$O4U!Ejc>F~f0MrblIG(PZ)@rLB5<3o#%w<SNFbp7;HuSrV(^u3ra5-HvI z<p*k#l#YJ;!KyT0>n^hu=A^@D+w~PTWN^lQ9(Tb8Y||}MRcXLB-8PQ`!Qt=R_SK^@ z(tz!`Z&u%{v2*dHKiIfbV_L?~sVsw>(v)%5u>%l5IFcnID9EW<scTuE^$hY1=(tXC z{E!AnXObp3S&|lA0WzDlS?02NmicUsrHu-zcd`~sH*2yiWDS<Ztj^NQW?1@Jjb)Hk zn=-O&JMZHXK~}MnKB!trF7NSC&5G4rzQ8zRMFNV$ijH=msyu6k1^yaZmNgTb#gb;S zW?5jfq3Nt;EwI_pG}dw!*lcJDYk3QSkkE2I?#H%3W~<qp2kcm&vVjZ0u7$)UU<bHh z<r(LJixzln9M1xK7I<u66WF)FV*~5Jfdw8LSYw=+n1+xFN)J_v>EYXP0UwHLg3VT~ ztOu-_V6%Y>z!?)cOu!DXZX$;XI1g-?;IM(Sz@~{DCSViTGQnp9>%dtPd^WHKoHM~^ z11rFJ6AMFN%eQQ^4Z{||F$WMRTCR!RKvc`M3MN==)v~RkIha7s^2{LwEXy~C5-_a5 zMBb8WWdITbV*pqMR*Zj38Omt?(f=CgA4qm@<m)2+!QI8_nAe5;Q>4E_n`OssQGuM{ zUHf<M%I;EjCp&kv?pT1$+W*!r8@brEVmM-pqjR2(01!w#^`Q<KKCIZcY)6~|0*SM4 ze<f-L5|4dc1`>zLz=aW_77*Z&dpp7h2t`N#Btm;3j(Egp_Q^P6^Q^`D59ANT`}d%M z&}7!hpTF%(cVzE~zI6MoH?`hW1b<=$wN|S&XtC?K7HbAHr;e~?)-urCI_`os6<VQQ z61}Xow)ic@dRf*1dv%JEw)|>KvBj@fo7im$kV-6%+byL!1zyuRIpCy*HMmqQs7kH1 zsTt7JT3b`gK+|dinwknNQyWM(fy=bi1MIdmNY()xHQI;M@+x%?`z~SUM#cqfyhI`9 zblj<DYqWbK;e0(;8{Wj(dcHQIiOsrQ!&abtj$U_apm-Q-b+?8$Gh?M*s3B;Eajj4r zD-Q!9z(%o(m6}_F*O-x01M|cvkNue750wgU$kfCpc4Q(#i$17hkD)0|tYJ$g;=bs( zf*psZ(KiBD_3Cs!Tn3_jQp{qxnyJE@%t)&e`$osqDt238q*Sp11EVTly$wc0=n<fo zHzd8h6_Z}x3cSk4iUsPzREf++DH_zk+F;vOeQSApylv}dcXNJgv}N-~BvPmU<!8n1 zuWm9nl{O~pUTS@*v3li-8?V1szqY(E`Q%lFtMVU@uDI-C?9fH&u!V}0#fr}QUoWZF z<#br9?6Az1DXo_hY4a@eWtnAbm$R%pWtnK}mMJHgvt?Np%Q{Q1ER${hvc@`+UYjy1 zHFIq#uM^uzQQ9q~#L`tLy;JI$lE*r7U|AZa0!y<*Ik=Sf>afI{pJlF;XPGa_TwJ@9 zW!)*sd|ZS_uwE$1gxq3@HjkpzPnnYImy&Xoc8H>c%?M8wC*uaCFffayipPhQ08dh( zRH5Wl%57~3Rw*l$(pxDlfT}4QH9(3hB4t^pEL6%CMJ563lzkddzAGL*y|>aB(3|PW zY^=UIU_-p_l{Ly5GW7qcx)r76(Xyq#UDCQFdGc}f@yx}QkHjB7_ng*qlJ}gUo*`3N zgFq&+20`R=0x%_VDt<G26}3LyWPtDu%32MAj87S>L7@ATtr`S|FEdq5xSUD1e3_q$ znHTFhU*@FdeM%J$0^65asg6$x!$IKsG8wf$1NAS?K*i%SyC>77^dxIu_FvZ4#cS8B zvRAol;?>KRDofQBeb3E*-AT2_<6r*lk=94zA3ykj`hfC-<cxRu@6t|>Py5G{?US9i zMsGRs_%|qTP>=iXiU2X1;U79nuOP!g{DQ_hLOz-@a+?7mlx>>G*bvmZGB8AQDOMyX zWL&Qq)ggmKuuyGAa>ytV3v1J600+yQn`fDKWu%DhW?4rZ154L6Sr%LwEmCxK);(9o zi}<d_Isz}6GIE;XA{3v%DYz7#pgQ!e6sACtBovO}vD6(3A)zpg0!tHt7NlE_!xD=b zmN|zKZYgYm!bt+eT~Mkmg)UG?NkB0dc$6wVqq~bM^cRxlOY%z!&&9uea*?^H?-BY> zRQ@3O?meyd#NYhdSIn;zkJFD$=FH5`EX;_fP8e&BrD%!(D|3pZ2pr3%C<=;npa_b< z$=Nb`B5%vc3EP%26OJvTC0tv^Nfc}uAyKqtY=mdas0iPd@eqMc5h@f#AR{6u@}VyV z0t+Fo>5qU2@ErfC2#BHJK)2F1-^1V^+IK)^tAz)5H62BVwn;}(bYQ!56d`RR1trbf zLj#ecDDK+A5^OBUOWMa<B3G2Ut6kCIjqd|9?JUxtOcp(ue=z@(_-pg<hh`9A{r}}x z^M<v*JGO7b+V0=Jvnag+-M>DsidM&_pS{2SNSpKpgwG&4k+xO`S^u$C3Ub0GqREb{ z0C|h<xZ@Ti?9(>2$?iL+DYEgm-~9&i1q5G7?!2{fYjhP-ozVVc^)boFLHR-Xfl<{l z;UOR*q>#hP-4?`!cm(r8(ji##=7eNKlq{62khF+KiX|jBqLX3@NsySN7(%inSyFT% zsggV?*w%u15{DE`NYbQ03bN6;#v=tmeSOSHgiUH+<5OZ}PW7=UiIFcd$DvzN8kQtg zOoZYQ{bE^?R{@pNWJV;jlDBfK+u#}KJjb$Fx|U>D3YNio(USa%XJuITEy=Ke%3wXP zA~P?U6{0$lKB$^>RU$cvbRmL+2p1wZ5SR&Rm_)h|so}D;Od?*0%&=MJOd?;1#K^I< zO(I|d5EvFq*CY}K#EWULESi#t@yrbCzA4F=z*Jce%*e<|4(8ty7f53U+hO{qYG6kQ zFf^uSjKV_6ESec(Gy&Jt4Y0L}X`6;ImO#!ljd27l(=x^rFwCrh5Mss5m^ou20oBYK zlW6s28hK+fju^Hvg+$)KhO&y0Gr-R(M%I{4!ZK!%FpZfc3<E*KijgrA9n2|^YAE^~ zT+A?ZMaTYKimvMONGLjDf)$;EI}}~6@Q!Kjhzk}ByRce#mgWhNZ?qw<Mgjp_BxVbp z#4KT0_?nr}(1FP0Lajz%I?mP!Ov9&50@!vHJp_Q?VWAO#CJTqeB;k^nC<-Jdh@y%3 zWn>h9Bmx+RT8+S1oUIcWBW$z_z-W<2%K?lM=yL)iMb>l(j1ZPtATV5*rbl3yFwB6! zP@w}TI^YnI0n`W%7U0wjo!}sWC(tkn;!iFCW(k7)G7aCz6UN^CV9)_tg>MuHv<L*e z68Q7GalD@RLT(5zaO5^RCbsO6x?FKs0VQA40!eO|lMPH-qC@8mb8-RlwxME4h6O@C zKxPV_H|)~`%?=P-%Ni{*oB&xYtkDv~4Uj3$8Z9si0Ww}#qvb_0z|Kmn(e^f8fb1C7 zXmcAsAa;npL4g(ol)O$F?`(sZc4CW6*DukAHi}RDkO7Uhvr&Bn+_FZS*=RoTLsUmw z*<^fTh)AQ2Y;>PEBGPCZ8^b4-h&0;7#`K98B8|4Nv3!KAu%<xE`mMMds>94W=Mzh0 zU{2~`8z16`49rUlSWzJYmoa=NKJi0z9Mc=0_#whs?C(ST5MdM1(ZmlC)&tKceu%J! zIBw#H2rG#19zkCWj6m;%n18A%Vg{{v#1I)aVyv<24>3f99bfatG;!X~ctjD=@vN_V zL=q7;eZwP~h_LRP9&tm2HQ(~ED=lNi&w7*Sn{nLBdPEZ$b^(Y;A|1%`h$13ndefT7 z@Q5FxW4cHD5TT4m{173{BYudG>JdLgNb!gtB2;94NVgGdP5h9acbOm3^UM!5tq1c% zf5!p!{mUs@4jE1Yza+1W5CEQci*og3IT4<UqFg#<9ezfN6rdg;xE;(7RZ?6!t+R;v zA)VsUX}v|v59u-v-9b!xgLRHX|HF`XiX^9S_W<`HFX=fH=8mE4$V&zeg}2knC9*lt zpP*tlW7|<{%UaE*nDzjkQHp1$_;QM658xH;UwQrQ#h(8?IzGvr8e}y~`b0C9oWJ)^ z+W(&??MdHUUNvYL5MX*q{?!0ecJi$Tm}MgK3(_#izZzh&>9Vv8^05Y(bJ{F(2KiY7 zOg(cfZG(KR0cM~UOBWM+(hG*cvS^UcHNbo{!_qg%?}~|r0XIC$NY9ebl@4Ko+6Pr# z)@r(}%IF@SqU*>^!>NW|U}+-TigZhNSi;xNGN<QR=Jgy)ThFp|bc>~{n=A`D`D+8C zsOu~}o!qvVh3Oj0KquENvKI9y!>b;GN(R$;pO2~;S*vBFp2>K8T+bkL4yPKK0!tG) zVx(Ichb3YGSmrW$mPlM-X=k!5os7lO&6q3;8JfxmdND&Y`9SwFG>ymHF++2BOx7|q zfhQSh=scgHqVfElYc*M`X|gJ#d3=hly?$<vEI&Qbz~~eJ@GCXY3of8Wup%5lonTqm zfF{9`$OC2x;;*3r<_Y>D3+NE^gaue2SQI9pN3b9az#xO@7+2^FakmtGm|;aD#TFVX zIw^U9XBVF^Ny!O?l`JV)tlxAWRe91ZL1#Gx@yB@p3k31Uc>q0vx<C?RCeYy9!~QD_ z6%~pmTvjwva3`$jq+lBsR!lWg@b|`ZtYp<#5qg$!9%tzmLr0a;RZZ3ls=>0T>MT7q z!_rqZmVt^#9d{Gp+Gt##p`s*xP*r5DrpT&{;_)fEf)q@A%1{a{O{6Q5ZYd7StYWjw zDS4L2m||%wS(c7sv2?Knr_U9zd?r~`be5iyVd*Ox%Rs@Sj`~1}L?)y83@MSa2~{C$ z(f3@H5gtplHcR{+B$lRdSz5wjNq?9gjmiZ=h=t8U__$_)c<nF9)5+So{KxL;82tm? zgRVsED9ZoTAH7FvUEjZJXG!$hE#uy<Jwu4ko`-TN$|rxn{yH4LZa&KODEMRW*WHWq zFv?RXt5CM0bO>?1h7zC*Lz#wh0?KJ9=b_9;xgO<qlzUMgMtKTl70OnW4k2#PPy&=; zDAQ0*KsgQNJe2t;*Q4ByaxcomC{LlRLfMMaA;f1ilmKNI$~2S{P)<WR4`n{e^(eQa z+>7!s%2Oz-P`09U;CE{%0m?9xX(%V4oJMT{8*~KaQ%ze$ISu`Ke|z*l50Y2-yB`mK I$t&Rh0@_=w#Q*>R literal 0 HcmV?d00001 From 45c262996eebba714f286f70fe597d2d8a741407 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 9 Jan 2020 19:53:57 +0100 Subject: [PATCH 25/66] updating the app icon, make it flatter --- .../mipmap-hdpi/ic_launcher_foreground.png | Bin 3936 -> 3085 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 2407 -> 1831 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 5756 -> 4239 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 10155 -> 7182 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 15470 -> 9811 bytes .../metadata/android/en-US/images/square.xcf | Bin 34439 -> 34439 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png index ad7d954a99cd012274baae57e68239d6182bc9e7..e5c2534d43b2ac5cd99e2957fec397ea30b12383 100644 GIT binary patch delta 2984 zcmV;Z3s>~u9*r1~BYz9jNkl<Zc-rlqUx-{+9ml`t-kCcyyE{AEgtiF{Hk8()RbNUg z_~*$O14(^QXhrbPi!X)ZLlIm2|B?o2MJS@CPzC>hMZ_X#&_Yxyt<==mho<05Xk?S7 z-E5NG+4*ztJwG4jPBNL!ojK?JnZMr;EW0_``)AMj&hOtj_X1pik)Tk2koiKf3&w|t z>;bSFz(u9h+w2iC7Q!%8BJy4lc|t@)Yb`x&iO8c`>)Y8=ByS7&9TD+mIG26jf0(^R z@)F_i#e$8Ejc>EpNY)~JSVRJ`<jk2f53u)0RwCRdB5z9qeBXcbp@$y2g}q3!5aJO@ zh}ODs_UzdQ0jw@szd4kDPUd_h>48eAa<y8$A3zzMG7p7F67zvH2N#RQJ$K%DrvtzP za1(_{l2S->uu{rhSy=%90Z;<4i$Wwx_-~qnTdmgm>C>mfo~DJcj1*$_yqF@<@qOQa zEwYB!nj<l;QHaEtFbrQ65kH|2-+A)MCtn2M_K2`cX^~<^l9Ka(=g&J~7(SJxe6z8! z@dSV>fIR?ijrpP&i5XX}Tq%cP_>XRR&_slro14!7SS}O_aU#5>=c|S}TRBD7oCCF5 zt=Vq357q1SpPC5ft+(DfcJScA?*ga>K_LAeyU#^;6PVgO^%>VA=FG*57r$1k)xKOP z6!t2mO6Zh#d=c4y3Bz!GeSQ7-{{8!Z)+4Nb(dhx>)cu_{fGZRtF=F@b-M1b+di1sf z2M+A3)oQiP&CPdCoH+5nM;>|P0sy~QES7!WmqGc<fVO^Nwg6nE5Q%9BbW>yv!>He# zp8gjD0miipfB?YdS?(a08W{@`S*}VX#$h7twy6=8P<noUuRA5!q!5Xz7|R%3CyW!J z#I*H$G$%T5n?fWeVr-&QoK}Wz*Cd3Jp7Hb|!OvXmLI8-!`?S{Q8jZ$1IbTWxxD>^T zCUN1YII;iV1<c@jMhfvd$CXn1ipAnfJ3Bi^#vsPc9x>{en9x>)-Qx-XRw%^TvxYwb z@G$^zUAJ0)E|;IH*Xv)(`LbbT8T|p{AO@~`RD9{pl4W!#Lb(^f=X=|fQk6=j^7BTc z@!69nPv%+T(&&_3f*v910pijY@nnAvP@RQwPzx@?WdJ7u+!yoz2!i0K=Xu{4L(;ew zV;N!C7MEEg%B1VGh||j#<3t!)Mih(1$6Kw|kI$cfKc8oXA&g?i0Hf=RqcZD37Sx+| z%eb%>QAF+r@J38L_AXkj)-e(JUZqlL=4=>lioWY17H*h0hs{j~0Jdonr-UE~Dgd6h z_%KSTRC=sfEIxnk+_|MOWz&wKJGM!33ILWV#Obhv%5~ju0l3@NbGWX1aPQu|f4zM9 za^7Npyo~Fm9a|SYs%<JuJ8A)i_#puQNpp^NyZuVL-9A*URxjl|Hfu4)!p0rPwT08< zrWesQ|1#|fJkPstX=&+|t5>hS-!enD`plrS)-ddA)0XZyuFXYf5e9`g0c-dR03Xbx z;~eLXm6eshU$}7Lc7yAFT0~yo+S;<6KGf)ctThY`vtv^ccH_(9w76-tKqCA&fInp& ztOr4WdcA(n+S=OdG1t8fz`p?O(OSRRXf!^xva<3<0)w&IXE>6$<G8i}zz!{9&S<S` z0G`PsV=NR3SY2KHcfDT!+yD_)06d4zQ+aS4=RK85<)wDJeK4VA)G6Ju#Ke~qchd`h zAw;FrS1q$-+w*&sO66BuTU%cM0N?k!B6%8pn=(0$vsNe+e!H`?^FTr|hAG@JhQyZ> zE$z&`YZj4@BE{|twltf~$19b}F%kJXfMY|fG=d;FTq>3Rm|)C$-E>kB4s!1j3B5rf zW-G!PfL8(BG0y9TVfZ`Obq}Mn0CrS=Dd^Essq}*co~#-(ex{aiSX+S3;#wJ3pE+|Z z!a`(`?ilyAUDy4Li3p=o(Dz%d*0Iy4Pumy;4PXnS7uVW68F)kJi_Rkrw1^o9@xuUK zo|XIcegDyBv-$Mu>Z)&PNLHfnNuLB9CRRNzH|@-+2usMIa6L|n#o|+yO6A#qQ>RYZ ztn$(5%#MVH;<8=W=#0xUsyP+n9{?Pg#e3IUzu^1+k#f1*vK+@a%ZLoxG;)4a)tN&P z9tQA<S-pS9aSphy`|Q@%md%WZM3zw-x?^qWqI0*5YR*Ks3&1G=`)B#j0HCzir?$7Z zkJM_l3zp-#j2lZk!&YwFwgt$4>AC57vxra3xCpNq2gh;ltyZglYc`uTOA*(R{oHid zin^xNfQ7Y)BJv=B-^^R65r*Nq*7`or^VTiLbqU$cP4^z_B8TN;YEDFWOXQOG&1v$r z(Qda7m&@gUCKO{Dcib;v2RS^5<;=k#l>q#3UPTB1N~ztR=e@AKy?wubrJLT#z#W@B z_)m){A_oBc1q*<PpxthNvRp2|V0q{g?B=G2wJGFK<aTC!U~a~Y6|PfSMwCjWKl{G_ z70W{#u-|jhq>Vz1_%%8koi7rqP$(R4Hk;qHbkhx(&A{k!ix5cpx~>UllZUj{_n@<X z3@kqF!`k(L&_xUeqPJduCn5r+6qHgu##;t1W>rcVTcpk@IzM=x_gKAN-&|f^{*hsq zb!SH^J%5*JOsMh}<;)6kdwct}6DLj_sn_c&dc~{&fa5sVI!bFTK@h-k9C2M2N-0F| zMTX-zx<CGk&U4*eI1T{lXn*VOBc<Xv4t(F&VHiS0P%IWD5}s;*G#Xkdg+iflO*mR> zX*QeUd7fykuMKJt1mby~4#V(To9nvLZnt$9-e|mv#iBHuO^NOkK@jM>?z+p{wQE=9 z(xpocOUqa`5S&fPXW^3-g=iUm2JuePofXn#peE-Vb$%7OT-#?($~~c(ZH=)-A-)?I zz|B4GMr9-tlflV<V}U`^wj^S#Bn)X<c?{yrS2b{bZ)zvupeBin@@});^{cz7dtei4 zM;fsCTb1QC7DkA@f%wvpK-|V1D}(E08DrT9Uky3VNg&3cM~o)@Mj@sM#7*6?sdY?p zT-vNuMu@QcJ5H2@+FC}(Fcc9Cev*(vjB(R8?=dlbg+v~IF{kMp157>)y;jS$6r=8Q z(=tN16rw?gHX=7|;#O^6A(54(9kf_A%a}8X82h)wi#tDsXki(f1KhMWtQ4flj*~96 zGEGcuDg#NyILb0oh?Zh(_lVInj+=%O&9Jb*HdIi!UTaK~O;d;|-E@0^WsGyjN%tL0 zy67~myEi?5w)=WCTQNE@{iZ3zWMUkYz?itaq$136&Ni!+)hdA)bxbx*A*OWGr5VVM zvx+(6?!#7$LLp{v8GBcsOe#AbmphKTw=66pg_v<RZMscIp4l-{gat`mc~_7+ffy;o z48`c9^Aa3oU|F)xgiW*Kyvs*v#F)7d7x@)v-PewPDNJqw!!)#Y<L8MF#-h@l4)o?M zJGMDr@0KE(LY%A^gFZ3NT6Ua8p+1S5rVw+;rn{vb8%s6m>{wvF638?uo0w&!5O0i= zyoA}Sq_}R<>^RMv1%~Ae6A>eY7@ti~dt#E62z5+pN5<LtiuxPaCu?(>9orrkjH}Zf z>TckFKwRmw6xzU&*ks2^#btUQI-~QC&12Fv56`BHF`mP8O`z%W{;aa&tmn;TTyC1K zd367*ju_ZUX2)5%<5Bk}c_%Qmh@%NcBrvm>9owEi_XLJQv~$ywc-A>jOK97cn;0oX zb20ioVjPDE^^}Q_S@V>j(b=+BTL>vj5$2hH9cNt`phX;mWem}IfL#qqCbFJ8j+?_y zlDVhZAb?r(6lT*aLoDYsX2)5cKXc1Si<lfgCV?4uc8n=GKZQ6!f(#Rwyq~$wvjoIs zWl9nlq)beb2xk&=)47S0F=BQs<y>m%wYqV8d-pGPjhpf_nW7xqw#9@HLI@#*5JCu% e+7}oyxBMS%F)Jv8t4$360000<MNUMnLSTY;hrE6O delta 3844 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 GLSTZrcu39w diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png index 4be3d2926bc0ac473ea9d1e0d2b5aec5d084bcf4..b281f719673e2acf9259c91f2943b8ea628c9496 100644 GIT binary patch delta 1817 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 Hu0mjfd^%%R delta 2397 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 Dhl7dy diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png index 4648c335ce566d40bc4d18969277e3a3fb66f639..751916395dbb80d02dff3c944864e7b3a8c48ba3 100644 GIT binary patch delta 4052 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 GLSTZ$>EC+* literal 5756 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 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png index 56a5af235ff809cf2ba12a141c5c3182397668d0..0572eaa1a89a9f60796959efe22423215199a33a 100644 GIT binary patch literal 7182 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 literal 10155 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 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png index 3bff06d841e9f9a10f158d2f1bc87633c112e2fd..015dd1e4cce5ef7d81ebe8a13c1329d4b88b4729 100644 GIT binary patch literal 9811 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 literal 15470 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 P<czv^3^hw`+rIpNbzZ8M diff --git a/fastlane/metadata/android/en-US/images/square.xcf b/fastlane/metadata/android/en-US/images/square.xcf index d8dedf7e36dad601ed61d35c061a176ebda8228a..526ac388f48d588dfc31b9c49ec97063acd64155 100644 GIT binary patch delta 376 zcmZ9{O)ErU7{>AcIWxn^f+97Y@)io2lY|g68+n=4Sg=u3q!AX9m&A0=YG!k$)Tvnz zi&3+)(21Q=O8Ej7_Q)4db}p3SsbBZi_4M5J6pCh{XdX=%4VQ_8VR*h{#QkH}b4-4Z zIr|g8s_#0ixd!g4Y>WH%KC}y=yp*IO*K#k9@*?jLu97C{k|Bsxp!!WdAX)=XG^Wrk zBQgW^nz0A4hGj|?Bn!=T(7ptnTGUg5z5$4z%7xs(px%ylKr#oDPcZF4szq!_t52Ux zAa^i-28(6L%rQ<zOP6b5B@fvv(1+P*gH3f?y)q^#*iqhdVE+UTZXx#ye!pe=Nvrjr O#=s7*9|mRjIr0hF89<x> delta 376 zcmZ|H&nv@m9LMqJXFqHQi4*Iq6=FrEB`F7ABP9;(;vh9Yl4MD0jj%7Z+QruD8wYAP zCrxRslv4fy2Y&$h2b7zWyuO@$>hbx!d%gR-iX~sM<g1LEraRj<rr<gz?lw%tndJBQ zbbAQsU4xSq$;iGJ{_VWIe@F6Cma5#!qdd#2e8{(IS|loQ2v#BVE}sxK(k5M!04JP; zRt=FSu!h8zc}YVw1l>!}tD^og3=Tm2T&|@7Bl<hm2@_eEeu0?+%(Y7lQp!_Taw8A0 zcmd0oke(HFuKQslPlC-FY<)o{0=o+LdSqCpAgei-g98^1@8S3j+@uwA7p#tdG}lK1 O+edEAoYnhISA##GT|*xL From a1a1526c782c2e358a4d8952e4269cd2ce31e0e2 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 17:19:41 +0100 Subject: [PATCH 26/66] restoring some emptylines --- app/src/main/res/values-hu/strings.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 9fd480f32..b052836be 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -34,6 +34,7 @@ <string name="share_resized">Átméretezett verzió megosztása</string> <string name="upgraded_from_free">Hey,\n\nseems like you upgraded from the old free app. You can now uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings.\n\nYou will only have the Recycle bin items deleted, favorite items unmarked and you will also have to reset your app settings.\n\nThanks!</string> <string name="switch_to_file_search">Váltás a fájlkeresésre az összes látható mappában</string> + <!-- Filter --> <string name="filter_media">Média szűrő</string> <string name="images">Kép</string> @@ -44,6 +45,7 @@ <string name="portraits">Portraits</string> <string name="no_media_with_filters">A kiválasztott szűrők nem találtak médiafájlokat.</string> <string name="change_filters_underlined"><u>Szűrők változtatása</u></string> + <!-- Hide / Exclude --> <string name="hide_folder_description">Ez a funkció elrejti a mappát egy \'.nomedia\' fájl hozzáadásával, és elrejti az almappákat is. Láthatóvá teheti ezeket a Beállítások \"Mutassa a rejtett elemeket\" menüpontban. Folytatja?</string> <string name="exclude">Kizárás</string> @@ -57,12 +59,14 @@ <string name="hidden_folders">Rejtett mappák</string> <string name="manage_hidden_folders">Rejtett mappák kezelése</string> <string name="hidden_folders_placeholder">Úgy tűnik, a mappái nincsenek elrejtve egy \".nomedia\" fájllal.</string> + <!-- Include folders --> <string name="include_folders">Befoglalt mappák</string> <string name="manage_included_folders">Befoglalt mappák kezelése</string> <string name="add_folder">Mappa hozzáadása</string> <string name="included_activity_placeholder">Ha vannak olyan mappák, amelyek média fájlokat tartalmaznak, de az alkalmazás nem ismerte fel, akkor kézzel is hozzáadhatja ezeket.\n\nAz elemek hozzáadása nem zár ki más mappákat.</string> <string name="no_media_add_included">Nem talált médiafájlokat. Ezt megoldhatja a médiafájlokat tartalmazó mappák manuális hozzáadásával.</string> + <!-- Resizing --> <string name="resize">Átméretezés</string> <string name="resize_and_save">Kiválasztás átméretezése és mentés</string> @@ -70,6 +74,7 @@ <string name="height">Magasság</string> <string name="keep_aspect_ratio">Képarány megtartása</string> <string name="invalid_values">Írjon be érvényes felbontást</string> + <!-- Editor --> <string name="editor">Szerkesztő</string> <string name="save">Mentés</string> @@ -89,8 +94,10 @@ <string name="flip_horizontally">Tükrözés vízszintesen</string> <string name="flip_vertically">Tükrözés függőlegesen</string> <string name="free_aspect_ratio">Szabad</string> + <!-- available as an option: 1:1, 4:3, 16:9, free --> <string name="other_aspect_ratio">Egyéb</string> + <!-- available as an option: 1:1, 4:3, 16:9, free, other --> <!-- Set wallpaper --> <string name="simple_wallpaper">Simple Wallpaper</string> @@ -104,6 +111,7 @@ <string name="home_screen">Kezdő képernyő</string> <string name="lock_screen">Zárolás képernyő</string> <string name="home_and_lock_screen">Kezdő és zárolás képernyő</string> + <!-- Slideshow --> <string name="slideshow">Diavetítés</string> <string name="interval">Időköz (másodperc):</string> @@ -119,11 +127,13 @@ <string name="slide">Csúsztatás</string> <string name="slideshow_ended">A diavetítés vége</string> <string name="no_media_for_slideshow">A diavetítéshez nem található média</string> + <!-- View types --> <string name="change_view_type">Nézet típus változtatása</string> <string name="grid">Rács</string> <string name="list">Lista</string> <string name="group_direct_subfolders">Közvetlen almappa csoport</string> + <!-- Grouping at media thumbnails --> <string name="group_by">Csoportosítás</string> <string name="do_not_group_files">Nincs csoportosítás</string> @@ -137,9 +147,11 @@ <string name="by_file_type">Fájl típus</string> <string name="by_extension">Kiterjesztés</string> <string name="grouping_and_sorting">Kérjük, vegye figyelembe, hogy a csoportosítás és a rendezés 2 egymástól független mező</string> + <!-- Widgets --> <string name="folder_on_widget">Mappa mutatása a widgeten:</string> <string name="show_folder_name">Mutassa a mappa nevét</string> + <!-- Settings --> <string name="autoplay_videos">Automatikus videó lejátszás</string> <string name="remember_last_video_position">Emlékezzen a videó utolsó lejátszási pozícióra</string> @@ -181,15 +193,18 @@ <string name="compromise">Kiegyensúlyozott</string> <string name="avoid_showing_invalid_files">Kerülje az érvénytelen fájlok mutatását</string> <string name="show_image_file_types">Mutassa a kép fájl típusokat</string> + <!-- Setting sections --> <string name="thumbnails">Miniatűrök</string> <string name="fullscreen_media">Teljes képernyős média</string> <string name="extended_details">Bővített részletek</string> <string name="bottom_actions">Gomb műveletek</string> + <!-- Bottom actions --> <string name="manage_bottom_actions">Látható gomb műveletek kezelése</string> <string name="toggle_favorite">Kedvencek módosítása</string> <string name="toggle_file_visibility">Fájl láthatóság módosítása</string> + <!-- New editor strings --> <string name="pesdk_transform_button_freeCrop">Egyéni</string> <string name="pesdk_transform_button_resetCrop">Alaphelyzetbe</string> @@ -270,6 +285,7 @@ <string name="pesdk_common_title_greenColor">Zöld</string> <string name="pesdk_common_title_aquamarinColor">Aquamarin</string> <string name="pesdk_common_title_pipettableColor">Pipetta szín</string> + <!-- FAQ --> <string name="faq_1_title">Hogyan tudom beállítani a Simple Gallery-t alapértelmezett galériának?</string> <string name="faq_1_text">Először meg kell találnia az alapértelmezett galériát az eszköz beállításainak Alkalmazások részében. Keressen egy olyan gombot, amely valami olyasmit, mint az \"Legyen alapértelmezett\", kattintson rá, majd válassza a \"Alapértelmezések törlése\" pontot. @@ -301,6 +317,7 @@ Ezzel csak a kiválasztott mappák láthatók, mivel a kizárás és a befoglal <string name="faq_14_text">A rejtett elemek megtekintéséhez nyomja meg a \"Rejtettek ideiglenes mutatása\" elemet a fő képernyőn, vagy válassza a \"Mutassa a rejtett elemeket\" az alkalmazás beállításaiban. Ha meg akarja szüntetni, csak hosszan nyomja meg, és válassza a \"Elrejtés megszüntetés\" lehetőséget. A mappák elrejtése egy rejtett \". nomedia\" fájl hozzáadásával történik. Ezt a fájlt bármelyik fájlkezelővel is törölheti.</string> <string name="faq_15_title">Miért használ az alkalmazás ennyi helyet?</string> <string name="faq_15_text">Az alkalmazás gyorsítótára akár a 250 MB-ot is meghaladhatja, és ez gyorsabb megjelenítést biztosít. Ha az alkalmazás még több helyet foglal el, a legvalószínűbb oka, hogy a Lomtárban is van elem. Ezek a fájlok is az alkalmazás méretébe számítanak bele. Törölheti a Lomtárat azzal, hogy megnyitja és törli az összes fájlt vagy az alkalmazás beállításait. A Lomtárban lévő minden fájl 30 nap elteltével automatikusan törlődik.</string> + <!-- Strings displayed only on Google Playstore. Optional, but good to have --> <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> From 3185e3eea9f714f4f5ce5e63924c393d37555942 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 19:43:35 +0100 Subject: [PATCH 27/66] fix #1705, hide the keyboard at clicking path on Save As dialog --- .../com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt index a4dd80712..4331b3120 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt @@ -33,6 +33,7 @@ class SaveAsDialog(val activity: BaseSimpleActivity, val path: String, val appen save_as_name.setText(name) save_as_path.setOnClickListener { + activity.hideKeyboard(save_as_path) FilePickerDialog(activity, realPath, false, false, true, true) { save_as_path.text = activity.humanizePath(it) realPath = it From d2aa5f9f11d4b8ba699fa5e3f0b1bc8cdce35f19 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 20:19:37 +0100 Subject: [PATCH 28/66] fixing some double escaped newlines --- app/build.gradle | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 4 ++-- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a01211fdc..7eb7e9e60 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.19' + implementation 'com.simplemobiletools:commons:5.21.21' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 673ca5601..bf388a9fd 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">Gestionar carpetes excloses</string> <string name="exclude_folder_description">Això exclou la selecció juntament amb les carpetes, només de Simple Gallery. Pots gestionar les carpetes excloses en els Ajustaments.</string> <string name="exclude_folder_parent">Excloure millor la carpeta superior?</string> - <string name="excluded_activity_placeholder">Excloure les carpetes les ocultarà junt amb les seves subcarpetes, però només a Simple Gallery. Seguirant sent visibles a altres aplicacions.\\n\\nSi vols ocultar-les d’altres aplicacions fes servir la opció Ocultar.</string> + <string name="excluded_activity_placeholder">Excloure les carpetes les ocultarà junt amb les seves subcarpetes, però només a Simple Gallery. Seguirant sent visibles a altres aplicacions.\n\nSi vols ocultar-les d’altres aplicacions fes servir la opció Ocultar.</string> <string name="remove_all">Eliminar tot</string> <string name="remove_all_description">Eliminar totes les carpetes de la llista d’excloses? Això no eliminarà les carpetes.</string> <string name="hidden_folders">Carpetes ocultes</string> diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c5dd78fa9..acbebcd82 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -47,13 +47,13 @@ <string name="change_filters_underlined"><u>Filter ändern</u></string> <!-- Hide / Exclude --> - <string name="hide_folder_description">Diese Funktion versteckt die ausgewählten Ordner, indem im Dateisystem eine \'.nomedia\'-Datei abgelegt wird. Dadurch werden die ausgewählten Ordner und alle Unterverzeichnisse auch in anderen Apps nicht angezeigt. Solche Ordner werden nur gezeigt, wenn die Einstellung \'Versteckte Elemente anzeigen\' aktiv ist (auch andere Apps bieten üblicherweise eine solche Option).\\nFortfahren?</string> + <string name="hide_folder_description">Diese Funktion versteckt die ausgewählten Ordner, indem im Dateisystem eine \'.nomedia\'-Datei abgelegt wird. Dadurch werden die ausgewählten Ordner und alle Unterverzeichnisse auch in anderen Apps nicht angezeigt. Solche Ordner werden nur gezeigt, wenn die Einstellung \'Versteckte Elemente anzeigen\' aktiv ist (auch andere Apps bieten üblicherweise eine solche Option).\nFortfahren?</string> <string name="exclude">Ordner ausschließen</string> <string name="excluded_folders">Ausgeschlossene Ordner</string> <string name="manage_excluded_folders">Ausgeschlossene Ordner verwalten</string> <string name="exclude_folder_description">Diese Funktion blendet die ausgewählten Ordner und deren Unterordner nur in dieser App aus. Ausgeschlossene Ordner können in den Einstellungen verwaltet werden.</string> <string name="exclude_folder_parent">Möchtest du stattdessen einen höherliegenden Ordner ausschließen?</string> - <string name="excluded_activity_placeholder">\'Ordner ausschließen\' wird ausgewählte Ordner und deren Unterordner nur in dieser App ausblenden. Andere Apps werden solche Ordner weiterhin anzeigen.\\n\\nWenn du Ordner auch für andere Apps verstecken willst, verwende dafür die Funktion \'Ordner verstecken\'.</string> + <string name="excluded_activity_placeholder">\'Ordner ausschließen\' wird ausgewählte Ordner und deren Unterordner nur in dieser App ausblenden. Andere Apps werden solche Ordner weiterhin anzeigen.\n\nWenn du Ordner auch für andere Apps verstecken willst, verwende dafür die Funktion \'Ordner verstecken\'.</string> <string name="remove_all">Alle entfernen</string> <string name="remove_all_description">Alle Ordner aus der Liste ausgeblendeter Ordner entfernen? Die Ordner selbst werden nicht gelöscht.</string> <string name="hidden_folders">Versteckte Ordner</string> diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3b0c92a89..e5ab52d0e 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">Gestionar carpetas excluidas</string> <string name="exclude_folder_description">Esto excluirá la selección junto con sus subcarpetas, solamente de Simple Gallery. Puede gestionar las carpetas excluidas en los Ajustes.</string> <string name="exclude_folder_parent">¿Excluir mejor la carpeta superior?</string> - <string name="excluded_activity_placeholder">Excluir las carpetas las excluirá junto a sus subcarpetas sólo en Simple Gallery, estas seguirán siendo visibles en otras aplicaciones.\\n\\nSi desea ocultarlo de otras aplicaciones, utilice la función de \"Ocultar\".</string> + <string name="excluded_activity_placeholder">Excluir las carpetas las excluirá junto a sus subcarpetas sólo en Simple Gallery, estas seguirán siendo visibles en otras aplicaciones.\n\nSi desea ocultarlo de otras aplicaciones, utilice la función de \"Ocultar\".</string> <string name="remove_all">Eliminar todo</string> <string name="remove_all_description">¿Eliminar todas las carpetas de la lista de excluidas? Esto no borrará las carpetas.</string> <string name="hidden_folders">Carpetas ocultas</string> diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 898992fdb..34eb9b92c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">Gestisci le cartelle escluse</string> <string name="exclude_folder_description">Questo escluderà la selezione e le relative sottocartelle solo da Semplice Galleria. Si possono gestire le cartelle escluse nelle impostazioni.</string> <string name="exclude_folder_parent">Vuoi invece escluderne una superiore?</string> - <string name="excluded_activity_placeholder">L\'esclusione delle cartelle e delle sottocartelle le renderà nascoste solo in Semplice Galleria, saranno ancora visibili in altre applicazioni.\\n\\nSe si desidera nasconderle anche nelle altre app, usa la funzione Nascondi.</string> + <string name="excluded_activity_placeholder">L\'esclusione delle cartelle e delle sottocartelle le renderà nascoste solo in Semplice Galleria, saranno ancora visibili in altre applicazioni.\n\nSe si desidera nasconderle anche nelle altre app, usa la funzione Nascondi.</string> <string name="remove_all">Rimuovi tutte</string> <string name="remove_all_description">Rimuovere tutte le cartelle dalla lista delle esclusioni? Ciò non eliminerà le cartelle.</string> <string name="hidden_folders">Cartelle nascoste</string> diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 108f8bd18..7b34fa90f 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">除外フォルダの管理</string> <string name="exclude_folder_description">選択したフォルダとそのサブフォルダを、Simple Galleyの一覧から除外します。除外したフォルダは「設定」で確認できます。</string> <string name="exclude_folder_parent">親フォルダを選択して除外することもできます。</string> - <string name="excluded_activity_placeholder">フォルダを除外すると、サブフォルダも含めSimple Galleyの一覧から除外します。他のアプリでは引き続き表示されます。\\n\\n他のアプリでも非表示にしたい場合は、「非表示」機能を使用してください。</string> + <string name="excluded_activity_placeholder">フォルダを除外すると、サブフォルダも含めSimple Galleyの一覧から除外します。他のアプリでは引き続き表示されます。\n\n他のアプリでも非表示にしたい場合は、「非表示」機能を使用してください。</string> <string name="remove_all">すべて解除</string> <string name="remove_all_description">除外するフォルダの登録をすべて解除しますか? フォルダ自体は削除されません。</string> <string name="hidden_folders">非表示フォルダ</string> diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 431a95a28..f76355c3e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">Gerenciar pastas ignoradas</string> <string name="exclude_folder_description">Esta ação deixará de exibir as pastas selecionadas apenas dentro deste aplicativo. Você pode gerenciar as pastas ignoradas nas Configurações do aplicativo.</string> <string name="exclude_folder_parent">Ignorar a pasta raiz ao invés desta?</string> - <string name="excluded_activity_placeholder">Ignorar uma pasta apenas deixa de exibi-la nesta galeria. Ela continuará visível para outros aplicativos.\\n\\nSe você quiser ocultar a pasta para todos os aplicativos, utilize a função ocultar.</string> + <string name="excluded_activity_placeholder">Ignorar uma pasta apenas deixa de exibi-la nesta galeria. Ela continuará visível para outros aplicativos.\n\nSe você quiser ocultar a pasta para todos os aplicativos, utilize a função ocultar.</string> <string name="remove_all">Remover todas</string> <string name="remove_all_description">Remover todas as pastas da lista de pastas ignoradas? Esta ação não exclui as pastas.</string> <string name="hidden_folders">Pastas ocultas</string> diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index bf4a80ddd..7e387b5c0 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">Gerir pastas excluídas</string> <string name="exclude_folder_description">Esta ação apenas exclui as pastas selecionadas da lista de pastas desta aplicação. Pode gerir as pastas excluídas nas Definições.</string> <string name="exclude_folder_parent">Excluir antes a pasta superior?</string> - <string name="excluded_activity_placeholder">A exclusão de uma pasta apenas oculta o seu conteúdo do Simple Gallery porque as outras aplicações continuarão a poder aceder-lhes.\\n\\nSe quiser ocultar também das outras aplicações, utilize a função Ocultar.</string> + <string name="excluded_activity_placeholder">A exclusão de uma pasta apenas oculta o seu conteúdo do Simple Gallery porque as outras aplicações continuarão a poder aceder-lhes.\n\nSe quiser ocultar também das outras aplicações, utilize a função Ocultar.</string> <string name="remove_all">Remover todas</string> <string name="remove_all_description">Remover todas as pastas de lista de exclusões? Esta ação não apaga as pastas.</string> <string name="hidden_folders">Pastas ocultas</string> diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 0a1a3c2e2..f09e34dab 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">Spravovať vylúčené priečinky</string> <string name="exclude_folder_description">Táto funkcia vylúči výber a jeho podpriečinky iba z Jednoduchej galérie. Spravovať vylúčené priečinky je možné v nastaveniach.</string> <string name="exclude_folder_parent">Chcete ukryť rodičovský priečinok?</string> - <string name="excluded_activity_placeholder">Vylúčené priečinky budú spolu s podpriečinkami ukryté iba pred Jednoduchou Galériou, ostatné aplikácie ich budú stále vidieť.\\n\\nAk ich chcete ukryť aj pred ostatnými aplikáciami, použite funkciu Skryť.</string> + <string name="excluded_activity_placeholder">Vylúčené priečinky budú spolu s podpriečinkami ukryté iba pred Jednoduchou Galériou, ostatné aplikácie ich budú stále vidieť.\n\nAk ich chcete ukryť aj pred ostatnými aplikáciami, použite funkciu Skryť.</string> <string name="remove_all">Odstrániť všetky</string> <string name="remove_all_description">Odstrániť všetky priečinky zo zoznamu vylúčených? Táto operácia neodstráni samotný obsah priečinkov.</string> <string name="hidden_folders">Skryté priečinky</string> diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 8f4342a62..a0cf7883a 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -53,7 +53,7 @@ <string name="manage_excluded_folders">Hantera uteslutna mappar</string> <string name="exclude_folder_description">Detta utesluter bara den markerade mappen och dess undermappar från Simple Gallery. Du kan hantera uteslutna mappar i Inställningar.</string> <string name="exclude_folder_parent">Vill du utesluta en överordnad mapp istället?</string> - <string name="excluded_activity_placeholder">Uteslutning av mappar döljer bara dem och deras undermappar i Simple Gallery, de visas fortfarande i andra appar.\\n\\nAnvänd Dölj-funktionen om du även vill dölja dem från andra appar.</string> + <string name="excluded_activity_placeholder">Uteslutning av mappar döljer bara dem och deras undermappar i Simple Gallery, de visas fortfarande i andra appar.\n\nAnvänd Dölj-funktionen om du även vill dölja dem från andra appar.</string> <string name="remove_all">Ta bort alla</string> <string name="remove_all_description">Vill du ta bort alla mappar från uteslutningslistan? Detta raderar inte mapparna.</string> <string name="hidden_folders">Dolda mappar</string> From fa402c24b12c13b97dbde980574044ccc06a4290 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 20:21:25 +0100 Subject: [PATCH 29/66] allow excluding the root folder again --- .../gallery/pro/activities/ExcludedFoldersActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt index 530452b0b..2d584ab73 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt @@ -50,7 +50,7 @@ class ExcludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener { } private fun addFolder() { - FilePickerDialog(this, config.lastFilepickerPath, false, config.shouldShowHidden, false, true) { + FilePickerDialog(this, config.lastFilepickerPath, false, config.shouldShowHidden, false, true, true) { config.lastFilepickerPath = it config.addExcludedFolder(it) updateFolders() From 3db5db5569f9adb2a1c454d0429ce37bf40da2bd Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 21:17:15 +0100 Subject: [PATCH 30/66] updating some slovak strings --- app/src/main/res/values-sk/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index f09e34dab..565448a00 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -39,9 +39,9 @@ <string name="filter_media">Filter médií</string> <string name="images">Obrázky</string> <string name="videos">Videá</string> - <string name="gifs">GIFká</string> + <string name="gifs">GIF</string> <string name="raw_images">RAW obrázky</string> - <string name="svgs">SVGčká</string> + <string name="svgs">SVG</string> <string name="portraits">Portréty</string> <string name="no_media_with_filters">So zvolenými filtrami sa nenašli žiadne média súbory.</string> <string name="change_filters_underlined"><u>Zmeniť filtre</u></string> From 13a3f90595dc76c13ba50c2becf5dd41117d430d Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 22:30:21 +0100 Subject: [PATCH 31/66] optimize Portrait photo checking for better performance --- .../gallery/pro/helpers/MediaFetcher.kt | 62 +++++++------------ 1 file changed, 23 insertions(+), 39 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt index 965771e9c..c9cada42d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt @@ -214,7 +214,6 @@ class MediaFetcher(val context: Context) { private fun getMediaInFolder(folder: String, isPickImage: Boolean, isPickVideo: Boolean, filterMedia: Int, getProperDateTaken: Boolean, getProperFileSize: Boolean, favoritePaths: ArrayList<String>, getVideoDurations: Boolean): ArrayList<Medium> { val media = ArrayList<Medium>() - val isRecycleBin = folder == RECYCLE_BIN val deletedMedia = if (isRecycleBin) { context.getUpdatedDeletedMedia(context.galleryDB.MediumDao()) @@ -229,54 +228,39 @@ class MediaFetcher(val context: Context) { val showPortraits = filterMedia and TYPE_PORTRAITS != 0 val dateTakens = if (getProperDateTaken && folder != FAVORITES && !isRecycleBin) getFolderDateTakens(folder) else HashMap() - // used only for Portrait photos starting with "IMG_" for now - val subdirs = ArrayList<File>() - val covers = ArrayList<String>() - val files = when (folder) { FAVORITES -> favoritePaths.filter { showHidden || !it.contains("/.") }.map { File(it) }.toMutableList() as ArrayList<File> RECYCLE_BIN -> deletedMedia.map { File(it.path) }.toMutableList() as ArrayList<File> - else -> { - val allFiles = File(folder).listFiles() ?: return media - val notDirs = ArrayList<File>() - allFiles.forEach { - if (it.isDirectory) { - if (showPortraits && it.name.startsWith("img_", true)) { - subdirs.add(it) - } - } else { - notDirs.add(it) - } - } - - notDirs - } + else -> File(folder).listFiles()?.toMutableList() ?: return media } - for (subdir in subdirs) { - val portraitFiles = subdir.listFiles() ?: continue - val cover = portraitFiles.firstOrNull { it.name.contains("cover", true) } ?: portraitFiles.firstOrNull() - if (cover != null) { - files.add(cover) - covers.add(cover.absolutePath) - } - } - - for (file in files) { + for (curFile in files) { + var file = curFile if (shouldStop) { break } - val path = file.absolutePath - val isPortrait = covers.contains(path) - val isImage = if (isPortrait) false else path.isImageFast() - val isVideo = if (isPortrait || isImage) false else path.isVideoFast() - val isGif = if (isPortrait || isImage || isVideo) false else path.isGif() - val isRaw = if (isPortrait || isImage || isVideo || isGif) false else path.isRawFast() - val isSvg = if (isPortrait || isImage || isVideo || isGif || isRaw) false else path.isSvg() + var path = file.absolutePath + var isPortrait = false + val isImage = path.isImageFast() + val isVideo = if (isImage) false else path.isVideoFast() + val isGif = if (isImage || isVideo) false else path.isGif() + val isRaw = if (isImage || isVideo || isGif) false else path.isRawFast() + val isSvg = if (isImage || isVideo || isGif || isRaw) false else path.isSvg() - if (!isPortrait && !isImage && !isVideo && !isGif && !isRaw && !isSvg) - continue + if (!isImage && !isVideo && !isGif && !isRaw && !isSvg) { + if (showPortraits && file.isDirectory && file.name.startsWith("img_", true)) { + val portraitFiles = file.listFiles() ?: continue + val cover = portraitFiles.firstOrNull { it.name.contains("cover", true) } ?: portraitFiles.firstOrNull() + if (cover != null && !files.contains(cover)) { + file = cover + path = cover.absolutePath + isPortrait = true + } + } else { + continue + } + } if (isVideo && (isPickImage || filterMedia and TYPE_VIDEOS == 0)) continue From b2d0dff131bca95c526fda8105ae5c202dbd541e Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 22:37:03 +0100 Subject: [PATCH 32/66] properly show the Portraits title at thumbnail grouping --- .../com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt index c9cada42d..1513a771b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt @@ -545,7 +545,8 @@ class MediaFetcher(val context: Context) { TYPE_VIDEOS -> R.string.videos TYPE_GIFS -> R.string.gifs TYPE_RAWS -> R.string.raw_images - else -> R.string.svgs + TYPE_SVGS -> R.string.svgs + else -> R.string.portraits } return context.getString(stringId) } From 146b7628b7736be07f559e78b27448e5bb0efbe7 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Fri, 10 Jan 2020 22:53:42 +0100 Subject: [PATCH 33/66] fixing a german typo --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index acbebcd82..1d3b1270a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -182,7 +182,7 @@ <string name="show_recycle_bin_last">Zeige den Papierkorb als letztes Element auf dem Hauptbildschirm</string> <string name="allow_down_gesture">Erlaube das Schließen der Vollbildansicht mit einer Abwärtsgeste</string> <string name="allow_one_to_one_zoom">Erlaube 1:1 Zoom mit zweimaligem, doppeltem Antippen</string> - <string name="open_videos_on_separate_screen">Öffne Videos immer auf einem seperaten Bildschirm mit neuen horizontalen Gesten</string> + <string name="open_videos_on_separate_screen">Öffne Videos immer auf einem separaten Bildschirm mit neuen horizontalen Gesten</string> <string name="show_notch">Show a notch if available</string> <string name="allow_rotating_gestures">Rotieren von Bildern mit Gesten zulassen</string> <string name="file_loading_priority">Priorität beim Laden von Dateien</string> From 29352e65f0046d8fcbe1fa3de2525003acbfef15 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 11 Jan 2020 17:18:46 +0100 Subject: [PATCH 34/66] update version to 6.11.6 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7eb7e9e60..e142ce31f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 285 - versionName "6.11.5" + versionCode 286 + versionName "6.11.6" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From cabfe4f766950820bc4ddedef4abf9291f7ea373 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 11 Jan 2020 17:18:54 +0100 Subject: [PATCH 35/66] updating changelog --- CHANGELOG.md | 8 ++++++++ fastlane/metadata/android/en-US/changelogs/286.txt | 4 ++++ 2 files changed, 12 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/286.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 1475d215e..70abbf56b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ Changelog ========== +Version 6.11.6 *(2020-01-11)* +---------------------------- + + * Improved the image loading performance + * Allow excluding the root "/" folder + * Properly handle editing files with spaces in path + * Couple other UX, UI, translation and stability improvements + Version 6.11.5 *(2020-01-04)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/286.txt b/fastlane/metadata/android/en-US/changelogs/286.txt new file mode 100644 index 000000000..49b5efac3 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/286.txt @@ -0,0 +1,4 @@ + * Improved the image loading performance + * Allow excluding the root "/" folder + * Properly handle editing files with spaces in path + * Couple other UX, UI, translation and stability improvements From 416c56465893038b79004b6e4619ba8349e62d28 Mon Sep 17 00:00:00 2001 From: dipenSan <dipendrakhanalme@gmail.com> Date: Sun, 12 Jan 2020 23:14:43 +0545 Subject: [PATCH 36/66] adding Nepali Strings --- app/src/main/res/values-np/strings.xml | 384 +++++++++++++++++++++++++ 1 file changed, 384 insertions(+) create mode 100644 app/src/main/res/values-np/strings.xml diff --git a/app/src/main/res/values-np/strings.xml b/app/src/main/res/values-np/strings.xml new file mode 100644 index 000000000..68e3e162f --- /dev/null +++ b/app/src/main/res/values-np/strings.xml @@ -0,0 +1,384 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">सजिलो ग्यालरी</string> + <string name="app_launcher_name">ग्यालरी</string> + <string name="edit">सम्पादन</string> + <string name="open_camera">क्यामेरा खोल्नुहोस</string> + <string name="hidden">(लुकेको)</string> + <string name="excluded">(excluded)</string> + <string name="pin_folder">फोल्डरलाई पिन गर्नुहोस</string> + <string name="unpin_folder">फोल्डरलाई पिन गर्नुहोस</string> + <string name="pin_to_the_top">सबैभन्दा माथि पिन गर्नुहोस</string> + <string name="show_all">फोल्डरको सबै बिषयबस्तु देखाउनुहोस</string> + <string name="all_folders">सबै फोल्डरहरु</string> + <string name="folder_view">फोल्डर भ्यू</string> + <string name="other_folder">अन्य फोल्डर</string> + <string name="show_on_map">नक्सामा देखाउनुहोस</string> + <string name="unknown_location">थाहानभएको ठाउ</string> + <string name="increase_column_count">कोलम सङ्खा बढाउनुहोस</string> + <string name="reduce_column_count">कोलम सङ्खा घटाउनुहोस</string> + <string name="change_cover_image">कभर तस्बिर परिवर्तन गर्नुहोस</string> + <string name="select_photo">फोटो चयन गर्नुहोस</string> + <string name="use_default">डिफल्ट प्रयोग गर्नुहोस</string> + <string name="volume">भोलुम</string> + <string name="brightness">उज्यालोपन</string> + <string name="lock_orientation">Lock orientation</string> + <string name="unlock_orientation">Unlock orientation</string> + <string name="change_orientation">Change orientation</string> + <string name="force_portrait">Force portrait</string> + <string name="force_landscape">Force landscape</string> + <string name="use_default_orientation">Use default orientation</string> + <string name="fix_date_taken">Fix Date Taken value</string> + <string name="fixing">Fixing…</string> + <string name="dates_fixed_successfully">Dates fixed successfully</string> + <string name="share_resized">Share a resized version</string> + <string name="upgraded_from_free">Hey,\n\nseems like you upgraded from the old free app. You can now uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings.\n\nYou will only have the Recycle bin items deleted, favorite items unmarked and you will also have to reset your app settings.\n\nThanks!</string> + <string name="switch_to_file_search">Switch to file search across all visible folders</string> + + <!-- Filter --> + <string name="filter_media">Filter media</string> + <string name="images">तस्बिरहरु</string> + <string name="videos">भिडियोहरु</string> + <string name="gifs">GIFs</string> + <string name="raw_images">RAW ईमेजहरु</string> + <string name="svgs">SVGs</string> + <string name="portraits">Portraits</string> + <string name="no_media_with_filters">No media files have been found with the selected filters.</string> + <string name="change_filters_underlined"><u>Change filters</u></string> + + <!-- Hide / Exclude --> + <string name="hide_folder_description">This function hides the folder by adding a \'.nomedia\' file into it, it will hide all subfolders too. You can see them by toggling the \'Show hidden items\' option in Settings. Continue?</string> + <string name="exclude">Exclude</string> + <string name="excluded_folders">Excluded folders</string> + <string name="manage_excluded_folders">Manage excluded folders</string> + <string name="exclude_folder_description">This will exclude the selection together with its subfolders from Simple Gallery only. You can manage excluded folders in Settings.</string> + <string name="exclude_folder_parent">Exclude a parent instead?</string> + <string name="excluded_activity_placeholder">Excluding folders will make them together with their subfolders hidden just in Simple Gallery, they will still be visible in other applications.\n\nIf you want to hide them from other apps too, use the Hide function.</string> + <string name="remove_all">Remove all</string> + <string name="remove_all_description">Remove all folders from the list of excluded? This will not delete the folders.</string> + <string name="hidden_folders">Hidden folders</string> + <string name="manage_hidden_folders">Manage hidden folders</string> + <string name="hidden_folders_placeholder">Seems like you don\'t have any folders hidden with a \".nomedia\" file.</string> + + <!-- Include folders --> + <string name="include_folders">Included folders</string> + <string name="manage_included_folders">Manage included folders</string> + <string name="add_folder">फोल्डर थप्नुहोस</string> + <string name="included_activity_placeholder">If you have some folders which contain media, but were not recognized by the app, you can add them manually here.\n\nAdding some items here will not exclude any other folder.</string> + <string name="no_media_add_included">No media files have been found. You can solve it by adding the folders containing media files manually.</string> + + <!-- Resizing --> + <string name="resize">Resize</string> + <string name="resize_and_save">Resize selection and save</string> + <string name="width">चाैडाई</string> + <string name="height">उचाई</string> + <string name="keep_aspect_ratio">Keep aspect ratio</string> + <string name="invalid_values">Please enter a valid resolution</string> + + <!-- Editor --> + <string name="editor">सम्पादक</string> + <string name="save">बचत</string> + <string name="rotate">घुमाउने</string> + <string name="path">Path</string> + <string name="invalid_image_path">Invalid image path</string> + <string name="image_editing_failed">Image editing failed</string> + <string name="file_edited_successfully">File edited successfully</string> + <string name="edit_image_with">Edit image with:</string> + <string name="no_editor_found">No image editor found</string> + <string name="unknown_file_location">Unknown file location</string> + <string name="error_saving_file">Could not overwrite the source file</string> + <string name="rotate_left">Rotate left</string> + <string name="rotate_right">Rotate right</string> + <string name="rotate_one_eighty">Rotate by 180º</string> + <string name="flip">Flip</string> + <string name="flip_horizontally">Flip horizontally</string> + <string name="flip_vertically">Flip vertically</string> + <string name="free_aspect_ratio">स्वतन्त्र</string> <!-- available as an option: 1:1, 4:3, 16:9, free --> + <string name="other_aspect_ratio">अन्य</string> <!-- available as an option: 1:1, 4:3, 16:9, free, other --> + + <!-- Set wallpaper --> + <string name="simple_wallpaper">सजिलो वालपेपर</string> + <string name="set_as_wallpaper">वालपेपरको रुपमा स्थापित गर्नुहोस</string> + <string name="set_as_wallpaper_failed">Setting as Wallpaper failed</string> + <string name="set_as_wallpaper_with">Set as wallpaper with:</string> + <string name="setting_wallpaper">Setting wallpaper…</string> + <string name="wallpaper_set_successfully">Wallpaper set successfully</string> + <string name="portrait_aspect_ratio">Portrait aspect ratio</string> + <string name="landscape_aspect_ratio">Landscape aspect ratio</string> + <string name="home_screen">होम स्क्रिन</string> + <string name="lock_screen">लक स्क्रिन</string> + <string name="home_and_lock_screen">होम र लक स्क्रिन</string> + + <!-- Slideshow --> + <string name="slideshow">स्लाईडसो</string> + <string name="interval">Interval (seconds):</string> + <string name="include_photos">Include photos</string> + <string name="include_videos">Include videos</string> + <string name="include_gifs">Include GIFs</string> + <string name="random_order">Random order</string> + <string name="move_backwards">Move backwards</string> + <string name="loop_slideshow">Loop slideshow</string> + <string name="animation">Animation</string> + <string name="no_animation">केहि होईन</string> + <string name="fade">फेड</string> + <string name="slide">स्लाईड</string> + <string name="slideshow_ended">स्लाईडसो समाप्त भयो</string> + <string name="no_media_for_slideshow">No media for the slideshow have been found</string> + + <!-- View types --> + <string name="change_view_type">भ्यू प्रकार परिवर्तन गर्नुहोस</string> + <string name="grid">कोठे</string> + <string name="list">सुची</string> + <string name="group_direct_subfolders">Group direct subfolders</string> + + <!-- Grouping at media thumbnails --> + <string name="group_by">Group by</string> + <string name="do_not_group_files">Do not group files</string> + <string name="by_folder">फोल्डर</string> + <string name="by_last_modified">Last modified</string> + <string name="by_last_modified_daily">Last modified (daily)</string> + <string name="by_last_modified_monthly">Last modified (monthly)</string> + <string name="by_date_taken">Date taken</string> + <string name="by_date_taken_daily">Date taken (daily)</string> + <string name="by_date_taken_monthly">Date taken (monthly)</string> + <string name="by_file_type">फाईलको प्रकार</string> + <string name="by_extension">Extension</string> + <string name="grouping_and_sorting">Please note that grouping and sorting are 2 independent fields</string> + + <!-- Widgets --> + <string name="folder_on_widget">Folder shown on the widget:</string> + <string name="show_folder_name">फोल्डरको नाम देखाउनुहोस</string> + + <!-- Settings --> + <string name="autoplay_videos">भिडियोहरु आफै चल्ने</string> + <string name="remember_last_video_position">Remember last video playback position</string> + <string name="toggle_filename">Toggle filename visibility</string> + <string name="loop_videos">भिडियो लुप</string> + <string name="animate_gifs">Animate GIFs at thumbnails</string> + <string name="max_brightness">Max brightness when viewing fullscreen media</string> + <string name="crop_thumbnails">Crop thumbnails into squares</string> + <string name="show_thumbnail_video_duration">भिडियो अबधि देखाउने</string> + <string name="screen_rotation_by">Rotate fullscreen media by</string> + <string name="screen_rotation_system_setting">सिस्टम सेटिङ</string> + <string name="screen_rotation_device_rotation">Device rotation</string> + <string name="screen_rotation_aspect_ratio">Aspect ratio</string> + <string name="black_background_at_fullscreen">Black background at fullscreen media</string> + <string name="scroll_thumbnails_horizontally">Scroll thumbnails horizontally</string> + <string name="hide_system_ui_at_fullscreen">Automatically hide system UI at fullscreen media</string> + <string name="delete_empty_folders">Delete empty folders after deleting their content</string> + <string name="allow_photo_gestures">Allow controlling photo brightness with vertical gestures</string> + <string name="allow_video_gestures">Allow controlling video volume and brightness with vertical gestures</string> + <string name="show_media_count">Show folder media count on the main view</string> + <string name="show_extended_details">Show extended details over fullscreen media</string> + <string name="manage_extended_details">Manage extended details</string> + <string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string> + <string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string> + <string name="allow_deep_zooming_images">Allow deep zooming images</string> + <string name="hide_extended_details">Hide extended details when status bar is hidden</string> + <string name="show_at_bottom">Show some action buttons at the bottom of the screen</string> + <string name="show_recycle_bin">Show the Recycle Bin at the folders screen</string> + <string name="deep_zoomable_images">Deep zoomable images</string> + <string name="show_highest_quality">Show images in the highest possible quality</string> + <string name="show_recycle_bin_last">Show the Recycle Bin as the last item on the main screen</string> + <string name="allow_down_gesture">Allow closing the fullscreen view with a down gesture</string> + <string name="allow_one_to_one_zoom">Allow 1:1 zooming in with two double taps</string> + <string name="open_videos_on_separate_screen">Always open videos on a separate screen with new horizontal gestures</string> + <string name="show_notch">Show a notch if available</string> + <string name="allow_rotating_gestures">Allow rotating images with gestures</string> + <string name="file_loading_priority">File loading priority</string> + <string name="speed">गति</string> + <string name="compromise">Compromise</string> + <string name="avoid_showing_invalid_files">Avoid showing invalid files</string> + <string name="show_image_file_types">तस्बिरको फाईल किसिम देखाउनुहोस</string> + + <!-- Setting sections --> + <string name="thumbnails">Thumbnails</string> + <string name="fullscreen_media">Fullscreen media</string> + <string name="extended_details">Extended details</string> + <string name="bottom_actions">Bottom actions</string> + + <!-- Bottom actions --> + <string name="manage_bottom_actions">Manage visible bottom actions</string> + <string name="toggle_favorite">Toggle favorite</string> + <string name="toggle_file_visibility">Toggle file visibility</string> + + <!-- New editor strings --> + <string name="pesdk_transform_button_freeCrop">Custom</string> + <string name="pesdk_transform_button_resetCrop">Reset</string> + <string name="pesdk_transform_button_squareCrop">Square</string> + <string name="pesdk_transform_title_name">Transform</string> + <string name="pesdk_filter_title_name">Filter</string> + <string name="pesdk_filter_asset_none">केहिहोईन</string> + <string name="pesdk_adjustments_title_name">Adjust</string> + <string name="pesdk_adjustments_button_shadowTool">Shadows</string> + <string name="pesdk_adjustments_button_exposureTool">Exposure</string> + <string name="pesdk_adjustments_button_highlightTool">Highlights</string> + <string name="pesdk_adjustments_button_brightnessTool">उज्यालोपन</string> + <string name="pesdk_adjustments_button_contrastTool">Contrast</string> + <string name="pesdk_adjustments_button_saturationTool">Saturation</string> + <string name="pesdk_adjustments_button_clarityTool">Clarity</string> + <string name="pesdk_adjustments_button_gammaTool">Gamma</string> + <string name="pesdk_adjustments_button_blacksTool">Blacks</string> + <string name="pesdk_adjustments_button_whitesTool">Whites</string> + <string name="pesdk_adjustments_button_temperatureTool">तापक्रम</string> + <string name="pesdk_adjustments_button_sharpnessTool">Sharpness</string> + <string name="pesdk_adjustments_button_reset">Reset</string> + <string name="pesdk_focus_title_name">Focus</string> + <string name="pesdk_focus_title_disabled">None</string> + <string name="pesdk_focus_button_radial">Radial</string> + <string name="pesdk_focus_button_linear">Linear</string> + <string name="pesdk_focus_button_mirrored">Mirrored</string> + <string name="pesdk_focus_button_gaussian">Gaussian</string> + <string name="pesdk_text_title_name">टेक्स</string> + <string name="pesdk_text_title_options">Text Options</string> + <string name="pesdk_text_title_textColor">टेक्सको रङ</string> + <string name="pesdk_text_title_font">फन्ट</string> + <string name="pesdk_text_button_add">Add</string> + <string name="pesdk_text_button_edit">सम्पादन</string> + <string name="pesdk_text_button_straighten">Straighten</string> + <string name="pesdk_text_button_font">फन्ट</string> + <string name="pesdk_text_button_color">रङ</string> + <string name="pesdk_text_button_backgroundColor">BG Color</string> + <string name="pesdk_text_button_alignment">Alignment</string> + <string name="pesdk_text_button_bringToFront">To Front</string> + <string name="pesdk_text_button_delete">Delete</string> + <string name="pesdk_text_text_editTextPlaceholder">Your text</string> + <string name="pesdk_brush_title_name">Brush</string> + <string name="pesdk_brush_button_color">Color</string> + <string name="pesdk_brush_button_size">Size</string> + <string name="pesdk_brush_button_hardness">Hardness</string> + <string name="pesdk_brush_button_bringToFront">To Front</string> + <string name="pesdk_brush_button_delete">मेटाउनु</string> + <string name="pesdk_brush_title_brushColor">Brush Color</string> + <string name="pesdk_editor_title_name">सम्पादक</string> + <string name="pesdk_editor_title_closeEditorAlert">Close Editor?</string> + <string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the image?</string> + <string name="pesdk_editor_button_closeEditorAlertConfirmation">Yes</string> + <string name="pesdk_editor_button_closeEditorAlertCancelation">No</string> + <string name="pesdk_editor_cancel">रद्द</string> + <string name="pesdk_editor_accept">स्विकार</string> + <string name="pesdk_editor_save">बचत</string> + <string name="pesdk_editor_text_exportProgressUnknown">Exporting image…</string> + <string name="pesdk_editor_text_exportProgress" formatted="false">Exporting image %s.</string> + <string name="pesdk_common_button_flipH">Flip H</string> + <string name="pesdk_common_button_flipV">Flip V</string> + <string name="pesdk_common_button_undo">Undo</string> + <string name="pesdk_common_button_redo">Redo</string> + <string name="pesdk_common_title_colorPicker">Color Picker</string> + <string name="pesdk_common_title_transparentColor">पारदर्शी</string> + <string name="pesdk_common_title_whiteColor">सेतो</string> + <string name="pesdk_common_title_grayColor">खरानि</string> + <string name="pesdk_common_title_blackColor">कालो</string> + <string name="pesdk_common_title_lightBlueColor">Light blue</string> + <string name="pesdk_common_title_blueColor">निलो</string> + <string name="pesdk_common_title_purpleColor">Purple</string> + <string name="pesdk_common_title_orchidColor">Orchid</string> + <string name="pesdk_common_title_pinkColor">Pink</string> + <string name="pesdk_common_title_redColor">रातो</string> + <string name="pesdk_common_title_orangeColor">सुन्तला</string> + <string name="pesdk_common_title_goldColor">सुन</string> + <string name="pesdk_common_title_yellowColor">पहेलो</string> + <string name="pesdk_common_title_oliveColor">Olive</string> + <string name="pesdk_common_title_greenColor">हरियो</string> + <string name="pesdk_common_title_aquamarinColor">Aquamarin</string> + <string name="pesdk_common_title_pipettableColor">Pipettable color</string> + + <!-- FAQ --> + <string name="faq_1_title">How can I make Simple Gallery the default device gallery?</string> + <string name="faq_1_text">First you have to find the currently default gallery in the Apps section of your device settings, look for a button that says something like \"Open by default\", click on it, then select \"Clear defaults\". + The next time you will try opening an image or video you should see an app picker, where you can select Simple Gallery and make it the default app.</string> + <string name="faq_2_title">I locked the app with a password, but I forgot it. What can I do?</string> + <string name="faq_2_text">You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files.</string> + <string name="faq_3_title">How can I make an album always appear at the top?</string> + <string name="faq_3_text">You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method.</string> + <string name="faq_4_title">How can I fast-forward videos?</string> + <string name="faq_4_text">You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward.</string> + <string name="faq_5_title">What is the difference between hiding and excluding a folder?</string> + <string name="faq_5_text">Exclude prevents displaying the folder only in Simple Gallery, while Hide works system-wise and it hides the folder from other galleries too. It works by creating an empty \".nomedia\" file in the given folder, which you can then remove with any file manager too.</string> + <string name="faq_6_title">Why do folders with music cover art or stickers show up?</string> + <string name="faq_6_text">It can happen that you will see some unusual albums show up. You can easily exclude them by long pressing them and selecting Exclude. In the next dialog you can then select the parent folder, chances are it will prevent the other related albums showing up too.</string> + <string name="faq_7_title">A folder with images isn\'t showing up, or it doesn\'t show all items. What can I do?</string> + <string name="faq_7_text">That can have multiple reasons, but solving it is easy. Just go in Settings -> Manage Included Folders, select Plus and navigate to the required folder.</string> + <string name="faq_8_title">What if I want just a few particular folders visible?</string> + <string name="faq_8_text">Adding a folder at the Included Folders doesn\'t automatically exclude anything. What you can do is go in Settings -> Manage Excluded Folders, exclude the root folder \"/\", then add the desired folders at Settings -> Manage Included Folders. + That will make only the selected folders visible, as both excluding and including are recursive and if a folder is both excluded and included, it will show up.</string> + <string name="faq_10_title">Can I crop images with this app?</string> + <string name="faq_10_text">Yes, you can crop images in the editor, by dragging the image corners. You can get to the editor either by long pressing an image thumbnail and selecting Edit, or selecting Edit from the fullscreen view.</string> + <string name="faq_11_title">Can I somehow group media file thumbnails?</string> + <string name="faq_11_text">Sure, just use the \"Group by\" menu item while at the thumbnails view. You can group files by multiple criteria, including Date Taken. If you use the \"Show all folders content\" function you can group them by folders too.</string> + <string name="faq_12_title">Sorting by Date Taken doesn\'t seem to work properly, how can I fix it?</string> + <string name="faq_12_text">It is most likely caused by the files being copied from somewhere. You can fix it by selecting the file thumbnails and selecting \"Fix Date Taken value\".</string> + <string name="faq_13_title">I see some color banding on the images. How can I improve the quality?</string> + <string name="faq_13_text">The current solution for displaying images works fine in the vast majority of cases, but if you want even better image quality, you can enable the \"Show images in the highest possible quality\" at the app settings, in the \"Deep zoomable images\" section.</string> + <string name="faq_14_title">I have hidden a file/folder. How can I unhide it?</string> + <string name="faq_14_text">You can either press the \"Temporarily show hidden items\" menu item at the main screen, or toggle \"Show hidden items\" in the app settings to see the hidden item. If you want to unhide it, just long press it and select \"Unhide\". Folders are hidden by adding a hidden \".nomedia\" file into them, you can delete the file with any file manager too.</string> + <string name="faq_15_title">Why does the app take up so much space?</string> + <string name="faq_15_text">App cache can take up to 250MB, it ensures quicker image loading. If the app is taking up even more space, it is most likely caused by you having items in the Recycle Bin. Those files count to the app size. You can clear the Recycle bin by opening it and deleting all files, or from the app settings. Every file in the Bin is deleted automatically after 30 days.</string> + + <!-- Strings displayed only on Google Playstore. Optional, but good to have --> + <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> + <string name="app_title">Simple Gallery Pro - Photo Manager & Editor</string> + <!-- Short description has to have less than 80 chars --> + <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> + <string name="app_long_description"> + Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. + + The app contains no ads and unnecessary permissions. As the app doesn’t require internet access either, your privacy is protected. + + ------------------------------------------------- + <b>SIMPLE GALLERY PRO – FEATURES</b> + ------------------------------------------------- + + • Offline gallery with no ads or popups + • Simple gallery photo editor – crop, rotate, resize, draw, filters & more + • No internet access needed, giving you more privacy and security + • No unnecessary permissions required + • Quickly search images, videos & files + • Open & view many different photo and video types (RAW, SVG, panoramic etc) + • A variety of intuitive gestures to easily edit & organize files + • Lots of ways to filter, group & sort files + • Customize the appearance of Simple Gallery Pro + • Available in 32 languages + • Mark files as favorites for quick access + • Protect your photos & videos with a pattern, pin or fingerprint + • Use pin, pattern & fingerprint to protect the app launch or specific functions too + • Recover deleted photos & videos from the recycle bin + • Toggle visibility of files to hide photos & videos + • Create a customizable slideshow of your files + • View detailed information of your files (resolution, EXIF values etc) + • Simple Gallery Pro is open source + … and much much more! + + <b>PHOTO GALLERY EDITOR</b> + Simple Gallery Pro makes it easy to edit your pictures on the fly. Crop, flip, rotate and resize your pictures. If you’re feeling a little more creative you can add filters and draw on your pictures! + + <b>SUPPORT FOR MANY FILE TYPES</b> + Unlike some other gallery viewers & photo organizers, Simple Gallery Pro supports a huge range of different file types including JPEG, PNG, MP4, MKV, RAW, SVG, Panoramic photos, Panoramic videos and many more. + + <b>HIGHLY CUSTOMIZABLE GALLERY MANAGER</b> + From the UI to the function buttons on the bottom toolbar, Simple Gallery Pro is highly customizable and works the way you want it to. No other gallery manager has this kind of flexibility! Thanks to being open source, we’re also available in 32 languages! + + <b>RECOVER DELETED PHOTOS & VIDEOS</b> + Accidentally deleted a precious photo or video? Don’t worry! Simple Gallery Pro features a handy recycle bin where you can recover deleted photos & videos easily. + + <b>PROTECT & HIDE PHOTOS, VIDEOS & FILES</b> + Using pin, pattern or your device’s fingerprint scanner you can protect and hide photos, videos & entire albums. You can protect the app itself or place locks on specific functions of the app. For example, you can’t delete a file without a fingerprint scan, helping to protect your files from accidental deletion. + + <b>Check out the full suite of Simple Tools here:</b> + https://www.simplemobiletools.com + + <b>Standalone website of Simple Gallery Pro:</b> + https://www.simplemobiletools.com/gallery + + <b>Facebook:</b> + https://www.facebook.com/simplemobiletools + + <b>Reddit:</b> + https://www.reddit.com/r/SimpleMobileTools + </string> + + <!-- + Haven't found some strings? There's more at + https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res + --> +</resources> From 1f6977bd8400e5a28956c4cc31204b0e23b03a24 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <45232454+fscholdei@users.noreply.github.com> Date: Sun, 12 Jan 2020 21:09:32 +0100 Subject: [PATCH 37/66] Update strings.xml adding german strings --- app/src/main/res/values-de/strings.xml | 132 ++++++++++++------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1d3b1270a..2ca93ce28 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -203,85 +203,85 @@ <string name="toggle_file_visibility">Schaltet die Sichtbarkeit von Dateien um</string> <!-- New editor strings --> - <string name="pesdk_transform_button_freeCrop">Custom</string> - <string name="pesdk_transform_button_resetCrop">Reset</string> - <string name="pesdk_transform_button_squareCrop">Square</string> - <string name="pesdk_transform_title_name">Transform</string> + <string name="pesdk_transform_button_freeCrop">Benutzerdefiniert</string> + <string name="pesdk_transform_button_resetCrop">Zurücksetzen</string> + <string name="pesdk_transform_button_squareCrop">Quadrat</string> + <string name="pesdk_transform_title_name">Umwandeln</string> <string name="pesdk_filter_title_name">Filter</string> - <string name="pesdk_filter_asset_none">None</string> - <string name="pesdk_adjustments_title_name">Adjust</string> - <string name="pesdk_adjustments_button_shadowTool">Shadows</string> - <string name="pesdk_adjustments_button_exposureTool">Exposure</string> + <string name="pesdk_filter_asset_none">Kein</string> + <string name="pesdk_adjustments_title_name">Anpassen</string> + <string name="pesdk_adjustments_button_shadowTool">Schatten</string> + <string name="pesdk_adjustments_button_exposureTool">Belichtung</string> <string name="pesdk_adjustments_button_highlightTool">Highlights</string> - <string name="pesdk_adjustments_button_brightnessTool">Brightness</string> - <string name="pesdk_adjustments_button_contrastTool">Contrast</string> - <string name="pesdk_adjustments_button_saturationTool">Saturation</string> - <string name="pesdk_adjustments_button_clarityTool">Clarity</string> + <string name="pesdk_adjustments_button_brightnessTool">Helligkeit</string> + <string name="pesdk_adjustments_button_contrastTool">Kontrast</string> + <string name="pesdk_adjustments_button_saturationTool">Sättigung</string> + <string name="pesdk_adjustments_button_clarityTool">Struktur</string> <string name="pesdk_adjustments_button_gammaTool">Gamma</string> - <string name="pesdk_adjustments_button_blacksTool">Blacks</string> - <string name="pesdk_adjustments_button_whitesTool">Whites</string> - <string name="pesdk_adjustments_button_temperatureTool">Temperature</string> - <string name="pesdk_adjustments_button_sharpnessTool">Sharpness</string> - <string name="pesdk_adjustments_button_reset">Reset</string> - <string name="pesdk_focus_title_name">Focus</string> - <string name="pesdk_focus_title_disabled">None</string> + <string name="pesdk_adjustments_button_blacksTool">Schwarz</string> + <string name="pesdk_adjustments_button_whitesTool">Weiß</string> + <string name="pesdk_adjustments_button_temperatureTool">Temperatur</string> + <string name="pesdk_adjustments_button_sharpnessTool">Schärfe</string> + <string name="pesdk_adjustments_button_reset">Zurücksetzen</string> + <string name="pesdk_focus_title_name">Fokus</string> + <string name="pesdk_focus_title_disabled">Kein</string> <string name="pesdk_focus_button_radial">Radial</string> <string name="pesdk_focus_button_linear">Linear</string> - <string name="pesdk_focus_button_mirrored">Mirrored</string> - <string name="pesdk_focus_button_gaussian">Gaussian</string> + <string name="pesdk_focus_button_mirrored">Gespiegelt</string> + <string name="pesdk_focus_button_gaussian">Gaußsch</string> <string name="pesdk_text_title_name">Text</string> - <string name="pesdk_text_title_options">Text Options</string> - <string name="pesdk_text_title_textColor">Text Color</string> - <string name="pesdk_text_title_font">Font</string> - <string name="pesdk_text_button_add">Add</string> - <string name="pesdk_text_button_edit">Edit</string> - <string name="pesdk_text_button_straighten">Straighten</string> - <string name="pesdk_text_button_font">Font</string> - <string name="pesdk_text_button_color">Color</string> - <string name="pesdk_text_button_backgroundColor">BG Color</string> - <string name="pesdk_text_button_alignment">Alignment</string> - <string name="pesdk_text_button_bringToFront">To Front</string> - <string name="pesdk_text_button_delete">Delete</string> - <string name="pesdk_text_text_editTextPlaceholder">Your text</string> - <string name="pesdk_brush_title_name">Brush</string> - <string name="pesdk_brush_button_color">Color</string> - <string name="pesdk_brush_button_size">Size</string> - <string name="pesdk_brush_button_hardness">Hardness</string> - <string name="pesdk_brush_button_bringToFront">To Front</string> - <string name="pesdk_brush_button_delete">Delete</string> - <string name="pesdk_brush_title_brushColor">Brush Color</string> + <string name="pesdk_text_title_options">Textoptionen</string> + <string name="pesdk_text_title_textColor">Textfarbe</string> + <string name="pesdk_text_title_font">Schriftart</string> + <string name="pesdk_text_button_add">Hinzufügen</string> + <string name="pesdk_text_button_edit">Bearbeiten</string> + <string name="pesdk_text_button_straighten">Begradigen</string> + <string name="pesdk_text_button_font">Schrift</string> + <string name="pesdk_text_button_color">Farbe</string> + <string name="pesdk_text_button_backgroundColor">Hintergrund</string> + <string name="pesdk_text_button_alignment">Ausrichtung</string> + <string name="pesdk_text_button_bringToFront">Nach Vorne</string> + <string name="pesdk_text_button_delete">Löschen</string> + <string name="pesdk_text_text_editTextPlaceholder">Dein Text</string> + <string name="pesdk_brush_title_name">Pinsel</string> + <string name="pesdk_brush_button_color">Farbe</string> + <string name="pesdk_brush_button_size">Größe</string> + <string name="pesdk_brush_button_hardness">Stärke</string> + <string name="pesdk_brush_button_bringToFront">Nach Vorne</string> + <string name="pesdk_brush_button_delete">Löschen</string> + <string name="pesdk_brush_title_brushColor">Pinselfarbe</string> <string name="pesdk_editor_title_name">Editor</string> - <string name="pesdk_editor_title_closeEditorAlert">Close Editor?</string> - <string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the image?</string> - <string name="pesdk_editor_button_closeEditorAlertConfirmation">Yes</string> - <string name="pesdk_editor_button_closeEditorAlertCancelation">No</string> - <string name="pesdk_editor_cancel">Cancel</string> - <string name="pesdk_editor_accept">Accept</string> - <string name="pesdk_editor_save">Save</string> - <string name="pesdk_editor_text_exportProgressUnknown">Exporting image…</string> - <string name="pesdk_editor_text_exportProgress" formatted="false">Exporting image %s.</string> - <string name="pesdk_common_button_flipH">Flip H</string> - <string name="pesdk_common_button_flipV">Flip V</string> - <string name="pesdk_common_button_undo">Undo</string> - <string name="pesdk_common_button_redo">Redo</string> - <string name="pesdk_common_title_colorPicker">Color Picker</string> + <string name="pesdk_editor_title_closeEditorAlert">Editor schließen?</string> + <string name="pesdk_editor_text_closeEditorAlert">Möchtest du das Bild wirklich verwerfen?</string> + <string name="pesdk_editor_button_closeEditorAlertConfirmation">Ja</string> + <string name="pesdk_editor_button_closeEditorAlertCancelation">Nein</string> + <string name="pesdk_editor_cancel">Abbrechen</string> + <string name="pesdk_editor_accept">Akzeptieren</string> + <string name="pesdk_editor_save">Speichern</string> + <string name="pesdk_editor_text_exportProgressUnknown">Bild wird exportiert…</string> + <string name="pesdk_editor_text_exportProgress" formatted="false">Bild %s wird exportiert.</string> + <string name="pesdk_common_button_flipH">H spiegeln</string> + <string name="pesdk_common_button_flipV">V spiegeln</string> + <string name="pesdk_common_button_undo">Rückgängig</string> + <string name="pesdk_common_button_redo">Wiederholen</string> + <string name="pesdk_common_title_colorPicker">Farbauswahl</string> <string name="pesdk_common_title_transparentColor">Transparent</string> - <string name="pesdk_common_title_whiteColor">White</string> - <string name="pesdk_common_title_grayColor">Gray</string> - <string name="pesdk_common_title_blackColor">Black</string> - <string name="pesdk_common_title_lightBlueColor">Light blue</string> - <string name="pesdk_common_title_blueColor">Blue</string> - <string name="pesdk_common_title_purpleColor">Purple</string> - <string name="pesdk_common_title_orchidColor">Orchid</string> + <string name="pesdk_common_title_whiteColor">Weiß</string> + <string name="pesdk_common_title_grayColor">Grau</string> + <string name="pesdk_common_title_blackColor">Schwarz</string> + <string name="pesdk_common_title_lightBlueColor">Hellblau</string> + <string name="pesdk_common_title_blueColor">Blau</string> + <string name="pesdk_common_title_purpleColor">Violett</string> + <string name="pesdk_common_title_orchidColor">Orchidee</string> <string name="pesdk_common_title_pinkColor">Pink</string> - <string name="pesdk_common_title_redColor">Red</string> + <string name="pesdk_common_title_redColor">Rot</string> <string name="pesdk_common_title_orangeColor">Orange</string> <string name="pesdk_common_title_goldColor">Gold</string> - <string name="pesdk_common_title_yellowColor">Yellow</string> + <string name="pesdk_common_title_yellowColor">Geld</string> <string name="pesdk_common_title_oliveColor">Olive</string> - <string name="pesdk_common_title_greenColor">Green</string> + <string name="pesdk_common_title_greenColor">Grün</string> <string name="pesdk_common_title_aquamarinColor">Aquamarin</string> - <string name="pesdk_common_title_pipettableColor">Pipettable color</string> + <string name="pesdk_common_title_pipettableColor">Pipettierbare Farbe</string> <!-- FAQ --> <string name="faq_1_title">Wie kann ich Schlichte Galerie als Standardanwendung auswählen?</string> From 6286746b3544c4ede5aaa176a3887cfe8e4f9b43 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <45232454+fscholdei@users.noreply.github.com> Date: Mon, 13 Jan 2020 12:41:46 +0100 Subject: [PATCH 38/66] Add German strings --- app/src/main/res/values-de/strings.xml | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2ca93ce28..0e04da922 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -33,7 +33,7 @@ <string name="dates_fixed_successfully">Datum erfolgreich korrigiert.</string> <string name="share_resized">Teile eine verkleinerte Version</string> <string name="upgraded_from_free">Hey,\n\nes sieht so aus, als hättest du von der alten kostenlosen App geupgraded. Du kannst nun die alte Version deinstallieren, die oben in den App-Einstellungen einen \'Upgrade auf Pro\' Button hat.\n\nEs wird nur der Papierkorb gelöscht, die Markierungen von Favoriten entfernt und die App-Einstellungen zurückgesetzt.\n\nDanke!</string> - <string name="switch_to_file_search">Switch to file search across all visible folders</string> + <string name="switch_to_file_search">Zur Dateisuche in allen sichtbaren Ordnern wechseln</string> <!-- Filter --> <string name="filter_media">Filter</string> @@ -65,7 +65,7 @@ <string name="manage_included_folders">Einbezogene Ordner verwalten</string> <string name="add_folder">Ordner hinzufügen</string> <string name="included_activity_placeholder">Solltest du weitere Mediendateien haben, die von der App nicht gefunden wurden, kannst du deren Ordner hier manuell hinzufügen.</string> - <string name="no_media_add_included">No media files have been found. You can solve it by adding the folders containing media files manually.</string> + <string name="no_media_add_included">Es konnten keine Mediendateien gefunden werden. Das Problem kann behoben werden, indem die Ordner mit den Mediendateien manuell hinzugefügt werden.</string> <!-- Resizing --> <string name="resize">Größe ändern</string> @@ -80,13 +80,13 @@ <string name="save">Speichern</string> <string name="rotate">Drehen</string> <string name="path">Pfad</string> - <string name="invalid_image_path">Ungültiger Dateipfad.</string> - <string name="image_editing_failed">Bildbearbeitung fehlgeschlagen.</string> - <string name="file_edited_successfully">File edited successfully</string> + <string name="invalid_image_path">Ungültiger Dateipfad</string> + <string name="image_editing_failed">Bildbearbeitung fehlgeschlagen</string> + <string name="file_edited_successfully">Datei erfolgreich bearbeitet</string> <string name="edit_image_with">Bild bearbeiten mit:</string> - <string name="no_editor_found">Keine Bildeditor-App gefunden.</string> - <string name="unknown_file_location">Unbekannter Dateipfad.</string> - <string name="error_saving_file">Konnte Quelldatei nicht überschreiben.</string> + <string name="no_editor_found">Keine Bildeditor-App gefunden</string> + <string name="unknown_file_location">Unbekannter Dateipfad</string> + <string name="error_saving_file">Konnte Quelldatei nicht überschreiben</string> <string name="rotate_left">Nach links drehen</string> <string name="rotate_right">Nach rechts drehen</string> <string name="rotate_one_eighty">Um 180° drehen</string> @@ -119,11 +119,11 @@ <string name="move_backwards">Rückwärts abspielen</string> <string name="loop_slideshow">Endlos abspielen</string> <string name="animation">Animation</string> - <string name="no_animation">None</string> - <string name="fade">Fade</string> - <string name="slide">Slide</string> - <string name="slideshow_ended">Diashow beendet.</string> - <string name="no_media_for_slideshow">Keine Medien für Diashow gefunden.</string> + <string name="no_animation">Keine</string> + <string name="fade">Verblassen</string> + <string name="slide">Schieben</string> + <string name="slideshow_ended">Diashow beendet</string> + <string name="no_media_for_slideshow">Keine Medien für Diashow gefunden</string> <!-- View types --> <string name="change_view_type">Darstellung ändern</string> @@ -136,11 +136,11 @@ <string name="do_not_group_files">Dateien nicht gruppieren</string> <string name="by_folder">Ordner</string> <string name="by_last_modified">Datum der letzten Änderung</string> - <string name="by_last_modified_daily">Last modified (daily)</string> - <string name="by_last_modified_monthly">Last modified (monthly)</string> + <string name="by_last_modified_daily">Zuletzt geändert (täglich)</string> + <string name="by_last_modified_monthly">Zuletzt geändert (monatlich)</string> <string name="by_date_taken">Aufnahmedatum</string> - <string name="by_date_taken_daily">Date taken (daily)</string> - <string name="by_date_taken_monthly">Date taken (monthly)</string> + <string name="by_date_taken_daily">Aufnahmedatum (täglich)</string> + <string name="by_date_taken_monthly">Aufnahmedatum (monatlich)</string> <string name="by_file_type">Dateityp (Bilder/Videos)</string> <string name="by_extension">Dateierweiterung</string> <string name="grouping_and_sorting">Bitte beachte, dass Gruppieren und Sortieren zwei unabhängige Felder sind.</string> @@ -183,13 +183,13 @@ <string name="allow_down_gesture">Erlaube das Schließen der Vollbildansicht mit einer Abwärtsgeste</string> <string name="allow_one_to_one_zoom">Erlaube 1:1 Zoom mit zweimaligem, doppeltem Antippen</string> <string name="open_videos_on_separate_screen">Öffne Videos immer auf einem separaten Bildschirm mit neuen horizontalen Gesten</string> - <string name="show_notch">Show a notch if available</string> + <string name="show_notch">Zeige eine Notch, wenn vorhanden</string> <string name="allow_rotating_gestures">Rotieren von Bildern mit Gesten zulassen</string> <string name="file_loading_priority">Priorität beim Laden von Dateien</string> <string name="speed">Geschwindigkeit</string> <string name="compromise">Kompromiss</string> <string name="avoid_showing_invalid_files">Das Anzeigen von ungültigen Dateien vermeiden</string> - <string name="show_image_file_types">Show image file types</string> + <string name="show_image_file_types">Bilddateitypen anzeigen</string> <!-- Setting sections --> <string name="thumbnails">Thumbnails</string> @@ -318,7 +318,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Schlichte Galerie Pro - Foto Manager & Editor</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> + <string name="app_short_description">Bewahre deine Andenken ohne Unterbrechungen mit dieser Foto- und Videogalerie</string> <string name="app_long_description"> Schlichte Galerie Pro ist eine stark individualisierbare Offline Galerie. Ordne & bearbeite deine Fotos, stelle gelöschte Fotos mit Hilfe des Papierkorbs wieder her, schütze & verstecke Dateien und zeige eine Vielzahl von Bilder- & Videoformaten an, unter anderem RAW, SVG und viele mehr. From 07c3d26b5dc31ac48bff6149f3b1db541a6512c3 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Mon, 13 Jan 2020 13:34:12 +0100 Subject: [PATCH 39/66] updating the german app short desc --- fastlane/metadata/android/de/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/de/short_description.txt b/fastlane/metadata/android/de/short_description.txt index ac0a14175..d9bd6cf0b 100644 --- a/fastlane/metadata/android/de/short_description.txt +++ b/fastlane/metadata/android/de/short_description.txt @@ -1 +1 @@ -Galerie ohne Werbung. Ordnen, Bearbeiten und Wiederherstellen von Fotos & Videos +Bewahre deine Andenken ohne Unterbrechungen mit dieser Foto- und Videogalerie From 386c52a0ffc00aa5cb46135b6ebf5e96e8c44f58 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Mon, 13 Jan 2020 22:53:54 +0100 Subject: [PATCH 40/66] fix some empty portrait photos creating blank thumbnails --- .../com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt index 1513a771b..8b625e5e5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt @@ -256,6 +256,8 @@ class MediaFetcher(val context: Context) { file = cover path = cover.absolutePath isPortrait = true + } else { + continue } } else { continue From 2b6b46de254fa16f5234a3ad19539459e5b551be Mon Sep 17 00:00:00 2001 From: fricyo <30796677+fricyo@users.noreply.github.com> Date: Tue, 14 Jan 2020 10:40:28 +0800 Subject: [PATCH 41/66] Update Translation --- app/src/main/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 07dc7d737..f28bde093 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">簡易相簿 Pro - 相片管理&編輯器</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> + <string name="app_short_description">使用相片和影片相簿來毫無阻礙地瀏覽您的回憶。</string> <string name="app_long_description"> 簡易相簿Pro是一個高度自訂化的離線相簿。整理和編輯你的照片,從回收桶恢復刪除的檔案,保護和隱藏檔案,以及瀏覽大量不同的照片&影片格式,包含RAW、SVG…等更多。 From 778d1ce71a8a45c85c031fc02a64548016cbb7f5 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Tue, 14 Jan 2020 10:35:20 +0100 Subject: [PATCH 42/66] updating the apps taiwanese fastlane short desc --- fastlane/metadata/android/zh-rTW/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/zh-rTW/short_description.txt b/fastlane/metadata/android/zh-rTW/short_description.txt index a2063faf6..a7ca00aab 100644 --- a/fastlane/metadata/android/zh-rTW/short_description.txt +++ b/fastlane/metadata/android/zh-rTW/short_description.txt @@ -1 +1 @@ -毫無阻礙地瀏覽您的回憶。 +使用相片和影片相簿來毫無阻礙地瀏覽您的回憶。 From e3b921db4d1ae0013472fb17f9e8d38bb77a1a5d Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Wed, 15 Jan 2020 20:44:31 +0100 Subject: [PATCH 43/66] adding some crashfixes related to extended details --- .../gallery/pro/fragments/ViewPagerFragment.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt index 3c95c9927..7473326dd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt @@ -40,7 +40,12 @@ abstract class ViewPagerFragment : Fragment() { } val path = "${file.parent.trimEnd('/')}/" - val exif = ExifInterface(medium.path) + val exif = try { + ExifInterface(medium.path) + } catch (e: Exception) { + return "" + } + val details = StringBuilder() val detailsFlag = context!!.config.extendedDetails if (detailsFlag and EXT_NAME != 0) { From 9a6d1535ba74602d259cb12ca3485b8ad475e4e6 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Wed, 15 Jan 2020 20:49:44 +0100 Subject: [PATCH 44/66] do not show the portrait stripe at fullscreen view --- .../simplemobiletools/gallery/pro/fragments/PhotoFragment.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt index 212f0da68..f5cf3f93e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt @@ -490,6 +490,9 @@ class PhotoFragment : ViewPagerFragment() { mView.photo_portrait_stripe.scrollBy((coverIndex - fakeItemsCnt) * itemWidth, 0) adapter.setCurrentPhoto(coverIndex) mView.photo_portrait_stripe_wrapper.beVisible() + if (mIsFullscreen) { + mView.photo_portrait_stripe_wrapper.alpha = 0f + } } } } From 39ed8834791305163c7a87d102da8b85b688ab80 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Wed, 15 Jan 2020 21:07:30 +0100 Subject: [PATCH 45/66] updating Glide to 4.11.0 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e142ce31f..892a3a6c2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.21' + implementation 'com.simplemobiletools:commons:5.21.22' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' @@ -84,7 +84,7 @@ dependencies { implementation 'com.github.tibbi:gestureviews:8dccb8450b' implementation 'com.github.tibbi:subsampling-scale-image-view:d404e74e39' - kapt 'com.github.bumptech.glide:compiler:4.10.0' + kapt 'com.github.bumptech.glide:compiler:4.11.0' kapt 'androidx.room:room-compiler:2.2.2' implementation 'androidx.room:room-runtime:2.2.2' From 8b02b93161ed0c839c69036bb91ae5de6a6ec5e1 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Wed, 15 Jan 2020 21:43:39 +0100 Subject: [PATCH 46/66] create an own table DateTakens to be used at sorting --- .../gallery/pro/databases/GalleryDatabase.kt | 13 ++++++++++++- .../gallery/pro/interfaces/DateTakensDAO.kt | 8 ++++++++ .../gallery/pro/models/DateTaken.kt | 15 +++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index b5ac89748..c3b036669 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -6,14 +6,16 @@ import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.migration.Migration import androidx.sqlite.db.SupportSQLiteDatabase +import com.simplemobiletools.gallery.pro.interfaces.DateTakensDAO import com.simplemobiletools.gallery.pro.interfaces.DirectoryDao import com.simplemobiletools.gallery.pro.interfaces.MediumDao import com.simplemobiletools.gallery.pro.interfaces.WidgetsDao +import com.simplemobiletools.gallery.pro.models.DateTaken import com.simplemobiletools.gallery.pro.models.Directory import com.simplemobiletools.gallery.pro.models.Medium import com.simplemobiletools.gallery.pro.models.Widget -@Database(entities = [Directory::class, Medium::class, Widget::class], version = 6) +@Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class], version = 7) abstract class GalleryDatabase : RoomDatabase() { abstract fun DirectoryDao(): DirectoryDao @@ -22,6 +24,8 @@ abstract class GalleryDatabase : RoomDatabase() { abstract fun WidgetsDao(): WidgetsDao + abstract fun DateTakensDAO(): DateTakensDAO + companion object { private var db: GalleryDatabase? = null @@ -33,6 +37,7 @@ abstract class GalleryDatabase : RoomDatabase() { .fallbackToDestructiveMigration() .addMigrations(MIGRATION_4_5) .addMigrations(MIGRATION_5_6) + .addMigrations(MIGRATION_6_7) .build() } } @@ -56,5 +61,11 @@ abstract class GalleryDatabase : RoomDatabase() { database.execSQL("CREATE UNIQUE INDEX `index_widgets_widget_id` ON `widgets` (`widget_id`)") } } + + private val MIGRATION_6_7 = object : Migration(6, 7) { + override fun migrate(database: SupportSQLiteDatabase) { + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` LONG NOT NULL)") + } + } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt new file mode 100644 index 000000000..107801537 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt @@ -0,0 +1,8 @@ +package com.simplemobiletools.gallery.pro.interfaces + +import androidx.room.Dao + +@Dao +interface DateTakensDAO { + +} diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt new file mode 100644 index 000000000..aeb584e54 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -0,0 +1,15 @@ +package com.simplemobiletools.gallery.pro.models + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.Index +import androidx.room.PrimaryKey + +// Date Taken in the MediaStore is unreliable and hard to work with, keep the values in an own database +// It is used at sorting files by date taken, checking EXIF file by file would be way too slow +@Entity(tableName = "date_takens", indices = [Index(value = ["full_path"], unique = true)]) +data class DateTaken( + @PrimaryKey(autoGenerate = true) var id: Int?, + @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "parent_path") var parentPath: String, + @ColumnInfo(name = "last_fixed") var lastFixed: Long) From 2daf7e045f40c0eb24f81669a919f13a554cdd2a Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Wed, 15 Jan 2020 22:42:53 +0100 Subject: [PATCH 47/66] fix #1715, properly edit png files, do not convert them to jpgs --- .../simplemobiletools/gallery/pro/activities/NewEditActivity.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index e9dd88135..26ca74066 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -243,6 +243,7 @@ class NewEditActivity : SimpleActivity() { settingsList.getSettingsModel(UiConfigTheme::class.java).theme = R.style.Imgly_Theme_NoFullscreen settingsList.getSettingsModel(EditorSaveSettings::class.java) + .setExportFormat(EditorSaveSettings.FORMAT.AUTO) .setOutputFilePath("$filesDir/editor/$filename") .savePolicy = EditorSaveSettings.SavePolicy.RETURN_SOURCE_OR_CREATE_OUTPUT_IF_NECESSARY From aa0c21a2092ef5a94b84cdd622510e0523bdd046 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Wed, 15 Jan 2020 22:48:43 +0100 Subject: [PATCH 48/66] change last_fixed field in DateTakens to int --- .../simplemobiletools/gallery/pro/databases/GalleryDatabase.kt | 2 +- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index c3b036669..fa7c30bcd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -64,7 +64,7 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` LONG NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index aeb584e54..c5b8c5b3e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -12,4 +12,4 @@ data class DateTaken( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, @ColumnInfo(name = "parent_path") var parentPath: String, - @ColumnInfo(name = "last_fixed") var lastFixed: Long) + @ColumnInfo(name = "last_fixed") var lastFixed: Int) From ca6b84be8121ab6759a75932b1a765e5f60f92b2 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Wed, 15 Jan 2020 23:00:52 +0100 Subject: [PATCH 49/66] adding an index on DateTakens table --- .../simplemobiletools/gallery/pro/databases/GalleryDatabase.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index fa7c30bcd..2d0398675 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -65,6 +65,7 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") } } } From 402fccbc21e45ba6113f45994b6f9eea88d32858 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 11:26:13 +0100 Subject: [PATCH 50/66] create an own table for storing favorite items too --- .../gallery/pro/databases/GalleryDatabase.kt | 17 ++++++++--------- .../gallery/pro/interfaces/FavoritesDAO.kt | 8 ++++++++ .../gallery/pro/models/Favorite.kt | 12 ++++++++++++ 3 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 2d0398675..d427a6142 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -6,16 +6,10 @@ import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.migration.Migration import androidx.sqlite.db.SupportSQLiteDatabase -import com.simplemobiletools.gallery.pro.interfaces.DateTakensDAO -import com.simplemobiletools.gallery.pro.interfaces.DirectoryDao -import com.simplemobiletools.gallery.pro.interfaces.MediumDao -import com.simplemobiletools.gallery.pro.interfaces.WidgetsDao -import com.simplemobiletools.gallery.pro.models.DateTaken -import com.simplemobiletools.gallery.pro.models.Directory -import com.simplemobiletools.gallery.pro.models.Medium -import com.simplemobiletools.gallery.pro.models.Widget +import com.simplemobiletools.gallery.pro.interfaces.* +import com.simplemobiletools.gallery.pro.models.* -@Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class], version = 7) +@Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class, Favorite::class], version = 7) abstract class GalleryDatabase : RoomDatabase() { abstract fun DirectoryDao(): DirectoryDao @@ -26,6 +20,8 @@ abstract class GalleryDatabase : RoomDatabase() { abstract fun DateTakensDAO(): DateTakensDAO + abstract fun FavoritesDAO(): FavoritesDAO + companion object { private var db: GalleryDatabase? = null @@ -66,6 +62,9 @@ abstract class GalleryDatabase : RoomDatabase() { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") + + database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt new file mode 100644 index 000000000..1d80c3e80 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt @@ -0,0 +1,8 @@ +package com.simplemobiletools.gallery.pro.interfaces + +import androidx.room.Dao + +@Dao +interface FavoritesDAO { + +} diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt new file mode 100644 index 000000000..a6c3fe001 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt @@ -0,0 +1,12 @@ +package com.simplemobiletools.gallery.pro.models + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.Index +import androidx.room.PrimaryKey + +@Entity(tableName = "favorites", indices = [Index(value = ["full_path"], unique = true)]) +data class Favorite( + @PrimaryKey(autoGenerate = true) var id: Int?, + @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "parent_path") var parentPath: String) From 8035d90e36aa45b00f4b02c5f529d6afdfe81d8b Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 11:28:01 +0100 Subject: [PATCH 51/66] store the file name in the date takens and favorites tables too --- .../gallery/pro/databases/GalleryDatabase.kt | 4 ++-- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 1 + .../com/simplemobiletools/gallery/pro/models/Favorite.kt | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index d427a6142..5eb246150 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -60,10 +60,10 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") - database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index c5b8c5b3e..a5e7e5a22 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -11,5 +11,6 @@ import androidx.room.PrimaryKey data class DateTaken( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "file_name") var fileName: String, @ColumnInfo(name = "parent_path") var parentPath: String, @ColumnInfo(name = "last_fixed") var lastFixed: Int) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt index a6c3fe001..4bd0449ad 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt @@ -9,4 +9,5 @@ import androidx.room.PrimaryKey data class Favorite( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "file_name") var fileName: String, @ColumnInfo(name = "parent_path") var parentPath: String) From daf87be965ddba23d076a50bc5691a50c34aa12e Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 18:58:55 +0100 Subject: [PATCH 52/66] adding 16:10 crop ratio, used mostly on tablets --- app/build.gradle | 2 +- .../gallery/pro/activities/NewEditActivity.kt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 892a3a6c2..b66d774a5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.22' + implementation 'com.simplemobiletools:commons:5.21.23' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index 26ca74066..62215b769 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -201,6 +201,8 @@ class NewEditActivity : SimpleActivity() { add(CropAspectAsset("my_crop_4_5", 4, 5, false)) add(CropAspectAsset("my_crop_37_18", 37, 18, false)) add(CropAspectAsset("my_crop_18_37", 18, 37, false)) + add(CropAspectAsset("my_crop_16_10", 16, 10, false)) + add(CropAspectAsset("my_crop_10_16", 10, 16, false)) } settingsList.getSettingsModel(UiConfigAspect::class.java).aspectList.apply { @@ -208,6 +210,7 @@ class NewEditActivity : SimpleActivity() { add(ToggleAspectItem(CropAspectItem("my_crop_19_9"), CropAspectItem("my_crop_9_19"))) add(ToggleAspectItem(CropAspectItem("my_crop_5_4"), CropAspectItem("my_crop_4_5"))) add(ToggleAspectItem(CropAspectItem("my_crop_37_18"), CropAspectItem("my_crop_18_37"))) + add(ToggleAspectItem(CropAspectItem("my_crop_16_10"), CropAspectItem("my_crop_10_16"))) } settingsList.getSettingsModel(UiConfigFilter::class.java).setFilterList( From f1b380e6faf6ab6c8fa9c45e000dfe17ec6306cc Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 20:57:12 +0100 Subject: [PATCH 53/66] rename file_name column to filename --- .../gallery/pro/databases/GalleryDatabase.kt | 4 ++-- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 2 +- .../com/simplemobiletools/gallery/pro/models/Favorite.kt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 5eb246150..1a09b301f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -60,10 +60,10 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") - database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index a5e7e5a22..50c140994 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -11,6 +11,6 @@ import androidx.room.PrimaryKey data class DateTaken( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, - @ColumnInfo(name = "file_name") var fileName: String, + @ColumnInfo(name = "filename") var filename: String, @ColumnInfo(name = "parent_path") var parentPath: String, @ColumnInfo(name = "last_fixed") var lastFixed: Int) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt index 4bd0449ad..8f37a9b41 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt @@ -9,5 +9,5 @@ import androidx.room.PrimaryKey data class Favorite( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, - @ColumnInfo(name = "file_name") var fileName: String, + @ColumnInfo(name = "filename") var filename: String, @ColumnInfo(name = "parent_path") var parentPath: String) From 631e9dea34968666604fe295997e32132ad2c682 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 21:00:37 +0100 Subject: [PATCH 54/66] adding the actual DateTaken value column --- .../simplemobiletools/gallery/pro/databases/GalleryDatabase.kt | 2 +- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 1a09b301f..9b01fe7cb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -60,7 +60,7 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `date_taken` INTEGER NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index 50c140994..293e2a619 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -13,4 +13,5 @@ data class DateTaken( @ColumnInfo(name = "full_path") var fullPath: String, @ColumnInfo(name = "filename") var filename: String, @ColumnInfo(name = "parent_path") var parentPath: String, + @ColumnInfo(name = "date_taken") var taken: Long, @ColumnInfo(name = "last_fixed") var lastFixed: Int) From 6131c7fb5d83bf81aeec09b27ec804efd39fc2fa Mon Sep 17 00:00:00 2001 From: solokot <solokot@gmail.com> Date: Thu, 16 Jan 2020 23:38:45 +0300 Subject: [PATCH 55/66] Updated Russian language --- app/src/main/res/values-ru/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 30aa6d796..66cd4eeff 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -81,10 +81,10 @@ <string name="rotate">Поворот</string> <string name="path">Путь</string> <string name="invalid_image_path">Недопустимый путь изображения</string> - <string name="image_editing_failed">Редактирование изображения не удалось</string> + <string name="image_editing_failed">Редактирование изображения не выполнено</string> <string name="file_edited_successfully">Файл успешно отредактирован</string> <string name="edit_image_with">Редактировать изображение в:</string> - <string name="no_editor_found">Ни одного редактора изображений не найдено</string> + <string name="no_editor_found">Не найдено ни одного редактора изображений</string> <string name="unknown_file_location">Неизвестное местоположение файла</string> <string name="error_saving_file">Не удалось перезаписать исходный файл</string> <string name="rotate_left">Повернуть влево</string> @@ -252,14 +252,14 @@ <string name="pesdk_brush_title_brushColor">Цвет кисти</string> <string name="pesdk_editor_title_name">Редактор</string> <string name="pesdk_editor_title_closeEditorAlert">Закрыть редактор?</string> - <string name="pesdk_editor_text_closeEditorAlert">Вы действительно хотите отказаться от изображения?</string> + <string name="pesdk_editor_text_closeEditorAlert">Вы действительно хотите отказаться от сделанных изменений изображения?</string> <string name="pesdk_editor_button_closeEditorAlertConfirmation">Да</string> <string name="pesdk_editor_button_closeEditorAlertCancelation">Нет</string> <string name="pesdk_editor_cancel">Отмена</string> <string name="pesdk_editor_accept">Принять</string> <string name="pesdk_editor_save">Сохранить</string> <string name="pesdk_editor_text_exportProgressUnknown">Экспорт изображения…</string> - <string name="pesdk_editor_text_exportProgress" formatted="false">Экспорт изображения %s.</string> + <string name="pesdk_editor_text_exportProgress" formatted="false">Экспорт изображения %s</string> <string name="pesdk_common_button_flipH">Г-поворот</string> <string name="pesdk_common_button_flipV">В-поворот</string> <string name="pesdk_common_button_undo">Отмена</string> @@ -319,7 +319,7 @@ <!-- App title has to have less than 50 characters. If you cannot squeeze it, just remove a part of it --> <string name="app_title">Галерея Pro - управление изображениями</string> <!-- Short description has to have less than 80 chars --> - <string name="app_short_description">Browse your memories without any interruptions with this photo and video gallery</string> + <string name="app_short_description">Просматривайте свои воспоминания без перерывов с этой фото- и видеогалереей</string> <string name="app_long_description"> Simple Gallery Pro — настраиваемая автономная галерея. Организуйте и редактируйте свои фотографии; восстанавливайте удалённые файлы при помощи функции "корзина"; защищайте и скрывайте личные файлы; просматривайте множество различных фото- и видеоформатов, включая RAW, SVG и многие другие. From 69c56e6983fa5fb6083300f3c27c2229524aa837 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 22:06:59 +0100 Subject: [PATCH 56/66] updating the russian app short desc --- fastlane/metadata/android/ru/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/ru/short_description.txt b/fastlane/metadata/android/ru/short_description.txt index 8b0a76ce3..d2b3cb34d 100644 --- a/fastlane/metadata/android/ru/short_description.txt +++ b/fastlane/metadata/android/ru/short_description.txt @@ -1 +1 @@ -Просматривайте свои воспоминания без перерывов. +Просматривайте свои воспоминания без перерывов с этой фото- и видеогалереей From 659b808a42ba7b1042a0e7d784e7bad9ff87b20a Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 23:16:12 +0100 Subject: [PATCH 57/66] update commons to 5.21.24 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index b66d774a5..a46f4b768 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.23' + implementation 'com.simplemobiletools:commons:5.21.24' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 55f55624c7f7bc82486a908f322be00dd8b7490d Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 23:29:11 +0100 Subject: [PATCH 58/66] moving Nepali strings from np to ne --- app/src/main/res/{values-np => values-ne}/strings.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/src/main/res/{values-np => values-ne}/strings.xml (100%) diff --git a/app/src/main/res/values-np/strings.xml b/app/src/main/res/values-ne/strings.xml similarity index 100% rename from app/src/main/res/values-np/strings.xml rename to app/src/main/res/values-ne/strings.xml From 4c080a51199773695b66d1daf0ae7f29eaa4edaf Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 23:29:18 +0100 Subject: [PATCH 59/66] update version to 6.11.7 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a46f4b768..c72469756 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 286 - versionName "6.11.6" + versionCode 287 + versionName "6.11.7" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From 38c01fd6c061835f82a767fb4ee2683fe9555312 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 23:29:24 +0100 Subject: [PATCH 60/66] updating changelog --- CHANGELOG.md | 10 ++++++++++ fastlane/metadata/android/en-US/changelogs/287.txt | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/287.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 70abbf56b..b2a0bb855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,16 @@ Changelog ========== +Version 6.11.7 *(2020-01-16)* +---------------------------- + + * Do not convert every edited file into a JPG, keep PNGs intact + * Fixed a glitch with empty portrait photos being shown as grey thumbnails + * Show a FAQ/settings prompt once at pressing Rate Us in the About section + * Added a 16:10 editor crop aspect ratio, used mostly on tablets + * Do some preparations for better handling Date Taken values and Favorites + * Other stability and translation improvements + Version 6.11.6 *(2020-01-11)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/287.txt b/fastlane/metadata/android/en-US/changelogs/287.txt new file mode 100644 index 000000000..914f7ba83 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/287.txt @@ -0,0 +1,6 @@ + * Do not convert every edited file into a JPG, keep PNGs intact + * Fixed a glitch with empty portrait photos being shown as grey thumbnails + * Show a FAQ/settings prompt once at pressing Rate Us in the About section + * Added a 16:10 editor crop aspect ratio, used mostly on tablets + * Do some preparations for better handling Date Taken values and Favorites + * Other stability and translation improvements From eab0af408de805eed27f0613d62f10e4b7db3a78 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa <tibor@kaputa.sk> Date: Thu, 16 Jan 2020 23:38:38 +0100 Subject: [PATCH 61/66] Update README.md --- README.md | 118 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 96 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 75fbfa410..485b4d2da 100644 --- a/README.md +++ b/README.md @@ -2,33 +2,107 @@ <img alt="Logo" src="app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" width="80" /> -A gallery for viewing photos and videos. +Simple Gallery Pro is a highly customizable lightweight gallery loved by millions of people for its great user experience. Organize and edit your photos, recover deleted files with the recycle bin, protect & hide files and easily view a huge variety of different photo and video formats including RAW, SVG, GIF, panoramic and much more. -A highly customizable gallery capable of displaying many different image and video types including SVGs, RAWs, panoramic photos and videos. +------------------------------------------------- +SIMPLE GALLERY PRO – FEATURES +------------------------------------------------- -It is open source, contains no ads or unnecessary permissions. +• A beautiful modern gallery with no ads or popups -Let's list some of its features worth mentioning: -1. Search -2. Slideshow -3. Notch support -4. Pinning folders to the top -5. Filtering media files by type -6. Recycle bin for easy file recovery -7. Fullscreen view orientation locking -8. Marking favorite files for easy access -9. Quick fullscreen media closing with down gesture -10. An editor for modifying images and applying filters -11. Password protection for protecting hidden items or the whole app -12. Changing the thumbnail column count with gestures or menu buttons -13. Customizable bottom actions at the fullscreen view for quick access -14. Showing extended details over fullscreen media with desired file properties -15. Several different ways of sorting or grouping items, both ascending and descending -16. Hiding folders (affects other apps too), excluding folders (affects only Simple Gallery) +• Photo editor – crop, rotate, resize, draw, filters & more -The fingerprint permission is needed for locking either hidden item visibility, the whole app, or protecting files from being deleted. +• No internet access needed, giving you more privacy, security and stability -This app is just one piece of a bigger series of apps. You can find the rest of them at https://www.simplemobiletools.com +• No unnecessary permissions required + +• Quickly search images, videos & other files + +• Open and view many different photo and video types (RAW, SVG, panoramic, GIF etc) + +• A variety of intuitive gestures to easily edit, rotate & organize files + +• Lots of ways to filter, group and sort files + +• Customize the appearance of Simple Gallery Pro + +• Available in over 30 languages + +• Mark files as favorites for quick access + +• Protect your photos & videos with a pattern, pin or fingerprint + +• Use pin, pattern & fingerprint to protect the app launch or specific functions too + +• Recover deleted photos & videos from the recycle bin + +• Toggle visibility of files to hide photos & videos + +• Create a customizable slideshow of your files with many options + +• View detailed information of your files (resolution, EXIF values etc) + +• Zoom high quality photos, videos and GIFs easily with gestures + +• Easily force portrait or landscape orientation for easy video viewing + +• Quick file share to social media, email or anywhere else + +• Print images or set them as wallpaper with a few clicks + +• Create home screen shortcuts or widgets to easily access any file or folder + +• Show the image location on a map, if available + +• Obvious presence of standard operations like rename, copy/move, un/hide, delete + +• Rewind videos with horizontal gestures + +• Change photo and video brightness, or volume with vertical gestures + +• Reorder, lock folders or change cover thumbnails anytime + +• Set any image as wallpaper without hassle + +… and much much more! + +ADVANCED PHOTO EDITOR +Simple Gallery Pro makes it easy to edit your pictures on the fly. Crop, flip, rotate and resize your pictures. If you’re feeling a little more creative you can add filters and draw on your pictures! + + +SUPPORT FOR MANY FILE TYPES +Simple Gallery Pro supports a huge range of different file types including JPEG, PNG, MP4, MKV, RAW, SVG, GIF Panoramic photos, Panoramic videos and many more. + + +HIGHLY CUSTOMIZABLE FILE MANAGER +From the UI to the function buttons on the bottom toolbar, Simple Gallery Pro is highly customizable and works the way you want it to. No other gallery has this kind of flexibility! Thanks to being open source, we’re also available in over 30 languages! + + +RECOVER DELETED PHOTOS & VIDEOS +Accidentally deleted a precious photo or video? Don’t worry! Simple Gallery Pro features a handy recycle bin where you can recover deleted photos & videos easily. + + +PROTECT & HIDE PHOTOS, VIDEOS & FILES +Using pin, pattern or your device’s fingerprint scanner you can protect and hide photos, videos & entire albums. You can protect the app itself or place locks on specific functions of the app. For example, you can’t delete a file without a fingerprint scan, helping to protect your files from accidental deletion. + + +Check out the full suite of Simple Tools here: +https://www.simplemobiletools.com + + +Standalone website of Simple Gallery Pro: +https://www.simplemobiletools.com/gallery + + +Facebook: +https://www.facebook.com/simplemobiletools + + +Reddit: +https://www.reddit.com/r/SimpleMobileTools + + +Don't forget that if you uninstall any paid app within 2 hours, you will automatically be refunded. If you want a refund anytime later, just contact us at hello@simplemobiletools.com and you will get it. That makes it easy to try it out :) <a href='https://play.google.com/store/apps/details?id=com.simplemobiletools.gallery.pro'><img src='https://simplemobiletools.com/assets/images/google-play.png' alt='Get it on Google Play' height='45' /></a> <a href='https://f-droid.org/packages/com.simplemobiletools.gallery.pro'><img src='https://simplemobiletools.com/assets/images/f-droid.png' alt='Get it on F-Droid' height='45' /></a> From 90b4ab470dabf87a1f066b1c1b6fb1b484a50574 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 18 Jan 2020 19:06:08 +0100 Subject: [PATCH 62/66] limit the file loading settings item label length to avoid some glitches --- app/src/main/res/layout/activity_settings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index e99e5adc5..b7d436f28 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -95,6 +95,8 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toStartOf="@+id/settings_file_loading_priority" + android:ellipsize="end" + android:lines="1" android:paddingLeft="@dimen/medium_margin" android:paddingRight="@dimen/medium_margin" android:text="@string/file_loading_priority"/> From 89790ebdfe340b905b644508a5264a043c122d32 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 18 Jan 2020 23:27:40 +0100 Subject: [PATCH 63/66] reverting Glide back to 4.10.0 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c72469756..15c8c810f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.24' + implementation 'com.simplemobiletools:commons:5.21.25' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' @@ -84,7 +84,7 @@ dependencies { implementation 'com.github.tibbi:gestureviews:8dccb8450b' implementation 'com.github.tibbi:subsampling-scale-image-view:d404e74e39' - kapt 'com.github.bumptech.glide:compiler:4.11.0' + kapt 'com.github.bumptech.glide:compiler:4.10.0' kapt 'androidx.room:room-compiler:2.2.2' implementation 'androidx.room:room-runtime:2.2.2' From 6b95c585592a485878993e5d4f230c0736c7fbfd Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 18 Jan 2020 23:29:03 +0100 Subject: [PATCH 64/66] try flipping some migration lines to avoid working on nonexistent tables --- .../gallery/pro/databases/GalleryDatabase.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 9b01fe7cb..e190b37d7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -61,9 +61,9 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `date_taken` INTEGER NOT NULL, `last_fixed` INTEGER NOT NULL)") - database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") - database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + + database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } From e93eade241124f797c4c43b7ee55896e0ac89fa1 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sun, 19 Jan 2020 10:51:36 +0100 Subject: [PATCH 65/66] update version to 6.11.8 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 15c8c810f..9b9269853 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 287 - versionName "6.11.7" + versionCode 288 + versionName "6.11.8" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From 4e2380f13af0894dcc343162712ec184a4534a61 Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sun, 19 Jan 2020 10:51:44 +0100 Subject: [PATCH 66/66] updating changelog --- CHANGELOG.md | 5 +++++ fastlane/metadata/android/en-US/changelogs/288.txt | 1 + 2 files changed, 6 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/288.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index b2a0bb855..a76981def 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========== +Version 6.11.8 *(2020-01-19)* +---------------------------- + + * Reverted Glide to fix some crashes + Version 6.11.7 *(2020-01-16)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/288.txt b/fastlane/metadata/android/en-US/changelogs/288.txt new file mode 100644 index 000000000..9631ebb6a --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/288.txt @@ -0,0 +1 @@ + * Reverted Glide to fix some crashes