mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Merge branch 'main' into bookmark_enhancement
This commit is contained in:
commit
b85f35782c
24 changed files with 396 additions and 46 deletions
|
|
@ -314,6 +314,7 @@ android {
|
|||
buildConfigField "String", "COMMONS_URL", "\"https://commons.wikimedia.org\""
|
||||
buildConfigField "String", "WIKIDATA_URL", "\"https://www.wikidata.org\""
|
||||
buildConfigField "String", "MOBILE_HOME_URL", "\"https://commons.m.wikimedia.org/wiki/\""
|
||||
buildConfigField "String", "MOBILE_META_URL", "\"https://meta.m.wikimedia.org/wiki/\""
|
||||
buildConfigField "String", "SIGNUP_LANDING_URL", "\"https://commons.m.wikimedia.org/w/index.php?title=Special:CreateAccount&returnto=Main+Page&returntoquery=welcome%3Dyes\""
|
||||
buildConfigField "String", "SIGNUP_SUCCESS_REDIRECTION_URL", "\"https://commons.m.wikimedia.org/w/index.php?title=Main_Page&welcome=yes\""
|
||||
buildConfigField "String", "FORGOT_PASSWORD_URL", "\"https://commons.wikimedia.org/wiki/Special:PasswordReset\""
|
||||
|
|
@ -350,6 +351,7 @@ android {
|
|||
buildConfigField "String", "COMMONS_URL", "\"https://commons.wikimedia.beta.wmflabs.org\""
|
||||
buildConfigField "String", "WIKIDATA_URL", "\"https://www.wikidata.org\""
|
||||
buildConfigField "String", "MOBILE_HOME_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/wiki/\""
|
||||
buildConfigField "String", "MOBILE_META_URL", "\"https://meta.m.wikimedia.beta.wmflabs.org/wiki/\""
|
||||
buildConfigField "String", "SIGNUP_LANDING_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/w/index.php?title=Special:CreateAccount&returnto=Main+Page&returntoquery=welcome%3Dyes\""
|
||||
buildConfigField "String", "SIGNUP_SUCCESS_REDIRECTION_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/w/index.php?title=Main_Page&welcome=yes\""
|
||||
buildConfigField "String", "FORGOT_PASSWORD_URL", "\"https://commons.wikimedia.beta.wmflabs.org/wiki/Special:PasswordReset\""
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import kotlinx.coroutines.CoroutineScope
|
|||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.cancel
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.TreeMap
|
||||
import kotlin.collections.ArrayList
|
||||
|
|
@ -103,6 +104,18 @@ class ImageAdapter(
|
|||
*/
|
||||
private var imagePositionAsPerIncreasingOrder = 0
|
||||
|
||||
/**
|
||||
* Stores the number of images currently visible on the screen
|
||||
*/
|
||||
private val _currentImagesCount = MutableStateFlow(0)
|
||||
val currentImagesCount = _currentImagesCount
|
||||
|
||||
/**
|
||||
* Stores whether images are being loaded or not
|
||||
*/
|
||||
private val _isLoadingImages = MutableStateFlow(false)
|
||||
val isLoadingImages = _isLoadingImages
|
||||
|
||||
/**
|
||||
* Coroutine Dispatchers and Scope.
|
||||
*/
|
||||
|
|
@ -184,8 +197,12 @@ class ImageAdapter(
|
|||
// If the position is not already visited, that means the position is new then
|
||||
// finds the next actionable image position from all images
|
||||
if (!alreadyAddedPositions.contains(position)) {
|
||||
processThumbnailForActionedImage(holder, position, uploadingContributionList)
|
||||
|
||||
processThumbnailForActionedImage(
|
||||
holder,
|
||||
position,
|
||||
uploadingContributionList
|
||||
)
|
||||
_isLoadingImages.value = false
|
||||
// If the position is already visited, that means the image is already present
|
||||
// inside map, so it will fetch the image from the map and load in the holder
|
||||
} else {
|
||||
|
|
@ -231,6 +248,7 @@ class ImageAdapter(
|
|||
position: Int,
|
||||
uploadingContributionList: List<Contribution>,
|
||||
) {
|
||||
_isLoadingImages.value = true
|
||||
val next =
|
||||
imageLoader.nextActionableImage(
|
||||
allImages,
|
||||
|
|
@ -252,6 +270,7 @@ class ImageAdapter(
|
|||
actionableImagesMap[next] = allImages[next]
|
||||
alreadyAddedPositions.add(imagePositionAsPerIncreasingOrder)
|
||||
imagePositionAsPerIncreasingOrder++
|
||||
_currentImagesCount.value = imagePositionAsPerIncreasingOrder
|
||||
Glide
|
||||
.with(holder.image)
|
||||
.load(allImages[next].uri)
|
||||
|
|
@ -267,6 +286,7 @@ class ImageAdapter(
|
|||
reachedEndOfFolder = true
|
||||
notifyItemRemoved(position)
|
||||
}
|
||||
_isLoadingImages.value = false
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -372,6 +392,7 @@ class ImageAdapter(
|
|||
emptyMap: TreeMap<Int, Image>,
|
||||
uploadedImages: List<Contribution> = ArrayList(),
|
||||
) {
|
||||
_isLoadingImages.value = true
|
||||
allImages = fixedImages
|
||||
val oldImageList: ArrayList<Image> = images
|
||||
val newImageList: ArrayList<Image> = ArrayList(newImages)
|
||||
|
|
@ -382,6 +403,7 @@ class ImageAdapter(
|
|||
reachedEndOfFolder = false
|
||||
selectedImages = ArrayList()
|
||||
imagePositionAsPerIncreasingOrder = 0
|
||||
_currentImagesCount.value = imagePositionAsPerIncreasingOrder
|
||||
val diffResult =
|
||||
DiffUtil.calculateDiff(
|
||||
ImagesDiffCallback(oldImageList, newImageList),
|
||||
|
|
@ -441,6 +463,7 @@ class ImageAdapter(
|
|||
val entry = iterator.next()
|
||||
if (entry.value == image) {
|
||||
imagePositionAsPerIncreasingOrder -= 1
|
||||
_currentImagesCount.value = imagePositionAsPerIncreasingOrder
|
||||
iterator.remove()
|
||||
alreadyAddedPositions.removeAt(alreadyAddedPositions.size - 1)
|
||||
notifyItemRemoved(index)
|
||||
|
|
|
|||
|
|
@ -12,8 +12,12 @@ import android.widget.ProgressBar
|
|||
import android.widget.Switch
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import fr.free.nrw.commons.contributions.Contribution
|
||||
|
|
@ -38,6 +42,10 @@ import fr.free.nrw.commons.theme.BaseActivity
|
|||
import fr.free.nrw.commons.upload.FileProcessor
|
||||
import fr.free.nrw.commons.upload.FileUtilsWrapper
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.TreeMap
|
||||
import javax.inject.Inject
|
||||
import kotlin.collections.ArrayList
|
||||
|
|
@ -80,6 +88,12 @@ class ImageFragment :
|
|||
*/
|
||||
var allImages: ArrayList<Image> = ArrayList()
|
||||
|
||||
/**
|
||||
* Keeps track of switch state
|
||||
*/
|
||||
private val _switchState = MutableStateFlow(false)
|
||||
val switchState = _switchState.asStateFlow()
|
||||
|
||||
/**
|
||||
* View model Factory.
|
||||
*/
|
||||
|
|
@ -214,7 +228,11 @@ class ImageFragment :
|
|||
|
||||
switch = binding?.switchWidget
|
||||
switch?.visibility = View.VISIBLE
|
||||
switch?.setOnCheckedChangeListener { _, isChecked -> onChangeSwitchState(isChecked) }
|
||||
_switchState.value = switch?.isChecked ?: false
|
||||
switch?.setOnCheckedChangeListener { _, isChecked ->
|
||||
onChangeSwitchState(isChecked)
|
||||
_switchState.value = isChecked
|
||||
}
|
||||
selectorRV = binding?.selectorRv
|
||||
loader = binding?.loader
|
||||
progressLayout = binding?.progressLayout
|
||||
|
|
@ -234,6 +252,28 @@ class ImageFragment :
|
|||
return binding?.root
|
||||
}
|
||||
|
||||
/**
|
||||
* onViewCreated
|
||||
* Updates empty text view visibility based on image count, switch state, and loading status.
|
||||
*/
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||
combine(
|
||||
imageAdapter.currentImagesCount,
|
||||
switchState,
|
||||
imageAdapter.isLoadingImages
|
||||
) { imageCount, isChecked, isLoadingImages ->
|
||||
Triple(imageCount, isChecked, isLoadingImages)
|
||||
}.collect { (imageCount, isChecked, isLoadingImages) ->
|
||||
binding?.allImagesUploadedOrMarked?.isVisible =
|
||||
!isLoadingImages && !isChecked && imageCount == 0 && (switch?.isVisible == true)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun onChangeSwitchState(checked: Boolean) {
|
||||
if (checked) {
|
||||
showAlreadyActionedImages = true
|
||||
|
|
|
|||
|
|
@ -14,11 +14,15 @@ class QuizController {
|
|||
|
||||
private val quiz: ArrayList<QuizQuestion> = ArrayList()
|
||||
|
||||
private val URL_FOR_SELFIE = "https://i.imgur.com/0fMYcpM.jpg"
|
||||
private val URL_FOR_TAJ_MAHAL = "https://upload.wikimedia.org/wikipedia/commons/1/15/Taj_Mahal-03.jpg"
|
||||
private val URL_FOR_BLURRY_IMAGE = "https://i.imgur.com/Kepb5jR.jpg"
|
||||
private val URL_FOR_SCREENSHOT = "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Social_media_app_mockup_screenshot.svg/500px-Social_media_app_mockup_screenshot.svg.png"
|
||||
private val URL_FOR_EVENT = "https://upload.wikimedia.org/wikipedia/commons/5/51/HouseBuildingInNorthernVietnam.jpg"
|
||||
companion object{
|
||||
|
||||
const val URL_FOR_SELFIE = "https://i.imgur.com/0fMYcpM.jpg"
|
||||
const val URL_FOR_TAJ_MAHAL = "https://upload.wikimedia.org/wikipedia/commons/1/15/Taj_Mahal-03.jpg"
|
||||
const val URL_FOR_BLURRY_IMAGE = "https://i.imgur.com/Kepb5jR.jpg"
|
||||
const val URL_FOR_SCREENSHOT = "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Social_media_app_mockup_screenshot.svg/500px-Social_media_app_mockup_screenshot.svg.png"
|
||||
const val URL_FOR_EVENT = "https://upload.wikimedia.org/wikipedia/commons/5/51/HouseBuildingInNorthernVietnam.jpg"
|
||||
}
|
||||
|
||||
|
||||
fun initialize(context: Context) {
|
||||
val q1 = QuizQuestion(
|
||||
|
|
|
|||
|
|
@ -45,12 +45,12 @@ class ReviewActivity : BaseActivity() {
|
|||
private var hasNonHiddenCategories = false
|
||||
var media: Media? = null
|
||||
|
||||
private val SAVED_MEDIA = "saved_media"
|
||||
private val savedMedia = "saved_media"
|
||||
|
||||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
super.onSaveInstanceState(outState)
|
||||
media?.let {
|
||||
outState.putParcelable(SAVED_MEDIA, it)
|
||||
outState.putParcelable(savedMedia, it)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -90,8 +90,8 @@ class ReviewActivity : BaseActivity() {
|
|||
PorterDuff.Mode.SRC_IN
|
||||
)
|
||||
|
||||
if (savedInstanceState?.getParcelable<Media>(SAVED_MEDIA) != null) {
|
||||
updateImage(savedInstanceState.getParcelable(SAVED_MEDIA)!!)
|
||||
if (savedInstanceState?.getParcelable<Media>(savedMedia) != null) {
|
||||
updateImage(savedInstanceState.getParcelable(savedMedia)!!)
|
||||
setUpMediaDetailOnOrientation()
|
||||
} else {
|
||||
runRandomizer()
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ class ReviewImageFragment : CommonsDaggerSupportFragment() {
|
|||
lateinit var sessionManager: SessionManager
|
||||
|
||||
// Constant variable used to store user's key name for onSaveInstanceState method
|
||||
private val SAVED_USER = "saved_user"
|
||||
private val savedUser = "saved_user"
|
||||
|
||||
// Variable that stores the value of user
|
||||
private var user: String? = null
|
||||
|
|
@ -129,7 +129,7 @@ class ReviewImageFragment : CommonsDaggerSupportFragment() {
|
|||
question = getString(R.string.review_thanks)
|
||||
|
||||
user = reviewActivity.reviewController.firstRevision?.user()
|
||||
?: savedInstanceState?.getString(SAVED_USER)
|
||||
?: savedInstanceState?.getString(savedUser)
|
||||
|
||||
//if the user is null because of whatsoever reason, review will not be sent anyways
|
||||
if (!user.isNullOrEmpty()) {
|
||||
|
|
@ -172,7 +172,7 @@ class ReviewImageFragment : CommonsDaggerSupportFragment() {
|
|||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
super.onSaveInstanceState(outState)
|
||||
//Save user name when configuration changes happen
|
||||
outState.putString(SAVED_USER, user)
|
||||
outState.putString(savedUser, user)
|
||||
}
|
||||
|
||||
private val reviewCallback: ReviewController.ReviewCallback
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ import com.karumi.dexter.MultiplePermissionsReport
|
|||
import com.karumi.dexter.PermissionToken
|
||||
import com.karumi.dexter.listener.PermissionRequest
|
||||
import com.karumi.dexter.listener.multi.MultiplePermissionsListener
|
||||
import fr.free.nrw.commons.BuildConfig.MOBILE_META_URL
|
||||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.Utils
|
||||
import fr.free.nrw.commons.activity.SingleWebViewActivity
|
||||
|
|
@ -85,7 +86,6 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
private var languageHistoryListView: ListView? = null
|
||||
|
||||
private lateinit var inAppCameraLocationPermissionLauncher: ActivityResultLauncher<Array<String>>
|
||||
private val GET_CONTENT_PICKER_HELP_URL = "https://commons-app.github.io/docs.html#get-content"
|
||||
|
||||
private val cameraPickLauncherForResult: ActivityResultLauncher<Intent> =
|
||||
registerForActivityResult(StartActivityForResult()) { result ->
|
||||
|
|
@ -271,6 +271,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
findPreference<Preference>("managed_exif_tags")?.isEnabled = false
|
||||
findPreference<Preference>("openDocumentPhotoPickerPref")?.isEnabled = false
|
||||
findPreference<Preference>("inAppCameraLocationPref")?.isEnabled = false
|
||||
findPreference<Preference>("vanishAccount")?.isEnabled = false
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -511,6 +512,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
|
||||
@Suppress("LongLine")
|
||||
companion object {
|
||||
const val GET_CONTENT_PICKER_HELP_URL = "https://commons-app.github.io/docs.html#get-content"
|
||||
private const val VANISH_ACCOUNT_URL = "https://meta.m.wikimedia.org/wiki/Special:Contact/accountvanishapps"
|
||||
private const val VANISH_ACCOUNT_SUCCESS_URL = "https://meta.m.wikimedia.org/wiki/Special:GlobalVanishRequest/vanished"
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import fr.free.nrw.commons.utils.ImageUtils.IMAGE_KEEP
|
|||
import fr.free.nrw.commons.utils.ImageUtils.IMAGE_OK
|
||||
import fr.free.nrw.commons.utils.ImageUtilsWrapper
|
||||
import io.reactivex.Single
|
||||
import io.reactivex.functions.Function
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import org.apache.commons.lang3.StringUtils
|
||||
import timber.log.Timber
|
||||
|
|
@ -26,7 +25,7 @@ class ImageProcessingService @Inject constructor(
|
|||
private val fileUtilsWrapper: FileUtilsWrapper,
|
||||
private val imageUtilsWrapper: ImageUtilsWrapper,
|
||||
private val readFBMD: ReadFBMD,
|
||||
private val EXIFReader: EXIFReader,
|
||||
private val exifReader: EXIFReader,
|
||||
private val mediaClient: MediaClient
|
||||
) {
|
||||
/**
|
||||
|
|
@ -94,7 +93,7 @@ class ImageProcessingService @Inject constructor(
|
|||
* the presence of some basic Exif metadata.
|
||||
*/
|
||||
private fun checkEXIF(filepath: String): Single<Int> =
|
||||
EXIFReader.processMetadata(filepath)
|
||||
exifReader.processMetadata(filepath)
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -684,17 +684,64 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
|
|||
|
||||
private fun receiveInternalSharedItems() {
|
||||
val intent = intent
|
||||
Timber.d("Intent has EXTRA_FILES: ${EXTRA_FILES}")
|
||||
uploadableFiles = try {
|
||||
// Check if intent has the extra before trying to read it
|
||||
if (!intent.hasExtra(EXTRA_FILES)) {
|
||||
Timber.w("No EXTRA_FILES found in intent")
|
||||
mutableListOf()
|
||||
} else {
|
||||
// Try to get the files as Parcelable array
|
||||
val files = if (VERSION.SDK_INT >= VERSION_CODES.TIRAMISU) {
|
||||
intent.getParcelableArrayListExtra(EXTRA_FILES, UploadableFile::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
intent.getParcelableArrayListExtra<UploadableFile>(EXTRA_FILES)
|
||||
}
|
||||
|
||||
Timber.d("Received intent %s with action %s", intent.toString(), intent.action)
|
||||
|
||||
uploadableFiles = mutableListOf<UploadableFile>().apply {
|
||||
addAll(intent.getParcelableArrayListExtra(EXTRA_FILES) ?: emptyList())
|
||||
// Convert to mutable list or return empty list if null
|
||||
files?.toMutableList() ?: run {
|
||||
Timber.w("Files array was null")
|
||||
mutableListOf()
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Timber.e(e, "Error reading files from intent")
|
||||
mutableListOf()
|
||||
}
|
||||
|
||||
// Log the result for debugging
|
||||
isMultipleFilesSelected = uploadableFiles.size > 1
|
||||
Timber.i("Received files count: ${uploadableFiles.size}")
|
||||
uploadableFiles.forEachIndexed { index, file ->
|
||||
Timber.d("File $index path: ${file.getFilePath()}")
|
||||
}
|
||||
|
||||
// Handle other extras with null safety
|
||||
place = try {
|
||||
if (VERSION.SDK_INT >= VERSION_CODES.TIRAMISU) {
|
||||
intent.getParcelableExtra(PLACE_OBJECT, Place::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
intent.getParcelableExtra(PLACE_OBJECT)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Timber.e(e, "Error reading place")
|
||||
null
|
||||
}
|
||||
|
||||
prevLocation = try {
|
||||
if (VERSION.SDK_INT >= VERSION_CODES.TIRAMISU) {
|
||||
intent.getParcelableExtra(LOCATION_BEFORE_IMAGE_CAPTURE, LatLng::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
intent.getParcelableExtra(LOCATION_BEFORE_IMAGE_CAPTURE)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Timber.e(e, "Error reading location")
|
||||
null
|
||||
}
|
||||
isMultipleFilesSelected = uploadableFiles!!.size > 1
|
||||
Timber.i("Received multiple upload %s", uploadableFiles!!.size)
|
||||
|
||||
place = intent.getParcelableExtra<Place>(PLACE_OBJECT)
|
||||
prevLocation = intent.getParcelableExtra(LOCATION_BEFORE_IMAGE_CAPTURE)
|
||||
isInAppCameraUpload = intent.getBooleanExtra(IN_APP_CAMERA_UPLOAD, false)
|
||||
resetDirectPrefs()
|
||||
}
|
||||
|
|
@ -803,6 +850,7 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
|
|||
/**
|
||||
* Overrides the back button to make sure the user is prepared to lose their progress
|
||||
*/
|
||||
@SuppressLint("MissingSuperCall")
|
||||
override fun onBackPressed() {
|
||||
showAlertDialog(
|
||||
this,
|
||||
|
|
@ -920,7 +968,7 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
|
|||
|
||||
companion object {
|
||||
private var uploadIsOfAPlace = false
|
||||
const val EXTRA_FILES: String = "commons_image_exta"
|
||||
const val EXTRA_FILES: String = "commons_image_extra"
|
||||
const val LOCATION_BEFORE_IMAGE_CAPTURE: String = "user_location_before_image_capture"
|
||||
const val IN_APP_CAMERA_UPLOAD: String = "in_app_camera_upload"
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@ import com.karumi.dexter.listener.PermissionRequest
|
|||
import com.karumi.dexter.listener.multi.MultiplePermissionsListener
|
||||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.upload.UploadActivity
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
|
||||
object PermissionUtils {
|
||||
|
|
@ -130,7 +133,7 @@ object PermissionUtils {
|
|||
vararg permissions: String
|
||||
) {
|
||||
if (hasPartialAccess(activity)) {
|
||||
Thread(onPermissionGranted).start()
|
||||
CoroutineScope(Dispatchers.Main).launch { onPermissionGranted.run() }
|
||||
return
|
||||
}
|
||||
checkPermissionsAndPerformAction(
|
||||
|
|
@ -166,13 +169,15 @@ object PermissionUtils {
|
|||
rationaleMessage: Int,
|
||||
vararg permissions: String
|
||||
) {
|
||||
val scope = CoroutineScope(Dispatchers.Main)
|
||||
|
||||
Dexter.withActivity(activity)
|
||||
.withPermissions(*permissions)
|
||||
.withListener(object : MultiplePermissionsListener {
|
||||
override fun onPermissionsChecked(report: MultiplePermissionsReport) {
|
||||
when {
|
||||
report.areAllPermissionsGranted() || hasPartialAccess(activity) ->
|
||||
Thread(onPermissionGranted).start()
|
||||
scope.launch { onPermissionGranted.run() }
|
||||
report.isAnyPermissionPermanentlyDenied -> {
|
||||
DialogUtil.showAlertDialog(
|
||||
activity,
|
||||
|
|
@ -189,7 +194,7 @@ object PermissionUtils {
|
|||
null, null
|
||||
)
|
||||
}
|
||||
else -> Thread(onPermissionDenied).start()
|
||||
else -> scope.launch { onPermissionDenied?.run() }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,9 +21,14 @@ abstract class SwipableCardView @JvmOverloads constructor(
|
|||
defStyleAttr: Int = 0
|
||||
) : CardView(context, attrs, defStyleAttr) {
|
||||
|
||||
|
||||
companion object{
|
||||
const val MINIMUM_THRESHOLD_FOR_SWIPE = 100f
|
||||
}
|
||||
|
||||
private var x1 = 0f
|
||||
private var x2 = 0f
|
||||
private val MINIMUM_THRESHOLD_FOR_SWIPE = 100f
|
||||
|
||||
|
||||
init {
|
||||
interceptOnTouchListener()
|
||||
|
|
|
|||
|
|
@ -49,6 +49,20 @@
|
|||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/all_images_uploaded_or_marked"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:textSize="16sp"
|
||||
android:padding="@dimen/standard_gap"
|
||||
android:textColor="@color/text_color_selector"
|
||||
android:text="@string/congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
/>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/loader"
|
||||
|
|
|
|||
|
|
@ -875,6 +875,12 @@
|
|||
<string name="usages_on_commons_heading">كومنز</string>
|
||||
<string name="usages_on_other_wikis_heading">مواقع ويكي أخرى</string>
|
||||
<string name="file_usages_container_heading">حالات استخدام الملف</string>
|
||||
<string name="title_activity_single_web_view">نشاط عرض ويب واحد</string>
|
||||
<string name="account">حساب</string>
|
||||
<string name="vanish_account">حذف الحساب</string>
|
||||
<string name="account_vanish_request_confirm_title">تحذير من اختفاء الحساب</string>
|
||||
<string name="account_vanish_request_confirm">الاختفاء هو <b>الملاذ الأخير</b> ويجب <b>استخدامه فقط عندما ترغب في التوقف عن التحرير إلى الأبد</b> وأيضًا لإخفاء أكبر عدد ممكن من ارتباطاتك السابقة.<br/><br/> يتم حذف الحساب على ويكيميديا كومنز عن طريق تغيير اسم حسابك بحيث لا يتمكن الآخرون من التعرف على مساهماتك في عملية تسمى اختفاء الحساب. <b>لا يضمن الاختفاء عدم الكشف عن الهوية تمامًا أو إزالة المساهمات في المشاريع</b> .</string>
|
||||
<string name="caption">الشرح</string>
|
||||
<string name="caption_copied_to_clipboard">تم نسخ التسمية التوضيحية إلى الحافظة</string>
|
||||
<string name="congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload">مبروك، جميع الصور الموجودة في هذا الألبوم تم تحميلها أو تم وضع علامة عليها بأنها غير قابلة للتحميل.</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -820,4 +820,5 @@
|
|||
<string name="account_vanish_request_confirm">Forsvinding er en <b>sidste udvej</b> og bør <b>kun bruges, når du for altid ønsker at stoppe med at redigere</b> og også for at skjule så mange af dine tidligere tilknytninger som muligt.<br/><br/> Kontosletning på Wikipedia Commons sker ved at ændre dit kontonavn, således at andre ikke kan genkende dine bidrag i en proces, der kaldes kontoforsvinding (Vanishing). <b>Forsvinding garanterer ikke fuldstændig anonymitet eller fjerner bidrag til projekterne</b> .</string>
|
||||
<string name="caption">Billedtekst</string>
|
||||
<string name="caption_copied_to_clipboard">Billedtekst kopieret til udklipsholder</string>
|
||||
<string name="congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload">Tillykke, alle billeder i dette album er enten blevet uploadet eller markeret som ikke til upload.</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
<string name="retry_limit_reached">Vu atingis la maxim granda quanto di probi por sendar arkivo permisata! Voluntez interuptar la kargajo, e probez itere!</string>
|
||||
<string name="unrestricted_battery_mode">Ka desmuntar l\'optimizo di la baterio?</string>
|
||||
<string name="suggest_unrestricted_mode">Sendar plu kam 3 imaji esas plu efikiva kande l\'optimizo di la baterio esas desmuntita. Voluntez desmuntar l\'optimizo di la baterio del ajusti dil utensilo de Commons, por plugrandigar l\'efikeso. \n\nQuale desmuntar l\'optimizo-sistemo di la baterio:\n\n#: Kliktez la butono \"ajusti\" (\'\'Settings\'\') adinfre.\n\n#: Selektez \"ne optimizita (\'\'Not optimized\'\') por omna utensili (\'\'All apps\'\').\n\n#: Serchez \"Commons\" o \"fr.free.nrw.commons\".\n\n#: Kliktez ol e selektez \"ne optimizar\" (\'\'Don\'t optimize\'\').\n\n#: Kliktez \"facita\" (\'\'Done\'\').</string>
|
||||
<string name="authentication_failed" fuzzy="true">L\'autentikigo faliis, voluntez itere enirar.</string>
|
||||
<string name="authentication_failed">Autentikigo faliis. Voluntez itere enirar.</string>
|
||||
<string name="uploading_started">Komencis sendar!</string>
|
||||
<string name="uploading_queued">Sendajo ajornata (modulo \"limitizita konekto\" aktiva)</string>
|
||||
<string name="upload_completed_notification_title">%1$s sendesis!</string>
|
||||
|
|
@ -100,17 +100,19 @@
|
|||
<string name="menu_from_camera">Fotografar</string>
|
||||
<string name="menu_nearby">Proxime</string>
|
||||
<string name="provider_contributions">Mea sendaji</string>
|
||||
<string name="menu_copy_link">Kopiez ligilo</string>
|
||||
<string name="menu_link_copied">La ligilo kopiesis a \'\'clipboard\'\'.</string>
|
||||
<string name="menu_share">Partigar</string>
|
||||
<string name="menu_view_file_page">Vidar arkivo-pagino</string>
|
||||
<string name="share_title_hint">Titulo (Bezonata)</string>
|
||||
<string name="add_caption_toast">Voluntez informar deskripto-texto por ca arkivo</string>
|
||||
<string name="share_description_hint">Deskripto</string>
|
||||
<string name="share_caption_hint">Deskripto-texto</string>
|
||||
<string name="login_failed_network" fuzzy="true">Ne esis posibla facar \'\'log - in\'\' - la reto faliis</string>
|
||||
<string name="login_failed_network">Ne esas posibla enirar - la reto faliis</string>
|
||||
<string name="login_failed_throttled">Multa sensucesa probi pri konektar. Voluntez probar itere pos kelka minuti.</string>
|
||||
<string name="login_failed_blocked">Pardonez, ca uzero blokusesis che Commons</string>
|
||||
<string name="login_failed_2fa_needed">Vu mustas uzar vua autentikigo en du etapi.</string>
|
||||
<string name="login_failed_generic" fuzzy="true">Eniro faliis</string>
|
||||
<string name="login_failed_generic">Eniro faliis</string>
|
||||
<string name="share_upload_button">Kargar</string>
|
||||
<string name="multiple_share_base_title">Nomizes ca ajusto</string>
|
||||
<string name="provider_modifications">Modifikuri</string>
|
||||
|
|
@ -118,6 +120,7 @@
|
|||
<string name="categories_search_text_hint">Serchar kategorii</string>
|
||||
<string name="depicts_search_text_hint">Serchez kozi quin vua \'\'media\'\' montras (monti, \'\'Taj Mahal\'\', edc.)</string>
|
||||
<string name="menu_save_categories">Registragar</string>
|
||||
<string name="menu_overflow_desc">Menuo pri exterfluajo</string>
|
||||
<string name="refresh_button">Rinovigar</string>
|
||||
<string name="display_list_button">Listar</string>
|
||||
<string name="contributions_subtitle_zero">(Nula arkivo sendita til nun)</string>
|
||||
|
|
@ -258,6 +261,7 @@
|
|||
<string name="use_external_storage_summary">Konservar en vua enmagaziniguro la fotografuri obtenita uzanta fotografilo del utensilo (\'\'app\'\')</string>
|
||||
<string name="login_to_your_account">Enirez en vua konto</string>
|
||||
<string name="send_log_file">Sendez arkivo \'\'log\'\'</string>
|
||||
<string name="send_log_file_description">Sendez protokolo per e-posto a developeri, por helpar la solvo di problemi dil \'\'app\'\'. Atencez: protokoli povas kontenar informi por identifiko</string>
|
||||
<string name="no_web_browser">Nula retnavigilo trovita, por apertar la URL</string>
|
||||
<string name="null_url">Eroro! URL ne trovita</string>
|
||||
<string name="nominate_deletion">Propozar efaco</string>
|
||||
|
|
@ -266,11 +270,12 @@
|
|||
<string name="skip_login">Saltar</string>
|
||||
<string name="navigation_item_login">Enirar</string>
|
||||
<string name="skip_login_title">Ka vu deziras ne enirar?</string>
|
||||
<string name="skip_login_message" fuzzy="true">Vu mustus facar \'\'log in\'\' por sendor imaji future.</string>
|
||||
<string name="skip_login_message">Future, vu mustus facar \'\'log in\'\' por sendar imaji.</string>
|
||||
<string name="login_alert_message">Voluntez enirar por uzar ca utensilo</string>
|
||||
<string name="copy_wikicode">Kopiez Wiki-texto a \'clipboard\'</string>
|
||||
<string name="wikicode_copied">Wiki-texto kopiesis a \'clipboard\'</string>
|
||||
<string name="nearby_location_not_available">Proximeso povas ne funcionar korekte, nam Lokizo ne esas disponebla.</string>
|
||||
<string name="nearby_showing_pins_offline">Interreto nedisponebla. Montranta nur elementi enmagazinigita lokale.</string>
|
||||
<string name="upload_location_access_denied">Aceso a lokizo ne permisita. Voluntez informar manuale vua lokizo por uzar ca resurso*.</string>
|
||||
<string name="location_permission_rationale_nearby">Permiso bezonata por montrar listo pri vicina loki</string>
|
||||
<string name="location_permission_rationale_explore">Permiso bezonata por montrar listo pri vicina imaji</string>
|
||||
|
|
@ -354,18 +359,22 @@
|
|||
<string name="delete">Efacar</string>
|
||||
<string name="Achievements">Sucesi</string>
|
||||
<string name="Profile">Profilo</string>
|
||||
<string name="badges">Insigni</string>
|
||||
<string name="statistics">Statistiko</string>
|
||||
<string name="statistics_thanks">Danki recevita</string>
|
||||
<string name="statistics_featured">Remarkinda imaji</string>
|
||||
<string name="statistics_wikidata_edits">Imaji tra \"Loki Vicina\"</string>
|
||||
<string name="level" fuzzy="true">Nivelo</string>
|
||||
<string name="level">Nivelo %d</string>
|
||||
<string name="profileLevel">%s (Nivelo %s)</string>
|
||||
<string name="images_uploaded">Imaji sendita</string>
|
||||
<string name="image_reverts">Imaji ne reversionita</string>
|
||||
<string name="images_used_by_wiki">Imaji uzita</string>
|
||||
<string name="achievements_share_message">Partigez vua sucesi kun vua amiki!</string>
|
||||
<string name="achievements_info_message">Vua nivelo augmentas kande vu atingas bezonata postuli. Elementi en la segmento \"statistiko\" ne augmentas vua nivelo.</string>
|
||||
<string name="achievements_revert_limit_message">minima quanto bezonata:</string>
|
||||
<string name="images_uploaded_explanation">Quanto di imaji quin vu sendis a Commons, uzanta irga softwaro* por sendar li</string>
|
||||
<string name="images_reverted_explanation">La procento di imaji quin vu sendis a Commons, qui ne efacesis pose</string>
|
||||
<string name="images_used_explanation">La quanto di imaji sendita da vu a Commons, qui uzesis en artikli de Wikimedia.</string>
|
||||
<string name="error_occurred">Eventis eroro!</string>
|
||||
<string name="notifications_channel_name_all">Avizo de Commons</string>
|
||||
<string name="preference_author_name_toggle">Uzar personalizita autoro-nomo</string>
|
||||
|
|
@ -375,6 +384,7 @@
|
|||
<string name="nearby_fragment">Vicina</string>
|
||||
<string name="notifications">Avizi</string>
|
||||
<string name="read_notifications">Avizi (lektita)</string>
|
||||
<string name="display_nearby_notification">Montrez proxima avizo</string>
|
||||
<string name="list_sheet">Listo</string>
|
||||
<string name="storage_permission">Permiso pri enmagazinigo</string>
|
||||
<string name="step_count">Etapo %1$d de %2$d: %3$s</string>
|
||||
|
|
@ -383,6 +393,8 @@
|
|||
<string name="upload_title_duplicate">Arkivo kun la nomo %1$s ja existas. Ka vu deziras durigar?\n\nNoto: Sufixo adequata adjuntesos automatale a la nomo dil imajo.</string>
|
||||
<string name="title_page_bookmarks_pictures">Imaji</string>
|
||||
<string name="title_page_bookmarks_locations">Loki</string>
|
||||
<string name="title_page_bookmarks_categories">Kategorii</string>
|
||||
<string name="menu_bookmark">Adjuntez/Removez marko-rubandi (\'\'bookmark\'\'-i)</string>
|
||||
<string name="provider_bookmarks">Marko-rubandi</string>
|
||||
<string name="bookmark_empty">Vu ne adjuntis marko-rubandi</string>
|
||||
<string name="provider_bookmarks_location">Marko-rubandi</string>
|
||||
|
|
@ -392,7 +404,11 @@
|
|||
<string name="deletion_reason_bad_for_my_privacy">Me konstatis ke ol esas mala por mea privateso</string>
|
||||
<string name="deletion_reason_no_longer_want_public">Me chanjis mea ideo: me ne pluse deziras ke ol esos publike videbla</string>
|
||||
<string name="deletion_reason_not_interesting">Pardonez! Ca imajo ne esas interesanta por ula enciklopedio</string>
|
||||
<string name="uploaded_by_myself">Adjuntita da me, che %1$s, uzita en %2$d artiklo/artikli.</string>
|
||||
<string name="no_uploads">Bonveno a Commons!\n\nSendez vua unesma arkivo kliktanta sur butono \"adjuntez\" (\'\'add\'\').</string>
|
||||
<string name="no_categories_selected">Nula kategorio selektita</string>
|
||||
<string name="no_categories_selected_warning_desc">Imaji sen kategorii rare esas uzebla. Ka vu fakte deziras sendar ol sen selektar irga kategorio?</string>
|
||||
<string name="no_depictions_selected">Nula deskripturo selektita</string>
|
||||
<string name="back_button_warning">Cesar kargajo</string>
|
||||
<string name="back_button_continue">Durar kargajo</string>
|
||||
<string name="search_this_area">Serchez ca areo</string>
|
||||
|
|
@ -401,15 +417,38 @@
|
|||
<string name="never_ask_again">Ne pluse demandez to</string>
|
||||
<string name="display_location_permission_title">Demandar lokala permiso</string>
|
||||
<string name="display_location_permission_explanation">Demandez lokala permiso, kande bezonata por uzar karto montranta proximeso.</string>
|
||||
<string name="ends_on">Finas la:</string>
|
||||
<string name="display_campaigns">Montrez kampanii</string>
|
||||
<string name="display_campaigns_explanation">Videz la kampanii duranta</string>
|
||||
<string name="option_allow">Permisar</string>
|
||||
<string name="option_dismiss">Eskartar</string>
|
||||
<string name="nominate_for_deletion_done">Facita</string>
|
||||
<string name="send_thank_success_title">Sendanta danko: Suceso</string>
|
||||
<string name="send_thank_success_message">Danko sendita sucese a %1$s</string>
|
||||
<string name="send_thank_failure_message">Faliis pri sendar danko a %1$s</string>
|
||||
<string name="send_thank_failure_title">Sendanta danko: Falio</string>
|
||||
<string name="send_thank_toast">Sendanta danko a %1$s</string>
|
||||
<string name="review_copyright">Ka to obedias la reguli pri autoroyuro?</string>
|
||||
<string name="review_category">Ka lua kategorio esas korekta?</string>
|
||||
<string name="review_thanks">Ka vu deziras dankar la kontributero?</string>
|
||||
<string name="review_spam_explanation">Kliktez NO por indikar ca imajo por efaco, se ol ne havas irga utileso.</string>
|
||||
<string name="review_no_category">Ho, to ne mem havas kategorio!</string>
|
||||
<string name="review_category_explanation">Ca imajo havas %1$s kategorii.</string>
|
||||
<string name="review_spam_report_question">Ol esas kontre la skopo, nam ol esas</string>
|
||||
<string name="review_c_violation_report_question">To esas violaco di autoroyuro, nam ol esas</string>
|
||||
<string name="review_thanks_yes_button_text">Sequanta imajo</string>
|
||||
<string name="review_thanks_no_button_text">Yes, pro quo ne?</string>
|
||||
<string name="skip_image_explanation">Kliktanta ca butono donos a vu altra imajo recente sendita a Wikimedia Commons</string>
|
||||
<string name="review_image_explanation">Vu povas revizar imaji, por plubonigar la qualeso di Wikimedia Commons.\nLa tri revizo-parametri esas:\n\n- Kad ica imajo havas havas irga relato kun la kuntexto?\nKande tu kliktas NO, vu adjuntos indiko (shablono) por ke ol efacesos.\n\n- Kad ica imajo violacas autoroyuro?\nSe tu klitos YES, vu adjuntos indiko por ke ol efacesos.\n\n- Kad la kategorii di ica imajo esas korekta?\nSe tu kliktos NO, vu adjuntos demando pri adjuntar korekta kategorio ad ol.\n\nSe omno esas korekta, nula shablono adjuntesos al imajo, e vu povos dankar la persono qua sendis ol.</string>
|
||||
<string name="no_image">Nula imajo uzita</string>
|
||||
<string name="no_image_reverted">Nula imajo desfacita</string>
|
||||
<string name="no_image_uploaded">Nula imajo sendita</string>
|
||||
<string name="no_notification">Vu havas nul avizi sen lektar</string>
|
||||
<string name="no_read_notification">Vu ne lektis irga avizo</string>
|
||||
<string name="check_your_email_inbox">Verifikez vua e-postal adreso</string>
|
||||
<string name="menu_option_read">Vidar lektita</string>
|
||||
<string name="menu_option_unread">Vidar ne-lektata</string>
|
||||
<string name="error_occurred_in_picking_images">Eventis eroro dum selekto di imaji</string>
|
||||
<string name="please_wait">Vartez...</string>
|
||||
<string name="copied_successfully">Kopiita</string>
|
||||
<string name="welcome_do_upload_content_description">Exempli pri bona imaji por sendar a Commons</string>
|
||||
|
|
@ -431,7 +470,9 @@
|
|||
<string name="delete_helper_show_deletion_message_else">Ne povis demandar efaco.</string>
|
||||
<string name="delete_helper_ask_spam_blurry">komplete neklara</string>
|
||||
<string name="delete_helper_ask_reason_copyright_press_photo">Fotografuro de komunikilaro</string>
|
||||
<string name="delete_helper_ask_reason_copyright_internet_photo">Hazarda imajo de Interreto</string>
|
||||
<string name="delete_helper_ask_reason_copyright_logo">Emblemo</string>
|
||||
<string name="delete_helper_ask_reason_copyright_no_freedom_of_panorama">Brecho di Libereso di Panoramo</string>
|
||||
<string name="delete_helper_ask_alert_set_positive_button_reason">Pro ke ol esas</string>
|
||||
<string name="category_edit_helper_make_edit_toast">Probanta aktualigar kategorii.</string>
|
||||
<string name="category_edit_helper_show_edit_title">Aktualigo di kategorio</string>
|
||||
|
|
@ -442,7 +483,14 @@
|
|||
</plurals>
|
||||
<string name="category_edit_helper_edit_message_else">Ne povis adjuntar kategorii.</string>
|
||||
<string name="category_edit_button_text">Aktualigar kategorii</string>
|
||||
<string name="depictions_edit_helper_make_edit_toast">Probanta aktualigar deskripturi.</string>
|
||||
<string name="depictions_edit_helper_show_edit_title">Redaktar deskripturi</string>
|
||||
<plurals name="depictions_edit_helper_show_edit_message_if">
|
||||
<item quantity="one">Deskripturo %1$s adjuntesis.</item>
|
||||
<item quantity="other">Deskripturi %1$s adjuntesis.</item>
|
||||
</plurals>
|
||||
<string name="depictions_edit_helper_edit_message_else">Ne povis adjuntar deskripturi.</string>
|
||||
<string name="coordinates_edit_helper_make_edit_toast">Probanta aktualigar koordinati.</string>
|
||||
<string name="coordinates_edit_helper_show_edit_title">Aktualigo di koordinati</string>
|
||||
<string name="description_edit_helper_show_edit_title">Aktualigo di deskripturo</string>
|
||||
<string name="caption_edit_helper_show_edit_title">Aktualigo di surskriburo</string>
|
||||
|
|
@ -451,8 +499,14 @@
|
|||
<string name="description_edit_helper_show_edit_message">Adjuntesis deskripturi.</string>
|
||||
<string name="caption_edit_helper_show_edit_message">Surskriburo adjuntesis.</string>
|
||||
<string name="coordinates_edit_helper_edit_message_else">Ne povis adjuntar koordinati.</string>
|
||||
<string name="description_edit_helper_edit_message_else">Ne povis adjuntar deskripturi.</string>
|
||||
<string name="caption_edit_helper_edit_message_else">Ne povis adjuntar deskripturo.</string>
|
||||
<string name="coordinates_picking_unsuccessful">Koordinati dil imajo ne aktualigesis</string>
|
||||
<string name="descriptions_picking_unsuccessful">Ne povis obtenar deskripturi.</string>
|
||||
<string name="description_activity_title">Redaktar deskripturi ed informo-texti</string>
|
||||
<string name="share_image_via">Partigar imajo uzanta</string>
|
||||
<string name="you_have_no_achievements_yet">Vu ankore ne facis kontributaji</string>
|
||||
<string name="no_achievements_yet">%s ankore ne facis irga kontributado</string>
|
||||
<string name="account_created">Konto kreesis!</string>
|
||||
<string name="text_copy">Texto kopiita a \'\'clipboard\'\'</string>
|
||||
<string name="notification_mark_read">Mesajo indikita kom \'lektita\'</string>
|
||||
|
|
@ -462,17 +516,21 @@
|
|||
<string name="place_state_needs_photo">Bezonas fotografuro</string>
|
||||
<string name="place_type">Tipo di lokizo:</string>
|
||||
<string name="nearby_search_hint">Ponto, muzeo, hotelo, edc.</string>
|
||||
<string name="you_must_reset_your_passsword" fuzzy="true">Irgu ne funcionis dum \'\'log in\'\'. Vu mustos ridefinar vua pasovorto!!</string>
|
||||
<string name="you_must_reset_your_passsword">Irgu faliis dum \'\'log in\'\'. Vu mustos ridefinar vua pasovorto!!</string>
|
||||
<string name="title_for_media">\'\'MEDIA\'\'</string>
|
||||
<string name="title_for_child_classes">SUBKLASI</string>
|
||||
<string name="title_for_parent_classes">KLASI PLU ABSTRAKTA</string>
|
||||
<string name="upload_nearby_place_found_title">Loko proxima trovesis</string>
|
||||
<string name="upload_nearby_place_found_description_singular" fuzzy="true">Ka to esas fotografuro pri %1$s?</string>
|
||||
<string name="upload_nearby_place_found_description_plural">Ka ca imaji apartenas a %1$s?</string>
|
||||
<string name="upload_nearby_place_found_description_singular">Ka to esas imajo di %1$s?</string>
|
||||
<string name="title_app_shortcut_bookmark">Marko-rubandi</string>
|
||||
<string name="title_app_shortcut_setting">Ajusti</string>
|
||||
<string name="remove_bookmark">Efacita de la marko-rubandi</string>
|
||||
<string name="add_bookmark">Adjuntita marko-rubandi</string>
|
||||
<string name="wallpaper_set_unsuccessfully">Irgu faliis. Ne povis vidar la muropapero</string>
|
||||
<string name="setting_wallpaper_dialog_title">Uzar kom skreno-kovrilo</string>
|
||||
<string name="setting_wallpaper_dialog_message">Kreanta skreno-kovrilo. Voluntez vartar...</string>
|
||||
<string name="theme_default_name">Sequar sistemo</string>
|
||||
<string name="theme_dark_name">Koloro obskura</string>
|
||||
<string name="theme_light_name">Koloro klara</string>
|
||||
<string name="load_more">Charjez pluse</string>
|
||||
|
|
@ -492,6 +550,9 @@
|
|||
<string name="leaderboard_column_user">Uzero</string>
|
||||
<string name="leaderboard_column_count">Quanteso</string>
|
||||
<string name="setting_avatar_dialog_title">Uzar kom \'\'avatar\'\' di la tabelo pri precipua kunlaboranti</string>
|
||||
<string name="avatar_set_successfully">Ajusto di avataro</string>
|
||||
<string name="avatar_set_unsuccessfully">Eroro dum ajusto di nov avataro, voluntez probar itere</string>
|
||||
<string name="menu_set_avatar">Uzar kom avataro</string>
|
||||
<string name="leaderboard_yearly">Yare</string>
|
||||
<string name="leaderboard_weekly">Semanale</string>
|
||||
<string name="leaderboard_all_time">Sempre</string>
|
||||
|
|
@ -502,9 +563,16 @@
|
|||
<string name="statistics_quality">Imaji di qualeso</string>
|
||||
<string name="cancelling_upload">Nuliganta sendajo...</string>
|
||||
<string name="cancel_upload">Cesar kargajo</string>
|
||||
<string name="depicts_step_title">Montras</string>
|
||||
<string name="license_step_title">Licencizo di \'\'media\'\'</string>
|
||||
<string name="media_detail_step_title">Detali pri \'\'media\'\'</string>
|
||||
<string name="menu_view_category_page">Vidar kategorio-pagino</string>
|
||||
<string name="menu_view_item_page">Vidar pagino dil arkivo</string>
|
||||
<string name="read_help_link">Lektez pluse</string>
|
||||
<string name="media_detail_in_all_languages">En omna idiomi</string>
|
||||
<string name="choose_a_location">Selektez lokizo</string>
|
||||
<string name="select_location_location_picker">Selektar lokizo</string>
|
||||
<string name="show_in_map_app">Montrar en l\'utensilo \'\'app\'\' di mapo</string>
|
||||
<string name="modify_location">Aktualigar lokizo</string>
|
||||
<string name="image_location">Lokizo dil imajo</string>
|
||||
<string name="check_whether_location_is_correct">Verifikez se la lokizo esas korekta</string>
|
||||
|
|
@ -524,8 +592,33 @@
|
|||
<string name="display_monuments">Montrez monumenti</string>
|
||||
<string name="learn_more">SAVEZ PLUSE</string>
|
||||
<string name="need_permission">Bezonas permiso</string>
|
||||
<string name="menu_view_user_page" fuzzy="true">Vidar uzeropagino</string>
|
||||
<string name="contributions_of_user">Kontributadi dil uzero: %s</string>
|
||||
<string name="achievements_of_user">Sucesi dil uzero: %s</string>
|
||||
<string name="menu_view_user_page">Vidar profilo dil uzero</string>
|
||||
<string name="edit_depictions">Redaktar deskripturi</string>
|
||||
<string name="edit_categories">Redaktar kategorii</string>
|
||||
<string name="advanced_options">Progresiva selektaji (advanced options)</string>
|
||||
<string name="apply">Aplikar</string>
|
||||
<string name="reset">Restaurar</string>
|
||||
<string name="no_location_found_title">Nula lokizo trovita</string>
|
||||
<string name="no_location_found_message">Ka vu deziras informar la loko de ube vu obtenis ca imajo?\nInformo pri la lokizo helpos editeri trovar vua imajo, do ol divenos plu utila.\nDanko!</string>
|
||||
<string name="add_location">Adjuntez lokizo</string>
|
||||
<string name="explore_map_details">Detali</string>
|
||||
<string name="api_level">nivelo di API</string>
|
||||
<string name="android_version">versiono di Android</string>
|
||||
<string name="device_manufacturer">Fabrikanto dil aparato</string>
|
||||
<string name="device_model">Modelo dil aparato</string>
|
||||
<string name="device_name">Nomo dil aparato</string>
|
||||
<string name="network_type">Tipo di reto</string>
|
||||
<string name="thanks_feedback">Danko por sendar vua opiniono</string>
|
||||
<string name="error_feedback">Eroro dum sendo di respondo</string>
|
||||
<string name="enter_description">Qual es vua opiniono (feedback)?</string>
|
||||
<string name="your_feedback">Vua opiniono (\'\'feedback\'\')</string>
|
||||
<string name="mark_as_not_for_upload">Indikez por ne sendar ol</string>
|
||||
<string name="unmark_as_not_for_upload">Itere indikez por sendar ol</string>
|
||||
<string name="marking_as_not_for_upload">Indikanta ke ol ne sendesos</string>
|
||||
<string name="this_image_is_already_uploaded">Ca imajo ja sendesis</string>
|
||||
<string name="can_not_select_this_image_for_upload">Ne povis selektar ca imajo por sendar (\'\'upload\'\')</string>
|
||||
<string name="image_selected">Imajo selektita</string>
|
||||
<string name="image_marked_as_not_for_upload">Ca imajo indikesis por ne sendesar</string>
|
||||
<string name="menu_view_report">Raporto</string>
|
||||
|
|
@ -535,13 +628,49 @@
|
|||
<string name="report_user">Avizar ca uzero</string>
|
||||
<string name="report_content">Informar ca kontenajo</string>
|
||||
<string name="request_user_block">Demandar blokuso di ca uzero</string>
|
||||
<string name="full_screen_mode_zoom_info">Uzez du fingri por augmentar o diminutar \'\'zoom\'\'.</string>
|
||||
<string name="similar_coordinate_description_auto_set">Koordinati ne esas l\'exakta, tamen l\'individuo qua sendis ca imajo kredas ke la koordinati quin lu informis esas suficante proxima.</string>
|
||||
<string name="edit_image">Modifikar imajo</string>
|
||||
<string name="edit_location">Aktualigar lokizo</string>
|
||||
<string name="location_updated">Lokizo aktualigita!</string>
|
||||
<string name="remove_location">Removar lokizo</string>
|
||||
<string name="remove_location_warning_title">Removar avizo pri lokizo</string>
|
||||
<string name="location_removed">Lokizo efacita!</string>
|
||||
<string name="send_thanks_to_author">Dankar l\'autoro</string>
|
||||
<string name="error_sending_thanks">Eroro sendanta danki al autoro.</string>
|
||||
<string name="invalid_login_message">La tempo-quanto por vua \'\'log in\'\' finis. Voluntez itere enirar.</string>
|
||||
<string name="file_saved_successfully">Konservo sucesoza di arkivo</string>
|
||||
<string name="do_you_want_to_open_gpx_file">Ka vu deziras apertar arkivo GPX?</string>
|
||||
<string name="do_you_want_to_open_kml_file">Ka vu deziras apartar l\'arkivo KML?</string>
|
||||
<string name="failed_to_save_kml_file">Faliis pri konservar arkivo KML.</string>
|
||||
<string name="failed_to_save_gpx_file">Faliis pri konservar arkivo GPX.</string>
|
||||
<string name="saving_kml_file">Konservanta arqkivo KML</string>
|
||||
<string name="saving_gpx_file">Konservanta arkivo GPX</string>
|
||||
<plurals name="custom_picker_images_selected_title_appendix">
|
||||
<item quantity="one">%d imajo selektita</item>
|
||||
<item quantity="other">%d imaji selektita</item>
|
||||
</plurals>
|
||||
<string name="talk">Diskuto</string>
|
||||
<string name="write_something_about_the_item">Dicez irgu pri l\'arkivo \'%1$s\'. Ol esos videbla publike.</string>
|
||||
<string name="uploads">Arkivi sendita</string>
|
||||
<string name="pending">Vartanta</string>
|
||||
<string name="failed">Faliis</string>
|
||||
<string name="could_not_load_place_data">Ne povis inkluzar datumi pri la loko</string>
|
||||
<string name="custom_selector_delete_folder">Efacar faldilo</string>
|
||||
<string name="custom_selector_confirm_deletion_title">Konfirmez efaco</string>
|
||||
<string name="custom_selector_confirm_deletion_message">Ka vu deziras efacar faldilo %1$s, kontenanta %2$d arkivi?</string>
|
||||
<string name="custom_selector_delete">Efacez</string>
|
||||
<string name="custom_selector_cancel">Nuligez</string>
|
||||
<string name="custom_selector_folder_deleted_success">Faldilo %1$s sucese efacita</string>
|
||||
<string name="custom_selector_folder_deleted_failure">Faliis pri efacar faldilo %1$s</string>
|
||||
<string name="usages_on_commons_heading">Commons</string>
|
||||
<string name="usages_on_other_wikis_heading">Altra wiki</string>
|
||||
<string name="file_usages_container_heading">Uzi dil arkivo</string>
|
||||
<string name="title_activity_single_web_view">SingleWebViewActivity</string>
|
||||
<string name="account">Konto</string>
|
||||
<string name="vanish_account">Efacar konto</string>
|
||||
<string name="account_vanish_request_confirm_title">Avizo pri efaco di konto</string>
|
||||
<string name="caption">Deskripto-texto</string>
|
||||
<string name="caption_copied_to_clipboard">Deskripto-texto kopiita a \'\'clipboard\'\'</string>
|
||||
<string name="congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload">Gratuli! Omna imaji en ca albumo sive sendesis, sive indikesis por ne sendar.</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -108,6 +108,8 @@
|
|||
<string name="menu_from_camera">写真を撮影</string>
|
||||
<string name="menu_nearby">付近</string>
|
||||
<string name="provider_contributions">自分のアップロード</string>
|
||||
<string name="menu_copy_link">リンクをコピー</string>
|
||||
<string name="menu_link_copied">リンクがクリップボードにコピーされました</string>
|
||||
<string name="menu_share">共有</string>
|
||||
<string name="menu_view_file_page">ファイルのページを表示</string>
|
||||
<string name="share_title_hint">キャプション (必須)</string>
|
||||
|
|
@ -126,6 +128,7 @@
|
|||
<string name="categories_search_text_hint">カテゴリを検索</string>
|
||||
<string name="depicts_search_text_hint">アップロードする素材の被写体を検索(山岳、タージマハールなど)</string>
|
||||
<string name="menu_save_categories">保存</string>
|
||||
<string name="menu_overflow_desc">オーバーフローメニュー</string>
|
||||
<string name="refresh_button">更新</string>
|
||||
<string name="display_list_button">一覧</string>
|
||||
<string name="contributions_subtitle_zero">(まだ何もアップロードされていません)</string>
|
||||
|
|
@ -313,6 +316,7 @@
|
|||
<string name="title_activity_search">検索</string>
|
||||
<string name="search_recent_header">最近の検索:</string>
|
||||
<string name="provider_searches">最近、検索したクエリ</string>
|
||||
<string name="provider_recent_languages">最近の言語クエリ</string>
|
||||
<string name="error_loading_categories">カテゴリの読み込み中にエラーが発生しました。</string>
|
||||
<string name="error_loading_depictions">描写の読み込み中にエラーが発生しました</string>
|
||||
<string name="search_tab_title_media">メデイア</string>
|
||||
|
|
@ -345,6 +349,7 @@
|
|||
<string name="wrong">不正解</string>
|
||||
<string name="quiz_screenshot_question">このスクリーンショットをアップロードしてもよいですか?</string>
|
||||
<string name="share_app_title">アプリをシェアする</string>
|
||||
<string name="rotate">回転</string>
|
||||
<string name="error_fetching_nearby_places">付近の場所を読み込めません</string>
|
||||
<string name="no_recent_searches">最近の検索はまだありません</string>
|
||||
<string name="delete_recent_searches_dialog">本当に検索履歴を消去しますか?</string>
|
||||
|
|
@ -355,11 +360,12 @@
|
|||
<string name="delete">削除</string>
|
||||
<string name="Achievements">貢献</string>
|
||||
<string name="Profile">プロフィール</string>
|
||||
<string name="badges">バッジ</string>
|
||||
<string name="statistics">統計</string>
|
||||
<string name="statistics_thanks">受け取った感謝</string>
|
||||
<string name="statistics_featured">秀逸な画像</string>
|
||||
<string name="statistics_wikidata_edits">「近くの場所」機能でアップロードした画像</string>
|
||||
<string name="level" fuzzy="true">レベル</string>
|
||||
<string name="level">レベル %d</string>
|
||||
<string name="images_uploaded">アップロードした画像</string>
|
||||
<string name="image_reverts">却下されなかった画像</string>
|
||||
<string name="images_used_by_wiki">使用された画像</string>
|
||||
|
|
@ -391,6 +397,7 @@
|
|||
<string name="map_application_missing">お使いの機器に適したアプリが見つかりませんでした。この機能を使用できる地図アプリをインストールしてください。</string>
|
||||
<string name="title_page_bookmarks_pictures">画像</string>
|
||||
<string name="title_page_bookmarks_locations">位置</string>
|
||||
<string name="title_page_bookmarks_categories">カテゴリ</string>
|
||||
<string name="menu_bookmark">ブックマークに追加/から削除</string>
|
||||
<string name="provider_bookmarks">ブックマーク</string>
|
||||
<string name="bookmark_empty">ブックマークは追加されていません</string>
|
||||
|
|
@ -642,7 +649,7 @@
|
|||
<string name="done">完了</string>
|
||||
<string name="back">戻る</string>
|
||||
<string name="need_permission">権限が必要です</string>
|
||||
<string name="menu_view_user_page" fuzzy="true">利用者ページを表示</string>
|
||||
<string name="menu_view_user_page">利用者プロフィールを表示</string>
|
||||
<string name="edit_depictions">題材を編集する</string>
|
||||
<string name="edit_categories">カテゴリを編集</string>
|
||||
<string name="apply">適用</string>
|
||||
|
|
@ -683,4 +690,17 @@
|
|||
<plurals name="custom_picker_images_selected_title_appendix">
|
||||
<item quantity="other">%d件の画像が選択されました</item>
|
||||
</plurals>
|
||||
<string name="cancelling_all_the_uploads">すべてのアップロードをキャンセルしています...</string>
|
||||
<string name="uploads">アップロード</string>
|
||||
<string name="pending">保留中</string>
|
||||
<string name="failed">失敗しました</string>
|
||||
<string name="custom_selector_delete">削除</string>
|
||||
<string name="custom_selector_cancel">キャンセル</string>
|
||||
<string name="usages_on_commons_heading">コモンズ</string>
|
||||
<string name="usages_on_other_wikis_heading">その他のウィキ</string>
|
||||
<string name="account">アカウント</string>
|
||||
<string name="vanish_account">アカウント抹消</string>
|
||||
<string name="account_vanish_request_confirm_title">アカウント抹消の警告</string>
|
||||
<string name="caption">キャプション</string>
|
||||
<string name="caption_copied_to_clipboard">キャプションをクリップボードにコピーしました</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -708,6 +708,7 @@
|
|||
<string name="usages_on_other_wikis_heading">다른 위키</string>
|
||||
<string name="file_usages_container_heading">이 파일을 사용하는 문서</string>
|
||||
<string name="account">계정</string>
|
||||
<string name="vanish_account">계정 버리기</string>
|
||||
<string name="caption">캡션</string>
|
||||
<string name="caption_copied_to_clipboard">캡션이 클립보드에 복사되었습니다</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@
|
|||
<string name="welcome_copyright_text">Сиздин сүрөттөр дүйнө жүзүндөгү адамдардын билим алышына өбөлгө түзүүдө.</string>
|
||||
<string name="welcome_copyright_subtext">Интернетте жарыяланган автордук укукка ээ сүрөттөрдөн, ошондой эле плакаттардан жана китептердин мукабасынан ж.б. четтеңиз.</string>
|
||||
<string name="welcome_final_text">Сизге бул түшүнүктүүбү?</string>
|
||||
<string name="welcome_final_button_text">Ооба !</string>
|
||||
<string name="welcome_final_button_text">Ооба!</string>
|
||||
<string name="detail_panel_cats_label">Категориялар</string>
|
||||
<string name="detail_panel_cats_loading">Жүктөлүүдө…</string>
|
||||
<string name="detail_panel_cats_none">Тандалган жок</string>
|
||||
|
|
|
|||
|
|
@ -3,13 +3,31 @@
|
|||
* Adithyak1997
|
||||
* Akhilan
|
||||
* Jacob.jose
|
||||
* Jinoytommanjaly
|
||||
* Kiran Gopi
|
||||
* Praveenp
|
||||
* Santhosh.thottingal
|
||||
-->
|
||||
<resources>
|
||||
<string name="commons_facebook">കോമൺസ് ഫേസ്ബുക്ക് പേജ്</string>
|
||||
<string name="commons_github">കോമൺസ് ജിത്ഹബ് സോഴ്സ് കോഡ്</string>
|
||||
<string name="commons_logo">കോമൺസ് ലോഗോ</string>
|
||||
<string name="commons_website">കോമൺസ് വെബ്സൈറ്റ്</string>
|
||||
<string name="submit">സമർപ്പിക്കുക</string>
|
||||
<string name="add_another_description">മറ്റൊരു വിവരണം ചേർക്കുക</string>
|
||||
<string name="add_new_contribution">പുതിയ സംഭാവന ചേർക്കുക</string>
|
||||
<string name="add_contribution_from_camera">ക്യാമറയിൽ നിന്നുള്ള സംഭാവന ചേർക്കുക</string>
|
||||
<string name="add_contribution_from_photos">ഫോട്ടോകളിൽ നിന്നുള്ള സംഭാവന ചേർക്കുക</string>
|
||||
<string name="add_contribution_from_contributions_gallery">മുമ്പത്തെ സംഭാവനകളുടെ ഗാലറിയിൽ നിന്നുള്ള സംഭാവന ചേർക്കുക</string>
|
||||
<string name="show_captions">തലവാചകം</string>
|
||||
<string name="row_item_language_description">ഭാഷാ വിവരണം</string>
|
||||
<string name="row_item_caption">തലവാചകം</string>
|
||||
<string name="show_captions_description">വിവരണം</string>
|
||||
<string name="nearby_row_image">ചിത്രം</string>
|
||||
<string name="nearby_all">എല്ലാം</string>
|
||||
<string name="nearby_filter_toggle">ടോഗിൾ അപ്പ്</string>
|
||||
<string name="nearby_filter_search">തിരയൽ കാഴ്ച</string>
|
||||
<string name="appwidget_img">ദിവസത്തെ ചിത്രം</string>
|
||||
<plurals name="uploads_pending_notification_indicator">
|
||||
<item quantity="one">ഒരു പ്രമാണം അപ്ലോഡ് ചെയ്യുന്നു</item>
|
||||
<item quantity="other">%1$d പ്രമാണങ്ങൾ അപ്ലോഡ് ചെയ്യുന്നു</item>
|
||||
|
|
@ -19,6 +37,7 @@
|
|||
<item quantity="one">ഒരു അപ്ലോഡ്</item>
|
||||
<item quantity="other">%1$d അപ്ലോഡുകൾ</item>
|
||||
</plurals>
|
||||
<string name="starting_uploads">അപ്ലോഡുകൾ ആരംഭിക്കുന്നു</string>
|
||||
<plurals name="starting_multiple_uploads" fuzzy="true">
|
||||
<item quantity="one">ഒരു അപ്ലോഡ് തുടങ്ങുന്നു</item>
|
||||
<item quantity="other">%1$d അപ്ലോഡുകൾ തുടങ്ങുന്നു</item>
|
||||
|
|
@ -35,6 +54,8 @@
|
|||
<string name="preference_category_privacy">സ്വകാര്യത</string>
|
||||
<string name="app_name">കോമൺസ്</string>
|
||||
<string name="menu_settings">സജ്ജീകരണങ്ങൾ</string>
|
||||
<string name="intent_share_upload_label">കോമൺസിലേക്ക് അപ്ലോഡ് ചെയ്യുക</string>
|
||||
<string name="upload_in_progress">അപ്ലോഡ് പുരോഗമിക്കുന്നു</string>
|
||||
<string name="username">ഉപയോക്തൃനാമം</string>
|
||||
<string name="password">രഹസ്യവാക്ക്</string>
|
||||
<string name="login_credential">താങ്കളുടെ കോമൺസ് ബീറ്റ അംഗത്വത്തിൽ പ്രവേശിക്കുക</string>
|
||||
|
|
@ -43,9 +64,13 @@
|
|||
<string name="signup">അംഗത്വമെടുക്കുക</string>
|
||||
<string name="logging_in_title">പ്രവേശിക്കുന്നു</string>
|
||||
<string name="logging_in_message">ദയവായി കാത്തിരിക്കുക…</string>
|
||||
<string name="login_success" fuzzy="true">പ്രവേശനം വിജയകരം!</string>
|
||||
<string name="login_failed" fuzzy="true">പ്രവേശനം പരാജയപ്പെട്ടു!</string>
|
||||
<string name="updating_caption_title">അടിക്കുറിപ്പുകളും വിവരണങ്ങളും അപ്ഡേറ്റ് ചെയ്യുന്നു</string>
|
||||
<string name="updating_caption_message">ദയവായി കാത്തിരിക്കുക…</string>
|
||||
<string name="login_success">പ്രവേശനം വിജയകരം!</string>
|
||||
<string name="login_failed">പ്രവേശനം പരാജയപ്പെട്ടു!</string>
|
||||
<string name="upload_failed">പ്രമാണം കണ്ടെത്താനായില്ല. ദയവായി മറ്റൊരു പ്രമാണം നോക്കുക.</string>
|
||||
<string name="retry_limit_reached">പരമാവധി വീണ്ടും ശ്രമിക്കാനുള്ള പരിധി എത്തി! അപ്ലോഡ് റദ്ദാക്കി വീണ്ടും ശ്രമിക്കുക</string>
|
||||
<string name="unrestricted_battery_mode">ബാറ്ററി ഒപ്റ്റിമൈസേഷൻ ഓഫാക്കണോ?</string>
|
||||
<string name="authentication_failed" fuzzy="true">സാധുതാനിർണ്ണയം പരാജയപ്പെട്ടു, ദയവായി വീണ്ടും പ്രവേശിക്കുക</string>
|
||||
<string name="uploading_started">അപ്ലോഡ് തുടങ്ങി!</string>
|
||||
<string name="upload_completed_notification_title">%1$s അപ്ലോഡ് ചെയ്തിരിക്കുന്നു!</string>
|
||||
|
|
@ -65,9 +90,14 @@
|
|||
<string name="menu_from_camera">ചിത്രം എടുക്കുക</string>
|
||||
<string name="menu_nearby">സമീപസ്ഥം</string>
|
||||
<string name="provider_contributions">എന്റെ അപ്ലോഡുകൾ</string>
|
||||
<string name="menu_copy_link">ലിങ്ക് പകർത്തുക</string>
|
||||
<string name="menu_link_copied">ലിങ്ക് ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി</string>
|
||||
<string name="menu_share">പങ്ക് വെയ്ക്കുക</string>
|
||||
<string name="menu_view_file_page">പ്രമാണ താൾ കാണുക</string>
|
||||
<string name="share_title_hint">അടിക്കുറിപ്പ് (നിർബന്ധം)</string>
|
||||
<string name="add_caption_toast">ദയവായി ഈ ഫയലിന് ഒരു അടിക്കുറിപ്പ് നൽകുക</string>
|
||||
<string name="share_description_hint">വിവരണം</string>
|
||||
<string name="share_caption_hint">തലവാചകം</string>
|
||||
<string name="login_failed_network" fuzzy="true">പ്രവേശിക്കാനായില്ല - നെറ്റ്വർക്ക് പരാജയപ്പെട്ടു</string>
|
||||
<string name="login_failed_throttled">നിരവധി വിജയകരമല്ലാത്ത ശ്രമങ്ങൾ നടന്നിരിക്കുന്നു. വീണ്ടും ശ്രമിക്കുന്നതിനു മുമ്പ് ഏതാനം മിനിറ്റുകൾ വിശ്രമിക്കുക.</string>
|
||||
<string name="login_failed_blocked">ക്ഷമിക്കുക, ഈ ഉപയോക്താവ് കോമൺസിൽ നിന്ന് തടയപ്പെട്ടിരിക്കുകയാണ്</string>
|
||||
|
|
@ -103,6 +133,7 @@
|
|||
<string name="menu_cancel_upload">റദ്ദാക്കുക</string>
|
||||
<string name="menu_download">ഡൗൺലോഡ്</string>
|
||||
<string name="preference_license">സ്വതേയുള്ള ഉപയോഗാനുമതി</string>
|
||||
<string name="preference_theme">വിഷയം</string>
|
||||
<string name="license_name_cc_by_sa_four">ആട്രിബ്യൂഷൻ-ഷെയർഎലൈക് 4.0</string>
|
||||
<string name="license_name_cc_by_four">ആട്രിബ്യൂഷൻ 4.0</string>
|
||||
<string name="license_name_cc_by_sa">ആട്രിബ്യൂഷൻ-ഷെയർഎലൈക് 3.0</string>
|
||||
|
|
@ -122,6 +153,7 @@
|
|||
<string name="detail_panel_cats_label">വർഗ്ഗങ്ങൾ</string>
|
||||
<string name="detail_panel_cats_loading">ശേഖരിക്കുന്നു…</string>
|
||||
<string name="detail_panel_cats_none">ഒന്നും തിരഞ്ഞെടുത്തിട്ടില്ല</string>
|
||||
<string name="detail_caption_empty">അടിക്കുറിപ്പില്ല</string>
|
||||
<string name="detail_description_empty">വിവരണമൊന്നുമില്ല</string>
|
||||
<string name="detail_discussion_empty">സംവാദങ്ങളില്ല</string>
|
||||
<string name="detail_license_empty">അജ്ഞാതമായ അനുമതി</string>
|
||||
|
|
|
|||
|
|
@ -831,4 +831,8 @@
|
|||
<string name="usages_on_commons_heading">Commons</string>
|
||||
<string name="usages_on_other_wikis_heading">Andere wiki’s</string>
|
||||
<string name="file_usages_container_heading">Bestandsgebruik</string>
|
||||
<string name="title_activity_single_web_view">Activiteit enkele webraadpleging</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="vanish_account">Account laten verdwijnen</string>
|
||||
<string name="account_vanish_request_confirm_title">Waarschuwing verwijdering account</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -813,4 +813,5 @@
|
|||
<string name="account_vanish_request_confirm">L\'eliminassion a l\'é <b>l\'ùltima arsorsa</b> e a dovrìa <b>esse dovrà mach si chiel a veul chité ëd modifiché për sempe</b> e ëdcò s\'a veul ëstërmé pi che possìbil soe assossiassion passà.<br/><br/>La dëscancelassion ëd cont su Wikimedia a l\'é fàita an modificand sò stranòm an manera che j\'àutri a peulo pa arconòsse soe contribussion ant un process ciamà dëscancelassion ëd cont. <b>La sparission a garantiss pa l\'anonimà complet ni a gava le contribussion dai proget</b>.</string>
|
||||
<string name="caption">Legenda</string>
|
||||
<string name="caption_copied_to_clipboard">Legenda copià an sla taulëtta</string>
|
||||
<string name="congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload">Congratulassion, tute le fòto ëd s\'àlbom a son ëstàita carià opura marcà coma da nen carié.</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -813,7 +813,11 @@
|
|||
<string name="usages_on_commons_heading">Commons</string>
|
||||
<string name="usages_on_other_wikis_heading">Andra wikier</string>
|
||||
<string name="file_usages_container_heading">Filanvändning</string>
|
||||
<string name="title_activity_single_web_view">SingleWebViewActivity</string>
|
||||
<string name="account">Konto</string>
|
||||
<string name="vanish_account">Få kontot att försvinna</string>
|
||||
<string name="account_vanish_request_confirm_title">Varning om försvinnande konto</string>
|
||||
<string name="account_vanish_request_confirm">Att få kontot att försvinna är en <b>sista utväg</b> och bör <b>endast användas när du vill sluta redigera för alltid</b> och även dölja så många av dina tidigare associationer som möjligt.<br/><br/>Konton raderas på Wikimedia Commons genom att ändra kontonamnet för att göra så att andra inte kan känna igen bidragen i en process som kallas kontoförsvinnande. <b>Försvinnande garanterar inte fullständig anonymitet eller att bidrag tas bort från projekten</b>.</string>
|
||||
<string name="caption">Bildtext</string>
|
||||
<string name="caption_copied_to_clipboard">Bildtext kopierades till urklipp</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@
|
|||
<resources>
|
||||
<string name="commons_facebook">共享资源Facebook页面</string>
|
||||
<string name="commons_github">共享资源Github源代码</string>
|
||||
<string name="commons_logo">共享资源标志</string>
|
||||
<string name="commons_logo">共享资源标识</string>
|
||||
<string name="commons_website">共享资源网站</string>
|
||||
<string name="exit_location_picker">退出位置选择器</string>
|
||||
<string name="submit">提交</string>
|
||||
|
|
@ -857,7 +857,16 @@
|
|||
<string name="green_pin">这个地点已经有照片了。</string>
|
||||
<string name="grey_pin">现在检查这个地点是否有照片。</string>
|
||||
<string name="error_while_loading">加载时出错</string>
|
||||
<string name="no_usages_found">未找到用法</string>
|
||||
<string name="usages_on_commons_heading">维基共享资源</string>
|
||||
<string name="usages_on_other_wikis_heading">其它wiki</string>
|
||||
<string name="file_usages_container_heading">文件用途</string>
|
||||
<string name="title_activity_single_web_view">单一网页视图活动</string>
|
||||
<string name="account">账号</string>
|
||||
<string name="vanish_account">隐退账号</string>
|
||||
<string name="account_vanish_request_confirm_title">隐退账号警告</string>
|
||||
<string name="account_vanish_request_confirm">消失是一个<b>最后的手段</b>,应该<b>仅在您希望永远停止编辑时使用</b>,并尽可能隐藏您过去的关联。<br/><br/>在维基媒体共享资源上删除账户是通过更改您的账户名称,使其他人无法识别您的贡献,这个过程称为账户消失。<b>消失并不能保证完全匿名,也无法删除对项目的贡献</b>。</string>
|
||||
<string name="caption">说明</string>
|
||||
<string name="caption_copied_to_clipboard">已复制到剪贴板</string>
|
||||
<string name="congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload">恭喜,专辑中的所有图片都已上传或标记为不上传。</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -867,5 +867,6 @@ Upload your first media by tapping on the add button.</string>
|
|||
<string name="account_vanish_request_confirm"><![CDATA[Vanishing is a <b>last resort</b> and should <b>only be used when you wish to stop editing forever</b> and also to hide as many of your past associations as possible.<br/><br/>Account deletion on Wikimedia Commons is done by changing your account name to make it so others cannot recognize your contributions in a process called account vanishing. <b>Vanishing does not guarantee complete anonymity or remove contributions to the projects</b>.]]></string>
|
||||
<string name="caption">Caption</string>
|
||||
<string name="caption_copied_to_clipboard">Caption copied to clipboard</string>
|
||||
<string name="congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload">Congratulations, all pictures in this album have been either uploaded or marked as not for upload.</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue