Merge pull request #74 from SimpleMobileTools/master

upd
This commit is contained in:
solokot 2021-01-23 09:05:37 +03:00 committed by GitHub
commit 4be5023562
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
81 changed files with 1845 additions and 539 deletions

View file

@ -1,6 +1,38 @@
Changelog
==========
Version 6.19.0 *(2021-01-21)*
----------------------------
* Allow easily clearing the app cache from the app settings
* Allow customizing the spacing between file thumbnails, or using rounded corners
* Many other performance, UI, UX, translation and stability improvements
Version 6.18.3 *(2021-01-14)*
----------------------------
* Speed up fullscreen medium loading a bit too
Version 6.18.2 *(2021-01-14)*
----------------------------
* Improve the performance at scrolling media thumbnails
* Speed up cached folder fetching
* Some stability and translation improvements
Version 6.18.1 *(2021-01-03)*
----------------------------
* Updated the photo and video editor to fix some glitches
* Added some translation and stability improvements
Version 6.18.0 *(2020-12-08)*
----------------------------
* Added a Video Editor
* Added Stickers and Overlays to the Photo Editor
* Some translation, stability and UI improvements
Version 6.17.3 *(2020-11-10)*
----------------------------

View file

@ -17,8 +17,8 @@ android {
applicationId "com.simplemobiletools.gallery.pro"
minSdkVersion 21
targetSdkVersion 29
versionCode 328
versionName "6.17.3"
versionCode 335
versionName "6.19.0"
setProperty("archivesBaseName", "gallery-$versionCode")
vectorDrawables.useSupportLibrary = true
}
@ -77,7 +77,7 @@ android {
}
dependencies {
implementation 'com.simplemobiletools:commons:5.32.4'
implementation 'com.simplemobiletools:commons:5.33.7'
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
implementation 'it.sephiroth.android.exif:library:1.0.1'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19'
@ -96,9 +96,9 @@ dependencies {
kapt 'com.github.bumptech.glide:compiler:4.10.0'
kapt 'androidx.room:room-compiler:2.2.5'
implementation 'androidx.room:room-runtime:2.2.5'
annotationProcessor 'androidx.room:room-compiler:2.2.5'
kapt 'androidx.room:room-compiler:2.2.6'
implementation 'androidx.room:room-runtime:2.2.6'
annotationProcessor 'androidx.room:room-compiler:2.2.6'
}
// Apply the PESDKPlugin

View file

@ -7,7 +7,6 @@ import android.graphics.Bitmap
import android.graphics.Bitmap.CompressFormat
import android.graphics.Color
import android.graphics.Point
import android.media.ExifInterface
import android.net.Uri
import android.os.Build
import android.os.Bundle
@ -16,6 +15,7 @@ import android.provider.MediaStore
import android.view.Menu
import android.view.MenuItem
import android.widget.RelativeLayout
import androidx.exifinterface.media.ExifInterface
import androidx.recyclerview.widget.LinearLayoutManager
import com.bumptech.glide.Glide
import com.bumptech.glide.load.DataSource

View file

@ -524,7 +524,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
invalidateOptionsMenu()
setupLayoutManager()
directories_grid.adapter = null
setupAdapter(mDirs)
setupAdapter(getRecyclerAdapter()?.dirs ?: mDirs)
}
}
@ -761,9 +761,9 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
private fun columnCountChanged() {
invalidateOptionsMenu()
directories_grid.adapter?.notifyDataSetChanged()
getRecyclerAdapter()?.dirs?.apply {
measureRecyclerViewContent(this)
getRecyclerAdapter()?.apply {
notifyItemRangeChanged(0, dirs.size)
measureRecyclerViewContent(dirs)
}
}
@ -936,7 +936,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
val getProperFileSize = config.directorySorting and SORT_BY_SIZE != 0
val favoritePaths = getFavoritePaths()
val dirPathsToRemove = ArrayList<String>()
val lastModifieds = if (isRPlus()) mLastMediaFetcher!!.getLastModifieds() else HashMap()
val lastModifieds = mLastMediaFetcher!!.getLastModifieds()
val dateTakens = mLastMediaFetcher!!.getDateTakens()
try {

View file

@ -46,6 +46,7 @@ import kotlinx.android.synthetic.main.activity_media.*
import java.io.File
import java.io.IOException
import java.util.*
import kotlin.collections.ArrayList
class MediaActivity : SimpleActivity(), MediaOperationsListener {
private val LAST_MEDIA_CHECK_PERIOD = 3000L
@ -74,8 +75,10 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
private var mStoredCropThumbnails = true
private var mStoredScrollHorizontally = true
private var mStoredShowFileTypes = true
private var mStoredRoundedCorners = false
private var mStoredTextColor = 0
private var mStoredPrimaryColor = 0
private var mStoredThumbnailSpacing = 0
companion object {
var mMedia = ArrayList<ThumbnailItem>()
@ -153,6 +156,16 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
media_vertical_fastscroller.updatePrimaryColor()
}
if (mStoredThumbnailSpacing != config.thumbnailSpacing) {
media_grid.adapter = null
setupAdapter()
}
if (mStoredRoundedCorners != config.fileRoundedCorners) {
media_grid.adapter = null
setupAdapter()
}
media_horizontal_fastscroller.updateBubbleColors()
media_vertical_fastscroller.updateBubbleColors()
media_refresh_layout.isEnabled = config.enablePullToRefresh
@ -298,6 +311,8 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
mStoredShowFileTypes = showThumbnailFileTypes
mStoredTextColor = textColor
mStoredPrimaryColor = primaryColor
mStoredThumbnailSpacing = thumbnailSpacing
mStoredRoundedCorners = fileRoundedCorners
mShowAll = showAll
}
}
@ -356,6 +371,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
media_empty_text_placeholder.beGone()
}
handleGridSpacing(grouped)
getMediaAdapter()?.updateMedia(grouped)
measureRecyclerViewContent(grouped)
}
@ -404,9 +420,11 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
media_grid.adapter = this
}
setupLayoutManager()
handleGridSpacing()
measureRecyclerViewContent(mMedia)
} else if (mLastSearchedText.isEmpty()) {
(currAdapter as MediaAdapter).updateMedia(mMedia)
handleGridSpacing()
measureRecyclerViewContent(mMedia)
} else {
searchQueryChanged(mLastSearchedText)
@ -691,7 +709,8 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
private fun calculateContentWidth(media: ArrayList<ThumbnailItem>) {
val layoutManager = media_grid.layoutManager as MyGridLayoutManager
val thumbnailWidth = layoutManager.getChildAt(0)?.width ?: 0
val fullWidth = ((media.size - 1) / layoutManager.spanCount + 1) * thumbnailWidth
val spacing = config.thumbnailSpacing
val fullWidth = ((media.size - 1) / layoutManager.spanCount + 1) * (thumbnailWidth + spacing) - spacing
media_horizontal_fastscroller.setContentWidth(fullWidth)
media_horizontal_fastscroller.setScrollToX(media_grid.computeHorizontalScrollOffset())
}
@ -718,11 +737,35 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
}
}
fullHeight += ((curSectionItems - 1) / layoutManager.spanCount + 1) * thumbnailHeight
val spacing = config.thumbnailSpacing
fullHeight += ((curSectionItems - 1) / layoutManager.spanCount + 1) * (thumbnailHeight + spacing) - spacing
media_vertical_fastscroller.setContentHeight(fullHeight)
media_vertical_fastscroller.setScrollToY(media_grid.computeVerticalScrollOffset())
}
private fun handleGridSpacing(media: ArrayList<ThumbnailItem> = mMedia) {
val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath)
if (viewType == VIEW_TYPE_GRID) {
val spanCount = config.mediaColumnCnt
val spacing = config.thumbnailSpacing
val useGridPosition = media.firstOrNull() is ThumbnailSection
var currentGridDecoration: GridSpacingItemDecoration? = null
if (media_grid.itemDecorationCount > 0) {
currentGridDecoration = media_grid.getItemDecorationAt(0) as GridSpacingItemDecoration
currentGridDecoration.items = media
}
val newGridDecoration = GridSpacingItemDecoration(spanCount, spacing, config.scrollHorizontally, config.fileRoundedCorners, media, useGridPosition)
if (currentGridDecoration.toString() != newGridDecoration.toString()) {
if (currentGridDecoration != null) {
media_grid.removeItemDecoration(currentGridDecoration)
}
media_grid.addItemDecoration(newGridDecoration)
}
}
}
private fun initZoomListener() {
val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath)
if (viewType == VIEW_TYPE_GRID) {
@ -773,9 +816,12 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
}
private fun columnCountChanged() {
handleGridSpacing()
invalidateOptionsMenu()
media_grid.adapter?.notifyDataSetChanged()
measureRecyclerViewContent(mMedia)
getMediaAdapter()?.apply {
notifyItemRangeChanged(0, media.size)
measureRecyclerViewContent(media)
}
}
private fun isSetWallpaperIntent() = intent.getBooleanExtra(SET_WALLPAPER_INTENT, false)
@ -945,6 +991,22 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
finish()
}
override fun updateMediaGridDecoration(media: ArrayList<ThumbnailItem>) {
var currentGridPosition = 0
media.forEach {
if (it is Medium) {
it.gridPosition = currentGridPosition++
} else if (it is ThumbnailSection) {
currentGridPosition = 0
}
}
if (media_grid.itemDecorationCount > 0) {
val currentGridDecoration = media_grid.getItemDecorationAt(0) as GridSpacingItemDecoration
currentGridDecoration.items = media
}
}
private fun setAsDefaultFolder() {
config.defaultFolder = mPath
invalidateOptionsMenu()

View file

@ -26,7 +26,12 @@ import com.simplemobiletools.gallery.pro.interfaces.MediaOperationsListener
import com.simplemobiletools.gallery.pro.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem
import com.simplemobiletools.gallery.pro.models.ThumbnailSection
import kotlinx.android.synthetic.main.activity_media.*
import kotlinx.android.synthetic.main.activity_search.*
import kotlinx.android.synthetic.main.activity_search.media_empty_text_placeholder
import kotlinx.android.synthetic.main.activity_search.media_grid
import kotlinx.android.synthetic.main.activity_search.media_horizontal_fastscroller
import kotlinx.android.synthetic.main.activity_search.media_vertical_fastscroller
import java.io.File
class SearchActivity : SimpleActivity(), MediaOperationsListener {
@ -119,6 +124,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
media_empty_text_placeholder.beGone()
}
handleGridSpacing(grouped)
getMediaAdapter()?.updateMedia(grouped)
measureRecyclerViewContent(grouped)
}
@ -139,9 +145,11 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
media_grid.adapter = this
}
setupLayoutManager()
handleGridSpacing(mAllMedia)
measureRecyclerViewContent(mAllMedia)
} else if (mLastSearchedText.isEmpty()) {
(currAdapter as MediaAdapter).updateMedia(mAllMedia)
handleGridSpacing(mAllMedia)
measureRecyclerViewContent(mAllMedia)
} else {
textChanged(mLastSearchedText)
@ -150,6 +158,20 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
setupScrollDirection()
}
private fun handleGridSpacing(media: ArrayList<ThumbnailItem>) {
val viewType = config.getFolderViewType(SHOW_ALL)
if (viewType == VIEW_TYPE_GRID) {
if (media_grid.itemDecorationCount > 0) {
media_grid.removeItemDecorationAt(0)
}
val spanCount = config.mediaColumnCnt
val spacing = config.thumbnailSpacing
val decoration = GridSpacingItemDecoration(spanCount, spacing, config.scrollHorizontally, config.fileRoundedCorners, media, true)
media_grid.addItemDecoration(decoration)
}
}
private fun getMediaAdapter() = media_grid.adapter as? MediaAdapter
private fun toggleFilenameVisibility() {
@ -357,4 +379,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
override fun selectedPaths(paths: ArrayList<String>) {
}
override fun updateMediaGridDecoration(media: ArrayList<ThumbnailItem>) {
}
}

View file

@ -12,7 +12,8 @@ import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.gallery.pro.R
import com.simplemobiletools.gallery.pro.dialogs.ChangeThumbnailStyleDialog
import com.simplemobiletools.gallery.pro.dialogs.ChangeFileThumbnailStyleDialog
import com.simplemobiletools.gallery.pro.dialogs.ChangeFolderThumbnailStyleDialog
import com.simplemobiletools.gallery.pro.dialogs.ManageBottomActionsDialog
import com.simplemobiletools.gallery.pro.dialogs.ManageExtendedDetailsDialog
import com.simplemobiletools.gallery.pro.extensions.config
@ -53,7 +54,6 @@ class SettingsActivity : SimpleActivity() {
setupRememberLastVideo()
setupLoopVideos()
setupOpenVideosOnSeparateScreen()
setupAnimateGifs()
setupMaxBrightness()
setupCropThumbnails()
setupDarkBackground()
@ -64,14 +64,11 @@ class SettingsActivity : SimpleActivity() {
setupAppPasswordProtection()
setupFileDeletionPasswordProtection()
setupDeleteEmptyFolders()
setupAllowPhotoGestures()
setupAllowVideoGestures()
setupAllowDownGesture()
setupAllowRotatingWithGestures()
setupShowNotch()
setupBottomActions()
setupThumbnailVideoDuration()
setupThumbnailFileTypes()
setupFileThumbnailStyle()
setupFolderThumbnailStyle()
setupKeepLastModified()
setupEnablePullToRefresh()
@ -90,6 +87,7 @@ class SettingsActivity : SimpleActivity() {
setupEmptyRecycleBin()
updateTextColors(settings_holder)
setupSectionColors()
setupClearCache()
setupExportSettings()
setupImportSettings()
invalidateOptionsMenu()
@ -231,14 +229,6 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupAnimateGifs() {
settings_animate_gifs.isChecked = config.animateGifs
settings_animate_gifs_holder.setOnClickListener {
settings_animate_gifs.toggle()
config.animateGifs = settings_animate_gifs.isChecked
}
}
private fun setupMaxBrightness() {
settings_max_brightness.isChecked = config.maxBrightness
settings_max_brightness_holder.setOnClickListener {
@ -255,22 +245,6 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupThumbnailVideoDuration() {
settings_show_thumbnail_video_duration.isChecked = config.showThumbnailVideoDuration
settings_show_thumbnail_video_duration_holder.setOnClickListener {
settings_show_thumbnail_video_duration.toggle()
config.showThumbnailVideoDuration = settings_show_thumbnail_video_duration.isChecked
}
}
private fun setupThumbnailFileTypes() {
settings_show_thumbnail_file_types.isChecked = config.showThumbnailFileTypes
settings_show_thumbnail_file_types_holder.setOnClickListener {
settings_show_thumbnail_file_types.toggle()
config.showThumbnailFileTypes = settings_show_thumbnail_file_types.isChecked
}
}
private fun setupDarkBackground() {
settings_black_background.isChecked = config.blackBackground
settings_black_background_holder.setOnClickListener {
@ -374,22 +348,6 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupAllowPhotoGestures() {
settings_allow_photo_gestures.isChecked = config.allowPhotoGestures
settings_allow_photo_gestures_holder.setOnClickListener {
settings_allow_photo_gestures.toggle()
config.allowPhotoGestures = settings_allow_photo_gestures.isChecked
}
}
private fun setupAllowVideoGestures() {
settings_allow_video_gestures.isChecked = config.allowVideoGestures
settings_allow_video_gestures_holder.setOnClickListener {
settings_allow_video_gestures.toggle()
config.allowVideoGestures = settings_allow_video_gestures.isChecked
}
}
private fun setupAllowDownGesture() {
settings_allow_down_gesture.isChecked = config.allowDownGesture
settings_allow_down_gesture_holder.setOnClickListener {
@ -415,10 +373,16 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupFileThumbnailStyle() {
settings_file_thumbnail_style_holder.setOnClickListener {
ChangeFileThumbnailStyleDialog(this)
}
}
private fun setupFolderThumbnailStyle() {
settings_folder_thumbnail_style.text = getFolderStyleText()
settings_folder_thumbnail_style_holder.setOnClickListener {
ChangeThumbnailStyleDialog(this) {
ChangeFolderThumbnailStyleDialog(this) {
settings_folder_thumbnail_style.text = getFolderStyleText()
}
}
@ -624,6 +588,23 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupClearCache() {
ensureBackgroundThread {
runOnUiThread {
settings_clear_cache_size.text = cacheDir.getProperSize(true).formatSize()
}
}
settings_clear_cache_holder.setOnClickListener {
ensureBackgroundThread {
cacheDir.deleteRecursively()
runOnUiThread {
settings_clear_cache_size.text = cacheDir.getProperSize(true).formatSize()
}
}
}
}
private fun setupExportSettings() {
settings_export_holder.setOnClickListener {
val configItems = LinkedHashMap<String, Any>().apply {
@ -650,6 +631,7 @@ class SettingsActivity : SimpleActivity() {
put(ANIMATE_GIFS, config.animateGifs)
put(CROP_THUMBNAILS, config.cropThumbnails)
put(SHOW_THUMBNAIL_VIDEO_DURATION, config.showThumbnailVideoDuration)
put(SHOW_THUMBNAIL_FILE_TYPES, config.showThumbnailFileTypes)
put(SCROLL_HORIZONTALLY, config.scrollHorizontally)
put(ENABLE_PULL_TO_REFRESH, config.enablePullToRefresh)
put(MAX_BRIGHTNESS, config.maxBrightness)
@ -706,6 +688,8 @@ class SettingsActivity : SimpleActivity() {
put(FOLDER_THUMBNAIL_STYLE, config.folderStyle)
put(FOLDER_MEDIA_COUNT, config.showFolderMediaCount)
put(LIMIT_FOLDER_TITLE, config.limitFolderTitle)
put(THUMBNAIL_SPACING, config.thumbnailSpacing)
put(FILE_ROUNDED_CORNERS, config.fileRoundedCorners)
}
exportSettings(configItems)
@ -787,6 +771,7 @@ class SettingsActivity : SimpleActivity() {
ANIMATE_GIFS -> config.animateGifs = value.toBoolean()
CROP_THUMBNAILS -> config.cropThumbnails = value.toBoolean()
SHOW_THUMBNAIL_VIDEO_DURATION -> config.showThumbnailVideoDuration = value.toBoolean()
SHOW_THUMBNAIL_FILE_TYPES -> config.showThumbnailFileTypes = value.toBoolean()
SCROLL_HORIZONTALLY -> config.scrollHorizontally = value.toBoolean()
ENABLE_PULL_TO_REFRESH -> config.enablePullToRefresh = value.toBoolean()
MAX_BRIGHTNESS -> config.maxBrightness = value.toBoolean()
@ -842,6 +827,8 @@ class SettingsActivity : SimpleActivity() {
FOLDER_THUMBNAIL_STYLE -> config.folderStyle = value.toInt()
FOLDER_MEDIA_COUNT -> config.showFolderMediaCount = value.toInt()
LIMIT_FOLDER_TITLE -> config.limitFolderTitle = value.toBoolean()
THUMBNAIL_SPACING -> config.thumbnailSpacing = value.toInt()
FILE_ROUNDED_CORNERS -> config.fileRoundedCorners = value.toBoolean()
ALBUM_COVERS -> {
val existingCovers = config.parseAlbumCovers()
val existingCoverPaths = existingCovers.map { it.path }.toMutableList() as ArrayList<String>

View file

@ -15,19 +15,18 @@ import android.graphics.Bitmap
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Icon
import android.media.ExifInterface
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.provider.MediaStore.Images
import android.text.Html
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.WindowManager
import android.view.animation.DecelerateInterpolator
import android.widget.Toast
import androidx.exifinterface.media.ExifInterface
import androidx.print.PrintHelper
import androidx.viewpager.widget.ViewPager
import com.bumptech.glide.Glide

View file

@ -8,6 +8,7 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.widget.RelativeLayout
import android.widget.RemoteViews
import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
@ -167,7 +168,8 @@ class WidgetConfigureActivity : SimpleActivity() {
val path = directoryDao.getDirectoryThumbnail(folderPath)
if (path != null) {
runOnUiThread {
loadJpg(path, config_image, config.cropThumbnails, ROUNDED_CORNERS_NONE)
val signature = ObjectKey(System.currentTimeMillis().toString())
loadJpg(path, config_image, config.cropThumbnails, ROUNDED_CORNERS_NONE, signature)
}
}
}

View file

@ -156,8 +156,8 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
}
private fun checkHideBtnVisibility(menu: Menu, selectedPaths: ArrayList<String>) {
menu.findItem(R.id.cab_hide).isVisible = selectedPaths.any { !it.doesThisOrParentHaveNoMedia() }
menu.findItem(R.id.cab_unhide).isVisible = selectedPaths.any { it.doesThisOrParentHaveNoMedia() }
menu.findItem(R.id.cab_hide).isVisible = selectedPaths.any { !it.doesThisOrParentHaveNoMedia(HashMap(), null) }
menu.findItem(R.id.cab_unhide).isVisible = selectedPaths.any { it.doesThisOrParentHaveNoMedia(HashMap(), null) }
}
private fun checkPinBtnVisibility(menu: Menu, selectedPaths: ArrayList<String>) {
@ -327,7 +327,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
val affectedPositions = ArrayList<Int>()
val includedFolders = config.includedFolders
val newDirs = dirs.filterIndexed { index, directory ->
val removeDir = directory.path.doesThisOrParentHaveNoMedia() && !includedFolders.contains(directory.path)
val removeDir = directory.path.doesThisOrParentHaveNoMedia(HashMap(), null) && !includedFolders.contains(directory.path)
if (removeDir) {
affectedPositions.add(index)
}
@ -680,6 +680,10 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
dir_check.background?.applyColorFilter(primaryColor)
}
if (isListViewType) {
dir_holder.isSelected = isSelected
}
if (scrollHorizontally && !isListViewType && folderStyle == FOLDER_STYLE_ROUNDED_CORNERS) {
(dir_thumbnail.layoutParams as RelativeLayout.LayoutParams).addRule(RelativeLayout.ABOVE, dir_name.id)
@ -710,7 +714,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
else -> ROUNDED_CORNERS_BIG
}
activity.loadImage(thumbnailType, directory.tmb, dir_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners)
activity.loadImage(thumbnailType, directory.tmb, dir_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners, directory.getKey())
}
dir_pin.beVisibleIf(pinnedFolders.contains(directory.path))

View file

@ -18,10 +18,7 @@ import com.simplemobiletools.commons.dialogs.PropertiesDialog
import com.simplemobiletools.commons.dialogs.RenameDialog
import com.simplemobiletools.commons.dialogs.RenameItemDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.FAVORITES
import com.simplemobiletools.commons.helpers.VIEW_TYPE_LIST
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isOreoPlus
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.FileDirItem
import com.simplemobiletools.commons.views.FastScroller
import com.simplemobiletools.commons.views.MyRecyclerView
@ -38,7 +35,7 @@ import kotlinx.android.synthetic.main.photo_video_item_grid.view.*
import kotlinx.android.synthetic.main.thumbnail_section.view.*
import java.util.*
class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<ThumbnailItem>, val listener: MediaOperationsListener?, val isAGetIntent: Boolean,
class MediaAdapter(activity: BaseSimpleActivity, var media: ArrayList<ThumbnailItem>, val listener: MediaOperationsListener?, val isAGetIntent: Boolean,
val allowMultiplePicks: Boolean, val path: String, recyclerView: MyRecyclerView, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit) :
MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) {
@ -442,7 +439,9 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Thumbnai
media.removeAll(removeMedia)
listener?.tryDeleteFiles(fileDirItems)
listener?.updateMediaGridDecoration(media)
removeSelectedItems(positions)
currentMediaHash = media.hashCode()
}
}
@ -458,12 +457,10 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Thumbnai
val thumbnailItems = newMedia.clone() as ArrayList<ThumbnailItem>
if (thumbnailItems.hashCode() != currentMediaHash) {
currentMediaHash = thumbnailItems.hashCode()
Handler().postDelayed({
media = thumbnailItems
enableInstantLoad()
notifyDataSetChanged()
finishActMode()
}, 100L)
}
}
@ -502,6 +499,14 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Thumbnai
private fun setupThumbnail(view: View, medium: Medium) {
val isSelected = selectedKeys.contains(medium.path.hashCode())
view.apply {
val padding = if (config.thumbnailSpacing <= 1) {
config.thumbnailSpacing
} else {
0
}
media_item_holder.setPadding(padding, padding, padding, padding)
play_outline.beVisibleIf(medium.isVideo() || medium.isPortrait())
if (medium.isVideo()) {
play_outline.setImageResource(R.drawable.ic_play_outline_vector)
@ -537,21 +542,32 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Thumbnai
medium_check?.background?.applyColorFilter(primaryColor)
}
if (isListViewType) {
media_item_holder.isSelected = isSelected
}
var path = medium.path
if (hasOTGConnected && context.isPathOnOTG(path)) {
path = path.getOTGPublicPath(context)
}
val roundedCorners = if (isListViewType) ROUNDED_CORNERS_SMALL else ROUNDED_CORNERS_NONE
val roundedCorners = when {
isListViewType -> ROUNDED_CORNERS_SMALL
config.fileRoundedCorners -> ROUNDED_CORNERS_BIG
else -> ROUNDED_CORNERS_NONE
}
if (loadImageInstantly) {
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners, rotatedImagePaths)
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners, medium.getKey(),
rotatedImagePaths)
} else {
medium_thumbnail.setImageDrawable(null)
medium_thumbnail.isHorizontalScrolling = scrollHorizontally
delayHandler.postDelayed({
val isVisible = visibleItemPaths.contains(medium.path)
if (isVisible) {
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners, rotatedImagePaths)
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners,
medium.getKey(), rotatedImagePaths)
}
}, IMAGE_LOAD_DELAY)
}

View file

@ -30,7 +30,7 @@ class GetMediaAsynctask(val context: Context, val mPath: String, val isPickImage
val getProperFileSize = fileSorting and SORT_BY_SIZE != 0
val favoritePaths = context.getFavoritePaths()
val getVideoDurations = context.config.showThumbnailVideoDuration
val lastModifieds = if (isRPlus() && getProperLastModified) mediaFetcher.getLastModifieds() else HashMap()
val lastModifieds = if (getProperLastModified) mediaFetcher.getLastModifieds() else HashMap()
val dateTakens = if (getProperDateTaken) mediaFetcher.getDateTakens() else HashMap()
val media = if (showAll) {

View file

@ -0,0 +1,70 @@
package com.simplemobiletools.gallery.pro.dialogs
import android.content.DialogInterface
import android.view.View
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.gallery.pro.R
import com.simplemobiletools.gallery.pro.extensions.config
import kotlinx.android.synthetic.main.dialog_change_file_thumbnail_style.view.*
class ChangeFileThumbnailStyleDialog(val activity: BaseSimpleActivity) : DialogInterface.OnClickListener {
private var config = activity.config
private var view: View
private var thumbnailSpacing = config.thumbnailSpacing
init {
view = activity.layoutInflater.inflate(R.layout.dialog_change_file_thumbnail_style, null).apply {
dialog_file_style_rounded_corners.isChecked = config.fileRoundedCorners
dialog_file_style_animate_gifs.isChecked = config.animateGifs
dialog_file_style_show_thumbnail_video_duration.isChecked = config.showThumbnailVideoDuration
dialog_file_style_show_thumbnail_file_types.isChecked = config.showThumbnailFileTypes
dialog_file_style_rounded_corners_holder.setOnClickListener { dialog_file_style_rounded_corners.toggle() }
dialog_file_style_animate_gifs_holder.setOnClickListener { dialog_file_style_animate_gifs.toggle() }
dialog_file_style_show_thumbnail_video_duration_holder.setOnClickListener { dialog_file_style_show_thumbnail_video_duration.toggle() }
dialog_file_style_show_thumbnail_file_types_holder.setOnClickListener { dialog_file_style_show_thumbnail_file_types.toggle() }
dialog_file_style_spacing_holder.setOnClickListener {
val items = arrayListOf(
RadioItem(0, "0x"),
RadioItem(1, "1x"),
RadioItem(2, "2x"),
RadioItem(4, "4x"),
RadioItem(8, "8x"),
RadioItem(16, "16x"),
RadioItem(32, "32x"),
RadioItem(64, "64x"))
RadioGroupDialog(activity, items, thumbnailSpacing) {
thumbnailSpacing = it as Int
updateThumbnailSpacingText()
}
}
}
updateThumbnailSpacingText()
AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok, this)
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this)
}
}
override fun onClick(dialog: DialogInterface, which: Int) {
config.fileRoundedCorners = view.dialog_file_style_rounded_corners.isChecked
config.animateGifs = view.dialog_file_style_animate_gifs.isChecked
config.showThumbnailVideoDuration = view.dialog_file_style_show_thumbnail_video_duration.isChecked
config.showThumbnailFileTypes = view.dialog_file_style_show_thumbnail_file_types.isChecked
config.thumbnailSpacing = thumbnailSpacing
}
private fun updateThumbnailSpacingText() {
view.dialog_file_style_spacing.text = "${thumbnailSpacing}x"
}
}

View file

@ -15,16 +15,16 @@ import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.R
import com.simplemobiletools.gallery.pro.extensions.config
import com.simplemobiletools.gallery.pro.helpers.*
import kotlinx.android.synthetic.main.dialog_change_thumbnail_style.view.*
import kotlinx.android.synthetic.main.dialog_change_folder_thumbnail_style.view.*
import kotlinx.android.synthetic.main.directory_item_grid_square.view.*
class ChangeThumbnailStyleDialog(val activity: BaseSimpleActivity, val callback: () -> Unit) : DialogInterface.OnClickListener {
class ChangeFolderThumbnailStyleDialog(val activity: BaseSimpleActivity, val callback: () -> Unit) : DialogInterface.OnClickListener {
private var config = activity.config
private var view: View
init {
view = activity.layoutInflater.inflate(R.layout.dialog_change_thumbnail_style, null).apply {
dialog_limit_title.isChecked = config.limitFolderTitle
view = activity.layoutInflater.inflate(R.layout.dialog_change_folder_thumbnail_style, null).apply {
dialog_folder_limit_title.isChecked = config.limitFolderTitle
}
AlertDialog.Builder(activity)
@ -40,29 +40,29 @@ class ChangeThumbnailStyleDialog(val activity: BaseSimpleActivity, val callback:
}
private fun setupStyle() {
val styleRadio = view.dialog_radio_style
val styleRadio = view.dialog_radio_folder_style
styleRadio.setOnCheckedChangeListener { group, checkedId ->
updateSample()
}
val styleBtn = when (config.folderStyle) {
FOLDER_STYLE_SQUARE -> styleRadio.dialog_radio_square
else -> styleRadio.dialog_radio_rounded_corners
FOLDER_STYLE_SQUARE -> styleRadio.dialog_radio_folder_square
else -> styleRadio.dialog_radio_folder_rounded_corners
}
styleBtn.isChecked = true
}
private fun setupMediaCount() {
val countRadio = view.dialog_radio_count_holder
val countRadio = view.dialog_radio_folder_count_holder
countRadio.setOnCheckedChangeListener { group, checkedId ->
updateSample()
}
val countBtn = when (config.showFolderMediaCount) {
FOLDER_MEDIA_CNT_LINE -> countRadio.dialog_radio_count_line
FOLDER_MEDIA_CNT_BRACKETS -> countRadio.dialog_radio_count_brackets
else -> countRadio.dialog_radio_count_none
FOLDER_MEDIA_CNT_LINE -> countRadio.dialog_radio_folder_count_line
FOLDER_MEDIA_CNT_BRACKETS -> countRadio.dialog_radio_folder_count_brackets
else -> countRadio.dialog_radio_folder_count_none
}
countBtn.isChecked = true
@ -72,23 +72,23 @@ class ChangeThumbnailStyleDialog(val activity: BaseSimpleActivity, val callback:
val photoCount = 36
val folderName = "Camera"
view.apply {
val useRoundedCornersLayout = dialog_radio_style.checkedRadioButtonId == R.id.dialog_radio_rounded_corners
dialog_sample_holder.removeAllViews()
val useRoundedCornersLayout = dialog_radio_folder_style.checkedRadioButtonId == R.id.dialog_radio_folder_rounded_corners
dialog_folder_sample_holder.removeAllViews()
val layout = if (useRoundedCornersLayout) R.layout.directory_item_grid_rounded_corners else R.layout.directory_item_grid_square
val sampleView = activity.layoutInflater.inflate(layout, null)
dialog_sample_holder.addView(sampleView)
dialog_folder_sample_holder.addView(sampleView)
sampleView.layoutParams.width = activity.resources.getDimension(R.dimen.sample_thumbnail_size).toInt()
(sampleView.layoutParams as RelativeLayout.LayoutParams).addRule(RelativeLayout.CENTER_HORIZONTAL)
when (dialog_radio_count_holder.checkedRadioButtonId) {
R.id.dialog_radio_count_line -> {
when (dialog_radio_folder_count_holder.checkedRadioButtonId) {
R.id.dialog_radio_folder_count_line -> {
dir_name.text = folderName
photo_cnt.text = photoCount.toString()
photo_cnt.beVisible()
}
R.id.dialog_radio_count_brackets -> {
R.id.dialog_radio_folder_count_brackets -> {
photo_cnt.beGone()
dir_name.text = "$folderName ($photoCount)"
}
@ -115,20 +115,20 @@ class ChangeThumbnailStyleDialog(val activity: BaseSimpleActivity, val callback:
}
override fun onClick(dialog: DialogInterface, which: Int) {
val style = when (view.dialog_radio_style.checkedRadioButtonId) {
R.id.dialog_radio_square -> FOLDER_STYLE_SQUARE
val style = when (view.dialog_radio_folder_style.checkedRadioButtonId) {
R.id.dialog_radio_folder_square -> FOLDER_STYLE_SQUARE
else -> FOLDER_STYLE_ROUNDED_CORNERS
}
val count = when (view.dialog_radio_count_holder.checkedRadioButtonId) {
R.id.dialog_radio_count_line -> FOLDER_MEDIA_CNT_LINE
R.id.dialog_radio_count_brackets -> FOLDER_MEDIA_CNT_BRACKETS
val count = when (view.dialog_radio_folder_count_holder.checkedRadioButtonId) {
R.id.dialog_radio_folder_count_line -> FOLDER_MEDIA_CNT_LINE
R.id.dialog_radio_folder_count_brackets -> FOLDER_MEDIA_CNT_BRACKETS
else -> FOLDER_MEDIA_CNT_NONE
}
config.folderStyle = style
config.showFolderMediaCount = count
config.limitFolderTitle = view.dialog_limit_title.isChecked
config.limitFolderTitle = view.dialog_folder_limit_title.isChecked
callback()
}
}

View file

@ -10,7 +10,6 @@ import android.graphics.BitmapFactory
import android.graphics.Matrix
import android.graphics.drawable.Drawable
import android.graphics.drawable.LayerDrawable
import android.media.ExifInterface
import android.net.Uri
import android.os.Build
import android.provider.MediaStore
@ -19,6 +18,7 @@ import android.provider.MediaStore.Images
import android.util.DisplayMetrics
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.exifinterface.media.ExifInterface
import com.bumptech.glide.Glide
import com.bumptech.glide.load.DecodeFormat
import com.bumptech.glide.load.engine.DiskCacheStrategy
@ -36,10 +36,7 @@ import com.simplemobiletools.gallery.pro.dialogs.PickDirectoryDialog
import com.simplemobiletools.gallery.pro.helpers.RECYCLE_BIN
import com.simplemobiletools.gallery.pro.models.DateTaken
import com.squareup.picasso.Picasso
import java.io.File
import java.io.FileOutputStream
import java.io.InputStream
import java.io.OutputStream
import java.io.*
import java.text.SimpleDateFormat
import java.util.*
@ -281,7 +278,7 @@ fun BaseSimpleActivity.movePathsInRecycleBin(paths: ArrayList<String>, callback:
out?.flush()
if (fileDocument?.getItemSize(true) == copiedSize && getDoesFilePathExist(destination)) {
if (fileDocument.getItemSize(true) == copiedSize && getDoesFilePathExist(destination)) {
mediaDB.updateDeleted("$RECYCLE_BIN$source", System.currentTimeMillis(), source)
pathsCnt--
}
@ -598,7 +595,7 @@ fun Activity.fileRotatedSuccessfully(path: String, lastModified: Long) {
updateLastModified(path, lastModified)
}
Picasso.get().invalidate(path.getFileKey())
Picasso.get().invalidate(path.getFileKey(lastModified))
// we cannot refresh a specific image in Glide Cache, so just clear it all
val glide = Glide.get(applicationContext)
glide.clearDiskCache()

View file

@ -18,6 +18,7 @@ import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.gallery.pro.R
@ -379,7 +380,12 @@ fun Context.storeDirectoryItems(items: ArrayList<Directory>) {
fun Context.checkAppendingHidden(path: String, hidden: String, includedFolders: MutableSet<String>, noMediaFolders: ArrayList<String>): String {
val dirName = getFolderNameFromPath(path)
return if (path.doesThisOrParentHaveNoMedia(noMediaFolders) && !path.isThisOrParentIncluded(includedFolders)) {
val folderNoMediaStatuses = java.util.HashMap<String, Boolean>()
noMediaFolders.forEach { folder ->
folderNoMediaStatuses["$folder/$NOMEDIA"] = true
}
return if (path.doesThisOrParentHaveNoMedia(folderNoMediaStatuses, null) && !path.isThisOrParentIncluded(includedFolders)) {
"$dirName $hidden"
} else {
dirName
@ -398,17 +404,17 @@ fun Context.getFolderNameFromPath(path: String): String {
}
fun Context.loadImage(type: Int, path: String, target: MySquareImageView, horizontalScroll: Boolean, animateGifs: Boolean, cropThumbnails: Boolean,
roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
roundCorners: Int, signature: ObjectKey, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
target.isHorizontalScrolling = horizontalScroll
if (type == TYPE_IMAGES || type == TYPE_VIDEOS || type == TYPE_RAWS || type == TYPE_PORTRAITS) {
if (type == TYPE_IMAGES && path.isPng()) {
loadPng(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
loadPng(path, target, cropThumbnails, roundCorners, signature, skipMemoryCacheAtPaths)
} else {
loadJpg(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
loadJpg(path, target, cropThumbnails, roundCorners, signature, skipMemoryCacheAtPaths)
}
} else if (type == TYPE_GIFS) {
if (!animateGifs) {
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
loadStaticGIF(path, target, cropThumbnails, roundCorners, signature, skipMemoryCacheAtPaths)
return
}
@ -419,12 +425,12 @@ fun Context.loadImage(type: Int, path: String, target: MySquareImageView, horizo
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
} catch (e: Exception) {
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
loadStaticGIF(path, target, cropThumbnails, roundCorners, signature, skipMemoryCacheAtPaths)
} catch (e: OutOfMemoryError) {
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
loadStaticGIF(path, target, cropThumbnails, roundCorners, signature, skipMemoryCacheAtPaths)
}
} else if (type == TYPE_SVGS) {
loadSVG(path, target, cropThumbnails, roundCorners)
loadSVG(path, target, cropThumbnails, roundCorners, signature)
}
}
@ -449,9 +455,9 @@ fun Context.getPathLocation(path: String): Int {
}
}
fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, signature: ObjectKey, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
val options = RequestOptions()
.signature(path.getFileSignature())
.signature(signature)
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.priority(Priority.LOW)
@ -472,9 +478,9 @@ fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boo
builder.into(target)
}
fun Context.loadJpg(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
fun Context.loadJpg(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, signature: ObjectKey, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
val options = RequestOptions()
.signature(path.getFileSignature())
.signature(signature)
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
.priority(Priority.LOW)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
@ -494,9 +500,9 @@ fun Context.loadJpg(path: String, target: MySquareImageView, cropThumbnails: Boo
builder.into(target)
}
fun Context.loadStaticGIF(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
fun Context.loadStaticGIF(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, signature: ObjectKey, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
val options = RequestOptions()
.signature(path.getFileSignature())
.signature(signature)
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
.priority(Priority.LOW)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
@ -516,10 +522,10 @@ fun Context.loadStaticGIF(path: String, target: MySquareImageView, cropThumbnail
builder.into(target)
}
fun Context.loadSVG(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int) {
fun Context.loadSVG(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, signature: ObjectKey) {
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
val options = RequestOptions().signature(path.getFileSignature())
val options = RequestOptions().signature(signature)
var builder = Glide.with(applicationContext)
.`as`(PictureDrawable::class.java)
.listener(SvgSoftwareLayerSetter())
@ -552,10 +558,14 @@ fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly:
val excludedPaths = config.excludedFolders
val includedPaths = config.includedFolders
val noMediaFolders = getNoMediaFoldersSync()
val folderNoMediaStatuses = HashMap<String, Boolean>()
val noMediaFolders = getNoMediaFoldersSync()
noMediaFolders.forEach { folder ->
folderNoMediaStatuses["$folder/$NOMEDIA"] = true
}
var filteredDirectories = directories.filter {
it.path.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNoMediaStatuses, noMediaFolders) { path, hasNoMedia ->
it.path.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNoMediaStatuses) { path, hasNoMedia ->
folderNoMediaStatuses[path] = hasNoMedia
}
} as ArrayList<Directory>
@ -574,14 +584,26 @@ fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly:
}
}) as ArrayList<Directory>
if (shouldShowHidden) {
val hiddenString = resources.getString(R.string.hidden)
filteredDirectories.forEach {
it.name = if (it.path.doesThisOrParentHaveNoMedia(noMediaFolders) && !it.path.isThisOrParentIncluded(includedPaths)) {
val noMediaPath = "${it.path}/$NOMEDIA"
val hasNoMedia = if (folderNoMediaStatuses.keys.contains(noMediaPath)) {
folderNoMediaStatuses[noMediaPath]!!
} else {
it.path.doesThisOrParentHaveNoMedia(folderNoMediaStatuses) { path, hasNoMedia ->
val newPath = "$path/$NOMEDIA"
folderNoMediaStatuses[newPath] = hasNoMedia
}
}
it.name = if (hasNoMedia && !it.path.isThisOrParentIncluded(includedPaths)) {
"${it.name.removeSuffix(hiddenString).trim()} $hiddenString"
} else {
it.name.removeSuffix(hiddenString).trim()
}
}
}
val clone = filteredDirectories.clone() as ArrayList<Directory>
callback(clone.distinctBy { it.path.getDistinctPath() } as ArrayList<Directory>)
@ -924,7 +946,7 @@ fun Context.updateDirectoryPath(path: String) {
val getProperFileSize = config.directorySorting and SORT_BY_SIZE != 0
val lastModifieds = if (isRPlus() && getProperLastModified) mediaFetcher.getFolderLastModifieds(path) else HashMap()
val lastModifieds = if (getProperLastModified) mediaFetcher.getFolderLastModifieds(path) else HashMap()
val dateTakens = mediaFetcher.getFolderDateTakens(path)
val favoritePaths = getFavoritePaths()
val curMedia = mediaFetcher.getFilesFrom(path, getImagesOnly, getVideosOnly, getProperDateTaken, getProperLastModified, getProperFileSize,

View file

@ -1,6 +1,6 @@
package com.simplemobiletools.gallery.pro.extensions
import android.media.ExifInterface
import androidx.exifinterface.media.ExifInterface
import java.lang.reflect.Field
import java.lang.reflect.Modifier

View file

@ -11,8 +11,7 @@ fun String.isThisOrParentExcluded(excludedPaths: MutableSet<String>) = excludedP
// cache which folders contain .nomedia files to avoid checking them over and over again
fun String.shouldFolderBeVisible(excludedPaths: MutableSet<String>, includedPaths: MutableSet<String>, showHidden: Boolean,
folderNoMediaStatuses: HashMap<String, Boolean>, noMediaFolders: ArrayList<String> = ArrayList(),
callback: (path: String, hasNoMedia: Boolean) -> Unit): Boolean {
folderNoMediaStatuses: HashMap<String, Boolean>, callback: (path: String, hasNoMedia: Boolean) -> Unit): Boolean {
if (isEmpty()) {
return false
}
@ -37,7 +36,7 @@ fun String.shouldFolderBeVisible(excludedPaths: MutableSet<String>, includedPath
val containsNoMedia = if (showHidden) {
false
} else {
noMediaFolders.contains(this) || File(this, NOMEDIA).exists()
folderNoMediaStatuses.getOrElse("$this/$NOMEDIA", { false }) || File(this, NOMEDIA).exists()
}
return if (!showHidden && containsNoMedia) {
@ -54,14 +53,14 @@ fun String.shouldFolderBeVisible(excludedPaths: MutableSet<String>, includedPath
var curPath = this
for (i in 0 until count { it == '/' } - 1) {
curPath = curPath.substringBeforeLast('/')
val pathToCheck = "$curPath/${NOMEDIA}"
val pathToCheck = "$curPath/$NOMEDIA"
if (folderNoMediaStatuses.contains(pathToCheck)) {
if (folderNoMediaStatuses[pathToCheck] == true) {
containsNoMediaOrDot = true
break
}
} else {
val noMediaExists = noMediaFolders.contains(pathToCheck) || File(pathToCheck).exists()
val noMediaExists = folderNoMediaStatuses.getOrElse(pathToCheck, { false }) || File(pathToCheck).exists()
callback(pathToCheck, noMediaExists)
if (noMediaExists) {
containsNoMediaOrDot = true

View file

@ -9,7 +9,6 @@ import android.graphics.Matrix
import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Drawable
import android.graphics.drawable.PictureDrawable
import android.media.ExifInterface.*
import android.net.Uri
import android.os.Build
import android.os.Bundle
@ -20,6 +19,7 @@ import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.widget.RelativeLayout
import androidx.exifinterface.media.ExifInterface.*
import com.alexvasilkov.gestures.GestureController
import com.alexvasilkov.gestures.State
import com.bumptech.glide.Glide
@ -410,7 +410,7 @@ class PhotoFragment : ViewPagerFragment() {
private fun loadWithGlide(path: String, addZoomableView: Boolean) {
val priority = if (mIsFragmentVisible) Priority.IMMEDIATE else Priority.NORMAL
val options = RequestOptions()
.signature(getFilePathToShow().getFileSignature())
.signature(mMedium.getKey())
.format(DecodeFormat.PREFER_ARGB_8888)
.priority(priority)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
@ -450,7 +450,7 @@ class PhotoFragment : ViewPagerFragment() {
val picasso = Picasso.get()
.load(pathToLoad)
.centerInside()
.stableKey(mMedium.path.getFileKey())
.stableKey(mMedium.getSignature())
.resize(mScreenWidth, mScreenHeight)
if (mCurrentRotationDegrees != 0) {
@ -617,7 +617,7 @@ class PhotoFragment : ViewPagerFragment() {
val minTileDpi = if (showHighestQuality) -1 else getMinTileDpi()
val bitmapDecoder = object : DecoderFactory<ImageDecoder> {
override fun make() = MyGlideImageDecoder(rotation, mMedium.getSignature())
override fun make() = MyGlideImageDecoder(rotation, mMedium.getKey())
}
val regionDecoder = object : DecoderFactory<ImageRegionDecoder> {
@ -715,7 +715,7 @@ class PhotoFragment : ViewPagerFragment() {
val tag = exif.getTag(ExifInterface.TAG_ORIENTATION)
tag?.getValueAsInt(defaultOrientation) ?: defaultOrientation
} else {
val exif = android.media.ExifInterface(path)
val exif = androidx.exifinterface.media.ExifInterface(path)
exif.getAttributeInt(TAG_ORIENTATION, defaultOrientation)
}

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.gallery.pro.fragments
import android.media.ExifInterface
import android.provider.MediaStore
import android.provider.MediaStore.Files
import android.provider.MediaStore.Images
import android.view.MotionEvent
import androidx.exifinterface.media.ExifInterface
import androidx.fragment.app.Fragment
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.gallery.pro.extensions.config

View file

@ -269,7 +269,7 @@ class Config(context: Context) : BaseConfig(context) {
set(deleteEmptyFolders) = prefs.edit().putBoolean(DELETE_EMPTY_FOLDERS, deleteEmptyFolders).apply()
var allowPhotoGestures: Boolean
get() = prefs.getBoolean(ALLOW_PHOTO_GESTURES, false)
get() = prefs.getBoolean(ALLOW_PHOTO_GESTURES, true)
set(allowPhotoGestures) = prefs.edit().putBoolean(ALLOW_PHOTO_GESTURES, allowPhotoGestures).apply()
var allowVideoGestures: Boolean
@ -507,4 +507,12 @@ class Config(context: Context) : BaseConfig(context) {
var limitFolderTitle: Boolean
get() = prefs.getBoolean(LIMIT_FOLDER_TITLE, false)
set(limitFolderTitle) = prefs.edit().putBoolean(LIMIT_FOLDER_TITLE, limitFolderTitle).apply()
var thumbnailSpacing: Int
get() = prefs.getInt(THUMBNAIL_SPACING, 1)
set(thumbnailSpacing) = prefs.edit().putInt(THUMBNAIL_SPACING, thumbnailSpacing).apply()
var fileRoundedCorners: Boolean
get() = prefs.getBoolean(FILE_ROUNDED_CORNERS, false)
set(fileRoundedCorners) = prefs.edit().putBoolean(FILE_ROUNDED_CORNERS, fileRoundedCorners).apply()
}

View file

@ -86,6 +86,8 @@ const val WERE_FAVORITES_MIGRATED = "were_favorites_migrated"
const val FOLDER_THUMBNAIL_STYLE = "folder_thumbnail_style"
const val FOLDER_MEDIA_COUNT = "folder_media_count"
const val LIMIT_FOLDER_TITLE = "folder_limit_title"
const val THUMBNAIL_SPACING = "thumbnail_spacing"
const val FILE_ROUNDED_CORNERS = "file_rounded_corners"
// slideshow
const val SLIDESHOW_INTERVAL = "slideshow_interval"

View file

@ -0,0 +1,60 @@
package com.simplemobiletools.gallery.pro.helpers
import android.graphics.Rect
import android.view.View
import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.gallery.pro.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem
class GridSpacingItemDecoration(val spanCount: Int, val spacing: Int, val isScrollingHorizontally: Boolean, val addSideSpacing: Boolean,
var items: ArrayList<ThumbnailItem>, val useGridPosition: Boolean) : RecyclerView.ItemDecoration() {
override fun toString() = "spanCount: $spanCount, spacing: $spacing, isScrollingHorizontally: $isScrollingHorizontally, addSideSpacing: $addSideSpacing, " +
"items: ${items.hashCode()}, useGridPosition: $useGridPosition"
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
if (spacing <= 1) {
return
}
val position = parent.getChildAdapterPosition(view)
val medium = items.getOrNull(position) as? Medium ?: return
val gridPositionToUse = if (useGridPosition) medium.gridPosition else position
val column = gridPositionToUse % spanCount
if (isScrollingHorizontally) {
if (addSideSpacing) {
outRect.top = spacing - column * spacing / spanCount
outRect.bottom = (column + 1) * spacing / spanCount
outRect.right = spacing
if (position < spanCount) {
outRect.left = spacing
}
} else {
outRect.top = column * spacing / spanCount
outRect.bottom = spacing - (column + 1) * spacing / spanCount
if (position >= spanCount) {
outRect.left = spacing
}
}
} else {
if (addSideSpacing) {
outRect.left = spacing - column * spacing / spanCount
outRect.right = (column + 1) * spacing / spanCount
outRect.bottom = spacing
if (position < spanCount && !useGridPosition) {
outRect.top = spacing
}
} else {
outRect.left = column * spacing / spanCount
outRect.right = spacing - (column + 1) * spacing / spanCount
if (gridPositionToUse >= spanCount) {
outRect.top = spacing
}
}
}
}
}

View file

@ -69,7 +69,7 @@ class MediaFetcher(val context: Context) {
val excludedPaths = config.excludedFolders
val includedPaths = config.includedFolders
val folderNomediaStatuses = HashMap<String, Boolean>()
val folderNoMediaStatuses = HashMap<String, Boolean>()
val distinctPathsMap = HashMap<String, String>()
val distinctPaths = folders.distinctBy {
when {
@ -83,9 +83,13 @@ class MediaFetcher(val context: Context) {
}
val noMediaFolders = context.getNoMediaFoldersSync()
noMediaFolders.forEach { folder ->
folderNoMediaStatuses["$folder/$NOMEDIA"] = true
}
distinctPaths.filter {
it.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNomediaStatuses, noMediaFolders) { path, hasNoMedia ->
folderNomediaStatuses[path] = hasNoMedia
it.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNoMediaStatuses) { path, hasNoMedia ->
folderNoMediaStatuses[path] = hasNoMedia
}
}.toMutableList() as ArrayList<String>
} catch (e: Exception) {
@ -319,18 +323,16 @@ class MediaFetcher(val context: Context) {
media.add(this)
}
} else {
var lastModified = 0L
if (getProperLastModified) {
if (isRPlus()) {
var lastModified: Long
var newLastModified = lastModifieds.remove(path)
if (newLastModified == null) {
newLastModified = file.lastModified()
newLastModified = if (getProperLastModified) {
file.lastModified()
} else {
0L
}
}
lastModified = newLastModified
} else {
lastModified = file.lastModified()
}
}
var dateTaken = lastModified
val videoDuration = if (getVideoDurations && isVideo) context.getDuration(path) ?: 0 else 0
@ -590,7 +592,7 @@ class MediaFetcher(val context: Context) {
return
}
media.sortWith(Comparator { o1, o2 ->
media.sortWith { o1, o2 ->
o1 as Medium
o2 as Medium
var result = when {
@ -617,7 +619,7 @@ class MediaFetcher(val context: Context) {
result *= -1
}
result
})
}
}
fun groupMedia(media: ArrayList<Medium>, path: String): ArrayList<ThumbnailItem> {
@ -662,8 +664,14 @@ class MediaFetcher(val context: Context) {
val today = formatDate(System.currentTimeMillis().toString(), true)
val yesterday = formatDate((System.currentTimeMillis() - DAY_SECONDS * 1000).toString(), true)
for ((key, value) in mediumGroups) {
var currentGridPosition = 0
val sectionKey = getFormattedKey(key, currentGrouping, today, yesterday)
thumbnailItems.add(ThumbnailSection(sectionKey))
value.forEach {
it.gridPosition = currentGridPosition++
}
thumbnailItems.addAll(value)
}

View file

@ -1,6 +1,7 @@
package com.simplemobiletools.gallery.pro.interfaces
import com.simplemobiletools.commons.models.FileDirItem
import com.simplemobiletools.gallery.pro.models.ThumbnailItem
interface MediaOperationsListener {
fun refreshItems()
@ -8,4 +9,6 @@ interface MediaOperationsListener {
fun tryDeleteFiles(fileDirItems: ArrayList<FileDirItem>)
fun selectedPaths(paths: ArrayList<String>)
fun updateMediaGridDecoration(media: ArrayList<ThumbnailItem>)
}

View file

@ -2,6 +2,7 @@ package com.simplemobiletools.gallery.pro.models
import android.content.Context
import androidx.room.*
import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.extensions.formatDate
import com.simplemobiletools.commons.extensions.formatSize
import com.simplemobiletools.commons.helpers.*
@ -39,4 +40,6 @@ data class Directory(
fun areFavorites() = path == FAVORITES
fun isRecycleBin() = path == RECYCLE_BIN
fun getKey() = ObjectKey("$path-$modified")
}

View file

@ -1,10 +1,7 @@
package com.simplemobiletools.gallery.pro.models
import android.content.Context
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
import androidx.room.*
import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.extensions.formatDate
import com.simplemobiletools.commons.extensions.formatSize
@ -15,6 +12,7 @@ import com.simplemobiletools.commons.helpers.SORT_BY_NAME
import com.simplemobiletools.commons.helpers.SORT_BY_PATH
import com.simplemobiletools.commons.helpers.SORT_BY_SIZE
import com.simplemobiletools.gallery.pro.helpers.*
import java.io.File
import java.io.Serializable
import java.util.*
@ -24,13 +22,18 @@ data class Medium(
@ColumnInfo(name = "filename") var name: String,
@ColumnInfo(name = "full_path") var path: String,
@ColumnInfo(name = "parent_path") var parentPath: String,
@ColumnInfo(name = "last_modified") val modified: Long,
@ColumnInfo(name = "last_modified") var modified: Long,
@ColumnInfo(name = "date_taken") var taken: Long,
@ColumnInfo(name = "size") val size: Long,
@ColumnInfo(name = "type") val type: Int,
@ColumnInfo(name = "video_duration") val videoDuration: Int,
@ColumnInfo(name = "size") var size: Long,
@ColumnInfo(name = "type") var type: Int,
@ColumnInfo(name = "video_duration") var videoDuration: Int,
@ColumnInfo(name = "is_favorite") var isFavorite: Boolean,
@ColumnInfo(name = "deleted_ts") var deletedTS: Long) : Serializable, ThumbnailItem() {
@ColumnInfo(name = "deleted_ts") var deletedTS: Long,
@Ignore var gridPosition: Int = 0 // used at grid view decoration at Grouping enabled
) : Serializable, ThumbnailItem() {
constructor() : this(null, "", "", "", 0L, 0L, 0L, 0, 0, false, 0L, 0)
companion object {
private const val serialVersionUID = -6553149366975655L
@ -91,5 +94,15 @@ data class Medium(
return calendar.timeInMillis.toString()
}
fun getSignature() = ObjectKey("$path-$modified-$size")
fun getSignature(): String {
val lastModified = if (modified > 1) {
modified
} else {
File(path).lastModified()
}
return "$path-$lastModified-$size"
}
fun getKey() = ObjectKey(getSignature())
}

View file

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/media_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/media_empty_text_placeholder"

View file

@ -310,29 +310,6 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_allow_video_gestures_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingStart="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_allow_video_gestures"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/allow_video_gestures"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/thumbnails_label"
android:layout_width="wrap_content"
@ -343,29 +320,6 @@
android:textAllCaps="true"
android:textSize="@dimen/smaller_text_size" />
<RelativeLayout
android:id="@+id/settings_animate_gifs_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingStart="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_animate_gifs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/animate_gifs"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_crop_thumbnails_holder"
android:layout_width="match_parent"
@ -390,48 +344,24 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_show_thumbnail_video_duration_holder"
android:id="@+id/settings_file_thumbnail_style_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingStart="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingTop="@dimen/bigger_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:paddingBottom="@dimen/bigger_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_show_thumbnail_video_duration"
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_file_thumbnail_style_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:layout_centerVertical="true"
android:paddingStart="@dimen/medium_margin"
android:text="@string/show_thumbnail_video_duration"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_show_thumbnail_file_types_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingStart="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_show_thumbnail_file_types"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/show_image_file_types"
app:switchPadding="@dimen/medium_margin" />
android:paddingEnd="@dimen/medium_margin"
android:text="@string/file_thumbnail_style" />
</RelativeLayout>
@ -625,29 +555,6 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_allow_photo_gestures_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingStart="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_allow_photo_gestures"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/allow_photo_gestures"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_allow_down_gesture_holder"
android:layout_width="match_parent"
@ -1236,6 +1143,38 @@
android:textAllCaps="true"
android:textSize="@dimen/smaller_text_size" />
<RelativeLayout
android:id="@+id/settings_clear_cache_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingStart="@dimen/normal_margin"
android:paddingTop="@dimen/bigger_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/bigger_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_clear_cache_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/settings_clear_cache_size"
android:paddingStart="@dimen/medium_margin"
android:paddingEnd="@dimen/medium_margin"
android:text="@string/clear_cache" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_clear_cache_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/medium_margin"
android:background="@null"
android:clickable="false" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_export_holder"
android:layout_width="match_parent"

View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/dialog_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/dialog_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="@dimen/normal_margin">
<RelativeLayout
android:id="@+id/dialog_file_style_spacing_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingStart="@dimen/normal_margin"
android:paddingTop="@dimen/bigger_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/bigger_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/dialog_file_style_spacing_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/dialog_file_style_spacing"
android:ellipsize="end"
android:lines="1"
android:paddingStart="@dimen/medium_margin"
android:paddingEnd="@dimen/medium_margin"
android:text="@string/thumbnail_spacing" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/dialog_file_style_spacing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/medium_margin"
android:background="@null"
android:clickable="false" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/dialog_file_style_rounded_corners_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/normal_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/dialog_file_style_rounded_corners"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/rounded_corners"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/dialog_file_style_animate_gifs_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/normal_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/dialog_file_style_animate_gifs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/animate_gifs"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/dialog_file_style_show_thumbnail_video_duration_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/normal_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/dialog_file_style_show_thumbnail_video_duration"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/show_thumbnail_video_duration"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/dialog_file_style_show_thumbnail_file_types_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/normal_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/dialog_file_style_show_thumbnail_file_types"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/show_image_file_types"
app:switchPadding="@dimen/medium_margin" />
</RelativeLayout>
</LinearLayout>
</ScrollView>

View file

@ -14,19 +14,19 @@
android:paddingRight="@dimen/activity_margin">
<RelativeLayout
android:id="@+id/dialog_sample_holder"
android:id="@+id/dialog_folder_sample_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RadioGroup
android:id="@+id/dialog_radio_style"
android:id="@+id/dialog_radio_folder_style"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_margin"
android:layout_marginBottom="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyCompatRadioButton
android:id="@+id/dialog_radio_square"
android:id="@+id/dialog_radio_folder_square"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/medium_margin"
@ -34,7 +34,7 @@
android:text="@string/square" />
<com.simplemobiletools.commons.views.MyCompatRadioButton
android:id="@+id/dialog_radio_rounded_corners"
android:id="@+id/dialog_radio_folder_rounded_corners"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/medium_margin"
@ -46,14 +46,14 @@
<include layout="@layout/divider" />
<RadioGroup
android:id="@+id/dialog_radio_count_holder"
android:id="@+id/dialog_radio_folder_count_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:paddingBottom="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyCompatRadioButton
android:id="@+id/dialog_radio_count_line"
android:id="@+id/dialog_radio_folder_count_line"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/medium_margin"
@ -61,7 +61,7 @@
android:text="@string/show_file_count_line" />
<com.simplemobiletools.commons.views.MyCompatRadioButton
android:id="@+id/dialog_radio_count_brackets"
android:id="@+id/dialog_radio_folder_count_brackets"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/medium_margin"
@ -69,7 +69,7 @@
android:text="@string/show_file_count_brackets" />
<com.simplemobiletools.commons.views.MyCompatRadioButton
android:id="@+id/dialog_radio_count_none"
android:id="@+id/dialog_radio_folder_count_none"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/medium_margin"
@ -80,7 +80,7 @@
<include layout="@layout/divider" />
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/dialog_limit_title"
android:id="@+id/dialog_folder_limit_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/activity_margin"

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dir_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:foreground="@drawable/selector"
android:paddingStart="@dimen/medium_margin"
android:paddingTop="@dimen/small_margin"
android:paddingBottom="@dimen/small_margin">

View file

@ -5,8 +5,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:padding="1px">
android:focusable="true">
<com.simplemobiletools.gallery.pro.views.MySquareImageView
android:id="@+id/medium_thumbnail"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/media_item_holder"
android:layout_width="wrap_content"
@ -8,6 +7,7 @@
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:foreground="@drawable/selector"
android:paddingStart="@dimen/medium_margin"
android:paddingTop="@dimen/small_margin"
android:paddingBottom="@dimen/small_margin">
@ -65,9 +65,9 @@
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/small_margin"
android:paddingBottom="@dimen/medium_margin"
android:paddingEnd="@dimen/small_margin"
android:fontFamily="sans-serif-medium"
android:paddingEnd="@dimen/small_margin"
android:paddingBottom="@dimen/medium_margin"
android:shadowColor="@color/default_background_color"
android:shadowRadius="4"
android:text="@string/gif"

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">إظهار أنواع ملفات الصور</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -0,0 +1,414 @@
<?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">(বাদ)</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="volume">শব্দ</string>
<string name="brightness">উজ্জ্বলতা</string>
<string name="lock_orientation">ওরিয়েন্টেশন বন্ধ </string>
<string name="unlock_orientation">ওরিয়েন্টেশন খুলুন</string>
<string name="change_orientation">ওরিয়েন্টেশন পরিবর্তন</string>
<string name="force_portrait">পোট্রেট ওরিয়েন্টেশন</string>
<string name="force_landscape">অবতল ওরিয়েন্টেশন</string>
<string name="use_default_orientation">ডিফল্ট ওরিয়েন্টেশন</string>
<string name="fix_date_taken">তারিখ ঠিক করুন</string>
<string name="fixing">ঠিক করা হচ্ছে…</string>
<string name="dates_fixed_successfully">তারিখ সফলভাবে ঠিক করা হয়েছে</string>
<string name="no_date_takens_found"> তোলার তারিখ নেই</string>
<string name="share_resized">পরিবর্তিত একা সংস্করণ নিন</string>
<string name="upgraded_from_free">অই,\n\n মনে হচ্ছে আপনি অ্যাপটি পুরোনো মুক্ত সংস্করণ থেকে হালনাগাদ করেছেন, যেটার সেটিংসে \'প্রোতে হালনাগাদ করুন\' বাটন রয়েছে। \n\nধন্যবাদ!</string>
<string name="switch_to_file_search">সব দেখা যাওয়া ফোল্ডারে ফাইল সার্চে চলে যান</string>
<string name="set_as_default_folder">ডিফল্ট ফোল্ডার হিশেবে সেট করুন</string>
<string name="unset_as_default_folder">ডিফল্ট ফোল্ডার হিশেবে আর রাখবেন না</string>
<!-- Filter -->
<string name="filter_media">মিডিয়া ফিল্টার করুন</string>
<string name="images">ছবিসমূহ</string>
<string name="videos">ভিডিওসমূহ</string>
<string name="gifs">গিফসমূহ</string>
<string name="raw_images">র ছবিসমূহ</string>
<string name="svgs">এসভিজি সমূহ</string>
<string name="portraits">পোট্রেইট</string>
<string name="no_media_with_filters"> এ নির্দিষ্ট ফিল্টারে কোন মিডিয়া ফাইল পাওয়া যায়নি।</string>
<string name="change_filters_underlined"><u>ফিল্টার পরিবর্তন করুন</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">বাদ দিন</string>
<string name="excluded_folders">বাদ দেওয়া ফোল্ডারসমূহ</string>
<string name="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">সবগুলো সরান</string>
<string name="remove_all_description">বাদ দেওয়া তালিকা থেকে সমস্ত ফোল্ডার সরাবেন? এটি ফোল্ডারগুলি মুছবে না।</string>
<string name="hidden_folders">লুকানো ফোল্ডারগুলো</string>
<string name="manage_hidden_folders">লুকানো ফোল্ডারগুলি পরিচালনা করুন</string>
<string name="hidden_folders_placeholder">দেখে মনে হচ্ছে আপনার সাথে কোনও ফোল্ডার লুকানো নেই \".nomedia\" ফাইল।</string>
<!-- Include folders -->
<string name="include_folders">অন্তর্ভুক্ত ফোল্ডার</string>
<string name="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">আকার পরিবর্তন</string>
<string name="resize_and_save">নির্বাচিতগুলোর আকার পরিবর্তন ও সংরক্ষণ করুন।</string>
<string name="width">প্রস্থ</string>
<string name="height">দৈর্ঘ্য</string>
<string name="keep_aspect_ratio">অনুপাত রাখুন</string>
<string name="invalid_values">দয়া করে একটি বৈধ রেজোলিউশন দিন।</string>
<!-- Editor -->
<string name="editor">সম্পাদক</string>
<string name="rotate">ঘোরান</string>
<string name="invalid_image_path">ভুল ছবির পথ</string>
<string name="invalid_video_path">ভুল ভিডিওর পথ</string>
<string name="image_editing_failed">ছবি সম্পাদনা ব্যর্থ</string>
<string name="video_editing_failed">ভিডিও সম্পাদনা ব্যর্থ</string>
<string name="image_editing_cancelled">ছবি সম্পাদনা বাতিল</string>
<string name="video_editing_cancelled">ভিডিও সম্পাদনা বাতিল</string>
<string name="file_edited_successfully">ফাইল সফলভাবি সম্পাদিত হয়েছে</string>
<string name="image_edited_successfully">ছবি সফলভাবি সম্পাদিত হয়েছে</string>
<string name="video_edited_successfully">ভিডিও সফলভাবি সম্পাদিত হয়েছে</string>
<string name="edit_image_with">ছবি সম্পাদনা করুন:</string>
<string name="edit_video_with">ভিডিও সম্পাদনা করুন:</string>
<string name="no_image_editor_found">কোন ছবি সম্পাদক পাওয়া যায়নি</string>
<string name="no_video_editor_found">কোন ভিডিও সম্পাদক পাওয়া যায়নি</string>
<string name="unknown_file_location">অজানা অবস্থান ফাইল</string>
<string name="error_saving_file">উৎস ফাইল প্রতিস্থাপন করা যায়নি</string>
<string name="rotate_left">বামে ঘোরান</string>
<string name="rotate_right">ডানে ঘোরান</string>
<string name="rotate_one_eighty">১৮০º ঘোরান</string>
<string name="flip">ঘোরান</string>
<string name="flip_horizontally">অবতলভাবে ঘোরান</string>
<string name="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">ওয়ালপেপার সেট করা ব্যর্থ হয়েছে</string>
<string name="set_as_wallpaper_with">ওয়ালপেপার সেট করুন:</string>
<string name="setting_wallpaper">ওয়ালপেপার সেট করা হচ্ছে&#8230;</string>
<string name="wallpaper_set_successfully">সফলভাবে ওয়ালপেপার সেট হয়েছে</string>
<string name="portrait_aspect_ratio">খাড়াখারি আকৃতিগত অনুপাত</string>
<string name="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">বিরতি (সেকেন্ডে):</string>
<string name="include_photos">ছবিগুলো যোগ করুন</string>
<string name="include_videos">ভিডিওগুলো যোগ করুন</string>
<string name="include_gifs">গিফগুলো যোগ করুন</string>
<string name="random_order">বিক্ষিপ্তভাবে</string>
<string name="move_backwards">পেছনে নিয়ে যান</string>
<string name="loop_slideshow">স্লাইডশো লুপ করুন</string>
<string name="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">স্লাইডশোর জন্য কোন মিডিয়া পাওয়া যায়নি</string>
<!-- View types -->
<string name="group_direct_subfolders">Group direct subfolders</string>
<!-- Grouping at media thumbnails -->
<string name="group_by">একত্রিত করুন</string>
<string name="do_not_group_files">Do not group files</string>
<string name="by_folder">ফোল্ডার</string>
<string name="by_last_modified">শেষ পরিবর্তন করা হয়েছে</string>
<string name="by_last_modified_daily">শেষ পরিবর্তন (দৈনিক)</string>
<string name="by_last_modified_monthly">শেষ পরিবর্তন (মাসিক)</string>
<string name="by_date_taken">তোলার তারিখ</string>
<string name="by_date_taken_daily">তোলার তারিখ (দৈনিক)</string>
<string name="by_date_taken_monthly">তোলার তারিখ (মাসিক)</string>
<string name="by_file_type">ফাইল টাইপ</string>
<string name="by_extension">এক্সটেনশন</string>
<string name="grouping_and_sorting">Please note that grouping and sorting are 2 independent fields</string>
<!-- Widgets -->
<string name="folder_on_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">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">Show video durations</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">অ্যাস্পেক্ট রেশিও</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">সমঝোতা</string>
<string name="avoid_showing_invalid_files">Avoid showing invalid files</string>
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>
<string name="limit_folder_title">Limit long folder titles to 1 line</string>
<string name="square">বর্গ</string>
<string name="rounded_corners">Rounded corners</string>
<!-- Setting sections -->
<string name="thumbnails">থাম্বনেল</string>
<string name="fullscreen_media">পুরো স্ক্রিনের মিডিয়া</string>
<string name="extended_details">বর্ধিত বিশদ</string>
<string name="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">কাস্টম</string>
<string name="pesdk_transform_button_resetCrop">রিসেট</string>
<string name="pesdk_transform_button_squareCrop">বর্গ</string>
<string name="pesdk_transform_title_name">রূপান্তর</string>
<string name="pesdk_filter_title_name">ফিল্টার</string>
<string name="pesdk_filter_asset_none">কিছু না</string>
<string name="pesdk_adjustments_title_name">সামঞ্জস্য করুন</string>
<string name="pesdk_adjustments_button_shadowTool">ছায়া</string>
<string name="pesdk_adjustments_button_exposureTool">অনাবৃত করুন</string>
<string name="pesdk_adjustments_button_highlightTool">হাইলাইটসমূহ</string>
<string name="pesdk_adjustments_button_brightnessTool">উজ্জ্বলতা</string>
<string name="pesdk_adjustments_button_contrastTool">Contrast</string>
<string name="pesdk_adjustments_button_saturationTool">স্যাচুরেশন</string>
<string name="pesdk_adjustments_button_clarityTool">নির্মলতা</string>
<string name="pesdk_adjustments_button_gammaTool">গামা</string>
<string name="pesdk_adjustments_button_blacksTool">কালো</string>
<string name="pesdk_adjustments_button_whitesTool">শাদা</string>
<string name="pesdk_adjustments_button_temperatureTool">উষ্ণতা</string>
<string name="pesdk_adjustments_button_sharpnessTool">তীক্ষ্ণতা</string>
<string name="pesdk_adjustments_button_reset">রিসেট</string>
<string name="pesdk_focus_title_name">ফোকাস</string>
<string name="pesdk_focus_title_disabled">কিছু না</string>
<string name="pesdk_focus_button_radial">রশ্মীবৎ</string>
<string name="pesdk_focus_button_linear">লিনিয়ার</string>
<string name="pesdk_focus_button_mirrored">আয়না</string>
<string name="pesdk_focus_button_gaussian">গাউসিয়ান</string>
<string name="pesdk_text_title_name">লেখা</string>
<string name="pesdk_text_title_options">লেখার অপশন</string>
<string name="pesdk_text_title_textColor">লেখার রঙ</string>
<string name="pesdk_text_title_font">ফন্ট</string>
<string name="pesdk_text_button_add">যোগ করুন</string>
<string name="pesdk_text_button_edit">সম্পাদনা করুন</string>
<string name="pesdk_text_button_straighten">সোজা করা</string>
<string name="pesdk_text_button_font">ফন্ট</string>
<string name="pesdk_text_button_color">রঙ</string>
<string name="pesdk_text_button_backgroundColor">পেছনের রঙ</string>
<string name="pesdk_text_button_alignment">প্রান্তিককরণ</string>
<string name="pesdk_text_button_bringToFront">সামনে আনুন</string>
<string name="pesdk_text_button_delete">মুছে ফেলুন</string>
<string name="pesdk_text_text_editTextPlaceholder">আপনার লেখা</string>
<string name="pesdk_brush_title_name">ব্রাশ</string>
<string name="pesdk_brush_button_color">রঙ</string>
<string name="pesdk_brush_button_size">আয়তন</string>
<string name="pesdk_brush_button_hardness">কঠোরতা</string>
<string name="pesdk_brush_button_bringToFront">সামনে আনুন</string>
<string name="pesdk_brush_button_delete">মুছে ফেলুন</string>
<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_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_sticker_title_name">স্টিকার</string>
<string name="pesdk_sticker_title_color">স্টিকারের রঙ</string>
<string name="pesdk_sticker_title_options">Sticker Options</string>
<string name="pesdk_sticker_button_add">যোগ</string>
<string name="pesdk_sticker_button_color">রঙ</string>
<string name="pesdk_sticker_button_delete">মুছে ফেলা</string>
<string name="pesdk_sticker_button_bringToFront">সামনে</string>
<string name="pesdk_sticker_button_straighten">সোজা করুন</string>
<string name="pesdk_sticker_button_replace">প্রতিস্থাপন</string>
<string name="pesdk_sticker_button_opacity">অস্বচ্ছতা</string>
<string name="pesdk_sticker_button_contrast">বৈপরীত্য</string>
<string name="pesdk_sticker_button_saturation">সম্পৃক্তি</string>
<string name="pesdk_sticker_button_brightness">উজ্জ্বলতা</string>
<string name="pesdk_sticker_category_name_custom">আপলোডসমূহ</string>
<string name="pesdk_overlay_title_name">ওভারলে</string>
<string name="pesdk_overlay_button_blendModeNormal">সাধারণ</string>
<string name="pesdk_overlay_button_blendModeDarken">অন্ধকারাচ্ছন্ন করা</string>
<string name="pesdk_overlay_button_blendModeScreen">স্ক্রিন</string>
<string name="pesdk_overlay_button_blendModeOverlay">ওভারলে</string>
<string name="pesdk_overlay_button_blendModeLighten">হালকা করা</string>
<string name="pesdk_overlay_button_blendModeMultiply">গুণ</string>
<string name="pesdk_overlay_button_blendModeColorBurn">পোড়া রঙ</string>
<string name="pesdk_overlay_button_blendModeSoftLight">নরম আলো</string>
<string name="pesdk_overlay_button_blendModeHardLight">কড়া আলো</string>
<string name="pesdk_overlay_asset_none">কিছু না</string>
<string name="pesdk_overlay_asset_golden">সোনালী</string>
<string name="pesdk_overlay_asset_lightleak1">লাইটলিক ১</string>
<string name="pesdk_overlay_asset_mosaic">মোজাইক</string>
<string name="pesdk_overlay_asset_paper">কাগন</string>
<string name="pesdk_overlay_asset_rain">বৃষ্টি</string>
<string name="pesdk_overlay_asset_vintage">ভিন্টেজ</string>
<string name="pesdk_common_button_flipH">পাশাপাশি ঘুরান</string>
<string name="pesdk_common_button_flipV">খাড়াখাড়ি ঘুরান</string>
<string name="pesdk_common_button_undo">পূর্বাবস্থায় ফেরত যান</string>
<string name="pesdk_common_button_redo">পুনরায় আনুন</string>
<string name="pesdk_common_title_colorPicker">রঙ নির্বাচক</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">হালকা নীল</string>
<string name="pesdk_common_title_blueColor">নীল</string>
<string name="pesdk_common_title_purpleColor">বেগুনী</string>
<string name="pesdk_common_title_orchidColor">অর্কিড</string>
<string name="pesdk_common_title_pinkColor">গোলাপী</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">জলপাই রঙ</string>
<string name="pesdk_common_title_greenColor">নীল</string>
<string name="pesdk_common_title_aquamarinColor">সামুদ্রিক নীল</string>
<string name="pesdk_common_title_pipettableColor">পাইপেটেবল রঙ</string>
<string name="vesdk_video_trim_title_name">কাটুন</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 do it by double tapping the side of the screen, or tapping the current or max duration texts near the seekbar. If you enable opening videos on a separate screen in the app settings, you can use horizontal gestures too.</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. Note that some devices do not allow hiding folders like Camera, Screenshots and Downloads.</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">সিম্পল গ্যালারি প্রো - ছবি ম্যানেজার ও সম্পাদক</string>
<!-- Short description has to have less than 80 chars -->
<string name="app_short_description">কোন বিজ্ঞাপন ছাড়া ছবি, ভিডিও ও গিফ সম্পাদনা, ব্যবস্থাপনার একটি প্রিমিয়াম অ্যাপ</string>
<string name="app_long_description">
সিম্পল গ্যালারি প্রো একটি অত্যন্ত সম্পাদনাযোগ্য অফলাইন গ্যালারি।
অ্যাপটিতে কোনও বিজ্ঞাপন এবং অপ্রয়োজনীয় অনুমতি নেই। অ্যাপ্লিকেশনটিকে যেহেতু ইন্টারনেট সংযোগের প্রয়োজন নেই, তাই আপনার গোপনীয়তা সুরক্ষিত।
-------------------------------------------------
<b>সহজ গ্যালারি প্রো - বৈশিষ্ট্যসমূহ</b>
-------------------------------------------------
• কোন বিজ্ঞাপন বা পপআপ ছাড়া অফলাইন গ্যালারী
• সাধারণ গ্যলারি ফটো সম্পাদক - ক্রপ করুন, ঘোরান, পুনরায় আকার দিন, অঙ্কন করুন, ফিল্টার প্রয়োগ করুন এবং আরও অনেক কিছু।
• কোন ইন্টারনেট সংযোগ প্রয়োজন নেই
• কোন অপ্রয়োজনীয় অনুমতি চায় না
• ছবি, ভিডিও ও অন্যান্য ফাইলসমূহ দ্রুত অনুসন্ধান করুন
• সিম্পল গ্যালারি প্রো এর ধরন পরিবর্তন করুন
• ৩২টি ভাষায় রয়েছে
• সিম্পল গ্যালারি প্রো উন্মুক্ত উৎসের
… এবং আরও অনেক অনেক বেশী!
<b>ছবি গ্যালারি সম্পাদক</b>
সিম্পল গ্যালারি প্রো আপনার ছবি যেকোন সময় সম্পাদনা সহজ করে দেয়। আপনার ছবি কাটুন, ফ্লিপ করুন বা আকার পরিবর্তন করুন। আপনি আরেকটু সৃজনশীল হলে, নতুন ফিল্টার যুক্ত করতে পারবেন এবং আপনার ছবির উপর আঁকতেও পারবেন।
<b>অনেকধরণের ফাইল ঘরানার জন্য সমর্থন রয়েছে</b>
জেপিইজি, পিএনজি, এমপি৪, এমকেভি, আরএডাব্লু, এসভিজি, প্যানোরামিক ফটো, প্যানোরামিক ভিডিও এবং আরও অনেক ফাইল টাইপ সিম্পল গ্যালারি প্রো সমর্থন করে।
<b>মুছে ফেলা ছবি ও ভিডিও পুনরুদ্ধার করুন</b>
ভুল করে গুরুত্বপূর্ণ ছবি বা ভিডিও মুছে ফেললেন? চিন্তার কারণ নেই। সিম্পল গ্যালারি প্রোর নিজস্ব রিসাইকেল বিন আপনাকে এ বিপদ থেকে বাঁচাবে।
<b>ছবি, ভিডিও এবং ফাইল লুকান ও নিরাপদ রাখুন:</b>
পিন, প্যাটার্ন, অথবা ফিঙ্গারপ্রিন্ট ব্যবহার করে আপনি আপনার ছবি, ভিডিও এবং পুরো অ্যালবামই নিরাপদে রাখতে পারবেন। আপনি পুরো অ্যাপটাই নিরাপদে রাখতে পারবে, অথবা নির্দিষ্ট কিছু ফাংশনে লক দিতে পারবেন। যেমন ধরুন, ফিঙ্গারপ্রিন্ট ছাড়া কোন ফাইল মুছতে না পারাটা ভুল করে ফাইল হারানো থেকে আপনাকে বাঁচাবে।
<b>সিম্পল টুলসমূহের পরিপূর্ণ স্যুট:</b>
https://www.simplemobiletools.com
<b>সিম্পল গ্যালারি প্রোর আলাদা ওয়েবসাইট</b>
https://www.simplemobiletools.com/gallery
<b>ফেসবুক:</b>
https://www.facebook.com/simplemobiletools
<b>রেডিট:</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>

View file

@ -192,13 +192,15 @@
<string name="avoid_showing_invalid_files">Eviteu mostrar fitxers no vàlids</string>
<string name="show_image_file_types">Mostra els tipus de fitxers d\imatges</string>
<string name="allow_zooming_videos">Permet fer zoom als vídeos amb dos cops</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>
<string name="limit_folder_title">Limit long folder titles to 1 line</string>
<string name="square">Square</string>
<string name="rounded_corners">Rounded corners</string>
<string name="folder_thumbnail_style">Estil de miniatura de carpeta</string>
<string name="file_thumbnail_style">Estil de miniatura del fitxer</string>
<string name="thumbnail_spacing">Espai entre miniatures</string>
<string name="show_file_count_line">Mostra el recompte de fitxers en una línia diferent</string>
<string name="show_file_count_brackets">Mostra el recompte de fitxers entre claudàtors</string>
<string name="show_file_count_none">No mostreu el recompte de fitxers</string>
<string name="limit_folder_title">Limiteu els títols de carpeta llarga a 1 línia</string>
<string name="square">Quadrat</string>
<string name="rounded_corners">Cantonades arrodonides</string>
<!-- Setting sections -->
<string name="thumbnails">Miniatures</string>
@ -288,7 +290,7 @@
<string name="pesdk_overlay_button_blendModeDarken">Enfosquir</string>
<string name="pesdk_overlay_button_blendModeScreen">Pantalla</string>
<string name="pesdk_overlay_button_blendModeOverlay">Superposició</string>
<string name="pesdk_overlay_button_blendModeLighten">Lighten</string>
<string name="pesdk_overlay_button_blendModeLighten">Alleugerir</string>
<string name="pesdk_overlay_button_blendModeMultiply">Multiplicar</string>
<string name="pesdk_overlay_button_blendModeColorBurn">Color cremat</string>
<string name="pesdk_overlay_button_blendModeSoftLight">Llum suau</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Zobrazit typ obrázkových souborů</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Vis billeders filtyper</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Bilddateitypen anzeigen</string>
<string name="allow_zooming_videos">Erlaube Zoomen in Videos mit doppeltem Antippen</string>
<string name="folder_thumbnail_style">Ordner-Miniaturbildstil</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Zeige Anzahl der Dateien in einer seperaten Zeile an</string>
<string name="show_file_count_brackets">Anzahl der Dateien in Klammern anzeigen</string>
<string name="show_file_count_none">Anzahl der Dateien nicht anzeigen</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Εμφάνιση τύπου αρχείου εικόνας</string>
<string name="allow_zooming_videos">Επιτρέπει την μεγέθυνση βίντεο με διπλό πάτημα</string>
<string name="folder_thumbnail_style">Στυλ μικρογραφίας φακέλου</string>
<string name="file_thumbnail_style">Στυλ μικρογραφίας αρχείου</string>
<string name="thumbnail_spacing">Απόσταση μικρογραφιών</string>
<string name="show_file_count_line">Εμφάνιση πλήθους αρχείων σε ξεχωριστή γραμμή</string>
<string name="show_file_count_brackets">Εμφάνιση πλήθους αρχείων σε αγκύλες</string>
<string name="show_file_count_none">Χωρίς εμφάνιση μέτρησης αρχείων</string>

View file

@ -28,7 +28,7 @@
<string name="dates_fixed_successfully">Fecha fijada correctamente</string>
<string name="no_date_takens_found">No se han encontrado valores de fechas tomadas</string>
<string name="share_resized">Comparte una versión redimensionada</string>
<string name="upgraded_from_free">Oye,\n\nParece que actualizaste de la aplicación gratuita vieja. Ahora puedes desinstalar la versión vieja, que tiene un botón \'Actualizar a Pro\' en la aprte superior de los ajustes de la app.\n\nSolo tendrás los elementos de la Papelera de Reciclaje eliminados, favoritos desmarcados y también tendrás que reiniciar los ajustes de la app.\n\n¡Gracias!</string>
<string name="upgraded_from_free">Oye,\n\nParece que actualizaste de la aplicación gratuita vieja. Ahora puedes desinstalar la versión vieja, que tiene un botón \'Actualizar a Pro\' en la parte superior de los ajustes de la app.\n\nSólo tendrás los elementos de la Papelera de Reciclaje eliminados, favoritos desmarcados y también tendrás que reiniciar los ajustes de la app.\n\n¡Gracias!</string>
<string name="switch_to_file_search">Cambiar a la búsqueda de archivos en todas las carpetas visibles</string>
<string name="set_as_default_folder">Poner como carpeta predeterminada</string>
<string name="unset_as_default_folder">Quitar como carpeta predeterminada</string>
@ -38,7 +38,7 @@
<string name="images">Imágenes</string>
<string name="videos">Videos</string>
<string name="gifs">GIFs</string>
<string name="raw_images">Imagenes RAW</string>
<string name="raw_images">Imágenes RAW</string>
<string name="svgs">SVGs</string>
<string name="portraits">Retratos</string>
<string name="no_media_with_filters">No se han encontrado ficheros con los filtros seleccionados.</string>
@ -117,7 +117,7 @@
<string name="slideshow">Presentación de diapositivas</string>
<string name="interval">Intervalo (segundos):</string>
<string name="include_photos">Incluir fotos</string>
<string name="include_videos">Incluir vídeos</string>
<string name="include_videos">Incluir videos</string>
<string name="include_gifs">Incluir GIFs</string>
<string name="random_order">Orden aleatorio</string>
<string name="move_backwards">Mover hacia atrás</string>
@ -166,21 +166,21 @@
<string name="black_background_at_fullscreen">Fondo y barra de estado negra en medios de pantalla completa</string>
<string name="scroll_thumbnails_horizontally">Desplazar miniaturas horizontalmente</string>
<string name="hide_system_ui_at_fullscreen">Ocultar la interfaz del sistema en pantalla completa</string>
<string name="delete_empty_folders">Eliminar carpetas vacias despues de borrar su contenido</string>
<string name="delete_empty_folders">Eliminar carpetas vacias después de borrar su contenido</string>
<string name="allow_photo_gestures">Permite controlar el brillo en las fotos con gestos verticales</string>
<string name="allow_video_gestures">Permite controlar el volumen y el brillo del video con gestos verticales</string>
<string name="show_media_count">Mostrar el número de archivos dentro de las carpetas en la página principal</string>
<string name="show_extended_details">Mostrar información de los archivos en pantalla completa</string>
<string name="manage_extended_details">Información de lo archivos a mostrar</string>
<string name="manage_extended_details">Información de los archivos a mostrar</string>
<string name="one_finger_zoom">Permitir zoom con un dedo en pantalla completa</string>
<string name="allow_instant_change">Deslpazarse en los medios haciendo clic en los lados de la pantalla</string>
<string name="allow_instant_change">Desplazarse en los medios haciendo clic en los lados de la pantalla</string>
<string name="allow_deep_zooming_images">Permitir zoom profundo</string>
<string name="hide_extended_details">Ocultar detalles ampliados cuando la barra de estado está oculta</string>
<string name="show_at_bottom">Mostrar botones de acción en la parte inferior de la pantalla</string>
<string name="show_recycle_bin">Mostrar la papelera de reciclaje en la pantalla de carpetas</string>
<string name="deep_zoomable_images">Imágenes ampliables con zoom</string>
<string name="show_highest_quality">Mostrar imágenes con la mayor calidad posible</string>
<string name="show_recycle_bin_last">Mostrar la Papelera de reciclaje como el último elemento en la pantalla principal</string>
<string name="show_recycle_bin_last">Mostrar la papelera de reciclaje como el último elemento en la pantalla principal</string>
<string name="allow_down_gesture">Permite cerrar la vista de pantalla completa con un gesto hacia abajo.</string>
<string name="allow_one_to_one_zoom">Permitir zoom 1:1 con un toque doble</string>
<string name="open_videos_on_separate_screen">Abrir videos en una pantalla separada con nuevos gestos horizontales</string>
@ -192,13 +192,15 @@
<string name="avoid_showing_invalid_files">Evita mostrar archivos inválidos</string>
<string name="show_image_file_types">Mostrar tipos de archivo de imagen</string>
<string name="allow_zooming_videos">Permitir hacer zoom en videos con doble toque</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>
<string name="limit_folder_title">Limit long folder titles to 1 line</string>
<string name="square">Square</string>
<string name="rounded_corners">Rounded corners</string>
<string name="folder_thumbnail_style">Estilo de las miniaturas de las carpetas</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Mostrar el recuento de archivos en una línea separada</string>
<string name="show_file_count_brackets">Mostrar el recuento de archivos entre paréntesis</string>
<string name="show_file_count_none">No mostrar el recuento de archivos</string>
<string name="limit_folder_title">Limitar los títulos largos de las carpetas a 1 línea</string>
<string name="square">Cuadrado</string>
<string name="rounded_corners">Esquinas redondeadas</string>
<!-- Setting sections -->
<string name="thumbnails">Miniaturas</string>
@ -261,7 +263,7 @@
<string name="pesdk_brush_title_brushColor">Color del pincel</string>
<string name="pesdk_editor_title_name">Editor</string>
<string name="pesdk_editor_title_closeEditorAlert">¿Cerrar editor?</string>
<string name="pesdk_editor_text_closeEditorAlert">¿Realmente queires descartar los cambios?</string>
<string name="pesdk_editor_text_closeEditorAlert">¿Realmente quieres descartar los cambios?</string>
<string name="pesdk_editor_button_closeEditorAlertConfirmation"></string>
<string name="pesdk_editor_button_closeEditorAlertCancelation">No</string>
<string name="pesdk_editor_cancel">Cancelar</string>
@ -285,7 +287,7 @@
<string name="pesdk_sticker_category_name_custom">Subidas</string>
<string name="pesdk_overlay_title_name">Modo de fusión</string>
<string name="pesdk_overlay_button_blendModeNormal">Normal</string>
<string name="pesdk_overlay_button_blendModeDarken">Más obscuro</string>
<string name="pesdk_overlay_button_blendModeDarken">Más oscuro</string>
<string name="pesdk_overlay_button_blendModeScreen">Pantalla</string>
<string name="pesdk_overlay_button_blendModeOverlay">Superpuesto</string>
<string name="pesdk_overlay_button_blendModeLighten">Más claro</string>

View file

@ -0,0 +1,427 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Galeria sinplea</string>
<string name="app_launcher_name">Galeria</string>
<string name="edit">Editatu</string>
<string name="open_camera">Ireki kamera</string>
<string name="hidden">(ezkutatuta)</string>
<string name="excluded">(baztertuta)</string>
<string name="pin_folder">Ainguratu karpeta</string>
<string name="unpin_folder">Kendu aingura karpetari</string>
<string name="pin_to_the_top">Ainguratu goian</string>
<string name="show_all">Erakutsi karpeta guztien edukia</string>
<string name="all_folders">Karpeta guztiak</string>
<string name="folder_view">Aldatu karpeta-ikuspegira</string>
<string name="other_folder">Bestelako karpeta</string>
<string name="show_on_map">Erakutsi mapan</string>
<string name="unknown_location">Kokapen ezezaguna</string>
<string name="volume">Bolumena</string>
<string name="brightness">Distira</string>
<string name="lock_orientation">Blokeatu orientazioa</string>
<string name="unlock_orientation">Desblokeatu orientazioa</string>
<string name="change_orientation">Aldatu orientazioa</string>
<string name="force_portrait">Behartu bertikala</string>
<string name="force_landscape">Behartu horizontala</string>
<string name="use_default_orientation">Erabili lehenetsitako orientazioa</string>
<string name="fix_date_taken">Konpondu ateratze-dataren balioa</string>
<string name="fixing">Konpontzen…</string>
<string name="dates_fixed_successfully">Datak ongi konpondu dira</string>
<string name="no_date_takens_found">Ateratze-dataren baliorik ez da aurkitu</string>
<string name="share_resized">Partekatu tamaina aldatutako bertsioa</string>
<string name="upgraded_from_free">Kaixo,\n\nbadirudi doako aplikazio zaharra eguneratu duzula. Orain bertsio zaharra desinstalatu dezakezu aplikazioaren ezarpenen goiko aldean dagoen \'Eskuratu Pro bertsioa\' botoiarekin. Azkenik, zakarrontzian dituzun elementuak ezabatuko dira, gogoko elementuei marka kenduko zaie eta zure azplikazio-ezarpenak berrezarri beharko dituzu.\n\nEskerrik asko!</string>
<string name="switch_to_file_search">Aldatu fitxategi-bilaketa ikusgai dauden karpeta guztien artean</string>
<string name="set_as_default_folder">Ezarri lehenetsitako karpeta gisa</string>
<string name="unset_as_default_folder">Kendu karpeta lehenetsitako karpeta gisa</string>
<!-- Filter -->
<string name="filter_media">Iragazi multimedia</string>
<string name="images">Irudiak</string>
<string name="videos">Bideoak</string>
<string name="gifs">GIFak</string>
<string name="raw_images">RAW irudiak</string>
<string name="svgs">SVGak</string>
<string name="portraits">Erretratuak</string>
<string name="no_media_with_filters">Hautatutako filtroa duen multimedia fitxategirik ez da aurkitu.</string>
<string name="change_filters_underlined"><u>Aldatu filtroak</u></string>
<!-- Hide / Exclude -->
<string name="hide_folder_description">Funtzio honek karpeta \'.nomedia\' fitxategi bat gehituz ezkutatzen du, azpikarpeta guztiak ere ezkutatuko ditu. Ezarpenetako \'Erakutsi ezkutatutako elementuak\' aukera aldatuz ikus ditzakezu. Jarraitu?</string>
<string name="exclude">Baztertu</string>
<string name="excluded_folders">Baztertutako karpetak</string>
<string name="manage_excluded_folders">Kudeatu baztertutako karpetak</string>
<string name="exclude_folder_description">Honek hautatutakoa bere azpikarpetekin baztertutako ditu Galeria Sinpletik soilik. Baztertutako karpetak ezarpenetan kudeatu ditzakezu.</string>
<string name="exclude_folder_parent">Baztertu nagusia horren ordez?</string>
<string name="excluded_activity_placeholder">Karpetak baztertzeak hauek eta beren azpikarpetak Galeria Sinplean soilik ezkutatuko ditu, beste aplikazioetan oraindik ikusgai egongo dira.\n\nBeste aplikazioetatik ere ezkutatu nahi badituzu, erabili Ezkutatu funtzioa.</string>
<string name="remove_all">Kendu guztiak</string>
<string name="remove_all_description">Kendu karpeta guztiak baztertutako zerrendatik? Honek ez ditu karpetak ezabatuko.</string>
<string name="hidden_folders">Ezkutatutako karpetak</string>
<string name="manage_hidden_folders">Kudeatu ezkutatutako karpetak</string>
<string name="hidden_folders_placeholder">Badirudi \".nomedia\" fitxategia duen ezkutatutako karpetarik ez duzula.</string>
<!-- Include folders -->
<string name="include_folders">Sartutako karpetak</string>
<string name="manage_included_folders">Kudeatu sartutako karpetak</string>
<string name="add_folder">Gehitu karpeta</string>
<string name="included_activity_placeholder">Multimedia duen karpetarik baduzu, baina aplikazioak ez badu hauteman, hemen eskuz gehitu dezakezu.\n\nHainbat elementu hemen gehitzeak ez du beste karpetarik baztertuko.</string>
<string name="no_media_add_included">Multimedia fitxategirik ez da aurkitu. Fitxategi horiek dituzten karpetak eskuz gehituz konpondu dezakezu.</string>
<!-- Resizing -->
<string name="resize">Aldatu tamaina</string>
<string name="resize_and_save">Aldatu hautatutakoaren tamaina eta gorde</string>
<string name="width">Zabalera</string>
<string name="height">Altuera</string>
<string name="keep_aspect_ratio">Mantendu aspektu-erlazioa</string>
<string name="invalid_values">Sartu baliozko bereizmena</string>
<!-- Editor -->
<string name="editor">Editorea</string>
<string name="rotate">Biratu</string>
<string name="invalid_image_path">Irudiaren bide-izen baliogabea</string>
<string name="invalid_video_path">Bideoaren bide-izen baliogabea</string>
<string name="image_editing_failed">Irudia editatzeak huts egin du</string>
<string name="video_editing_failed">Bideoa editatzeak huts egin du</string>
<string name="image_editing_cancelled">Irudia editatzea utzi da</string>
<string name="video_editing_cancelled">Bideoa editatzea utzi da</string>
<string name="file_edited_successfully">Fitxategia ongi editatu da</string>
<string name="image_edited_successfully">Irudia ongi editatu da</string>
<string name="video_edited_successfully">Bideoa ongi editatu da</string>
<string name="edit_image_with">Editatu irudia honekin:</string>
<string name="edit_video_with">Editatu bideoa honekin:</string>
<string name="no_image_editor_found">Irudi-editorerik ez da aurkitu</string>
<string name="no_video_editor_found">Bideo-editorerik ez da aurkitu</string>
<string name="unknown_file_location">Fitxategi kokapen ezezaguna</string>
<string name="error_saving_file">Ezin izan da jatorrizko fitxategia gainidatzi</string>
<string name="rotate_left">Biratu ezkerrera</string>
<string name="rotate_right">Biratu eskuinera</string>
<string name="rotate_one_eighty">Biratu 180º</string>
<string name="flip">Irauli</string>
<string name="flip_horizontally">Irauli horizontalki</string>
<string name="flip_vertically">Irauli bertikalki</string>
<string name="free_aspect_ratio">Askea</string> <!-- available as an option: 1:1, 4:3, 16:9, free -->
<string name="other_aspect_ratio">Bestelakoa</string> <!-- available as an option: 1:1, 4:3, 16:9, free, other -->
<!-- Set wallpaper -->
<string name="simple_wallpaper">Horma-paper sinplea</string>
<string name="set_as_wallpaper">Ezarri horma-paper gisa</string>
<string name="set_as_wallpaper_failed">Horma-paper gisa ezartzeak huts egin du</string>
<string name="set_as_wallpaper_with">Ezarri horma-paper gis honekin:</string>
<string name="setting_wallpaper">Horma-papera ezartzen&#8230;</string>
<string name="wallpaper_set_successfully">Horma-papera ongi ezarri da</string>
<string name="portrait_aspect_ratio">Aspektu-erlazio bertikala</string>
<string name="landscape_aspect_ratio">Aspektu-erlazio horizontala</string>
<string name="home_screen">Hasierako pantaila</string>
<string name="lock_screen">Blokeatutako pantaila</string>
<string name="home_and_lock_screen">Hasierako eta blokeatutako pantaila</string>
<!-- Slideshow -->
<string name="slideshow">Diaporama</string>
<string name="interval">Tartea (segunduak):</string>
<string name="include_photos">Sartu argazkiak</string>
<string name="include_videos">Sartu bideoak</string>
<string name="include_gifs">Sartu GIFak</string>
<string name="random_order">Ausazko ordena</string>
<string name="move_backwards">Mugitu atzera</string>
<string name="loop_slideshow">Errepikatu diaporama</string>
<string name="animation">Animazioa</string>
<string name="no_animation">Bat ere ez</string>
<string name="fade">Lausotu</string>
<string name="slide">Diapositiba</string>
<string name="slideshow_ended">Diaporama bukatu da</string>
<string name="no_media_for_slideshow">Diaporamarako multimediarik ez da aurkitu</string>
<!-- View types -->
<string name="group_direct_subfolders">Taldekatu zuzeneko azpikarpetak</string>
<!-- Grouping at media thumbnails -->
<string name="group_by">Taldekatu</string>
<string name="do_not_group_files">Ez taldekatu fitxategiak</string>
<string name="by_folder">Karpeta</string>
<string name="by_last_modified">Azken aldaketa</string>
<string name="by_last_modified_daily">Azken aldaketa (egunero)</string>
<string name="by_last_modified_monthly">Azken aldaketa (hilero)</string>
<string name="by_date_taken">Ateratze-data</string>
<string name="by_date_taken_daily">Ateratze-data (egunero)</string>
<string name="by_date_taken_monthly">Ateratze-data (hilero)</string>
<string name="by_file_type">Fitxategi mota</string>
<string name="by_extension">Luzapena</string>
<string name="grouping_and_sorting">Kontuan hartu taldekatzea eta ordenatzea bi eremu independente direla.</string>
<!-- Widgets -->
<string name="folder_on_widget">Widgetean erakutsitako karpeta:</string>
<string name="show_folder_name">Erakutsi karpetaren izena</string>
<!-- Settings -->
<string name="autoplay_videos">Erreproduzitu bideoak automatikoki</string>
<string name="remember_last_video_position">Gogoratu azken bideoaren erreprodukzio-posizioa</string>
<string name="toggle_filename">Aldatu fitxategi-izenaren ikusgaitasuna</string>
<string name="loop_videos">Errepikatu bideoak</string>
<string name="animate_gifs">Animatu GIFak iruditxoetan</string>
<string name="max_brightness">Gehienezko distira multimedia pantaila osoan ikustean</string>
<string name="crop_thumbnails">Moztu iruditxoak karratutan</string>
<string name="show_thumbnail_video_duration">Erakutsi bideoen iraupena</string>
<string name="screen_rotation_by">Biratu pantaila osoko multimedia:</string>
<string name="screen_rotation_system_setting">Sistemaren ezarpena</string>
<string name="screen_rotation_device_rotation">Gailu-biratzea</string>
<string name="screen_rotation_aspect_ratio">Aspektu-erlazioa</string>
<string name="black_background_at_fullscreen">Hondo beltza pantaila osoko multimediarekin</string>
<string name="scroll_thumbnails_horizontally">Korritu iruditxoak horizontalki</string>
<string name="hide_system_ui_at_fullscreen">Automatikoki ezkutatu sistemaren EI pantaila osoko multimediarekin</string>
<string name="delete_empty_folders">Ezabatu hutsik dauden karpetak beren edukia ezabatu ondoren</string>
<string name="allow_photo_gestures">Baimendu argazkiaren distira kontrolatzea keinu bertikalekin</string>
<string name="allow_video_gestures">Baimendu bideoaren bolumena eta distira kontrolatzea keinu bertikalekin</string>
<string name="show_media_count">Erakutsi karpetaren multimedia-kopurua ikuspegi nagusian</string>
<string name="show_extended_details">Erakutsi xehetasun hedatuak pantaila osoko multimedian</string>
<string name="manage_extended_details">Kudeatu xehetasun hedatuak</string>
<string name="one_finger_zoom">Baimendu zooma hatz bakarrarekin pantaila osoko multimedian</string>
<string name="allow_instant_change">Baimendu multimedia berehala aldatzea pantaila-ertzeetan klik eginez</string>
<string name="allow_deep_zooming_images">Baimendu zoom sakona irudietan</string>
<string name="hide_extended_details">Ezkutatu xehetasun hedatuak egoera-barra ezkutatuta dagoenean</string>
<string name="show_at_bottom">Erakutsi ekintza-botoiak pantailaren beheko aldean</string>
<string name="show_recycle_bin">Erakutsi zakarrontzia karpeten pantailan</string>
<string name="deep_zoomable_images">Zoom sakona egin daitezkeen irudiak</string>
<string name="show_highest_quality">Erakutsi irudiak ahal den kalitate handienean</string>
<string name="show_recycle_bin_last">Erakutsi zakarrontzia azken elementu gisa pantaila nagusian</string>
<string name="allow_down_gesture">Baimendu pantaila osoko ikuspegia ixtea beherako keinuarekin</string>
<string name="allow_one_to_one_zoom">Baimendu 1:1 zooma bi aldiz birritan ukitzean</string>
<string name="open_videos_on_separate_screen">Ireki bideoak beste pantaila betean keinu horizontalekin</string>
<string name="show_notch">Erakutsi koska bat erabilgarri badago</string>
<string name="allow_rotating_gestures">Baimendu irudiak keinuekin biratzea</string>
<string name="file_loading_priority">Fitxategien kargatze-lehentasuna</string>
<string name="speed">Abiadura</string>
<string name="compromise">Konpromisoa</string>
<string name="avoid_showing_invalid_files">Ekidin fitxategi baliogabeak erakustea</string>
<string name="show_image_file_types">Erakutsi irudi-fitxategi motak</string>
<string name="allow_zooming_videos">Baimendu bideoen zooma birritan ukitzean</string>
<string name="folder_thumbnail_style">Karpeta-iruditxoaren estiloa</string>
<string name="file_thumbnail_style">Fitxategi-iruditxoaren estiloa</string>
<string name="thumbnail_spacing">Iruditxoen arteko tartea</string>
<string name="show_file_count_line">Erakutsi fitxategi kopurua beste lerro batean</string>
<string name="show_file_count_brackets">Erakutsi fitxategi kopurua parentesi artean</string>
<string name="show_file_count_none">Ez erakutsi fitxategi kopurua</string>
<string name="limit_folder_title">Mugatu karpeten izenburu luzeak lerro batera</string>
<string name="square">Karratua</string>
<string name="rounded_corners">Ertz biribilduak</string>
<!-- Setting sections -->
<string name="thumbnails">Iruditxoak</string>
<string name="fullscreen_media">Pantaila osoko multimedia</string>
<string name="extended_details">Xehetasun hedatuak</string>
<string name="bottom_actions">Beheko ekintzak</string>
<!-- Bottom actions -->
<string name="manage_bottom_actions">Kudeatu ikusgai dauden beheko ekintzak</string>
<string name="toggle_favorite">Aldatu gogokoa</string>
<string name="toggle_file_visibility">Aldatu fitxategien ikusgaitasuna</string>
<!-- New editor strings -->
<string name="pesdk_transform_button_freeCrop">Pertsonalizatu</string>
<string name="pesdk_transform_button_resetCrop">Berrezarri</string>
<string name="pesdk_transform_button_squareCrop">Karratua</string>
<string name="pesdk_transform_title_name">Eraldatu</string>
<string name="pesdk_filter_title_name">Filtroa</string>
<string name="pesdk_filter_asset_none">Bat ere ez</string>
<string name="pesdk_adjustments_title_name">Doitu</string>
<string name="pesdk_adjustments_button_shadowTool">Itzalak</string>
<string name="pesdk_adjustments_button_exposureTool">Esposizio</string>
<string name="pesdk_adjustments_button_highlightTool">Eremu distiratsuak</string>
<string name="pesdk_adjustments_button_brightnessTool">Distira</string>
<string name="pesdk_adjustments_button_contrastTool">Kontrastea</string>
<string name="pesdk_adjustments_button_saturationTool">Saturazioa</string>
<string name="pesdk_adjustments_button_clarityTool">Argitasuna</string>
<string name="pesdk_adjustments_button_gammaTool">Gamma</string>
<string name="pesdk_adjustments_button_blacksTool">Beltzak</string>
<string name="pesdk_adjustments_button_whitesTool">Zuriak</string>
<string name="pesdk_adjustments_button_temperatureTool">Tenperatura</string>
<string name="pesdk_adjustments_button_sharpnessTool">Zorroztasuna</string>
<string name="pesdk_adjustments_button_reset">Berrezarri</string>
<string name="pesdk_focus_title_name">Fokatzea</string>
<string name="pesdk_focus_title_disabled">Bat ere ez</string>
<string name="pesdk_focus_button_radial">Erradiala</string>
<string name="pesdk_focus_button_linear">Lineala</string>
<string name="pesdk_focus_button_mirrored">Ispilua</string>
<string name="pesdk_focus_button_gaussian">Gaussiarra</string>
<string name="pesdk_text_title_name">Testua</string>
<string name="pesdk_text_title_options">Testu-aukerak</string>
<string name="pesdk_text_title_textColor">Testuaren kolorea</string>
<string name="pesdk_text_title_font">Letra-tipoa</string>
<string name="pesdk_text_button_add">Gehitu</string>
<string name="pesdk_text_button_edit">Editatu</string>
<string name="pesdk_text_button_straighten">Zuzendu</string>
<string name="pesdk_text_button_font">Letra-tipoa</string>
<string name="pesdk_text_button_color">Kolorea</string>
<string name="pesdk_text_button_backgroundColor">HP kolorea</string>
<string name="pesdk_text_button_alignment">Lerrokatzea</string>
<string name="pesdk_text_button_bringToFront">Aurrera</string>
<string name="pesdk_text_button_delete">Ezabatu</string>
<string name="pesdk_text_text_editTextPlaceholder">Zure testua</string>
<string name="pesdk_brush_title_name">Pintzela</string>
<string name="pesdk_brush_button_color">Kolorea</string>
<string name="pesdk_brush_button_size">Tamaina</string>
<string name="pesdk_brush_button_hardness">Gogortasuna</string>
<string name="pesdk_brush_button_bringToFront">Aurrera</string>
<string name="pesdk_brush_button_delete">Ezabatu</string>
<string name="pesdk_brush_title_brushColor">Pintzelaren kolorea</string>
<string name="pesdk_editor_title_name">Editorea</string>
<string name="pesdk_editor_title_closeEditorAlert">Itxi editorea?</string>
<string name="pesdk_editor_text_closeEditorAlert">Ziur zaude aldaketak baztertu nahi dituzula?</string>
<string name="pesdk_editor_button_closeEditorAlertConfirmation">Bai</string>
<string name="pesdk_editor_button_closeEditorAlertCancelation">Ez</string>
<string name="pesdk_editor_cancel">Utzi</string>
<string name="pesdk_editor_accept">Onartu</string>
<string name="pesdk_editor_save">Gorde</string>
<string name="pesdk_editor_text_exportProgressUnknown">Esportatzen…</string>
<string name="pesdk_editor_text_exportProgress" formatted="false">Esportatzen %s.</string>
<string name="pesdk_sticker_title_name">Eranskailua</string>
<string name="pesdk_sticker_title_color">Eranskailuaren kolorea</string>
<string name="pesdk_sticker_title_options">Eranskailu-aukerakSticker Options</string>
<string name="pesdk_sticker_button_add">Gehitu</string>
<string name="pesdk_sticker_button_color">Kolorea</string>
<string name="pesdk_sticker_button_delete">Ezabatu</string>
<string name="pesdk_sticker_button_bringToFront">Aurrera</string>
<string name="pesdk_sticker_button_straighten">Zuzendu</string>
<string name="pesdk_sticker_button_replace">Ordeztu</string>
<string name="pesdk_sticker_button_opacity">Opakutasuna</string>
<string name="pesdk_sticker_button_contrast">Kontrastea</string>
<string name="pesdk_sticker_button_saturation">Saturazioa</string>
<string name="pesdk_sticker_button_brightness">Distira</string>
<string name="pesdk_sticker_category_name_custom">Igotakoak</string>
<string name="pesdk_overlay_title_name">Gainjarri</string>
<string name="pesdk_overlay_button_blendModeNormal">Normala</string>
<string name="pesdk_overlay_button_blendModeDarken">Ilundu</string>
<string name="pesdk_overlay_button_blendModeScreen">Pantaila</string>
<string name="pesdk_overlay_button_blendModeOverlay">Gainjarri</string>
<string name="pesdk_overlay_button_blendModeLighten">Argitu</string>
<string name="pesdk_overlay_button_blendModeMultiply">Biderkatu</string>
<string name="pesdk_overlay_button_blendModeColorBurn">Kolore erreta</string>
<string name="pesdk_overlay_button_blendModeSoftLight">Argi leuna</string>
<string name="pesdk_overlay_button_blendModeHardLight">Argi gogorra</string>
<string name="pesdk_overlay_asset_none">Bat ere ez</string>
<string name="pesdk_overlay_asset_golden">Urrea</string>
<string name="pesdk_overlay_asset_lightleak1">Argi-filtrazioa 1</string>
<string name="pesdk_overlay_asset_mosaic">Mosaikoa</string>
<string name="pesdk_overlay_asset_paper">Papera</string>
<string name="pesdk_overlay_asset_rain">Euria</string>
<string name="pesdk_overlay_asset_vintage">Vintage</string>
<string name="pesdk_common_button_flipH">Biratu H</string>
<string name="pesdk_common_button_flipV">Biratu B</string>
<string name="pesdk_common_button_undo">Desegin</string>
<string name="pesdk_common_button_redo">Berregin</string>
<string name="pesdk_common_title_colorPicker">Kolore-hautatzailea</string>
<string name="pesdk_common_title_transparentColor">Gardena</string>
<string name="pesdk_common_title_whiteColor">Zuria</string>
<string name="pesdk_common_title_grayColor">Grisa</string>
<string name="pesdk_common_title_blackColor">Beltza</string>
<string name="pesdk_common_title_lightBlueColor">Urdin argia</string>
<string name="pesdk_common_title_blueColor">Urdina</string>
<string name="pesdk_common_title_purpleColor">Morea</string>
<string name="pesdk_common_title_orchidColor">Orkidea</string>
<string name="pesdk_common_title_pinkColor">Arrosa</string>
<string name="pesdk_common_title_redColor">Gorria</string>
<string name="pesdk_common_title_orangeColor">Laranja</string>
<string name="pesdk_common_title_goldColor">Urrea</string>
<string name="pesdk_common_title_yellowColor">Horia</string>
<string name="pesdk_common_title_oliveColor">Oliba</string>
<string name="pesdk_common_title_greenColor">Berdea</string>
<string name="pesdk_common_title_aquamarinColor">Akuamarinoa</string>
<string name="pesdk_common_title_pipettableColor">Hautatu kolorea (pipeta)</string>
<string name="vesdk_video_trim_title_name">Moztu</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 do it by double tapping the side of the screen, or tapping the current or max duration texts near the seekbar. If you enable opening videos on a separate screen in the app settings, you can use horizontal gestures too.</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. Note that some devices do not allow hiding folders like Camera, Screenshots and Downloads.</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 &amp; Editor</string>
<!-- Short description has to have less than 80 chars -->
<string name="app_short_description">A premium app for managing and editing your photos, videos, GIFs without ads</string>
<string name="app_long_description">
Simple Gallery Pro is a highly customizable offline gallery. Organize &amp; edit your photos, recover deleted files with the recycle bin, protect &amp; hide files and view a huge variety of different photo &amp; video formats including RAW, SVG and much more.
The app contains no ads and unnecessary permissions. As the app doesnt 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 &amp; more
• No internet access needed, giving you more privacy and security
• No unnecessary permissions required
• Quickly search images, videos &amp; files
• Open &amp; view many different photo and video types (RAW, SVG, panoramic etc)
• A variety of intuitive gestures to easily edit &amp; organize files
• Lots of ways to filter, group &amp; sort files
• Customize the appearance of Simple Gallery Pro
• Available in 32 languages
• Mark files as favorites for quick access
• Protect your photos &amp; videos with a pattern, pin or fingerprint
• Use pin, pattern &amp; fingerprint to protect the app launch or specific functions too
• Recover deleted photos &amp; videos from the recycle bin
• Toggle visibility of files to hide photos &amp; 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 youre 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 &amp; 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, were also available in 32 languages!
<b>RECOVER DELETED PHOTOS &amp; VIDEOS</b>
Accidentally deleted a precious photo or video? Dont worry! Simple Gallery Pro features a handy recycle bin where you can recover deleted photos &amp; videos easily.
<b>PROTECT &amp; HIDE PHOTOS, VIDEOS &amp; FILES</b>
Using pin, pattern or your devices fingerprint scanner you can protect and hide photos, videos &amp; entire albums. You can protect the app itself or place locks on specific functions of the app. For example, you cant delete a file without a fingerprint scan, helping to protect your files from accidental deletion.
<b>Ikusi Simple Tools-en sorta osoa hemen:</b>
https://www.simplemobiletools.com
<b>Simple Gallery Pro-ren webgune autonomoa:</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>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -30,7 +30,7 @@
<string name="share_resized">Partager une version redimensionnée</string>
<string name="upgraded_from_free">Hé,\n\nvous avez apparemment fait une mise à niveau à partir de l\'ancienne application gratuite. Vous pouvez maintenant désinstaller l\'ancienne version avec le bouton \'Mettre à niveau vers Pro\' en haut des paramètres de l\'application.\n\nVos éléments de la corbeille seront supprimés, les éléments favoris seront non marqués et vous devrez également restaurer les paramètres de votre application.\n\nMerci !</string>
<string name="switch_to_file_search">Basculer vers la recherche de fichiers</string>
<string name="set_as_default_folder">Définir comme défaut</string>
<string name="set_as_default_folder">Dossier par défaut</string>
<string name="unset_as_default_folder">Oublier le dossier</string>
<!-- Filter -->
@ -192,7 +192,9 @@
<string name="avoid_showing_invalid_files">Éviter l\'affichage de fichiers invalides</string>
<string name="show_image_file_types">Afficher les types d\'image</string>
<string name="allow_zooming_videos">Zoomer les vidéos par un double appui</string>
<string name="folder_thumbnail_style">Style des miniatures</string>
<string name="folder_thumbnail_style">Style des miniatures des dossiers</string>
<string name="file_thumbnail_style">Style des miniatures des fichiers</string>
<string name="thumbnail_spacing">Espacement des miniatures</string>
<string name="show_file_count_line">Afficher le nombre de fichiers sur une autre ligne</string>
<string name="show_file_count_brackets">Afficher le nombre de fichiers entre parenthèses</string>
<string name="show_file_count_none">Ne pas afficher le nombre de fichiers</string>
@ -270,8 +272,8 @@
<string name="pesdk_editor_text_exportProgressUnknown">Exportation…</string>
<string name="pesdk_editor_text_exportProgress" formatted="false">Exportation %s</string>
<string name="pesdk_sticker_title_name">Sticker</string>
<string name="pesdk_sticker_title_color">Couleur de Sticker</string>
<string name="pesdk_sticker_title_options">Options de Sticker</string>
<string name="pesdk_sticker_title_color">Couleur du Sticker</string>
<string name="pesdk_sticker_title_options">Options du Sticker</string>
<string name="pesdk_sticker_button_add">Ajouter</string>
<string name="pesdk_sticker_button_color">Couleur</string>
<string name="pesdk_sticker_button_delete">Supprimer</string>
@ -322,7 +324,7 @@
<string name="pesdk_common_title_greenColor">Vert</string>
<string name="pesdk_common_title_aquamarinColor">Aquamarin</string>
<string name="pesdk_common_title_pipettableColor">Couleur de la pipette</string>
<string name="vesdk_video_trim_title_name">Trim</string>
<string name="vesdk_video_trim_title_name">Couper</string>
<!-- FAQ -->
<string name="faq_1_title">Comment faire de Simple Gallery ma galerie par défaut ?</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Mostrar tipos de ficheiros de imaxe</string>
<string name="allow_zooming_videos">Permitir zoom nos vídeos co dobre-toque sobre eles</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Mutassa a kép fájl típusokat</string>
<string name="allow_zooming_videos">A videók nagyításának engedélyezése dupla koppintással</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Tampilkan tipe berkas gambar</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Tampilkan tipe berkas gambar</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Mostra i tipi di file immagine</string>
<string name="allow_zooming_videos">Permetti l\'ingrandimento dei video con un doppio tocco</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">画像ファイルの種類を表示</string>
<string name="allow_zooming_videos">ダブルタップで動画ズームを設定</string>
<string name="folder_thumbnail_style">フォルダサムネイルのスタイル</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">ファイル数を別の行に表示</string>
<string name="show_file_count_brackets">ファイル数を括弧内に表示</string>
<string name="show_file_count_none">ファイル数を非表示</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">사진 파일 종류 표시</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -77,18 +77,18 @@
<string name="editor">Redigering</string>
<string name="rotate">Roter</string>
<string name="invalid_image_path">Ugyldig bildebane</string>
<string name="invalid_video_path">Invalid video path</string>
<string name="invalid_video_path">Ugyldig videobane</string>
<string name="image_editing_failed">Bilderedigering feilet</string>
<string name="video_editing_failed">Video editing failed</string>
<string name="video_editing_failed">Videoredigering feilet</string>
<string name="image_editing_cancelled">Bilderedigering avbrutt</string>
<string name="video_editing_cancelled">Video editing cancelled</string>
<string name="video_editing_cancelled">Videoredigering avbrutt</string>
<string name="file_edited_successfully">Fil vellykket redigert</string>
<string name="image_edited_successfully">Image edited successfully</string>
<string name="video_edited_successfully">Video edited successfully</string>
<string name="image_edited_successfully">Bilde vellykket redigert</string>
<string name="video_edited_successfully">Video vellykket redigert</string>
<string name="edit_image_with">Rediger bilde med:</string>
<string name="edit_video_with">Edit video with:</string>
<string name="edit_video_with">Rediger video med:</string>
<string name="no_image_editor_found">Ingen bilderedigeringsapp funnet</string>
<string name="no_video_editor_found">No video editor found</string>
<string name="no_video_editor_found">Ingen videoredigeringsapp funnet</string>
<string name="unknown_file_location">Ukjent filplassering</string>
<string name="error_saving_file">Kunne ikke overskrive kildefilen</string>
<string name="rotate_left">Roter til venstre</string>
@ -193,6 +193,8 @@
<string name="show_image_file_types">Vis bildefiltyper</string>
<string name="allow_zooming_videos">Tillat zooming av videoer ved å dobbelttrykke dem</string>
<string name="folder_thumbnail_style">Minibildestil for mapper</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Vis antall filer på en separat linje</string>
<string name="show_file_count_brackets">Vis antall filer i parentes</string>
<string name="show_file_count_none">Ikke vis antall filer</string>
@ -261,7 +263,7 @@
<string name="pesdk_brush_title_brushColor">Penselfarge</string>
<string name="pesdk_editor_title_name">Redigering</string>
<string name="pesdk_editor_title_closeEditorAlert">Lukke Redigering?</string>
<string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the changes?</string>
<string name="pesdk_editor_text_closeEditorAlert">Vil du forkaste endringene?</string>
<string name="pesdk_editor_button_closeEditorAlertConfirmation">Ja</string>
<string name="pesdk_editor_button_closeEditorAlertCancelation">Nei</string>
<string name="pesdk_editor_cancel">Avbryt</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">तस्बिरको फाईल किसिम देखाउनुहोस</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -30,13 +30,13 @@
<string name="share_resized">Verkleinde versie delen</string>
<string name="upgraded_from_free">Het lijkt erop dat dit een upgrade is vanaf de oude gratis versie. Deze oude versie, met de knop \"Upgraden naar Pro\" bovenaan de instellingen, kan nu gedeïnstalleerd worden.\n\nDe items in de prullenbak zullen dan wel worden verwijderd, favorieten en instellingen zullen ook opnieuw moeten worden geconfigureerd.</string>
<string name="switch_to_file_search">Zoeken in alle zichtbare mappen</string>
<string name="set_as_default_folder">Set as default folder</string>
<string name="unset_as_default_folder">Unset as default folder</string>
<string name="set_as_default_folder">Als standaardmap instellen</string>
<string name="unset_as_default_folder">Standaardmap herstellen</string>
<!-- Filter -->
<string name="filter_media">Media filteren</string>
<string name="images">Afbeeldingen</string>
<string name="videos">Videos</string>
<string name="videos">Video\'s</string>
<string name="gifs">GIF-bestanden</string>
<string name="raw_images">RAW-afbeeldingen</string>
<string name="svgs">SVG-vectorafbeeldingen</string>
@ -77,18 +77,18 @@
<string name="editor">Bewerken</string>
<string name="rotate">Draaien</string>
<string name="invalid_image_path">Ongeldig pad naar afbeelding</string>
<string name="invalid_video_path">Invalid video path</string>
<string name="invalid_video_path">Ongeldig pad naar video</string>
<string name="image_editing_failed">Fout bij bewerken van afbeelding</string>
<string name="video_editing_failed">Video editing failed</string>
<string name="video_editing_failed">Videobewerking mislukt</string>
<string name="image_editing_cancelled">Afbeelding bewerken is geannuleerd</string>
<string name="video_editing_cancelled">Video editing cancelled</string>
<string name="video_editing_cancelled">Videobewerking is geannuleerd</string>
<string name="file_edited_successfully">Wijzigingen zijn opgeslagen</string>
<string name="image_edited_successfully">Image edited successfully</string>
<string name="video_edited_successfully">Video edited successfully</string>
<string name="image_edited_successfully">Bewerkte afbeelding is opgeslagen</string>
<string name="video_edited_successfully">Bewerkte video is opgeslagen</string>
<string name="edit_image_with">Afbeelding bewerken met:</string>
<string name="edit_video_with">Edit video with:</string>
<string name="no_image_editor_found">Geen app gevonden voor fotobewerking</string>
<string name="no_video_editor_found">No video editor found</string>
<string name="edit_video_with">Video bewerken met:</string>
<string name="no_image_editor_found">Geen app voor fotobewerking gevonden</string>
<string name="no_video_editor_found">Geen app voor videobewerking gevonden</string>
<string name="unknown_file_location">Onbekende bestandslocatie</string>
<string name="error_saving_file">Bronbestand kan niet worden overschreven</string>
<string name="rotate_left">Linksom draaien</string>
@ -117,7 +117,7 @@
<string name="slideshow">Diavoorstelling</string>
<string name="interval">Interval (seconden):</string>
<string name="include_photos">Afbeeldingen weergeven</string>
<string name="include_videos">Videos weergeven</string>
<string name="include_videos">Video\'s weergeven</string>
<string name="include_gifs">GIF-bestanden weergeven</string>
<string name="random_order">Willekeurige volgorde</string>
<string name="move_backwards">Omgekeerde volgorde</string>
@ -151,10 +151,10 @@
<string name="show_folder_name">Mapnaam tonen</string>
<!-- Settings -->
<string name="autoplay_videos">Videos automatisch afspelen</string>
<string name="autoplay_videos">Video\'s automatisch afspelen</string>
<string name="remember_last_video_position">Laatste positie in videos onthouden</string>
<string name="toggle_filename">Bestandsnamen tonen</string>
<string name="loop_videos">Videos herhalen</string>
<string name="loop_videos">Video\'s herhalen</string>
<string name="animate_gifs">GIF-bestanden afspelen in overzicht</string>
<string name="max_brightness">Maximale helderheid in volledig scherm</string>
<string name="crop_thumbnails">Miniatuurvoorbeelden bijsnijden</string>
@ -183,7 +183,7 @@
<string name="show_recycle_bin_last">Prullenbak als laatste item tonen</string>
<string name="allow_down_gesture">Naar beneden vegen om volledig scherm af te sluiten</string>
<string name="allow_one_to_one_zoom">1:1 zoomen na 2x dubbelklikken</string>
<string name="open_videos_on_separate_screen">Videos altijd in apart scherm met horizontale veeggebaren openen</string>
<string name="open_videos_on_separate_screen">Video\'s altijd in apart scherm met horizontale veeggebaren openen</string>
<string name="show_notch">Inkeping scherm tonen indien aanwezig</string>
<string name="allow_rotating_gestures">Afbeeldingen met veeggebaren draaien</string>
<string name="file_loading_priority">Prioriteit bij inladen bestanden</string>
@ -192,13 +192,15 @@
<string name="avoid_showing_invalid_files">Ongeldige bestanden verbergen</string>
<string name="show_image_file_types">Bestandstypen tonen</string>
<string name="allow_zooming_videos">Bij video\'s inzoomen met dubbelklikken</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>
<string name="limit_folder_title">Limit long folder titles to 1 line</string>
<string name="square">Square</string>
<string name="rounded_corners">Rounded corners</string>
<string name="folder_thumbnail_style">Stijl voor thumbnails mappen</string>
<string name="file_thumbnail_style">Stijl voor thumbnails bestanden</string>
<string name="thumbnail_spacing">Afstand tussen thumbnails</string>
<string name="show_file_count_line">Aantal bestanden op aparte regel tonen</string>
<string name="show_file_count_brackets">Aantal bestanden tussen rechte haken tonen</string>
<string name="show_file_count_none">Aantal bestanden niet tonen</string>
<string name="limit_folder_title">Lange mapnamen tot 1 regel limiteren</string>
<string name="square">Vierkant</string>
<string name="rounded_corners">Afgeronde hoeken</string>
<!-- Setting sections -->
<string name="thumbnails">Miniatuurvoorbeelden</string>
@ -261,7 +263,7 @@
<string name="pesdk_brush_title_brushColor">Penseelkleur</string>
<string name="pesdk_editor_title_name">Bewerken</string>
<string name="pesdk_editor_title_closeEditorAlert">Afsluiten</string>
<string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the changes?</string>
<string name="pesdk_editor_text_closeEditorAlert">Veranderingen niet opslaan?</string>
<string name="pesdk_editor_button_closeEditorAlertConfirmation">Ja</string>
<string name="pesdk_editor_button_closeEditorAlertCancelation">Nee</string>
<string name="pesdk_editor_cancel">Annuleren</string>
@ -270,35 +272,35 @@
<string name="pesdk_editor_text_exportProgressUnknown">Exporteren…</string>
<string name="pesdk_editor_text_exportProgress" formatted="false">%s exporteren.</string>
<string name="pesdk_sticker_title_name">Sticker</string>
<string name="pesdk_sticker_title_color">Sticker Color</string>
<string name="pesdk_sticker_title_options">Sticker Options</string>
<string name="pesdk_sticker_button_add">Add</string>
<string name="pesdk_sticker_button_color">Color</string>
<string name="pesdk_sticker_button_delete">Delete</string>
<string name="pesdk_sticker_button_bringToFront">To Front</string>
<string name="pesdk_sticker_button_straighten">Straighten</string>
<string name="pesdk_sticker_button_replace">Replace</string>
<string name="pesdk_sticker_button_opacity">Opacity</string>
<string name="pesdk_sticker_title_color">Stickerkleur</string>
<string name="pesdk_sticker_title_options">Stickeropties</string>
<string name="pesdk_sticker_button_add">Toevoegen</string>
<string name="pesdk_sticker_button_color">Kleur</string>
<string name="pesdk_sticker_button_delete">Verwijderen</string>
<string name="pesdk_sticker_button_bringToFront">Naar voorgrond</string>
<string name="pesdk_sticker_button_straighten">Rechttrekken</string>
<string name="pesdk_sticker_button_replace">Vervangen</string>
<string name="pesdk_sticker_button_opacity">Ondoorzichtigheid</string>
<string name="pesdk_sticker_button_contrast">Contrast</string>
<string name="pesdk_sticker_button_saturation">Saturation</string>
<string name="pesdk_sticker_button_brightness">Brightness</string>
<string name="pesdk_sticker_button_saturation">Verzadiging</string>
<string name="pesdk_sticker_button_brightness">Helderheid</string>
<string name="pesdk_sticker_category_name_custom">Uploads</string>
<string name="pesdk_overlay_title_name">Overlay</string>
<string name="pesdk_overlay_button_blendModeNormal">Normal</string>
<string name="pesdk_overlay_button_blendModeDarken">Darken</string>
<string name="pesdk_overlay_button_blendModeScreen">Screen</string>
<string name="pesdk_overlay_button_blendModeOverlay">Overlay</string>
<string name="pesdk_overlay_button_blendModeLighten">Lighten</string>
<string name="pesdk_overlay_button_blendModeMultiply">Multiply</string>
<string name="pesdk_overlay_button_blendModeColorBurn">Color Burn</string>
<string name="pesdk_overlay_button_blendModeSoftLight">Soft Light</string>
<string name="pesdk_overlay_button_blendModeHardLight">Hard Light</string>
<string name="pesdk_overlay_asset_none">None</string>
<string name="pesdk_overlay_asset_golden">Golden</string>
<string name="pesdk_overlay_asset_lightleak1">Lightleak 1</string>
<string name="pesdk_overlay_asset_mosaic">Mosaic</string>
<string name="pesdk_overlay_asset_paper">Paper</string>
<string name="pesdk_overlay_asset_rain">Rain</string>
<string name="pesdk_overlay_button_blendModeNormal">Normaal</string>
<string name="pesdk_overlay_button_blendModeDarken">Donkerder</string>
<string name="pesdk_overlay_button_blendModeScreen">Raster</string>
<string name="pesdk_overlay_button_blendModeOverlay">Bedekken</string>
<string name="pesdk_overlay_button_blendModeLighten">Lichter</string>
<string name="pesdk_overlay_button_blendModeMultiply">Vermenigvuldigen</string>
<string name="pesdk_overlay_button_blendModeColorBurn">Kleur doordrukken</string>
<string name="pesdk_overlay_button_blendModeSoftLight">Zwak licht</string>
<string name="pesdk_overlay_button_blendModeHardLight">Fel licht</string>
<string name="pesdk_overlay_asset_none">Geen</string>
<string name="pesdk_overlay_asset_golden">Goud</string>
<string name="pesdk_overlay_asset_lightleak1">Licht lekken 1</string>
<string name="pesdk_overlay_asset_mosaic">Mozaïek</string>
<string name="pesdk_overlay_asset_paper">Papier</string>
<string name="pesdk_overlay_asset_rain">Regen</string>
<string name="pesdk_overlay_asset_vintage">Vintage</string>
<string name="pesdk_common_button_flipH">Spiegelen H</string>
<string name="pesdk_common_button_flipV">Spiegelen V</string>
@ -322,7 +324,7 @@
<string name="pesdk_common_title_greenColor">Groen</string>
<string name="pesdk_common_title_aquamarinColor">Aquamarijn</string>
<string name="pesdk_common_title_pipettableColor">Met pipet kiezen</string>
<string name="vesdk_video_trim_title_name">Trim</string>
<string name="vesdk_video_trim_title_name">Titel afkappen</string>
<!-- FAQ -->
<string name="faq_1_title">Hoe kan ik Eenvoudige Galerij instellen als standaard-app voor fotos en videos?</string>
@ -353,7 +355,7 @@
<string name="faq_13_text">In de meeste gevallen werkt de huidige methode voor het weergeven van afbeeldingen prima, maar met de instelling \"Afbeeldingen in de hoogst mogelijke kwaliteit weergeven\" onder \"Afbeeldingen ver inzoomen\" kan een nog betere kwaliteit worden bewerkstelligd.</string>
<string name="faq_14_title">Ik heb een bestand of map verborgen. Hoe kan ik dit ongedaan maken?</string>
<string name="faq_14_text">Kies het menu-item \"Verborgen items tijdelijk tonen\", of schakel de instelling \"Verborgen items tonen\" in om het verborgen item te kunnen zien. Druk vervolgens lang op het item en kies \"Tonen\" om het verbergen ongedaan te maken. Mappen worden verborgen door het bestand \".nomedia\" in de map te plaatsen; dit bestand kan ook handmatig in een andere app worden verwijderd.</string>
<string name="faq_15_title">Why does the app take up so much space?</string>
<string name="faq_15_title">Waarom neemt de app zoveel ruimte in beslag?</string>
<string name="faq_15_text">De cache voor de app kan oplopen tot 250MB; dit garandeert snellere laadtijden van afbeeldingen. Indien de app nog meer ruimte inneemt, komt dat hoogstwaarschijnlijk door de items in de prullenbak. Ook deze bestanden worden meegerekend met de ingenomen ruimte. Verwijder deze items zelf vanuit de prullenbak of vanuit de instellingen van de app. Ieder item in de prullenbak zal na 30 dagen automatisch verwijderd worden.</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
@ -408,7 +410,7 @@
<b>Kijk ook eens naar de hele collectie apps van Simple Tools:</b>
https://www.simplemobiletools.com
<b>Standalone website of Simple Gallery Pro:</b>
<b>Website van Simple Gallery Pro:</b>
https://www.simplemobiletools.com/gallery
<b>Facebook:</b>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Pokazuj rozszerzenia zdjęć</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Exibir tipos de arquivo de imagem</string>
<string name="allow_zooming_videos">Permitir zoom de vídeos com um toque duplo neles</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -77,18 +77,18 @@
<string name="editor">Editor</string>
<string name="rotate">Rodar</string>
<string name="invalid_image_path">Caminho inválido</string>
<string name="invalid_video_path">Invalid video path</string>
<string name="invalid_video_path">Caminho de vídeo inválido</string>
<string name="image_editing_failed">Falha na edição da imagem</string>
<string name="video_editing_failed">Video editing failed</string>
<string name="video_editing_failed">Falha na edição do vídeo</string>
<string name="image_editing_cancelled">Edição de imagem cancelada</string>
<string name="video_editing_cancelled">Video editing cancelled</string>
<string name="video_editing_cancelled">Edição de vídeo cancelada</string>
<string name="file_edited_successfully">Imagem editada com sucesso</string>
<string name="image_edited_successfully">Image edited successfully</string>
<string name="video_edited_successfully">Video edited successfully</string>
<string name="image_edited_successfully">Imagem editada com sucesso</string>
<string name="video_edited_successfully">Vídeo editado com sucesso</string>
<string name="edit_image_with">Editar imagem com:</string>
<string name="edit_video_with">Edit video with:</string>
<string name="no_image_editor_found">Editor não encontrado</string>
<string name="no_video_editor_found">No video editor found</string>
<string name="edit_video_with">Editar vídeo com:</string>
<string name="no_image_editor_found">Editor de imagem não encontrado</string>
<string name="no_video_editor_found">Editor de vídeo não encontrado</string>
<string name="unknown_file_location">Localização desconhecida</string>
<string name="error_saving_file">Não foi possível substituir o ficheiro original</string>
<string name="rotate_left">Rodar à esquerda</string>
@ -193,9 +193,11 @@
<string name="show_image_file_types">Mostrar o tipo de imagem</string>
<string name="allow_zooming_videos">Permitir ampliação de vídeos com dois toques</string>
<string name="folder_thumbnail_style">Estilo de miniatura das pastas</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Mostrar número de ficherios em linha distinta</string>
<string name="show_file_count_brackets">Mostrar número de ficheiros em chavetas</string>
<string name="show_file_count_none">não mostrar número de ficheiros</string>
<string name="show_file_count_none">Não mostrar número de ficheiros</string>
<string name="limit_folder_title">Restringir título das pastas a 1 linha</string>
<string name="square">Quadrado</string>
<string name="rounded_corners">Cantos arredondados</string>
@ -261,7 +263,7 @@
<string name="pesdk_brush_title_brushColor">Cor do pincel</string>
<string name="pesdk_editor_title_name">Editor</string>
<string name="pesdk_editor_title_closeEditorAlert">Fechar editor?</string>
<string name="pesdk_editor_text_closeEditorAlert">Do you really want to discard the changes?</string>
<string name="pesdk_editor_text_closeEditorAlert">Tem a certeza de que deseja descartar as alterações?</string>
<string name="pesdk_editor_button_closeEditorAlertConfirmation">Sim</string>
<string name="pesdk_editor_button_closeEditorAlertCancelation">Não</string>
<string name="pesdk_editor_cancel">Cancelar</string>
@ -270,35 +272,35 @@
<string name="pesdk_editor_text_exportProgressUnknown">A exportar…</string>
<string name="pesdk_editor_text_exportProgress" formatted="false">A exportar %s.</string>
<string name="pesdk_sticker_title_name">Sticker</string>
<string name="pesdk_sticker_title_color">Sticker Color</string>
<string name="pesdk_sticker_title_options">Sticker Options</string>
<string name="pesdk_sticker_button_add">Add</string>
<string name="pesdk_sticker_button_color">Color</string>
<string name="pesdk_sticker_button_delete">Delete</string>
<string name="pesdk_sticker_button_bringToFront">To Front</string>
<string name="pesdk_sticker_button_straighten">Straighten</string>
<string name="pesdk_sticker_button_replace">Replace</string>
<string name="pesdk_sticker_button_opacity">Opacity</string>
<string name="pesdk_sticker_button_contrast">Contrast</string>
<string name="pesdk_sticker_button_saturation">Saturation</string>
<string name="pesdk_sticker_button_brightness">Brightness</string>
<string name="pesdk_sticker_category_name_custom">Uploads</string>
<string name="pesdk_overlay_title_name">Overlay</string>
<string name="pesdk_sticker_title_color">Cor do sticker</string>
<string name="pesdk_sticker_title_options">Opções do sticker</string>
<string name="pesdk_sticker_button_add">Adicionar</string>
<string name="pesdk_sticker_button_color">Cor</string>
<string name="pesdk_sticker_button_delete">Apagar</string>
<string name="pesdk_sticker_button_bringToFront">Para a frente</string>
<string name="pesdk_sticker_button_straighten">Endireitar</string>
<string name="pesdk_sticker_button_replace">Substituir</string>
<string name="pesdk_sticker_button_opacity">Opacidade</string>
<string name="pesdk_sticker_button_contrast">Contraste</string>
<string name="pesdk_sticker_button_saturation">Saturação</string>
<string name="pesdk_sticker_button_brightness">Brilho</string>
<string name="pesdk_sticker_category_name_custom">Carregamentos</string>
<string name="pesdk_overlay_title_name">Sobreposição</string>
<string name="pesdk_overlay_button_blendModeNormal">Normal</string>
<string name="pesdk_overlay_button_blendModeDarken">Darken</string>
<string name="pesdk_overlay_button_blendModeScreen">Screen</string>
<string name="pesdk_overlay_button_blendModeOverlay">Overlay</string>
<string name="pesdk_overlay_button_blendModeLighten">Lighten</string>
<string name="pesdk_overlay_button_blendModeMultiply">Multiply</string>
<string name="pesdk_overlay_button_blendModeDarken">Escurecer</string>
<string name="pesdk_overlay_button_blendModeScreen">Ecrã</string>
<string name="pesdk_overlay_button_blendModeOverlay">Sobreposição</string>
<string name="pesdk_overlay_button_blendModeLighten">Clarear</string>
<string name="pesdk_overlay_button_blendModeMultiply">Multiplicar</string>
<string name="pesdk_overlay_button_blendModeColorBurn">Color Burn</string>
<string name="pesdk_overlay_button_blendModeSoftLight">Soft Light</string>
<string name="pesdk_overlay_button_blendModeHardLight">Hard Light</string>
<string name="pesdk_overlay_asset_none">None</string>
<string name="pesdk_overlay_asset_golden">Golden</string>
<string name="pesdk_overlay_button_blendModeSoftLight">Luz suave</string>
<string name="pesdk_overlay_button_blendModeHardLight">Luz forte</string>
<string name="pesdk_overlay_asset_none">Nenhuma</string>
<string name="pesdk_overlay_asset_golden">Dourada</string>
<string name="pesdk_overlay_asset_lightleak1">Lightleak 1</string>
<string name="pesdk_overlay_asset_mosaic">Mosaic</string>
<string name="pesdk_overlay_asset_paper">Paper</string>
<string name="pesdk_overlay_asset_rain">Rain</string>
<string name="pesdk_overlay_asset_mosaic">Mosaico</string>
<string name="pesdk_overlay_asset_paper">Papel</string>
<string name="pesdk_overlay_asset_rain">Chuva</string>
<string name="pesdk_overlay_asset_vintage">Vintage</string>
<string name="pesdk_common_button_flipH">Inversão horizontal</string>
<string name="pesdk_common_button_flipV">Inversão vertical</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Показывать типы файлов изображений</string>
<string name="allow_zooming_videos">Масштабировать видео двойным нажатием по нему</string>
<string name="folder_thumbnail_style">Вид миниатюр папок</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Показывать количество файлов отдельной строкой</string>
<string name="show_file_count_brackets">Показывать количество файлов в скобках</string>
<string name="show_file_count_none">Не показывать количество файлов</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Zobraziť typ obrázkových súborov</string>
<string name="allow_zooming_videos">Povoliť približovanie videí dvojitým ťuknutím</string>
<string name="folder_thumbnail_style">Štýl miniatúr priečinkov</string>
<string name="file_thumbnail_style">Štýl miniatúr súborov</string>
<string name="thumbnail_spacing">Medzery medzi miniatúrami</string>
<string name="show_file_count_line">Zobraziť počet súborov na samostatnom riadku</string>
<string name="show_file_count_brackets">Zobraziť počet súborov v zátvorkách</string>
<string name="show_file_count_none">Nezobrazovať počet súborov</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -176,7 +176,7 @@
<string name="allow_instant_change">Ekran kenarlarına tıklayarak anında medya değiştirmeye izin ver</string>
<string name="allow_deep_zooming_images">Derin yakınlaştırma resimlerine izin ver</string>
<string name="hide_extended_details">Durum çubuğu gizlendiğinde genişletilmiş ayrıntıları gizle</string>
<string name="show_at_bottom">Ekranın alt kısmındaki bazı eylem düğmelerini göster</string>
<string name="show_at_bottom">Ekranın alt kısmında bazı eylem düğmelerini göster</string>
<string name="show_recycle_bin">Geri dönüşüm kutusu\'nu klasörler ekranında gösterme</string>
<string name="deep_zoomable_images">Derin yakınlaştırılabilir resimler</string>
<string name="show_highest_quality">Resimleri mümkün olan en yüksek kalitede göster</string>
@ -193,6 +193,8 @@
<string name="show_image_file_types">Resim dosyası türlerini göster</string>
<string name="allow_zooming_videos">Videoları iki kez dokunarak yakınlaştırmaya izin ver</string>
<string name="folder_thumbnail_style">Klasör küçük resim stili</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Dosya sayısını ayrı bir satırda göster</string>
<string name="show_file_count_brackets">Dosya sayısını parantez içinde göster</string>
<string name="show_file_count_none">Dosya sayısını gösterme</string>

View file

@ -30,7 +30,7 @@
<string name="share_resized">Поділитися зображенням іншого розміру</string>
<string name="upgraded_from_free">Агов,\n\nздається, ви оновились зі старого безкоштовного додатка. Тепер ви можете видалити стару версію, у якій є кнопка \"Перейти на Pro\" вгорі налаштувань додатка.\n\nВи втратите лише елементи з Кошика, позначки улюблених елементів, а також потрібно буде скинути ваші налаштування додатка.\n\nДякую!</string>
<string name="switch_to_file_search">Перейти до пошуку файла в усіх видимих теках</string>
<string name="set_as_default_folder">Set as default folder</string>
<string name="set_as_default_folder">Встановити теку за замовчуванням</string>
<string name="unset_as_default_folder">Unset as default folder</string>
<!-- Filter -->
@ -77,18 +77,18 @@
<string name="editor">Редактор</string>
<string name="rotate">Обернути</string>
<string name="invalid_image_path">Неприпустимий шлях до зображення</string>
<string name="invalid_video_path">Invalid video path</string>
<string name="invalid_video_path">Неприпустимий шлях до відео</string>
<string name="image_editing_failed">Не вдалося редагувати зображення</string>
<string name="video_editing_failed">Video editing failed</string>
<string name="image_editing_cancelled">Image editing cancelled</string>
<string name="video_editing_cancelled">Video editing cancelled</string>
<string name="file_edited_successfully">File edited successfully</string>
<string name="image_edited_successfully">Image edited successfully</string>
<string name="video_edited_successfully">Video edited successfully</string>
<string name="video_editing_failed">Не вдалося редагувати відео</string>
<string name="image_editing_cancelled">Редагування зображення скасовано</string>
<string name="video_editing_cancelled">Редагування відео скасовано</string>
<string name="file_edited_successfully">Файл вдало відредагован</string>
<string name="image_edited_successfully">Зображення вдало відредаговано</string>
<string name="video_edited_successfully">Відео вдало відредаговано</string>
<string name="edit_image_with">Редагувати зображення за допомогою:</string>
<string name="edit_video_with">Edit video with:</string>
<string name="edit_video_with">Реданувати відео у:</string>
<string name="no_image_editor_found">Не знайдено редакторів зображень</string>
<string name="no_video_editor_found">No video editor found</string>
<string name="no_video_editor_found">Не знайдено редакторів відео</string>
<string name="unknown_file_location">Невідоме розташування файлу</string>
<string name="error_saving_file">Не вдалося перезаписати вихідний файл</string>
<string name="rotate_left">Обернути ліворуч</string>
@ -191,14 +191,16 @@
<string name="compromise">Компроміс</string>
<string name="avoid_showing_invalid_files">Запобігати показу пошкоджених файлів</string>
<string name="show_image_file_types">Показувати типи файлів зображень</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>
<string name="limit_folder_title">Limit long folder titles to 1 line</string>
<string name="square">Square</string>
<string name="rounded_corners">Rounded corners</string>
<string name="allow_zooming_videos">Масштабувати відео подвійним натисканням по ньому</string>
<string name="folder_thumbnail_style">Вид мініатюр тек</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Показувати кількість файлів в окремому рядку</string>
<string name="show_file_count_brackets">Показувати кількість файлів у дужках</string>
<string name="show_file_count_none">Не показувати кількість файлів</string>
<string name="limit_folder_title">Обмежити довгі назви тек одним рядком</string>
<string name="square">Квадрат</string>
<string name="rounded_corners">Закруглені кути</string>
<!-- Setting sections -->
<string name="thumbnails">Ескізи</string>
@ -238,50 +240,50 @@
<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_title_name">Текст</string>
<string name="pesdk_text_title_options">Параметри тексту</string>
<string name="pesdk_text_title_textColor">Колір тексту</string>
<string name="pesdk_text_title_font">Шрифт</string>
<string name="pesdk_text_button_add">Додати</string>
<string name="pesdk_text_button_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_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_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_text_button_delete">Видалити</string>
<string name="pesdk_text_text_editTextPlaceholder">Ваш текст</string>
<string name="pesdk_brush_title_name">Пензель</string>
<string name="pesdk_brush_button_color">Колір</string>
<string name="pesdk_brush_button_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_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 changes?</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_brush_button_delete">Видалити</string>
<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_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">Exporting…</string>
<string name="pesdk_editor_text_exportProgress" formatted="false">Exporting %s.</string>
<string name="pesdk_sticker_title_name">Sticker</string>
<string name="pesdk_sticker_title_color">Sticker Color</string>
<string name="pesdk_sticker_title_options">Sticker Options</string>
<string name="pesdk_sticker_button_add">Add</string>
<string name="pesdk_sticker_button_color">Color</string>
<string name="pesdk_sticker_button_delete">Delete</string>
<string name="pesdk_sticker_button_add">Додати</string>
<string name="pesdk_sticker_button_color">Колір</string>
<string name="pesdk_sticker_button_delete">Видалити</string>
<string name="pesdk_sticker_button_bringToFront">To Front</string>
<string name="pesdk_sticker_button_straighten">Straighten</string>
<string name="pesdk_sticker_button_replace">Replace</string>
<string name="pesdk_sticker_button_opacity">Opacity</string>
<string name="pesdk_sticker_button_contrast">Contrast</string>
<string name="pesdk_sticker_button_saturation">Saturation</string>
<string name="pesdk_sticker_button_brightness">Brightness</string>
<string name="pesdk_sticker_button_opacity">Прозорість</string>
<string name="pesdk_sticker_button_contrast">Контрастність</string>
<string name="pesdk_sticker_button_saturation">Насиченість</string>
<string name="pesdk_sticker_button_brightness">Яскравість</string>
<string name="pesdk_sticker_category_name_custom">Uploads</string>
<string name="pesdk_overlay_title_name">Overlay</string>
<string name="pesdk_overlay_button_blendModeNormal">Normal</string>
@ -300,27 +302,27 @@
<string name="pesdk_overlay_asset_paper">Paper</string>
<string name="pesdk_overlay_asset_rain">Rain</string>
<string name="pesdk_overlay_asset_vintage">Vintage</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_button_flipH">Горизонтальний переворот</string>
<string name="pesdk_common_button_flipV">Вертикальний переворот</string>
<string name="pesdk_common_button_undo">Скасувати</string>
<string name="pesdk_common_button_redo">Повторити</string>
<string name="pesdk_common_title_colorPicker">Вибрати колір</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">Блакитний</string>
<string name="pesdk_common_title_blueColor">Синій</string>
<string name="pesdk_common_title_purpleColor">Фіолетовий</string>
<string name="pesdk_common_title_orchidColor">Бузковий</string>
<string name="pesdk_common_title_pinkColor">Рожевий</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">Оливковий</string>
<string name="pesdk_common_title_greenColor">Зелений</string>
<string name="pesdk_common_title_aquamarinColor">Аквамариновий</string>
<string name="pesdk_common_title_pipettableColor">Pipettable color</string>
<string name="vesdk_video_trim_title_name">Trim</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Hiển thị các loại tệp hình ảnh</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -156,13 +156,13 @@
<string name="toggle_filename">显示文件名</string>
<string name="loop_videos">循环播放视频</string>
<string name="animate_gifs">GIF 缩略图</string>
<string name="max_brightness">全屏查看媒体文件时最大亮度</string>
<string name="max_brightness">全屏时最高亮度</string>
<string name="crop_thumbnails">裁剪缩略图为正方形</string>
<string name="show_thumbnail_video_duration">显示视频时长</string>
<string name="screen_rotation_by">旋转全屏媒体文件依据</string>
<string name="screen_rotation_system_setting">系统设置</string>
<string name="screen_rotation_device_rotation">设备旋转</string>
<string name="screen_rotation_aspect_ratio">高宽比</string>
<string name="screen_rotation_by">全屏时媒体文件旋转方向</string>
<string name="screen_rotation_system_setting">跟随系统设置</string>
<string name="screen_rotation_device_rotation">跟随设备旋转</string>
<string name="screen_rotation_aspect_ratio">根据高宽比</string>
<string name="black_background_at_fullscreen">全屏时使用黑色背景和状态栏</string>
<string name="scroll_thumbnails_horizontally">水平滚动缩略图</string>
<string name="hide_system_ui_at_fullscreen">全屏时自动隐藏状态栏</string>
@ -171,9 +171,9 @@
<string name="allow_video_gestures">使用纵向滑动手势控制视频音量和亮度</string>
<string name="show_media_count">在主界面显示文件夹媒体计数</string>
<string name="show_extended_details">全屏浏览媒体时显示详细信息</string>
<string name="manage_extended_details">要显示的详细信息项目</string>
<string name="manage_extended_details">管理详细信息项目</string>
<string name="one_finger_zoom">单指缩放</string>
<string name="allow_instant_change">通过单击屏幕边缘来切换媒体</string>
<string name="allow_instant_change">击屏幕边缘来切换媒体</string>
<string name="allow_deep_zooming_images">允许深度放大图像</string>
<string name="hide_extended_details">当状态栏隐藏时隐藏扩展详情</string>
<string name="show_at_bottom">显示底栏</string>
@ -181,18 +181,20 @@
<string name="deep_zoomable_images">深度放大图像</string>
<string name="show_highest_quality">以最高质量显示图像</string>
<string name="show_recycle_bin_last">在主屏幕界面的最后一项显示回收站</string>
<string name="allow_down_gesture">使用下滑手势关闭全屏视图</string>
<string name="allow_down_gesture">使用下滑手势退出全屏视图</string>
<string name="allow_one_to_one_zoom">双击两次后 1:1 放大图像</string>
<string name="open_videos_on_separate_screen">使用新的水平手势在独立页面播放视频</string>
<string name="open_videos_on_separate_screen">在单独的页面播放视频(可以左右滑动屏幕来快进/快退)</string>
<string name="show_notch">显示留海(如果可用)</string>
<string name="allow_rotating_gestures">允许使用手势旋转图像</string>
<string name="file_loading_priority">文件加载优先级</string>
<string name="speed">快速</string>
<string name="compromise">折中</string>
<string name="avoid_showing_invalid_files">避免显示无效的文件</string>
<string name="compromise">避免显示空文件</string>
<string name="avoid_showing_invalid_files">避免显示任何无效的文件</string>
<string name="show_image_file_types">显示图片文件类型</string>
<string name="allow_zooming_videos">允许双击来放大视频</string>
<string name="folder_thumbnail_style">文件夹缩略图样式</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">在单独一行中显示计数</string>
<string name="show_file_count_brackets">在括号中显示计数</string>
<string name="show_file_count_none">不显示计数</string>
@ -326,29 +328,29 @@
<!-- FAQ -->
<string name="faq_1_title">如何把简易图库设置为设备的默认图库?</string>
<string name="faq_1_text">首先,您需要在设备设置的“应用”菜单中找到您当前的默认图库,找到并点击“默认打开”按钮,然后点击“清除默认值”。下次当您打开图片或视频时,您应该会看到一个应用程序选择器,在这里选择“简易图库”并将其设为默认应用程序。</string>
<string name="faq_2_title">我用密码锁定了本应用,但我忘记密码。该怎么办?</string>
<string name="faq_2_text">有两种方法。您可以重新安装本应用,也可以在设置中清除此应用的数据,这将会会重置您的所有设置,但不会删除任何媒体文件。</string>
<string name="faq_1_text">首先在系统设置中的“应用”菜单下找到您当前的默认图库,选择并点击“默认打开”按钮,然后点击“清除默认值”。下次再打开图片或视频时,您会看到一个应用程序选择器,在这里选择“简易图库”并将其设为默认应用程序即可</string>
<string name="faq_2_title">我用密码锁定了本应用,但我忘记密码。该怎么办?</string>
<string name="faq_2_text">有两种方法。您可以重新安装本应用,也可以在设置中清除此应用的数据,这会重置您的所有设置,但不会删除任何媒体文件。</string>
<string name="faq_3_title">如何让某个相册始终显示在最上面?</string>
<string name="faq_3_text">您可以长按该相册并在操作栏中点击图钉图标,这样 就可以将其固定在顶部了。您也可以固定多个文件夹,固定项目将按照默认排序方法排序。</string>
<string name="faq_3_text">您可以长按该相册并在操作栏中点击图钉图标,这样就可以将其固定在顶部了。您也可以固定多个文件夹,已固定的项目会按照默认排序方法进行排序。</string>
<string name="faq_4_title">如何快进/快退视频?</string>
<string name="faq_4_text">您可以双击屏幕边缘或点击搜索栏附近的当前或总时长的文字。 如果您在应用设置中启用了在独立页面播放视频,则也可以使用水平手势</string>
<string name="faq_4_text">您可以双击屏幕边缘或点击搜索栏附近的当前时间或总时长的文本。如果您在应用设置中启用了“在单独的页面播放视频”,就可以使用水平手势来快进/快退视频</string>
<string name="faq_5_title">文件夹的隐藏和排除有什么区别?</string>
<string name="faq_5_text">排除功能只是防止其在简易图库中显示,而隐藏功能则使用的是系统的方法,这样做也会在其他图库中隐藏。它的工作原理是在给定的文件夹中创建一个空的.nomedia文件您可以使用任何文件管理器删除它。请注意某些设备不允许隐藏\"Camera\"\"Screenshots\"和\"Downloads\"等文件夹。</string>
<string name="faq_5_text">排除功能只是防止其在简易图库中显示,而隐藏功能则使用的是系统提供的方法,这样的话在其他的图库应用中也会隐藏。它的工作原理是在给定的文件夹中创建一个空的.nomedia文件您可以使用任何文件管理器删除它。请注意,某些设备不允许隐藏\"Camera\"\"Screenshots\"和\"Downloads\"等文件夹。</string>
<string name="faq_6_title">为什么会出现音乐艺术家封面或贴纸文件夹?</string>
<string name="faq_6_text">您可能会看到一些不寻常的相册出现。可以通过长按它们并选择“排除”来排除它们。在之后的对话框中,您可以选择父文件夹,这样也许就会阻止其他相关的相册出现。</string>
<string name="faq_6_text">您可能会看到一些不寻常的相册出现。可以通过长按并选择“排除”来排除它们。在之后的对话框中,您可以选择父文件夹,这样也许就会阻止其他相关的相册出现。</string>
<string name="faq_7_title">有的图片文件夹没有显示,怎么回事?</string>
<string name="faq_7_text">原因可能有很多,但解决方法很简单。只需进入设置 -> 管理包含目录,点击+号并选择到所需的文件夹。</string>
<string name="faq_7_text">原因可能有很多,但解决方法很简单。只需进入设置 -> 管理包含目录,点击+号并选择文件夹。</string>
<string name="faq_8_title">如果我只想显示几个特定的文件夹,该如何操作?</string>
<string name="faq_8_text">在包含目录中添加文件夹不会自动排除其他的内容。您可以做:进入设置 -> 管理排除目录,排除根目录\"/\",然后在设置 -> 管理包含目录中添加所需的文件夹。这样就只显示选定的文件夹了,由于排除和包含都是递归的,所以排除并包含的文件夹是会显示的。</string>
<string name="faq_10_title">可以裁剪图片吗?</string>
<string name="faq_10_text">当然,通过长按图片缩略图并选择编辑,或在全屏视图中选择编辑来打开编辑器。您可以通过拖动图片边角来剪裁图</string>
<string name="faq_8_text">在包含目录中添加文件夹不会自动排除其他的内容。您可以这样做:进入设置 -> 管理排除目录,排除根目录\"/\",然后在设置 -> 管理包含目录中添加所需的文件夹。这样就可以只显示选定的文件夹了,由于排除和包含都是递归的,所以排除并包含的文件夹是会显示的。</string>
<string name="faq_10_title">可以裁剪图片吗?</string>
<string name="faq_10_text">当然可以,通过长按图片缩略图并选择编辑,或在全屏视图中选择编辑来打开编辑器。您可以通过拖动图片边角来剪裁图</string>
<string name="faq_11_title">我能将媒体文件缩略图分组吗?</string>
<string name="faq_11_text">当然,只需在缩略图视图中使用\"分组依据\"菜单项即可。您可以依据多个条件对文件进行分组,包括拍摄日期。如果您使用了\"显示所有文件夹内容\"功能,则可以按文件夹对它们进行分组。</string>
<string name="faq_11_text">当然可以,只需在缩略图视图中使用\"分组依据\"菜单项即可。您可以依据多个条件对文件进行分组,包括拍摄日期。如果您使用了\"显示所有文件夹内容\"功能,则可以按文件夹对它们进行分组。</string>
<string name="faq_12_title">按拍摄日期排序似乎有异常,我该如何解决?</string>
<string name="faq_12_text">很可能是因为图片是从某处复制过来的。您可以长按文件缩略图并选择\"修复拍摄日期\"来修复它。</string>
<string name="faq_13_title">我看到图上有一些色带。如何提高提高质量?</string>
<string name="faq_13_text">目前显示图像的方案在绝大多数情况下都能正常工作,如果您想要更好的图像质量,您可以在设置中启用\"以最高质量显示图像\"。</string>
<string name="faq_13_title">我看到图上有一些色带。如何提高提高质量?</string>
<string name="faq_13_text">目前显示图片的方案在绝大多数情况下都是正常的,如果您想要更好的图像质量,您可以在设置中启用\"以最高质量显示图像\"。</string>
<string name="faq_14_title">我隐藏了某个文件/文件夹。如何取消隐藏?</string>
<string name="faq_14_text">您可以点击主界面上的\"暂时显示隐藏的项目\"选项,或在设置中开启\"显示隐藏的项目\"。 如果您想取消隐藏它,长按它并选择\"取消隐藏\"即可。 我们是通过向文件夹中添加\".nomedia\"文件来隐藏文件夹的,使用文件管理器删除该文件也可以取消隐藏。</string>
<string name="faq_15_title">为什么应用占用了这么多的空间?</string>
@ -360,7 +362,7 @@
<!-- Short description has to have less than 80 chars -->
<string name="app_short_description">使用此照片和视频库来毫无阻碍地浏览您的回忆</string>
<string name="app_long_description">
简易图库 Pro 是一个高度可定制的图库。管理并编辑您的照片从回收站中恢复已删除的照片保护并隐藏文件查看RAWSVG等等多种照片和视频格式。
简易图库 Pro 是一个高度可定制的图库。你可以管理并编辑您的照片从回收站中恢复已删除的照片保护并隐藏文件查看RAWSVG等等多种照片和视频格式。
该应用不包含广告和不必要的权限。我们保护您的隐私,因为该应用不需要联网权限。
@ -392,18 +394,18 @@
简易图库 Pro 可以轻松地动态编辑图片。支持裁剪、翻转、旋转、或是调整图片大小。如果您希望更有创意的话,可以添加滤镜,或是直接在图片上绘制!
<b>支持多种文件类型</b>
与其他一些图库应用不同,简易图库 Pro 支持多种文件类型包括JPEGPNGMP4MKVRAWSVG全景照片全景视频等等。
不同于其他一些图库应用,简易图库 Pro 支持多种文件类型包括JPEGPNGMP4MKVRAWSVG全景照片全景视频等等。
<b>高度可定制的图库</b>
从UI到底部工具栏上的功能按钮简易图库 Pro 可高度自定义并按您的要求工作。其他图库应用可没有这种灵活性!由于该应用是开源的,所以我们还提供 32 种语言!
不论是UI还是底部工具栏上的功能按钮简易图库 Pro 可按照您的要求高度自定义。其他图库应用可没有这种灵活性!由于该应用是开源的,所以我们还提供 32 种语言!
<b>恢复已删除的照片和视频</b>
意外删除了珍贵的照片或视频?别担心!简易图库 Pro 具有方便的回收站,您可以方便地恢复已删除的照片和视频。
不小心删除了珍贵的照片或视频?别担心!简易图库 Pro 具有方便的回收站,您可以轻松地恢复已删除的照片和视频。
<b>保护并隐藏照片、视频和文件</b>
使用密码、图案或指纹保护和隐藏照片、视频、或是整个相册。您也可以保护应用自身或禁用一些特定功能。 例如,只有指纹验证通过才可以删除文件,从而有效地防止您的文件被意外删除。
<b>于此查看简易工具系列全套:</b>
<b>在这里查看全套简易应用系列:</b>
https://www.simplemobiletools.com
<b>简易图库 Pro 的独立网站:</b>

View file

@ -200,6 +200,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">顯示圖片檔案類型</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -193,6 +193,8 @@
<string name="show_image_file_types">Show image file types</string>
<string name="allow_zooming_videos">Allow zooming videos with double tapping them</string>
<string name="folder_thumbnail_style">Folder thumbnail style</string>
<string name="file_thumbnail_style">File thumbnail style</string>
<string name="thumbnail_spacing">Thumbnail spacing</string>
<string name="show_file_count_line">Show file count on a separate line</string>
<string name="show_file_count_brackets">Show file count in brackets</string>
<string name="show_file_count_none">Do not show file count</string>

View file

@ -3,7 +3,7 @@ package com.simplemobiletools.gallery.pro.activities
import android.annotation.TargetApi
import android.app.Activity
import android.content.Intent
import android.media.ExifInterface
import androidx.exifinterface.media.ExifInterface
import android.net.Uri
import android.os.Build
import android.os.Bundle

View file

@ -3,11 +3,11 @@ package com.simplemobiletools.gallery.pro.activities
import android.annotation.TargetApi
import android.app.Activity
import android.content.Intent
import android.media.ExifInterface
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.MediaStore
import androidx.exifinterface.media.ExifInterface
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_STORAGE
import com.simplemobiletools.commons.helpers.REAL_FILE_PATH

View file

@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.4.20'
ext.kotlin_version = '1.4.21'
ext.is_proprietary = gradle.startParameter.taskNames.any { task -> task.contains("Proprietary") }
repositories {
@ -16,7 +16,7 @@ buildscript {
classpath 'com.android.tools.build:gradle:4.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
if (is_proprietary) {
classpath 'ly.img.android.pesdk:plugin:8.0.5'
classpath 'ly.img.android.pesdk:plugin:8.0.8'
}
// NOTE: Do not place your application dependencies here; they belong

View file

@ -0,0 +1,3 @@
* Added a Video Editor (not on F-droid)
* Added Stickers and Overlays to the Photo Editor (not on F-droid)
* Some translation, stability and UI improvements

View file

@ -0,0 +1,2 @@
* Updated the photo and video editor to fix some glitches
* Added some translation and stability improvements

View file

@ -0,0 +1,3 @@
* Improve the performance at scrolling media thumbnails
* Speed up cached folder fetching
* Some stability and translation improvements

View file

@ -0,0 +1 @@
* Speed up fullscreen medium loading a bit too

View file

@ -0,0 +1,3 @@
* Allow easily clearing the app cache from the app settings
* Allow customizing the spacing between file thumbnails, or using rounded corners
* Many other performance, UI, UX, translation and stability improvements