Merge pull request #13517 from nextcloud/bugfix/ss-test-after-offline-folder-creation

Fix ScreenShot Tests After Offline Folder Creation Operations
This commit is contained in:
Tobias Kaminsky 2024-09-11 08:57:48 +02:00 committed by GitHub
commit ff6220fd5a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
85 changed files with 117 additions and 133 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -1,9 +1,8 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky <tobias@kaminsky.me>
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
* SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
* SPDX-FileCopyrightText: 2024 Alper Ozturk <alper.ozturk@nextcloud.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.jobs
@ -11,6 +10,7 @@ import android.Manifest
import androidx.test.rule.GrantPermissionRule
import androidx.work.WorkManager
import com.nextcloud.client.core.ClockImpl
import com.nextcloud.client.preferences.AppPreferences
import com.nextcloud.client.preferences.AppPreferencesImpl
import com.nextcloud.test.RetryTestRule
import com.owncloud.android.AbstractIT
@ -20,8 +20,9 @@ import com.owncloud.android.datamodel.OCFile
import com.owncloud.android.operations.DownloadFileOperation
import ezvcard.Ezvcard
import ezvcard.VCard
import junit.framework.Assert.assertEquals
import junit.framework.Assert.assertTrue
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
import org.junit.Rule
import org.junit.Test
import java.io.BufferedInputStream
@ -29,15 +30,15 @@ import java.io.File
import java.io.FileInputStream
class ContactsBackupIT : AbstractOnServerIT() {
val workmanager = WorkManager.getInstance(targetContext)
val preferences = AppPreferencesImpl.fromContext(targetContext)
private val backgroundJobManager = BackgroundJobManagerImpl(workmanager, ClockImpl(), preferences)
private val workManager = WorkManager.getInstance(targetContext)
private val preferences: AppPreferences = AppPreferencesImpl.fromContext(targetContext)
private val backgroundJobManager = BackgroundJobManagerImpl(workManager, ClockImpl(), preferences)
@get:Rule
val writeContactsRule = GrantPermissionRule.grant(Manifest.permission.WRITE_CONTACTS)
val writeContactsRule: GrantPermissionRule = GrantPermissionRule.grant(Manifest.permission.WRITE_CONTACTS)
@get:Rule
val readContactsRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS)
val readContactsRule: GrantPermissionRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS)
@get:Rule
val retryTestRule = RetryTestRule() // flaky test
@ -46,38 +47,54 @@ class ContactsBackupIT : AbstractOnServerIT() {
@Test
fun importExport() {
val intArray = IntArray(1)
intArray[0] = 0
val intArray = intArrayOf(0)
// import file to local contacts
backgroundJobManager.startImmediateContactsImport(null, null, getFile(vcard).absolutePath, intArray)
shortSleep()
longSleep()
// export contact
backgroundJobManager.startImmediateContactsBackup(user)
longSleep()
val backupFolder: String = targetContext.resources.getString(R.string.contacts_backup_folder) +
val folderPath: String = targetContext.resources.getString(R.string.contacts_backup_folder) +
OCFile.PATH_SEPARATOR
refreshFolder("/")
longSleep()
refreshFolder(backupFolder)
longSleep()
val backupOCFile = storageManager.getFolderContent(
storageManager.getFileByDecryptedRemotePath(backupFolder),
false
)[0]
refreshFolder(folderPath)
longSleep()
longSleep()
assertTrue(DownloadFileOperation(user, backupOCFile, AbstractIT.targetContext).execute(client).isSuccess)
if (folderPath.isEmpty()) {
fail("folderPath cannot be empty")
}
val folder = fileDataStorageManager.getFileByDecryptedRemotePath(folderPath)
if (folder == null) {
fail("folder cannot be null")
}
val ocFile = storageManager.getFolderContent(folder, false).firstOrNull()
if (ocFile == null) {
fail("ocFile cannot be null")
}
if (ocFile?.storagePath == null) {
fail("ocFile.storagePath cannot be null")
}
assertTrue(DownloadFileOperation(user, ocFile, AbstractIT.targetContext).execute(client).isSuccess)
val file = ocFile?.storagePath?.let { File(it) }
if (file == null) {
fail("file cannot be null")
}
val backupFile = File(backupOCFile.storagePath)
val vcardInputStream = BufferedInputStream(FileInputStream(getFile(vcard)))
val backupFileInputStream = BufferedInputStream(FileInputStream(backupFile))
val backupFileInputStream = BufferedInputStream(FileInputStream(file))
// verify same
val originalCards: ArrayList<VCard> = ArrayList()
@ -87,6 +104,17 @@ class ContactsBackupIT : AbstractOnServerIT() {
backupCards.addAll(Ezvcard.parse(backupFileInputStream).all())
assertEquals(originalCards.size, backupCards.size)
assertEquals(originalCards[0].formattedName.toString(), backupCards[0].formattedName.toString())
val originalCardFormattedName = originalCards.firstOrNull()?.formattedName
if (originalCardFormattedName == null) {
fail("originalCardFormattedName cannot be null")
}
val backupCardFormattedName = backupCards.firstOrNull()?.formattedName
if (backupCardFormattedName == null) {
fail("backupCardFormattedName cannot be null")
}
assertEquals(originalCardFormattedName.toString(), backupCardFormattedName.toString())
}
}

View file

@ -63,8 +63,8 @@ public class ConflictsResolveActivityIT extends AbstractIT {
ConflictsResolveActivity sut = activityRule.launchActivity(intent);
ConflictsResolveDialog dialog = ConflictsResolveDialog.newInstance(targetContext,
existingFile,
newFile,
existingFile,
UserAccountManagerImpl
.fromContext(targetContext)
.getUser()

View file

@ -390,6 +390,7 @@ public class DialogFragmentIT extends AbstractIT {
DeviceInfo info = new DeviceInfo();
OCFile ocFile = new OCFile("/test.md");
ocFile.setRemoteId("00000001");
Intent intent = new Intent(targetContext, FileDisplayActivity.class);
FileDisplayActivity fda = activityRule.launchActivity(intent);

View file

@ -35,6 +35,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
val sut = testActivityRule.launchActivity(null)
OCFile("/1.png").apply {
remoteId = "00000001"
mimeType = "image/png"
fileLength = 1024000
modificationTimestamp = 1188206955000
@ -43,6 +44,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/image.png").apply {
remoteId = "00000002"
mimeType = "image/png"
isPreviewAvailable = false
fileLength = 3072000
@ -53,6 +55,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/live photo.png").apply {
remoteId = "00000003"
mimeType = "image/png"
isPreviewAvailable = false
fileLength = 3072000
@ -63,6 +66,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/video.mp4").apply {
remoteId = "00000004"
mimeType = "video/mp4"
isPreviewAvailable = false
fileLength = 12092000
@ -96,6 +100,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
val fragment = OCFileListFragment()
OCFile("/sharedToUser.jpg").apply {
remoteId = "00000001"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(ShareeUser("Admin", "Server Admin", ShareType.USER))
@ -104,6 +109,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/sharedToGroup.jpg").apply {
remoteId = "00000002"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(ShareeUser("group", "Group", ShareType.GROUP))
@ -112,6 +118,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/sharedToEmail.jpg").apply {
remoteId = "00000003"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(ShareeUser("admin@nextcloud.localhost", "admin@nextcloud.localhost", ShareType.EMAIL))
@ -120,6 +127,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/publicLink.jpg").apply {
remoteId = "00000004"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedViaLink = true
modificationTimestamp = 1000
@ -127,6 +135,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/sharedToFederatedUser.jpg").apply {
remoteId = "00000005"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(
@ -137,6 +146,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/sharedToPersonalCircle.jpg").apply {
remoteId = "00000006"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(ShareeUser("circle", "Circle (Personal circle)", ShareType.CIRCLE))
@ -170,6 +180,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
// }
OCFile("/sharedToUserRoom.jpg").apply {
remoteId = "00000007"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(ShareeUser("Conversation", "Admin", ShareType.ROOM))
@ -178,6 +189,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/sharedToGroupRoom.jpg").apply {
remoteId = "00000008"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(ShareeUser("Conversation", "Meeting", ShareType.ROOM))
@ -186,6 +198,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/sharedToUsers.jpg").apply {
remoteId = "00000009"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
isSharedWithSharee = true
sharees = listOf(
@ -198,6 +211,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/notShared.jpg").apply {
remoteId = "000000010"
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
modificationTimestamp = 1000
sut.storageManager.saveFile(this)
@ -232,6 +246,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
val fragment = OCFileListFragment()
OCFile("/normal/").apply {
remoteId = "00000001"
mimeType = MimeType.DIRECTORY
modificationTimestamp = 1624003571000
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
@ -239,6 +254,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/sharedViaLink/").apply {
remoteId = "00000002"
mimeType = MimeType.DIRECTORY
isSharedViaLink = true
modificationTimestamp = 1619003571000
@ -247,6 +263,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/share/").apply {
remoteId = "00000003"
mimeType = MimeType.DIRECTORY
isSharedWithSharee = true
modificationTimestamp = 1619303571000
@ -255,6 +272,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/groupFolder/").apply {
remoteId = "00000004"
mimeType = MimeType.DIRECTORY
modificationTimestamp = 1615003571000
parentId = sut.storageManager.getFileByEncryptedRemotePath("/").fileId
@ -263,6 +281,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/encrypted/").apply {
remoteId = "00000005"
mimeType = MimeType.DIRECTORY
isEncrypted = true
decryptedRemotePath = "/encrypted/"
@ -272,6 +291,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
}
OCFile("/locked/").apply {
remoteId = "00000006"
mimeType = MimeType.DIRECTORY
isLocked = true
decryptedRemotePath = "/locked/"
@ -310,12 +330,15 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
folder.setFolder()
sut.storageManager.saveFile(folder)
val imageFile = OCFile("/test/image.png")
imageFile.mimeType = "image/png"
imageFile.fileLength = 1024000
imageFile.modificationTimestamp = 1188206955000
imageFile.parentId = sut.storageManager.getFileByEncryptedRemotePath("/test/").fileId
imageFile.storagePath = getFile("java.md").absolutePath
val imageFile = OCFile("/test/image.png").apply {
remoteId = "00000001"
mimeType = "image/png"
fileLength = 1024000
modificationTimestamp = 1188206955000
parentId = sut.storageManager.getFileByEncryptedRemotePath("/test/").fileId
storagePath = getFile("java.md").absolutePath
}
sut.storageManager.saveFile(imageFile)
sut.addFragment(fragment)
@ -334,8 +357,11 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
val activity = testActivityRule.launchActivity(null)
val sut = OCFileListFragment()
val folder = OCFile("/test/")
folder.setFolder()
val folder = OCFile("/test/").apply {
remoteId = "000001"
setFolder()
}
activity.storageManager.saveFile(folder)
activity.addFragment(sut)
@ -357,7 +383,7 @@ class OCFileListFragmentStaticServerIT : AbstractIT() {
testFolder.richWorkspace = "1"
activity.storageManager.saveFile(testFolder)
sut.adapter.setCurrentDirectory(testFolder)
sut.adapter.currentDirectory = testFolder
Assert.assertTrue(sut.adapter.shouldShowHeader())
}
}

View file

@ -26,6 +26,7 @@ import com.nextcloud.client.jobs.transfer.TransferManager
import com.owncloud.android.R
import com.owncloud.android.datamodel.OCFile
import com.owncloud.android.db.OCUpload
import java.util.Locale
class EtmFileTransferFragment : EtmBaseFragment() {
@ -96,7 +97,7 @@ class EtmFileTransferFragment : EtmBaseFragment() {
vh.state.text = transfer.state.toString()
if (transfer.progress >= 0) {
vh.progressEnabled = true
vh.progress.text = transfer.progress.toString()
vh.progress.text = String.format(Locale.getDefault(), "%d", transfer.progress)
} else {
vh.progressEnabled = false
}

View file

@ -777,7 +777,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
}
public boolean isRootDirectory() {
return decryptedRemotePath.equals(ROOT_PATH);
return ROOT_PATH.equals(decryptedRemotePath);
}
public boolean isOfflineOperation() {

View file

@ -109,8 +109,6 @@ public class UploadFilesActivity extends DrawerActivity implements LocalFileList
private UploadFilesLayoutBinding binding;
private boolean isWithinEncryptedFolder = false;
@VisibleForTesting
public LocalFileListFragment getFileListFragment() {
return mFileListFragment;
}

View file

@ -151,21 +151,21 @@ class ConflictsResolveDialog : DialogFragment(), Injectable {
.setNegativeButton(R.string.common_cancel) { _: DialogInterface?, _: Int ->
listener?.conflictDecisionMade(Decision.CANCEL)
}
.setTitle(data?.folderName)
.setTitle(data?.dialogTitle)
}
private fun okButtonClick() {
binding.run {
val isFolderNameNotExists = (data?.folderName == null)
val isDialogTitleNotExists = (data?.dialogTitle == null)
val decision = when {
leftCheckbox.isChecked && rightCheckbox.isChecked ->
if (isFolderNameNotExists) Decision.KEEP_BOTH_FOLDER else Decision.KEEP_BOTH
if (isDialogTitleNotExists) Decision.KEEP_BOTH_FOLDER else Decision.KEEP_BOTH
leftCheckbox.isChecked ->
if (isFolderNameNotExists) Decision.KEEP_OFFLINE_FOLDER else Decision.KEEP_LOCAL
if (isDialogTitleNotExists) Decision.KEEP_OFFLINE_FOLDER else Decision.KEEP_LOCAL
rightCheckbox.isChecked ->
if (isFolderNameNotExists) Decision.KEEP_SERVER_FOLDER else Decision.KEEP_SERVER
if (isDialogTitleNotExists) Decision.KEEP_SERVER_FOLDER else Decision.KEEP_SERVER
else -> null
}
@ -179,19 +179,12 @@ class ConflictsResolveDialog : DialogFragment(), Injectable {
data?.let {
val (leftData, rightData) = it.checkboxData
folderName.visibility = if (it.folderName == null) {
headline.visibility = if (it.headline == null) {
View.GONE
} else {
View.VISIBLE
}
folderName.text = it.folderName
title.visibility = if (it.title == null) {
View.GONE
} else {
View.VISIBLE
}
title.text = it.title
headline.text = it.headline
description.text = it.description
@ -340,8 +333,6 @@ class ConflictsResolveDialog : DialogFragment(), Injectable {
rightFile: OCFile,
context: Context
): ConflictDialogData {
val folderName = null
val leftTitle = context.getString(R.string.prefs_synced_folders_local_path_title)
val leftTimestamp =
DisplayUtils.getRelativeTimestamp(context, offlineOperation.createdAt?.times(1000L) ?: 0)
@ -355,21 +346,17 @@ class ConflictsResolveDialog : DialogFragment(), Injectable {
val title = context.getString(R.string.conflict_folder_headline)
val description = context.getString(R.string.conflict_message_description_for_folder)
return ConflictDialogData(folderName, title, description, Pair(leftCheckBoxData, rightCheckBoxData))
return ConflictDialogData(null, title, description, Pair(leftCheckBoxData, rightCheckBoxData))
}
@JvmStatic
private fun getFileConflictData(file: File, rightFile: OCFile, context: Context): ConflictDialogData {
val parentFile = File(rightFile.remotePath).parentFile
val folderName = if (parentFile != null) {
String.format(context.getString(R.string.in_folder), parentFile.absolutePath)
} else {
null
}
private fun getFileConflictData(leftFile: File, rightFile: OCFile, context: Context): ConflictDialogData {
// TODO Path needs to be set it correctly for encrypted folders
val title = rightFile.decryptedRemotePath
val leftTitle = context.getString(R.string.conflict_local_file)
val leftTimestamp = DisplayUtils.getRelativeTimestamp(context, file.lastModified())
val leftFileSize = DisplayUtils.bytesToHumanReadable(file.length())
val leftTimestamp = DisplayUtils.getRelativeTimestamp(context, leftFile.lastModified())
val leftFileSize = DisplayUtils.bytesToHumanReadable(leftFile.length())
val leftCheckBoxData = ConflictFileData(leftTitle, leftTimestamp.toString(), leftFileSize)
val rightTitle = context.getString(R.string.conflict_server_file)
@ -377,9 +364,9 @@ class ConflictsResolveDialog : DialogFragment(), Injectable {
val rightFileSize = DisplayUtils.bytesToHumanReadable(rightFile.fileLength)
val rightCheckBoxData = ConflictFileData(rightTitle, rightTimestamp.toString(), rightFileSize)
val title = context.getString(R.string.choose_which_file)
val headline = context.getString(R.string.choose_which_file)
val description = context.getString(R.string.conflict_message_description)
return ConflictDialogData(folderName, title, description, Pair(leftCheckBoxData, rightCheckBoxData))
return ConflictDialogData(title, headline, description, Pair(leftCheckBoxData, rightCheckBoxData))
}
}
}

View file

@ -12,8 +12,8 @@ import android.os.Parcelable
import com.nextcloud.utils.extensions.readParcelableCompat
data class ConflictDialogData(
val folderName: String?,
val title: String?,
val dialogTitle: String?,
val headline: String?,
val description: String,
val checkboxData: Pair<ConflictFileData, ConflictFileData>
) : Parcelable {
@ -28,8 +28,8 @@ data class ConflictDialogData(
)
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(folderName)
parcel.writeString(title)
parcel.writeString(dialogTitle)
parcel.writeString(headline)
parcel.writeString(description)
parcel.writeParcelable(checkboxData.first, flags)
parcel.writeParcelable(checkboxData.second, flags)

View file

@ -212,6 +212,8 @@ public class OCFileListBottomSheetDialog extends BottomSheetDialog implements In
}
private void filterActionsForOfflineOperations() {
if (file == null) return;
if (!file.isOfflineOperation() || file.isRootDirectory()) {
return;
}

View file

@ -17,14 +17,7 @@
android:paddingBottom="@dimen/standard_padding">
<TextView
android:id="@+id/folder_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/in_folder"
android:paddingBottom="@dimen/standard_padding" />
<TextView
android:id="@+id/title"
android:id="@+id/headline"
android:layout_marginTop="@dimen/standard_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s ميغا بكسل</string>
<string name="image_preview_unit_millimetres">%s مللي</string>
<string name="image_preview_unit_seconds">%s ثانية</string>
<string name="in_folder">في مجلد %1$s</string>
<string name="instant_upload_existing">ارفع الملفات الموجودة مسبقاً أيضاً</string>
<string name="instant_upload_on_charging">ارفع وقت الشحن فقط</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -297,7 +297,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">na carpeta %1$s</string>
<string name="instant_upload_on_charging">Namái xubir al cargar</string>
<string name="instant_upload_path">/XubidaNelIntre</string>
<string name="invalid_url">La URL ye inválisa</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">in folder %1$s</string>
<string name="instant_upload_existing">Also upload existing files</string>
<string name="instant_upload_on_charging">Only upload when charging</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -405,7 +405,6 @@
<string name="icon_for_empty_list">Икона за празен списък</string>
<string name="icon_of_dashboard_widget">Икона на изпълним модул на табло за управление</string>
<string name="icon_of_widget_entry">Икона на вход на изпълним модул</string>
<string name="in_folder">в папка %1$s</string>
<string name="instant_upload_existing">Качете и съществуващи файлове</string>
<string name="instant_upload_on_charging">Качване само при зареждане</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -398,7 +398,6 @@
<string name="icon_for_empty_list">Icona per a la llista buida</string>
<string name="icon_of_dashboard_widget">Icona del giny del tauler</string>
<string name="icon_of_widget_entry">Icona de l\'entrada del giny</string>
<string name="in_folder">en la carpeta %1$s</string>
<string name="instant_upload_existing">També pujar fitxers existents</string>
<string name="instant_upload_on_charging">Pujada només durant la càrrega de bateria</string>
<string name="instant_upload_path">/CàrregaInstantània</string>

View file

@ -449,7 +449,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">ve složce %1$s</string>
<string name="instant_upload_existing">Také nahrát už existující soubory</string>
<string name="instant_upload_on_charging">Nahrávat pouze při nabíjení</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -439,7 +439,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">i mappen %1$s</string>
<string name="instant_upload_existing">Send også eksisterende filer</string>
<string name="instant_upload_on_charging">Upload kun under opladning</string>
<string name="instant_upload_path">/Øjeblikkelig upload</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">in Ordner %1$s</string>
<string name="instant_upload_existing">Vorhandene Dateien ebenfalls hochladen</string>
<string name="instant_upload_on_charging">Nur während des Ladens der Batterie hochladen</string>
<string name="instant_upload_path">/SofortUpload</string>

View file

@ -411,7 +411,6 @@
<string name="icon_of_widget_entry">Εικονίδιο κενού γραφικού στοιχείου</string>
<string name="image_editor_flip_horizontal">Οριζόντια περιστροφή</string>
<string name="image_editor_flip_vertical">Κάθετη περιστροφή</string>
<string name="in_folder">Στον φάκελο %1$s</string>
<string name="instant_upload_existing">Μεταφόρτωση, επίσης, υπαρχόντων αρχείων</string>
<string name="instant_upload_on_charging">Μεταφόρτωση μόνο κατά τη διάρκεια φόρτισης</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -469,7 +469,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">en la carpeta %1$s</string>
<string name="instant_upload_existing">Cargue también archivos existentes</string>
<string name="instant_upload_on_charging">Cargar archivos sólo con el dispositivo conectado a la toma de corriente</string>
<string name="instant_upload_path">/SubidasInstantáneas</string>

View file

@ -412,7 +412,6 @@
<string name="image_editor_rotate_ccw">Girar en sentido antihorario</string>
<string name="image_editor_rotate_cw">Girar en sentido horario</string>
<string name="image_editor_unable_to_edit_image">No se puede editar la imagen.</string>
<string name="in_folder">en la carpeta %1$s</string>
<string name="instant_upload_existing">También cargar archivos existentes</string>
<string name="instant_upload_on_charging">Cargar archivos sólo con el dispositivo conectado a la toma de corriente</string>
<string name="instant_upload_path">/Cargas Automáticas</string>

View file

@ -469,7 +469,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">en la carpeta %1$s</string>
<string name="instant_upload_existing">Cargar también archivos existentes</string>
<string name="instant_upload_on_charging">Cargar archivos sólo con el dispositivo conectado a la toma de corriente</string>
<string name="instant_upload_path">/Cargas Automáticas</string>

View file

@ -466,7 +466,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">en carpeta %1$s</string>
<string name="instant_upload_existing">Subir también archivos existentes</string>
<string name="instant_upload_on_charging">Subir solo al cargar batería</string>
<string name="instant_upload_path">/SubidaInstantánea</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">%1$skarpetan</string>
<string name="instant_upload_existing">Existitzen diren fitxategiak ere igo</string>
<string name="instant_upload_on_charging">Igo bakarrik gailua kargatzean</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -442,7 +442,6 @@
<string name="image_preview_unit_megapixel">%s مگاپیکسل</string>
<string name="image_preview_unit_millimetres">%s میلی‌متر</string>
<string name="image_preview_unit_seconds">%s ثانیه</string>
<string name="in_folder">در پوشه %1$s</string>
<string name="instant_upload_existing">فایل های موجود را نیز بارگذاری کنید</string>
<string name="instant_upload_on_charging">فقط هنگامی که گوشی شارژ می شود آپلود کنید</string>
<string name="instant_upload_path">آپلود فوری</string>

View file

@ -415,7 +415,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">kansiossa %1$s</string>
<string name="instant_upload_existing">Siirrä myös olemassaolevat tiedostot palvelimelle</string>
<string name="instant_upload_on_charging">Lähetä vain ladattaessa virtaa</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -482,7 +482,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">dans le dossier %1$s</string>
<string name="instant_upload_existing">Téléverser aussi les fichiers existants</string>
<string name="instant_upload_on_charging">Téléverser uniquement lors de la recharge</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">i bhfillteán %1$s</string>
<string name="instant_upload_existing">Uaslódáil comhaid atá ann cheana féin freisin</string>
<string name="instant_upload_on_charging">Íoslódáil ach amháin nuair a mhuirearú</string>
<string name="instant_upload_path">/Uaslódáil Meandaracha</string>

View file

@ -344,7 +344,6 @@
<string name="hint_password">Facal-faire</string>
<string name="host_not_available">Chan eil am frithealaiche ri làimh</string>
<string name="host_your_own_server">Òstaich am frithealaiche agad fhèin</string>
<string name="in_folder">sa phasgan %1$s</string>
<string name="instant_upload_existing">Luchdaich suas na faidhlichean a tha ann mu thràth cuideachd</string>
<string name="instant_upload_on_charging">Na luchdaich suas ach nuair a bhios an t-uidheam ga theàirrdseadh</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">no cartafol %1$s</string>
<string name="instant_upload_existing">Envíar tamén os ficheiros existentes</string>
<string name="instant_upload_on_charging">Enviar só cando estea cargando</string>
<string name="instant_upload_path">/EnvíoInstantáneo</string>

View file

@ -382,7 +382,6 @@
<string name="hint_password">Zaporka</string>
<string name="host_not_available">Poslužitelj nije dostupan</string>
<string name="host_your_own_server">Postavi vlastiti poslužitelj</string>
<string name="in_folder">u mapi %1$s</string>
<string name="instant_upload_existing">Također otpremi postojeće datoteke</string>
<string name="instant_upload_on_charging">Otpremanje samo tijekom punjenja</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -429,7 +429,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">%1$s mappában</string>
<string name="instant_upload_existing">A meglévő fájlokat is töltse fel</string>
<string name="instant_upload_on_charging">Feltöltés csak töltés közben</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -430,7 +430,6 @@ Otomatis unggah hanya bekerja dengan baik apabila Anda mengeluarkan aplikasi ini
<string name="image_editor_unable_to_edit_image">Tidak dapat mengedit gambar.</string>
<string name="image_preview_filedetails">Detail berkas</string>
<string name="image_preview_image_taking_conditions">Kondisi pengambilan gambar</string>
<string name="in_folder">di folder %1$s</string>
<string name="instant_upload_existing">Juga unggah berkas yang ada</string>
<string name="instant_upload_on_charging">Hanya unggah ketika dicas</string>
<string name="instant_upload_path">/UnggahInstan</string>

View file

@ -415,7 +415,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">í möppunni %1$s</string>
<string name="instant_upload_existing">Senda líka inn fyrirliggjandi skrár</string>
<string name="instant_upload_on_charging">Einungis senda inn þegar verið er að hlaða</string>
<string name="instant_upload_path">/BeinInnsending</string>

View file

@ -447,7 +447,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">nella cartella %1$s</string>
<string name="instant_upload_existing">Carica anche i file esistenti</string>
<string name="instant_upload_on_charging">Carica solo durante la ricarica</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -470,7 +470,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s 秒</string>
<string name="in_folder">フォルダー%1$sの中で</string>
<string name="instant_upload_existing">既存のファイルもアップロード</string>
<string name="instant_upload_on_charging">充電中のみアップロード</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -424,7 +424,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">in folder %1$s</string>
<string name="instant_upload_existing">Also upload existing files</string>
<string name="instant_upload_on_charging">Only upload when charging</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -480,7 +480,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s초</string>
<string name="in_folder">%1$s 폴더 안에</string>
<string name="instant_upload_existing">이미 존재하는 파일도 올리기</string>
<string name="instant_upload_on_charging">충전 중에만 업로드</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -347,7 +347,6 @@
<string name="hint_password">ລະຫັດຜ່ານ</string>
<string name="host_not_available">ເຊີເວີບໍ່ວ່າງ</string>
<string name="host_your_own_server">ເຊີເວີຂອງທ່ານເອງ</string>
<string name="in_folder">ໃນໂຟນເດີ %1$s</string>
<string name="instant_upload_existing">ອັບໂຫຼດຟາຍທີ່ມີຢູ່ແລ້ວ</string>
<string name="instant_upload_on_charging">ພຽງແຕ່ອັບໂຫຼດເທົ່ານັ້ນ</string>
<string name="instant_upload_path">/ອັບໂຫຼດທັນທີ</string>

View file

@ -376,7 +376,6 @@
<string name="hint_password">Slaptažodis</string>
<string name="host_not_available">Serveris neprieinamas</string>
<string name="host_your_own_server">Administruoti savo serverį</string>
<string name="in_folder">aplanke %1$s</string>
<string name="instant_upload_existing">Taip pat įkelkite esamus failus</string>
<string name="instant_upload_on_charging">Įkelti failus tik kai kraunasi</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -358,7 +358,6 @@
<string name="hint_password">Лозинка</string>
<string name="host_not_available">Серверот не е достапен</string>
<string name="host_your_own_server">Хостирајте го вашиот сервер</string>
<string name="in_folder">во папката %1$s</string>
<string name="instant_upload_existing">Прикачување на постоечките датотеки</string>
<string name="instant_upload_on_charging">Прикачувај само додека се полни</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -483,7 +483,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">i mappen %1$s</string>
<string name="instant_upload_existing">Last også opp eksisterende filer</string>
<string name="instant_upload_on_charging">Bare last opp under lading</string>
<string name="instant_upload_path">/Direkteopplasting</string>

View file

@ -470,7 +470,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">in map %1$s</string>
<string name="instant_upload_existing">Upload ook bestaande bestanden</string>
<string name="instant_upload_on_charging">Alleen uploaden bij opladen</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -464,7 +464,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">w katalogu %1$s</string>
<string name="instant_upload_existing">Wyślij również istniejące pliki</string>
<string name="instant_upload_on_charging">Wysyłaj tylko podczas ładowania</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -483,7 +483,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">na pasta %1$s</string>
<string name="instant_upload_existing">Enviar arquivos existentes também</string>
<string name="instant_upload_on_charging">Só enviar quando carregando</string>
<string name="instant_upload_path">/EnvioAutomático</string>

View file

@ -410,7 +410,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">na pasta %1$s</string>
<string name="instant_upload_existing">Também envia ficheiros existentes</string>
<string name="instant_upload_on_charging">Carregar ficheiros apenas quando o carregador está ligado</string>
<string name="instant_upload_path">/Envio Instantâneo </string>

View file

@ -434,7 +434,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">în folderul %1$s</string>
<string name="instant_upload_existing">De asemenea încarcă fisiere existente</string>
<string name="instant_upload_on_charging">Se încarcă numai în timpul alimentării cu curent</string>
<string name="instant_upload_path">/Încărcare instantă</string>

View file

@ -486,7 +486,6 @@
<string name="image_preview_unit_megapixel">%s МПкс</string>
<string name="image_preview_unit_millimetres">%s мм</string>
<string name="image_preview_unit_seconds">%s с</string>
<string name="in_folder">в папку %1$s</string>
<string name="instant_upload_existing">Также загрузить существующие файлы</string>
<string name="instant_upload_on_charging">Только во время зарядки</string>
<string name="instant_upload_path">/Автозагрузка</string>

View file

@ -362,7 +362,6 @@
<string name="hint_password">Crae</string>
<string name="host_not_available">Su serbidore no est a disponimentu</string>
<string name="host_your_own_server">Retzi su serbidore tuo</string>
<string name="in_folder">in sa cartella %1$s</string>
<string name="instant_upload_existing">Càrriga puru is documentos chi esistint giai</string>
<string name="instant_upload_on_charging">Càrriga isceti cando est carrighende sa bateria</string>
<string name="instant_upload_path">/Carrigamentu istantàneu</string>

View file

@ -463,7 +463,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">v priečinku %1$s</string>
<string name="instant_upload_existing">Nahrať aj existujúce súbory</string>
<string name="instant_upload_on_charging">Nahrať iba počas nabíjania</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -427,7 +427,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">v mapi %1$s</string>
<string name="instant_upload_existing">Pošlji tudi obstoječe datoteke</string>
<string name="instant_upload_on_charging">Usklajuj le med polnjenjem naprave</string>
<string name="instant_upload_path">/Hipno nalaganje</string>

View file

@ -471,7 +471,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">У фолдеру %1$s</string>
<string name="instant_upload_existing">Отпреми и постојеће фајлове</string>
<string name="instant_upload_on_charging">Отпремај само на пуњењу</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">i mapp %1$s</string>
<string name="instant_upload_existing">Ladda även upp befintliga filer</string>
<string name="instant_upload_on_charging">Ladda enbart upp när enheten laddas</string>
<string name="instant_upload_path">/AutomatiskUppladdning</string>

View file

@ -361,7 +361,6 @@
<string name="image_editor_rotate_ccw">หมุนทวนเข็มนาฬิกา</string>
<string name="image_editor_rotate_cw">หมุนตามเข็มนาฬิกา</string>
<string name="image_editor_unable_to_edit_image">ไม่สามารถแก้ไขรูปภาพ</string>
<string name="in_folder">ในโฟลเดอร์ %1$s</string>
<string name="instant_upload_existing">อัปโหลดไฟล์ที่มีอยู่เดิมด้วย</string>
<string name="instant_upload_on_charging">อัปโหลดขณะชาร์จเท่านั้น</string>
<string name="instant_upload_path">/อัพโหลดทันที</string>

View file

@ -338,7 +338,6 @@
<string name="hint_password">Açarsöz</string>
<string name="host_not_available">Serwer elýeterli däl</string>
<string name="host_your_own_server">Öz serweriňizi ýerleşdiriň</string>
<string name="in_folder">%1$s bukjada</string>
<string name="instant_upload_existing">Bar bolan faýllary hem ýükläň</string>
<string name="instant_upload_on_charging">Diňe zarýad berlende ýükläň</string>
<string name="instant_upload_path">/ Çaltýüklemek</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">%1$s klasöründe</string>
<string name="instant_upload_existing">Var olan dosyalar da yüklensin</string>
<string name="instant_upload_on_charging">Yalnızca şarj edilirken yüklensin</string>
<string name="instant_upload_path">/AnındaYükle</string>

View file

@ -476,7 +476,6 @@
<string name="image_preview_image_taking_conditions">Умови отримання зображення</string>
<string name="image_preview_unit_millimetres">%s мм</string>
<string name="image_preview_unit_seconds">%s с</string>
<string name="in_folder">в каталозі %1$s</string>
<string name="instant_upload_existing">Також завантажити існуючі файли</string>
<string name="instant_upload_on_charging">Завантаження тільки під час заряджання</string>
<string name="internal_two_way_sync">Внутрішня двостороння синхронізація</string>

View file

@ -387,7 +387,6 @@
<string name="hint_password">Mật khẩu</string>
<string name="host_not_available">Máy chủ không khả dụng</string>
<string name="host_your_own_server">Host máy chủ của riêng bạn</string>
<string name="in_folder">trong thư mục %1$s</string>
<string name="instant_upload_existing">Cũng tải lên các tệp hiện có</string>
<string name="instant_upload_on_charging">Chỉ tải lên khi đang sạc pin</string>
<string name="instant_upload_path">/Upload tức thì</string>

View file

@ -459,7 +459,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">在文件夹 %1$s 内 </string>
<string name="instant_upload_existing">同时上传现有文件</string>
<string name="instant_upload_on_charging">仅在充电时上传</string>
<string name="instant_upload_path">/实时上传</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">在資料夾 %1$s</string>
<string name="instant_upload_existing">一併上傳存在的檔案</string>
<string name="instant_upload_on_charging">只在充電時上傳</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -485,7 +485,6 @@
<string name="image_preview_unit_megapixel">%s MP</string>
<string name="image_preview_unit_millimetres">%s mm</string>
<string name="image_preview_unit_seconds">%s s</string>
<string name="in_folder">在資料夾 %1$s</string>
<string name="instant_upload_existing">同時上傳既有的檔案</string>
<string name="instant_upload_on_charging">只在充電時上傳</string>
<string name="instant_upload_path">/InstantUpload</string>

View file

@ -1075,7 +1075,6 @@
<string name="drawer_item_gallery">Media</string>
<string name="player_stop">stop</string>
<string name="player_toggle">toggle</string>
<string name="in_folder">in folder %1$s</string>
<string name="choose_which_file">Choose which file to keep!</string>
<string name="wrong_storage_path">Data storage folder does not exist!</string>
<string name="wrong_storage_path_desc">This might be due to a backup restore on another device. Falling back to default. Please check settings to adjust data storage folder.</string>

View file

@ -1,2 +1,2 @@
DO NOT TOUCH; GENERATED BY DRONE
<span class="mdl-layout-title">Lint Report: 3 errors and 61 warnings</span>
<span class="mdl-layout-title">Lint Report: 3 errors and 59 warnings</span>