commit
301350fbcc
21 changed files with 186 additions and 122 deletions
|
@ -7,7 +7,7 @@ buildscript {
|
|||
propMinSdkVersion = 16
|
||||
propTargetSdkVersion = propCompileSdkVersion
|
||||
propVersionCode = 1
|
||||
propVersionName = '3.1.4'
|
||||
propVersionName = '3.2.6'
|
||||
kotlin_version = '1.2.0'
|
||||
support_libs = '27.0.2'
|
||||
}
|
||||
|
|
|
@ -30,14 +30,14 @@ android {
|
|||
dependencies {
|
||||
compile "com.android.support:design:$support_libs"
|
||||
compile "com.android.support:appcompat-v7:$support_libs"
|
||||
compile 'com.github.bumptech.glide:glide:4.3.1'
|
||||
compile 'com.github.bumptech.glide:glide:4.4.0'
|
||||
compile 'com.booking:rtlviewpager:1.0.1'
|
||||
compile 'com.andrognito.patternlockview:patternlockview:1.0.0'
|
||||
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
|
||||
compile 'com.github.ajalt.reprint:core:3.2.0@aar'
|
||||
|
||||
kapt 'com.github.bumptech.glide:compiler:4.3.1'
|
||||
kapt 'com.github.bumptech.glide:compiler:4.4.0'
|
||||
}
|
||||
|
||||
apply from: '../bintray-upload.gradle'
|
||||
|
|
|
@ -8,10 +8,7 @@ import android.view.KeyEvent
|
|||
import com.simplemobiletools.commons.R
|
||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.adapters.FilepickerItemsAdapter
|
||||
import com.simplemobiletools.commons.extensions.beVisible
|
||||
import com.simplemobiletools.commons.extensions.getFilenameFromPath
|
||||
import com.simplemobiletools.commons.extensions.internalStoragePath
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.models.FileDirItem
|
||||
import com.simplemobiletools.commons.views.Breadcrumbs
|
||||
import kotlinx.android.synthetic.main.dialog_filepicker.view.*
|
||||
|
@ -126,7 +123,10 @@ class FilePickerDialog(val activity: BaseSimpleActivity,
|
|||
mDialogView.apply {
|
||||
filepicker_list.adapter = adapter
|
||||
filepicker_breadcrumbs.setBreadcrumb(currPath)
|
||||
filepicker_fastscroller.setViews(filepicker_list)
|
||||
filepicker_fastscroller.allowBubbleDisplay = context.baseConfig.showInfoBubble
|
||||
filepicker_fastscroller.setViews(filepicker_list) {
|
||||
filepicker_fastscroller.updateBubbleText(items[it].getBubbleText())
|
||||
}
|
||||
}
|
||||
|
||||
layoutManager.onRestoreInstanceState(mScrollStates[currPath.trimEnd('/')])
|
||||
|
|
|
@ -194,5 +194,5 @@ fun Activity.getThemeId(color: Int = baseConfig.primaryColor) = when (color) {
|
|||
-13154481 -> R.style.AppTheme_Blue_Grey_800
|
||||
-14273992 -> R.style.AppTheme_Blue_Grey_900
|
||||
|
||||
else -> throw RuntimeException("Unknown theme id $color")
|
||||
else -> R.style.AppTheme_Orange_700
|
||||
}
|
||||
|
|
|
@ -15,7 +15,10 @@ import android.provider.DocumentsContract
|
|||
import android.provider.MediaStore
|
||||
import android.support.v4.provider.DocumentFile
|
||||
import android.support.v7.app.AlertDialog
|
||||
import android.view.*
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.Window
|
||||
import android.view.WindowManager
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.EditText
|
||||
import android.widget.TextView
|
||||
|
@ -38,24 +41,36 @@ import java.util.*
|
|||
|
||||
fun Activity.toast(id: Int, length: Int = Toast.LENGTH_SHORT) {
|
||||
if (isOnMainThread()) {
|
||||
Toast.makeText(this, id, length).show()
|
||||
showToast(this, id, length)
|
||||
} else {
|
||||
runOnUiThread {
|
||||
Toast.makeText(this, id, length).show()
|
||||
showToast(this, id, length)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Activity.toast(msg: String, length: Int = Toast.LENGTH_SHORT) {
|
||||
if (isOnMainThread()) {
|
||||
Toast.makeText(this, msg, length).show()
|
||||
showToast(this, msg, length)
|
||||
} else {
|
||||
runOnUiThread {
|
||||
Toast.makeText(this, msg, length).show()
|
||||
showToast(this, msg, length)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun showToast(activity: Activity, messageId: Int, length: Int) {
|
||||
if (!activity.isActivityDestroyed()) {
|
||||
Toast.makeText(activity, messageId, length).show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun showToast(activity: Activity, message: String, length: Int) {
|
||||
if (!activity.isActivityDestroyed()) {
|
||||
Toast.makeText(activity, message, length).show()
|
||||
}
|
||||
}
|
||||
|
||||
fun Activity.showErrorToast(msg: String, length: Int = Toast.LENGTH_LONG) {
|
||||
toast(String.format(getString(R.string.an_error_occurred), msg), length)
|
||||
}
|
||||
|
@ -621,7 +636,7 @@ fun Activity.setupDialogStuff(view: View, dialog: AlertDialog, titleId: Int = 0,
|
|||
|
||||
var title: TextView? = null
|
||||
if (titleId != 0) {
|
||||
title = LayoutInflater.from(this).inflate(R.layout.dialog_title, null) as TextView
|
||||
title = layoutInflater.inflate(R.layout.dialog_title, null) as TextView
|
||||
title.dialog_title_textview.apply {
|
||||
setText(titleId)
|
||||
setTextColor(baseConfig.textColor)
|
||||
|
|
|
@ -189,6 +189,7 @@ fun Context.getPermissionString(id: Int) = when (id) {
|
|||
PERMISSION_CAMERA -> Manifest.permission.CAMERA
|
||||
PERMISSION_RECORD_AUDIO -> Manifest.permission.RECORD_AUDIO
|
||||
PERMISSION_READ_CONTACTS -> Manifest.permission.READ_CONTACTS
|
||||
PERMISSION_WRITE_CONTACTS -> Manifest.permission.WRITE_CONTACTS
|
||||
PERMISSION_READ_CALENDAR -> Manifest.permission.READ_CALENDAR
|
||||
PERMISSION_WRITE_CALENDAR -> Manifest.permission.WRITE_CALENDAR
|
||||
else -> ""
|
||||
|
|
|
@ -43,7 +43,10 @@ fun ClosedRange<Int>.random() = Random().nextInt(endInclusive - start) + start
|
|||
fun Int.darkenColor(): Int {
|
||||
if (this == Color.WHITE) {
|
||||
return -2105377
|
||||
} else if (this == Color.BLACK) {
|
||||
return Color.BLACK
|
||||
}
|
||||
|
||||
val DARK_FACTOR = 8
|
||||
var hsv = FloatArray(3)
|
||||
Color.colorToHSV(this, hsv)
|
||||
|
|
|
@ -27,7 +27,7 @@ fun String.isAValidFilename(): Boolean {
|
|||
return true
|
||||
}
|
||||
|
||||
val String.photoExtensions: Array<String> get() = arrayOf(".jpg", ".png", ".jpeg", ".bmp", ".webp")
|
||||
val String.photoExtensions: Array<String> get() = arrayOf(".jpg", ".png", ".jpeg", ".bmp", ".webp", ".dng")
|
||||
val String.videoExtensions: Array<String> get() = arrayOf(".mp4", ".mkv", ".webm", ".avi", ".3gp", ".mov", ".m4v", ".3gpp")
|
||||
val String.audioExtensions: Array<String> get() = arrayOf(".mp3", ".wav", ".wma", ".ogg", ".m4a")
|
||||
|
||||
|
@ -39,6 +39,8 @@ fun String.isPng() = endsWith(".png", true)
|
|||
|
||||
fun String.isJpg() = endsWith(".jpg", true) or endsWith(".jpeg")
|
||||
|
||||
fun String.isDng() = endsWith(".dng", true)
|
||||
|
||||
// fast extension checks, not guaranteed to be accurate
|
||||
fun String.isVideoFast() = videoExtensions.any { endsWith(it, true) }
|
||||
|
||||
|
@ -223,6 +225,7 @@ fun String.getMimeTypeFromPath(): String {
|
|||
put("dll", "application/x-msdownload")
|
||||
put("dll.config", "text/xml")
|
||||
put("dlm", "text/dlm")
|
||||
put("dng", "image/x-adobe-dng")
|
||||
put("doc", "application/msword")
|
||||
put("docm", "application/vnd.ms-word.document.macroEnabled.12")
|
||||
put("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
|
||||
|
|
|
@ -70,6 +70,7 @@ val SORT_BY_SIZE = 4
|
|||
val SORT_BY_DATE_TAKEN = 8
|
||||
val SORT_BY_EXTENSION = 16
|
||||
val SORT_BY_PATH = 32
|
||||
val SORT_BY_NUMBER = 64
|
||||
val SORT_DESCENDING = 1024
|
||||
|
||||
// security
|
||||
|
@ -88,5 +89,6 @@ val PERMISSION_WRITE_STORAGE = 2
|
|||
val PERMISSION_CAMERA = 3
|
||||
val PERMISSION_RECORD_AUDIO = 4
|
||||
val PERMISSION_READ_CONTACTS = 5
|
||||
val PERMISSION_READ_CALENDAR = 6
|
||||
val PERMISSION_WRITE_CALENDAR = 7
|
||||
val PERMISSION_WRITE_CONTACTS = 6
|
||||
val PERMISSION_READ_CALENDAR = 7
|
||||
val PERMISSION_WRITE_CALENDAR = 8
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
package com.simplemobiletools.commons.models
|
||||
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_DATE_MODIFIED
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_NAME
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_SIZE
|
||||
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
|
||||
import com.simplemobiletools.commons.extensions.formatDate
|
||||
import com.simplemobiletools.commons.extensions.formatSize
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import java.io.File
|
||||
|
||||
data class FileDirItem(val path: String, val name: String, val isDirectory: Boolean, val children: Int, val size: Long) :
|
||||
|
@ -36,9 +35,7 @@ data class FileDirItem(val path: String, val name: String, val isDirectory: Bool
|
|||
}
|
||||
}
|
||||
else -> {
|
||||
val extension = if (isDirectory) name else path.substringAfterLast('.', "")
|
||||
val otherExtension = if (other.isDirectory) other.name else other.path.substringAfterLast('.', "")
|
||||
result = extension.toLowerCase().compareTo(otherExtension.toLowerCase())
|
||||
result = getExtension().toLowerCase().compareTo(other.getExtension().toLowerCase())
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,4 +45,13 @@ data class FileDirItem(val path: String, val name: String, val isDirectory: Bool
|
|||
result
|
||||
}
|
||||
}
|
||||
|
||||
fun getExtension() = if (isDirectory) name else path.substringAfterLast('.', "")
|
||||
|
||||
fun getBubbleText() = when {
|
||||
sorting and SORT_BY_SIZE != 0 -> size.formatSize()
|
||||
sorting and SORT_BY_DATE_MODIFIED != 0 -> File(path).lastModified().formatDate()
|
||||
sorting and SORT_BY_EXTENSION != 0 -> getExtension().toLowerCase()
|
||||
else -> name
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,13 +17,13 @@ import com.simplemobiletools.commons.extensions.baseConfig
|
|||
// based on https://blog.stylingandroid.com/recyclerview-fastscroll-part-1
|
||||
class FastScroller : FrameLayout {
|
||||
var isHorizontal = false
|
||||
var allowBubbleDisplay = false
|
||||
|
||||
private var handle: View? = null
|
||||
private var bubble: TextView? = null
|
||||
private var currHeight = 0
|
||||
private var currWidth = 0
|
||||
private var bubbleOffset = 0
|
||||
private var allowBubbleDisplay = false
|
||||
private var fastScrollCallback: ((Int) -> Unit)? = null
|
||||
|
||||
private val HANDLE_HIDE_DELAY = 1000L
|
||||
|
@ -54,7 +54,6 @@ class FastScroller : FrameLayout {
|
|||
}
|
||||
})
|
||||
|
||||
allowBubbleDisplay = callback != null
|
||||
fastScrollCallback = callback
|
||||
}
|
||||
|
||||
|
@ -203,6 +202,10 @@ class FastScroller : FrameLayout {
|
|||
val position = pos / currWidth
|
||||
val handleWidth = handle!!.width
|
||||
handle!!.x = getValueInRange(0f, (currWidth - handleWidth).toFloat(), (currWidth - handleWidth) * position)
|
||||
|
||||
val bubbleWidth = bubble?.width ?: 0
|
||||
val newX = getValueInRange(0f, (currWidth - bubbleWidth).toFloat(), (currWidth - bubbleWidth) * position)
|
||||
bubble?.x = Math.max(0f, newX)
|
||||
} else {
|
||||
val position = pos / currHeight
|
||||
val handleHeight = handle!!.height
|
||||
|
|
BIN
commons/src/main/res/drawable-hdpi/ic_person.png
Normal file
BIN
commons/src/main/res/drawable-hdpi/ic_person.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 273 B |
BIN
commons/src/main/res/drawable-xhdpi/ic_person.png
Normal file
BIN
commons/src/main/res/drawable-xhdpi/ic_person.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 312 B |
BIN
commons/src/main/res/drawable-xxhdpi/ic_person.png
Normal file
BIN
commons/src/main/res/drawable-xxhdpi/ic_person.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 440 B |
BIN
commons/src/main/res/drawable-xxxhdpi/ic_person.png
Normal file
BIN
commons/src/main/res/drawable-xxxhdpi/ic_person.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 577 B |
|
@ -21,6 +21,7 @@
|
|||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:inputType="textCapSentences"
|
||||
android:singleLine="true"
|
||||
android:textCursorDrawable="@null"/>
|
||||
android:textCursorDrawable="@null"
|
||||
android:textSize="@dimen/normal_text_size"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:singleLine="true"
|
||||
android:textCursorDrawable="@null"/>
|
||||
android:textCursorDrawable="@null"
|
||||
android:textSize="@dimen/normal_text_size"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/rename_item_extension_label"
|
||||
|
@ -32,6 +33,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:singleLine="true"
|
||||
android:textCursorDrawable="@null"/>
|
||||
android:textCursorDrawable="@null"
|
||||
android:textSize="@dimen/normal_text_size"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/fastscroller_handle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:alpha="0"
|
||||
android:background="@drawable/fastscroller_handle_horizontal"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/fastscroller_bubble"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/fastscroll_height"
|
||||
android:alpha="0"
|
||||
android:background="@drawable/fastscroller_bubble"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:singleLine="true"
|
||||
android:textSize="@dimen/normal_text_size"
|
||||
tools:text="bubble"/>
|
||||
|
||||
</merge>
|
|
@ -126,21 +126,21 @@
|
|||
<string name="undo_changes">Annulla modifiche</string>
|
||||
<string name="undo_changes_confirmation">Sei sicuro di annullare le tue modifiche?</string>
|
||||
<string name="save_before_closing">Hai modifiche non salvate. Salvare prima di uscire?</string>
|
||||
<string name="apply_to_all_apps">Apply colors to all Simple Apps</string>
|
||||
<string name="share_colors_success">Colors updated successfully. A new Theme called \'Shared\' has been added, please use that for updating all app colors in the future.</string>
|
||||
<string name="apply_to_all_apps">Applica i colori a tutte le app Simple</string>
|
||||
<string name="share_colors_success">Colori aggiornati correttamente. È stato aggiunto un nuovo tema chiamato \'Condiviso\', usa quello per aggiornare tutti i colori dell\'app in futuro.</string>
|
||||
<string name="purchase_thank_you">
|
||||
<![CDATA[
|
||||
Please purchase <a href="https://play.google.com/store/apps/details?id=com.simplemobiletools.thankyou">Simple Thank You</a> to unlock this function and support the development. Thanks!
|
||||
Acquista <a href="https://play.google.com/store/apps/details?id=com.simplemobiletools.thankyou">Simple Thank You</a> per sbloccare questa funzione e supportare lo sviluppo. Grazie!
|
||||
]]>
|
||||
</string>
|
||||
|
||||
<!-- Themes -->
|
||||
<string name="light_theme">Chiaro</string>
|
||||
<string name="dark_theme">Scuro</string>
|
||||
<string name="solarized">Solarized</string>
|
||||
<string name="dark_red">Dark red</string>
|
||||
<string name="solarized">Solarizzato</string>
|
||||
<string name="dark_red">Rosso scuro</string>
|
||||
<string name="custom">Personale</string>
|
||||
<string name="shared">Shared</string>
|
||||
<string name="shared">Condiviso</string>
|
||||
|
||||
<!-- What's new -->
|
||||
<string name="whats_new">Novità</string>
|
||||
|
@ -215,7 +215,7 @@
|
|||
<!-- Settings -->
|
||||
<string name="settings">Impostazioni</string>
|
||||
<string name="customize_colors">Personalizza i colori</string>
|
||||
<string name="use_english_language">Forza lingua Inglese</string>
|
||||
<string name="use_english_language">Forza la lingua inglese</string>
|
||||
<string name="show_hidden">Mostra file e cartelle nascosti</string>
|
||||
<string name="font_size">Dimensione carattere</string>
|
||||
<string name="small">Piccolo</string>
|
||||
|
@ -225,7 +225,7 @@
|
|||
<string name="password_protect_hidden_items">Proteggi con password gli elementi nascosti</string>
|
||||
<string name="password_protect_whole_app">Proteggi con password tutta l\'applicazione</string>
|
||||
<string name="keep_last_modified">Mantieni data/ora ultima modifica in copia/sposta/rinomina</string>
|
||||
<string name="show_info_bubble">Show an info bubble at scrolling items by scrollbar dragging</string>
|
||||
<string name="show_info_bubble">Mostra un fumetto informativo durante il trascinamento della barra di scorrimento</string>
|
||||
|
||||
<!-- About -->
|
||||
<string name="about">Informazioni</string>
|
||||
|
@ -233,7 +233,7 @@
|
|||
<string name="email_label">Invia la tua opinione o i tuoi suggerimenti a</string>
|
||||
<string name="more_apps_underlined"><u>Altre app</u></string>
|
||||
<string name="third_party_licences_underlined"><u>Licenze di terze parti</u></string>
|
||||
<string name="invite_friends_underlined"><u>Invita amico</u></string>
|
||||
<string name="invite_friends_underlined"><u>Invita un amico</u></string>
|
||||
<string name="share_text">Ciao, controlla %1$s su %2$s</string>
|
||||
<string name="invite_via">Invita con</string>
|
||||
<string name="rate_us_underlined"><u>Dacci un voto sul Play Store</u></string>
|
||||
|
@ -247,7 +247,7 @@
|
|||
<string name="donate_please">
|
||||
<![CDATA[
|
||||
Ciao,<br><br>
|
||||
spero che tu sia contento dell\'app. Non contiene pubblicità, per favore supportane lo sviluppo acquistando l\'app <a href="https://play.google.com/store/apps/details?id=com.simplemobiletools.thankyou">Simple Thank You</a>, inoltre questa finestra non verrà più mostrata.<br><br>
|
||||
spero che tu sia contento dell\'app. Non contiene pubblicità, per favore supportane lo sviluppo acquistando l\'app <a href="https://play.google.com/store/apps/details?id=com.simplemobiletools.thankyou">Simple Thank You</a>. Inoltre questa finestra non verrà più mostrata.<br><br>
|
||||
Puoi trovare ulteriori opzioni di donazione <a href="http://simplemobiletools.com/donate">qui</a>.<br><br>
|
||||
Grazie!
|
||||
]]>
|
||||
|
@ -274,6 +274,6 @@
|
|||
<string name="autofittextview_title">AutoFitTextView (ridimensionamento testo)</string>
|
||||
<string name="robolectric_title">Robolectric (ambiente di test)</string>
|
||||
<string name="espresso_title">Espresso (aiutante nei test)</string>
|
||||
<string name="gson_title">Gson (JSON parser)</string>
|
||||
<string name="leak_canary_title">Leak Canary (memory leak detector)</string>
|
||||
<string name="gson_title">Gson (parser JSON)</string>
|
||||
<string name="leak_canary_title">Leak Canary (rileva leak di memoria)</string>
|
||||
</resources>
|
||||
|
|
|
@ -5,18 +5,18 @@
|
|||
<string name="save_as">Lagre som</string>
|
||||
<string name="file_saved">Fil vellykket lagret</string>
|
||||
<string name="invalid_file_format">Ugyldig filformat</string>
|
||||
<string name="out_of_memory_error">Out of memory error</string>
|
||||
<string name="out_of_memory_error">Feil: Tomt for minne</string>
|
||||
<string name="an_error_occurred">En feil oppstod: %s</string>
|
||||
<string name="open_with">Åpne med</string>
|
||||
<string name="no_app_found">Ingen gyldig app funnet</string>
|
||||
<string name="set_as">Sett som</string>
|
||||
<string name="value_copied_to_clipboard">Value copied to clipboard</string>
|
||||
<string name="value_copied_to_clipboard">Verdi kopiert til utklippstavle</string>
|
||||
|
||||
<!-- Permissions -->
|
||||
<string name="no_storage_permissions">Storage permission is required</string>
|
||||
<string name="no_contacts_permission">Contacts permission is required</string>
|
||||
<string name="no_camera_permissions">Camera permission is required</string>
|
||||
<string name="no_audio_permissions">Audio permission is required</string>
|
||||
<string name="no_storage_permissions">Tillatelse for lagring kreves</string>
|
||||
<string name="no_contacts_permission">Tillatelse for kontakter kreves</string>
|
||||
<string name="no_camera_permissions">Tillatelse for kamera kreves</string>
|
||||
<string name="no_audio_permissions">Tillatelse for lyd kreves</string>
|
||||
|
||||
<!-- Renaming -->
|
||||
<string name="rename_file">Rename file</string>
|
||||
|
@ -41,46 +41,46 @@
|
|||
<string name="source">Kilde</string>
|
||||
<string name="destination">Mål</string>
|
||||
<string name="select_destination">Velg mål</string>
|
||||
<string name="click_select_destination">Click here to select destination</string>
|
||||
<string name="invalid_destination">Could not write to the selected destination</string>
|
||||
<string name="please_select_destination">Please select a destination</string>
|
||||
<string name="source_and_destination_same">Source and destination cannot be the same</string>
|
||||
<string name="copy_failed">Could not copy the files</string>
|
||||
<string name="copying">Copying…</string>
|
||||
<string name="copying_success">Files copied successfully</string>
|
||||
<string name="copy_move_failed">An error occurred</string>
|
||||
<string name="moving">Moving…</string>
|
||||
<string name="moving_success">Files moved successfully</string>
|
||||
<string name="moving_success_partial">Some files could not be moved</string>
|
||||
<string name="copying_success_partial">Some files could not be copied</string>
|
||||
<string name="no_files_selected">No files selected</string>
|
||||
<string name="saving">Saving…</string>
|
||||
<string name="could_not_create_folder">Could not create folder %s</string>
|
||||
<string name="could_not_create_file">Could not create file %s</string>
|
||||
<string name="click_select_destination">Trykk her for å velge mål</string>
|
||||
<string name="invalid_destination">Kunne ikke skrive til det valgte målet</string>
|
||||
<string name="please_select_destination">Velg et mål</string>
|
||||
<string name="source_and_destination_same">Kilde og mål kan ikke være det samme</string>
|
||||
<string name="copy_failed">Kunne ikke kopiere filene</string>
|
||||
<string name="copying">Kopierer…</string>
|
||||
<string name="copying_success">Filer ble kopiert vellykket</string>
|
||||
<string name="copy_move_failed">En feil oppstod</string>
|
||||
<string name="moving">Flytter…</string>
|
||||
<string name="moving_success">Filer ble flyttet vellykket</string>
|
||||
<string name="moving_success_partial">Noen filer kunne ikke flyttes</string>
|
||||
<string name="copying_success_partial">Noen filer kunne ikke kopieres</string>
|
||||
<string name="no_files_selected">Ingen filer valgt</string>
|
||||
<string name="saving">Lagrer…</string>
|
||||
<string name="could_not_create_folder">Kunne ikke opprette mappen %s</string>
|
||||
<string name="could_not_create_file">Kunne ikke opprette filen %s</string>
|
||||
|
||||
<!-- Create new -->
|
||||
<string name="create_new">Opprett ny</string>
|
||||
<string name="folder">Mappe</string>
|
||||
<string name="file">Fil</string>
|
||||
<string name="create_new_folder">Opprett ny mappe</string>
|
||||
<string name="name_taken">A file or folder with that name already exists</string>
|
||||
<string name="invalid_name">The name contains invalid characters</string>
|
||||
<string name="empty_name">Please enter a name</string>
|
||||
<string name="unknown_error_occurred">An unknown error occurred</string>
|
||||
<string name="name_taken">En fil eller mappe med det navnet finnes allerede</string>
|
||||
<string name="invalid_name">Navnet inneholder ugyldige tegn</string>
|
||||
<string name="empty_name">Oppfør et navn</string>
|
||||
<string name="unknown_error_occurred">En ukjent feil oppstod</string>
|
||||
|
||||
<!-- Copy conflicts -->
|
||||
<string name="file_already_exists">File %1$s already exists</string>
|
||||
<string name="file_already_exists_overwrite">File %1$s already exists. Overwrite?</string>
|
||||
<string name="select_an_action">Select an action</string>
|
||||
<string name="file_already_exists">Filen %1$s finnes allerede</string>
|
||||
<string name="file_already_exists_overwrite">Filen %1$s finnes allerede. Overskrive?</string>
|
||||
<string name="select_an_action">Velg en handling</string>
|
||||
<string name="overwrite">Overskriv</string>
|
||||
<string name="skip">Hopp over</string>
|
||||
<string name="append">Append with \'_1\'</string>
|
||||
<string name="apply_to_all">Apply to all conflicts</string>
|
||||
<string name="append">Tilføy \'_1\'</string>
|
||||
<string name="apply_to_all">Bruk på alle konflikter</string>
|
||||
|
||||
<!-- File picker -->
|
||||
<string name="select_folder">Velg en mappe</string>
|
||||
<string name="select_file">Velg en fil</string>
|
||||
<string name="confirm_storage_access_title">Confirm external storage access</string>
|
||||
<string name="confirm_storage_access_title">Bekreft ekstern lagringstilgang</string>
|
||||
<string name="confirm_storage_access_text">Please choose the root folder of the SD card on the next screen, to grant write access</string>
|
||||
<string name="confirm_storage_access_text_sd">If you don\'t see the SD card, try this</string>
|
||||
<string name="confirm_selection">Confirm selection</string>
|
||||
|
@ -91,10 +91,10 @@
|
|||
</plurals>
|
||||
|
||||
<!-- Storages -->
|
||||
<string name="select_storage">Select storage</string>
|
||||
<string name="internal">Internal</string>
|
||||
<string name="sd_card">SD Card</string>
|
||||
<string name="root">Root</string>
|
||||
<string name="select_storage">Velg lagring</string>
|
||||
<string name="internal">Intern</string>
|
||||
<string name="sd_card">SD-kort</string>
|
||||
<string name="root">Rot</string>
|
||||
<string name="wrong_root_selected">Wrong folder selected, please select the root folder of your SD card</string>
|
||||
|
||||
<!-- File properties -->
|
||||
|
@ -118,16 +118,16 @@
|
|||
<string name="background_color">Bakgrunnsfarge</string>
|
||||
<string name="text_color">Tekstfarge</string>
|
||||
<string name="primary_color">Primærfarge</string>
|
||||
<string name="restore_defaults">Restore defaults</string>
|
||||
<string name="restore_defaults">Gjenopprett standard</string>
|
||||
<string name="theme">Tema</string>
|
||||
<string name="changing_color_description">Changing a color will make it switch to Custom theme</string>
|
||||
<string name="changing_color_description">Endring av farge vil gjøre at det skiftes til Tilpasset tema</string>
|
||||
<string name="save">Lagre</string>
|
||||
<string name="discard">Discard</string>
|
||||
<string name="undo_changes">Undo changes</string>
|
||||
<string name="undo_changes_confirmation">Are you sure you want to undo your changes?</string>
|
||||
<string name="save_before_closing">You have unsaved changes. Save before exit?</string>
|
||||
<string name="apply_to_all_apps">Apply colors to all Simple Apps</string>
|
||||
<string name="share_colors_success">Colors updated successfully. A new Theme called \'Shared\' has been added, please use that for updating all app colors in the future.</string>
|
||||
<string name="discard">Forkast</string>
|
||||
<string name="undo_changes">Angre endringer</string>
|
||||
<string name="undo_changes_confirmation">Er du sikker på at du vil angre dine endringer?</string>
|
||||
<string name="save_before_closing">Du har endringer som ikke er lagret. Lagre før du avslutter?</string>
|
||||
<string name="apply_to_all_apps">Bruk fargene i alle Simple Apps</string>
|
||||
<string name="share_colors_success">Fargene er vellykket oppdatert. Et nytt tema kalt \'Delt\' er lagt til, bruk det for å oppdatere alle appenes farger i fremtiden.</string>
|
||||
<string name="purchase_thank_you">
|
||||
<![CDATA[
|
||||
Please purchase <a href="https://play.google.com/store/apps/details?id=com.simplemobiletools.thankyou">Simple Thank You</a> to unlock this function and support the development. Thanks!
|
||||
|
@ -137,14 +137,14 @@
|
|||
<!-- Themes -->
|
||||
<string name="light_theme">Lyst</string>
|
||||
<string name="dark_theme">Mørkt</string>
|
||||
<string name="solarized">Solarized</string>
|
||||
<string name="dark_red">Dark red</string>
|
||||
<string name="solarized">Solarisert</string>
|
||||
<string name="dark_red">Mørkerødt</string>
|
||||
<string name="custom">Tilpasset</string>
|
||||
<string name="shared">Shared</string>
|
||||
<string name="shared">Delt</string>
|
||||
|
||||
<!-- What's new -->
|
||||
<string name="whats_new">What\'s new</string>
|
||||
<string name="whats_new_disclaimer">* only the bigger updates are listed here, there are always some smaller improvements too</string>
|
||||
<string name="whats_new">Hva er nytt</string>
|
||||
<string name="whats_new_disclaimer">* bare de større oppdateringene er oppført her, det er alltid noen mindre forbedringer også</string>
|
||||
|
||||
<!-- Actionbar items -->
|
||||
<string name="delete">Slett</string>
|
||||
|
@ -164,14 +164,14 @@
|
|||
<string name="sort_by">Sorter etter</string>
|
||||
<string name="name">Navn</string>
|
||||
<string name="size">Størrelse</string>
|
||||
<string name="last_modified">Last modified</string>
|
||||
<string name="date_taken">Date taken</string>
|
||||
<string name="last_modified">Sist endret</string>
|
||||
<string name="date_taken">Dato tatt</string>
|
||||
<string name="title">Tittel</string>
|
||||
<string name="filename">Filnavn</string>
|
||||
<string name="extension">Extension</string>
|
||||
<string name="ascending">Ascending</string>
|
||||
<string name="descending">Descending</string>
|
||||
<string name="use_for_this_folder">Use for this folder only</string>
|
||||
<string name="extension">Filendelse</string>
|
||||
<string name="ascending">Stigende</string>
|
||||
<string name="descending">Fallende</string>
|
||||
<string name="use_for_this_folder">Bruk kun for denne mappen</string>
|
||||
|
||||
<!-- Confirmation dialog -->
|
||||
<string name="proceed_with_deletion">Er du sikker på at du vil fortsette med slettingen?</string>
|
||||
|
@ -215,8 +215,8 @@
|
|||
<!-- Settings -->
|
||||
<string name="settings">Innstillinger</string>
|
||||
<string name="customize_colors">Tilpass farger</string>
|
||||
<string name="use_english_language">Use English language</string>
|
||||
<string name="show_hidden">Show hidden files and folders</string>
|
||||
<string name="use_english_language">Bruk engelsk språk</string>
|
||||
<string name="show_hidden">Vis skjulte filer og mapper</string>
|
||||
<string name="font_size">Skriftstørrelse</string>
|
||||
<string name="small">Liten</string>
|
||||
<string name="medium">Middels</string>
|
||||
|
@ -229,21 +229,21 @@
|
|||
|
||||
<!-- About -->
|
||||
<string name="about">Om</string>
|
||||
<string name="website_label">For the source codes visit</string>
|
||||
<string name="email_label">Send your feedback or suggestions to</string>
|
||||
<string name="more_apps_underlined"><u>More apps</u></string>
|
||||
<string name="third_party_licences_underlined"><u>Third party licences</u></string>
|
||||
<string name="invite_friends_underlined"><u>Invite friends</u></string>
|
||||
<string name="website_label">For kildekoden besøk</string>
|
||||
<string name="email_label">Send tilbakemelding eller forslag til</string>
|
||||
<string name="more_apps_underlined"><u>Flere apper</u></string>
|
||||
<string name="third_party_licences_underlined"><u>Tredjepartslisenser</u></string>
|
||||
<string name="invite_friends_underlined"><u>Inviter venner</u></string>
|
||||
<string name="share_text">Hey, come check out %1$s at %2$s</string>
|
||||
<string name="invite_via">Invite via</string>
|
||||
<string name="rate_us_underlined"><u>Rate us</u></string>
|
||||
<string name="donate">Donate</string>
|
||||
<string name="donate_underlined"><u>Donate</u></string>
|
||||
<string name="follow_us">Follow us</string>
|
||||
<string name="invite_via">Inviter via</string>
|
||||
<string name="rate_us_underlined"><u>Bedøm oss</u></string>
|
||||
<string name="donate">Gi et bidrag</string>
|
||||
<string name="donate_underlined"><u>Gi et bidrag</u></string>
|
||||
<string name="follow_us">Følg oss</string>
|
||||
<string name="copyright">v %1$s\nCopyright © Simple Mobile Tools %2$d</string>
|
||||
<string name="additional_info">Additional info</string>
|
||||
<string name="app_version">App version: %1$s</string>
|
||||
<string name="device_os">Device OS: %1$s</string>
|
||||
<string name="additional_info">Tilleggsinformasjon</string>
|
||||
<string name="app_version">App-versjon: %1$s</string>
|
||||
<string name="device_os">Operativsystem: %1$s</string>
|
||||
<string name="donate_please">
|
||||
<![CDATA[
|
||||
Hello,<br><br>
|
||||
|
@ -252,11 +252,11 @@
|
|||
Thank you!
|
||||
]]>
|
||||
</string>
|
||||
<string name="purchase">Purchase</string>
|
||||
<string name="purchase">Kjøp</string>
|
||||
|
||||
<!-- License -->
|
||||
<string name="notice">This app uses the following third party libraries to make my life easier. Thank you.</string>
|
||||
<string name="third_party_licences">Third party licences</string>
|
||||
<string name="third_party_licences">Tredjepartslisenser</string>
|
||||
<string name="kotlin_title">Kotlin (programming language)</string>
|
||||
<string name="subsampling_title">Subsampling Scale Image View (zoomable imageviews)</string>
|
||||
<string name="glide_title">Glide (image loading and caching)</string>
|
||||
|
|
|
@ -162,14 +162,14 @@
|
|||
<string name="maximum_share_reached">Nemôžete zdieľať toľko obsahu naraz</string>
|
||||
|
||||
<!-- Sorting -->
|
||||
<string name="sort_by">Zoradiť podľa</string>
|
||||
<string name="name">Názvu</string>
|
||||
<string name="size">Veľkosti</string>
|
||||
<string name="last_modified">Dátumu poslednej úpravy</string>
|
||||
<string name="date_taken">Dátumu vytvorenia</string>
|
||||
<string name="title">Názvu</string>
|
||||
<string name="filename">Názvu súboru</string>
|
||||
<string name="extension">Prípony</string>
|
||||
<string name="sort_by">Na zoradenie použiť</string>
|
||||
<string name="name">Názov</string>
|
||||
<string name="size">Veľkosť</string>
|
||||
<string name="last_modified">Dátum poslednej úpravy</string>
|
||||
<string name="date_taken">Dátum vytvorenia</string>
|
||||
<string name="title">Názov</string>
|
||||
<string name="filename">Názov súboru</string>
|
||||
<string name="extension">Prípona</string>
|
||||
<string name="ascending">Vzostupne</string>
|
||||
<string name="descending">Klesajúco</string>
|
||||
<string name="use_for_this_folder">Použiť iba pre tento priečinok</string>
|
||||
|
|
Loading…
Reference in a new issue