Compare commits

...

5 commits
v6.1.0 ... main

Author SHA1 Message Date
Ritika Pahwa
63f621cb56
Update contributor list in README.md
Some checks are pending
Android CI / Run tests and generate APK (push) Waiting to run
2025-10-26 14:10:08 +05:30
Eric Pan
e81f916626
Part of issue #5996: Fix IDE warnings in ContributionsListFragment (#6542)
Some checks are pending
Android CI / Run tests and generate APK (push) Waiting to run
* Part of issue #5996: Fix IDE warnings in ContributionsListFragment (naming, null-safety, deprecations)

* Part of issue #5996: Clean final IDE warnings (parameter name alignment, remove redundant toggle)

---------

Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
2025-10-26 08:30:17 +09:00
Ted
28fa7b1a20
Display specific, user-friendly error message when upload categories search API call returns an error (#6540)
Some checks are pending
Android CI / Run tests and generate APK (push) Waiting to run
* Make OkHttpConnectionFactory raise MwIOException when a non-suppressed API call returns an error

* Add AlertDialog displaying specific error message when categories search API call returns an error

* Add test for error alert dialog to UploadCategoriesFragment unit tests

* Add error handling when API call fails to CategoriesPresenter.onAttachViewWithMedia
2025-10-25 23:24:39 +09:00
translatewiki.net
aae9d4a387
Localisation updates from https://translatewiki.net.
Some checks failed
Android CI / Run tests and generate APK (push) Has been cancelled
2025-10-23 14:02:44 +02:00
Amir E. Aharoni
6873f63cf8
Remove an unused element from layout/fragment_media_detail.xml (#6536)
Some checks are pending
Android CI / Run tests and generate APK (push) Waiting to run
I noticed this issue years ago because it used a hard-to-understand
string that needed better documentation (see #688). I forgot it,
but recently, I started to explore the app much more deeply and
came back to it.

It looks like this string is only used in this layout element,
but the element itself is not used anywhere. It usage appears to
have been removed in #634.
2025-10-23 09:41:32 +09:00
94 changed files with 233 additions and 163 deletions

View file

@ -29,11 +29,12 @@ Thank you all for your work!
| [<img src="https://avatars.githubusercontent.com/u/3611199?v=4" width="100px;"/><br /><sub><b>misaochan</b></sub>](https://github.com/misaochan) | [<img src="https://avatars.githubusercontent.com/u/24829418?v=4" width="100px;"/><br /><sub><b>translatewiki</b></sub>](https://github.com/translatewiki) | [<img src="https://avatars.githubusercontent.com/u/3127881?v=4" width="100px;"/><br /><sub><b>neslihanturan</b></sub>](https://github.com/neslihanturan) | [<img src="https://avatars.githubusercontent.com/u/30430?v=4" width="100px;"/><br /><sub><b>yuvipanda</b></sub>](https://github.com/yuvipanda) | [<img src="https://avatars.githubusercontent.com/u/99590?v=4" width="100px;"/><br /><sub><b>nicolas-raoul</b></sub>](https://github.com/nicolas-raoul) |
| :---: | :---: | :---: | :---: | :---: |
| [<img src="https://avatars.githubusercontent.com/u/4953590?v=4" width="100px;"/><br /><sub><b>domdomegg</b></sub>](https://github.com/domdomegg) | [<img src="https://avatars.githubusercontent.com/u/3069373?v=4" width="100px;"/><br /><sub><b>maskaravivek</b></sub>](https://github.com/maskaravivek) | [<img src="https://avatars.githubusercontent.com/u/407647?v=4" width="100px;"/><br /><sub><b>psh</b></sub>](https://github.com/psh) | [<img src="https://avatars.githubusercontent.com/u/30932899?v=4" width="100px;"/><br /><sub><b>madhurgupta10</b></sub>](https://github.com/madhurgupta10) | [<img src="https://avatars.githubusercontent.com/u/17375274?v=4" width="100px;"/><br /><sub><b>ashishkumar468</b></sub>](https://github.com/ashishkumar468) |
| [<img src="https://avatars.githubusercontent.com/u/103075?v=4" width="100px;"/><br /><sub><b>bvibber</b></sub>](https://github.com/bvibber) | [<img src="https://avatars.githubusercontent.com/u/10674?v=4" width="100px;"/><br /><sub><b>whym</b></sub>](https://github.com/whym) | [<img src="https://avatars.githubusercontent.com/u/10153800?v=4" width="100px;"/><br /><sub><b>akaita</b></sub>](https://github.com/akaita) | [<img src="https://avatars.githubusercontent.com/u/6900601?v=4" width="100px;"/><br /><sub><b>veyndan</b></sub>](https://github.com/veyndan) | [<img src="https://avatars.githubusercontent.com/u/19607555?v=4" width="100px;"/><br /><sub><b>ujjwalagrawal17</b></sub>](https://github.com/ujjwalagrawal17) |
| [<img src="https://avatars.githubusercontent.com/u/3358282?v=4" width="100px;"/><br /><sub><b>macgills</b></sub>](https://github.com/macgills) | [<img src="https://avatars.githubusercontent.com/u/1682214?v=4" width="100px;"/><br /><sub><b>dbrant</b></sub>](https://github.com/dbrant) | [<img src="https://avatars.githubusercontent.com/u/34261945?v=4" width="100px;"/><br /><sub><b>vanshikaarora</b></sub>](https://github.com/vanshikaarora) | [<img src="https://avatars.githubusercontent.com/u/12448084?v=4" width="100px;"/><br /><sub><b>sivaraam</b></sub>](https://github.com/sivaraam) | [<img src="https://avatars.githubusercontent.com/u/71203077?v=4" width="100px;"/><br /><sub><b>Ayan-10</b></sub>](https://github.com/Ayan-10) |
| [<img src="https://avatars.githubusercontent.com/u/126143257?v=4" width="100px;"/><br /><sub><b>shashankiitbhu</b></sub>](https://github.com/shashankiitbhu) | [<img src="https://avatars.githubusercontent.com/u/54663429?v=4" width="100px;"/><br /><sub><b>Pratham2305</b></sub>](https://github.com/Pratham2305) | [<img src="https://avatars.githubusercontent.com/u/1345681?v=4" width="100px;"/><br /><sub><b>sandarumk</b></sub>](https://github.com/sandarumk) | [<img src="https://avatars.githubusercontent.com/u/29161745?v=4" width="100px;"/><br /><sub><b>tanvidadu</b></sub>](https://github.com/tanvidadu) | [<img src="https://avatars.githubusercontent.com/u/39745544?v=4" width="100px;"/><br /><sub><b>cypherop</b></sub>](https://github.com/cypherop) |
| [<img src="https://avatars.githubusercontent.com/u/65972015?v=4" width="100px;"/><br /><sub><b>Prince-kushwaha</b></sub>](https://github.com/Prince-kushwaha) | [<img src="https://avatars.githubusercontent.com/u/6953323?v=4" width="100px;"/><br /><sub><b>tobias47n9e</b></sub>](https://github.com/tobias47n9e) | [<img src="https://avatars.githubusercontent.com/u/54016427?v=4" width="100px;"/><br /><sub><b>4D17Y4</b></sub>](https://github.com/4D17Y4) | [<img src="https://avatars.githubusercontent.com/u/25305892?v=4" width="100px;"/><br /><sub><b>hismaeel</b></sub>](https://github.com/hismaeel) | [<img src="https://avatars.githubusercontent.com/u/12574756?v=4" width="100px;"/><br /><sub><b>tshradheya</b></sub>](https://github.com/tshradheya) |
| [<img src="https://avatars.githubusercontent.com/u/407647?v=4" width="100px;"/><br /><sub><b>psh</b></sub>](https://github.com/psh) | [<img src="https://avatars.githubusercontent.com/u/4953590?v=4" width="100px;"/><br /><sub><b>domdomegg</b></sub>](https://github.com/domdomegg) | [<img src="https://avatars.githubusercontent.com/u/3069373?v=4" width="100px;"/><br /><sub><b>maskaravivek</b></sub>](https://github.com/maskaravivek) | [<img src="https://avatars.githubusercontent.com/u/30932899?v=4" width="100px;"/><br /><sub><b>madhurgupta10</b></sub>](https://github.com/madhurgupta10) | [<img src="https://avatars.githubusercontent.com/u/17375274?v=4" width="100px;"/><br /><sub><b>ashishkumar468</b></sub>](https://github.com/ashishkumar468) |
| [<img src="https://avatars.githubusercontent.com/u/103075?v=4" width="100px;"/><br /><sub><b>bvibber</b></sub>](https://github.com/bvibber) | [<img src="https://avatars.githubusercontent.com/u/10674?v=4" width="100px;"/><br /><sub><b>whym</b></sub>](https://github.com/whym) | [<img src="https://avatars.githubusercontent.com/u/10153800?v=4" width="100px;"/><br /><sub><b>akaita</b></sub>](https://github.com/akaita) | [<img src="https://avatars.githubusercontent.com/u/12448084?v=4" width="100px;"/><br /><sub><b>sivaraam</b></sub>](https://github.com/sivaraam) | [<img src="https://avatars.githubusercontent.com/u/6900601?v=4" width="100px;"/><br /><sub><b>veyndan</b></sub>](https://github.com/veyndan) |
| [<img src="https://avatars.githubusercontent.com/u/19607555?v=4" width="100px;"/><br /><sub><b>ujjwalagrawal17</b></sub>](https://github.com/ujjwalagrawal17) | [<img src="https://avatars.githubusercontent.com/u/3358282?v=4" width="100px;"/><br /><sub><b>macgills</b></sub>](https://github.com/macgills) | [<img src="https://avatars.githubusercontent.com/u/346271?v=4" width="100px;"/><br /><sub><b>amire80</b></sub>](https://github.com/amire80) | [<img src="https://avatars.githubusercontent.com/u/1682214?v=4" width="100px;"/><br /><sub><b>dbrant</b></sub>](https://github.com/dbrant) | [<img src="https://avatars.githubusercontent.com/u/34261945?v=4" width="100px;"/><br /><sub><b>vanshikaarora</b></sub>](https://github.com/vanshikaarora) |
| [<img src="https://avatars.githubusercontent.com/u/83745993?v=4" width="100px;"/><br /><sub><b>RitikaPahwa4444</b></sub>](https://github.com/RitikaPahwa4444) | [<img src="https://avatars.githubusercontent.com/u/71203077?v=4" width="100px;"/><br /><sub><b>Ayan-10</b></sub>](https://github.com/Ayan-10) | [<img src="https://avatars.githubusercontent.com/u/101377978?v=4" width="100px;"/><br /><sub><b>rohit9625</b></sub>](https://github.com/rohit9625) | [<img src="https://avatars.githubusercontent.com/u/126143257?v=4" width="100px;"/><br /><sub><b>shashankiitbhu</b></sub>](https://github.com/shashankiitbhu) | [<img src="https://avatars.githubusercontent.com/u/54663429?v=4" width="100px;"/><br /><sub><b>Pratham2305</b></sub>](https://github.com/Pratham2305) |
| [<img src="https://avatars.githubusercontent.com/u/111801812?v=4" width="100px;"/><br /><sub><b>parneet-guraya</b></sub>](https://github.com/parneet-guraya) | [<img src="https://avatars.githubusercontent.com/u/1345681?v=4" width="100px;"/><br /><sub><b>sandarumk</b></sub>](https://github.com/sandarumk) | [<img src="https://avatars.githubusercontent.com/u/29161745?v=4" width="100px;"/><br /><sub><b>tanvidadu</b></sub>](https://github.com/tanvidadu) | [<img src="https://avatars.githubusercontent.com/u/39745544?v=4" width="100px;"/><br /><sub><b>cypherop</b></sub>](https://github.com/cypherop) | [<img src="https://avatars.githubusercontent.com/u/65972015?v=4" width="100px;"/><br /><sub><b>Prince-kushwaha</b></sub>](https://github.com/Prince-kushwaha) |
.. and [many more](https://github.com/commons-app/apps-android-commons/graphs/contributors).

View file

@ -1,7 +1,11 @@
package fr.free.nrw.commons
import androidx.annotation.VisibleForTesting
import fr.free.nrw.commons.wikidata.GsonUtil
import fr.free.nrw.commons.wikidata.cookies.CommonsCookieJar
import fr.free.nrw.commons.wikidata.mwapi.MwErrorResponse
import fr.free.nrw.commons.wikidata.mwapi.MwIOException
import fr.free.nrw.commons.wikidata.mwapi.MwLegacyServiceError
import okhttp3.Cache
import okhttp3.Interceptor
import okhttp3.OkHttpClient
@ -86,16 +90,25 @@ private class UnsuccessfulResponseInterceptor : Interceptor {
rsp.peekBody(ERRORS_PREFIX.length.toLong()).use { responseBody ->
if (ERRORS_PREFIX == responseBody.string()) {
rsp.body.use { body ->
throw IOException(body!!.string())
val bodyString = body!!.string()
throw MwIOException(
"MediaWiki API returned error: $bodyString",
GsonUtil.defaultGson.fromJson(
bodyString,
MwErrorResponse::class.java
).error!!,
)
}
}
}
} catch (e: IOException) {
} catch (e: MwIOException) {
// Log the error as debug (and therefore, "expected") or at error level
if (suppressErrors) {
Timber.d(e, "Suppressed (known / expected) error")
} else {
Timber.e(e)
throw e
}
}
return rsp

View file

@ -5,7 +5,6 @@ import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.res.Configuration
import android.net.Uri
import android.os.Bundle
import android.os.Parcelable
import android.view.LayoutInflater
@ -20,6 +19,8 @@ import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions
import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
import androidx.annotation.VisibleForTesting
import androidx.core.net.toUri
import androidx.core.os.BundleCompat
import androidx.paging.PagedList
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
@ -38,12 +39,10 @@ import fr.free.nrw.commons.filepicker.FilePicker
import fr.free.nrw.commons.media.MediaClient
import fr.free.nrw.commons.profile.ProfileActivity
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
import fr.free.nrw.commons.utils.SystemThemeUtils
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
import fr.free.nrw.commons.utils.copyToClipboard
import fr.free.nrw.commons.utils.handleWebUrl
import fr.free.nrw.commons.wikidata.model.WikiSite
import org.apache.commons.lang3.StringUtils
import javax.inject.Inject
import javax.inject.Named
@ -53,10 +52,6 @@ import javax.inject.Named
*/
class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsListContract.View,
ContributionsListAdapter.Callback, WikipediaInstructionsDialogFragment.Callback {
@JvmField
@Inject
var systemThemeUtils: SystemThemeUtils? = null
@JvmField
@Inject
var controller: ContributionController? = null
@ -83,13 +78,14 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
var sessionManager: SessionManager? = null
private var binding: FragmentContributionsListBinding? = null
private var fab_close: Animation? = null
private var fab_open: Animation? = null
private var rotate_forward: Animation? = null
private var rotate_backward: Animation? = null
private var fabClose: Animation? = null
private var fabOpen: Animation? = null
private var rotateForward: Animation? = null
private var rotateBackward: Animation? = null
private var isFabOpen = false
private lateinit var inAppCameraLocationPermissionLauncher: ActivityResultLauncher<Array<String>>
private lateinit var inAppCameraLocationPermissionLauncher:
ActivityResultLauncher<Array<String>>
@VisibleForTesting
var rvContributionsList: RecyclerView? = null
@ -100,8 +96,8 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
@VisibleForTesting
var callback: Callback? = null
private val SPAN_COUNT_LANDSCAPE = 3
private val SPAN_COUNT_PORTRAIT = 1
private val spanCountLandscape = 3
private val spanCountPortrait = 1
private var contributionsSize = 0
private var userName: String? = null
@ -150,7 +146,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
userName = requireArguments().getString(ProfileActivity.KEY_USERNAME)
}
if (StringUtils.isEmpty(userName)) {
if (userName.isNullOrEmpty()) {
userName = sessionManager!!.userName
}
inAppCameraLocationPermissionLauncher =
@ -161,7 +157,8 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
controller?.locationPermissionCallback?.onLocationPermissionGranted()
} else {
activity?.let { currentActivity ->
if (currentActivity.shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) {
if (currentActivity.shouldShowRequestPermissionRationale(
permission.ACCESS_FINE_LOCATION)) {
controller?.handleShowRationaleFlowCameraLocation(
currentActivity,
inAppCameraLocationPermissionLauncher, // Pass launcher
@ -169,7 +166,8 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
)
} else {
controller?.locationPermissionCallback?.onLocationPermissionDenied(
currentActivity.getString(R.string.in_app_camera_location_permission_denied)
currentActivity.getString(
R.string.in_app_camera_location_permission_denied)
)
}
}
@ -189,7 +187,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
contributionsListPresenter!!.onAttachView(this)
binding!!.fabCustomGallery.setOnClickListener { v: View? -> launchCustomSelector() }
binding!!.fabCustomGallery.setOnLongClickListener { view: View? ->
showShortToast(context, fr.free.nrw.commons.R.string.custom_selector_title)
showShortToast(context, R.string.custom_selector_title)
true
}
@ -199,7 +197,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
} else {
binding!!.tvContributionsOfUser.visibility = View.VISIBLE
binding!!.tvContributionsOfUser.text =
getString(fr.free.nrw.commons.R.string.contributions_of_user, userName)
getString(R.string.contributions_of_user, userName)
binding!!.fabLayout.visibility = View.GONE
}
@ -237,7 +235,10 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
}
private fun initAdapter() {
adapter = ContributionsListAdapter(this, mediaClient!!, mediaDataExtractor!!, compositeDisposable)
adapter = ContributionsListAdapter(this,
mediaClient!!,
mediaDataExtractor!!,
compositeDisposable)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -312,7 +313,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
if (e.action == MotionEvent.ACTION_DOWN) {
if (isFabOpen) {
animateFAB(isFabOpen)
animateFAB(true)
}
}
return false
@ -344,14 +345,20 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
}
private fun getSpanCount(orientation: Int): Int {
return if (orientation == Configuration.ORIENTATION_LANDSCAPE) SPAN_COUNT_LANDSCAPE else SPAN_COUNT_PORTRAIT
return if (orientation == Configuration.ORIENTATION_LANDSCAPE)
spanCountLandscape
else
spanCountPortrait
}
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
// check orientation
binding!!.fabLayout.orientation =
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) LinearLayout.HORIZONTAL else LinearLayout.VERTICAL
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
LinearLayout.HORIZONTAL
else
LinearLayout.VERTICAL
rvContributionsList
?.setLayoutManager(
GridLayoutManager(context, getSpanCount(newConfig.orientation))
@ -359,10 +366,10 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
}
private fun initializeAnimations() {
fab_open = AnimationUtils.loadAnimation(activity, fr.free.nrw.commons.R.anim.fab_open)
fab_close = AnimationUtils.loadAnimation(activity, fr.free.nrw.commons.R.anim.fab_close)
rotate_forward = AnimationUtils.loadAnimation(activity, fr.free.nrw.commons.R.anim.rotate_forward)
rotate_backward = AnimationUtils.loadAnimation(activity, fr.free.nrw.commons.R.anim.rotate_backward)
fabOpen = AnimationUtils.loadAnimation(activity, R.anim.fab_open)
fabClose = AnimationUtils.loadAnimation(activity, R.anim.fab_close)
rotateForward = AnimationUtils.loadAnimation(activity, R.anim.rotate_forward)
rotateBackward = AnimationUtils.loadAnimation(activity, R.anim.rotate_backward)
}
private fun setListeners() {
@ -378,7 +385,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
binding!!.fabCamera.setOnLongClickListener { view: View? ->
showShortToast(
context,
fr.free.nrw.commons.R.string.add_contribution_from_camera
R.string.add_contribution_from_camera
)
true
}
@ -387,7 +394,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
animateFAB(isFabOpen)
}
binding!!.fabGallery.setOnLongClickListener { view: View? ->
showShortToast(context, fr.free.nrw.commons.R.string.menu_from_gallery)
showShortToast(context, R.string.menu_from_gallery)
true
}
}
@ -395,7 +402,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
/**
* Launch Custom Selector.
*/
protected fun launchCustomSelector() {
private fun launchCustomSelector() {
controller!!.initiateCustomGalleryPickWithPermission(
requireActivity(),
customSelectorLauncherForResult
@ -411,18 +418,18 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
this.isFabOpen = !isFabOpen
if (binding!!.fabPlus.isShown) {
if (isFabOpen) {
binding!!.fabPlus.startAnimation(rotate_backward)
binding!!.fabCamera.startAnimation(fab_close)
binding!!.fabGallery.startAnimation(fab_close)
binding!!.fabCustomGallery.startAnimation(fab_close)
binding!!.fabPlus.startAnimation(rotateBackward)
binding!!.fabCamera.startAnimation(fabClose)
binding!!.fabGallery.startAnimation(fabClose)
binding!!.fabCustomGallery.startAnimation(fabClose)
binding!!.fabCamera.hide()
binding!!.fabGallery.hide()
binding!!.fabCustomGallery.hide()
} else {
binding!!.fabPlus.startAnimation(rotate_forward)
binding!!.fabCamera.startAnimation(fab_open)
binding!!.fabGallery.startAnimation(fab_open)
binding!!.fabCustomGallery.startAnimation(fab_open)
binding!!.fabPlus.startAnimation(rotateForward)
binding!!.fabCamera.startAnimation(fabOpen)
binding!!.fabGallery.startAnimation(fabOpen)
binding!!.fabCustomGallery.startAnimation(fabOpen)
binding!!.fabCamera.show()
binding!!.fabGallery.show()
binding!!.fabCustomGallery.show()
@ -434,9 +441,9 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
/**
* Shows welcome message if user has no contributions yet i.e. new user.
*/
override fun showWelcomeTip(shouldShow: Boolean) {
override fun showWelcomeTip(numberOfUploads: Boolean) {
binding!!.noContributionsYet.visibility =
if (shouldShow) View.VISIBLE else View.GONE
if (numberOfUploads) View.VISIBLE else View.GONE
}
/**
@ -456,22 +463,22 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
val layoutManager = rvContributionsList
?.getLayoutManager() as GridLayoutManager?
val layoutManager = rvContributionsList?.layoutManager as GridLayoutManager?
outState.putParcelable(RV_STATE, layoutManager!!.onSaveInstanceState())
}
override fun onViewStateRestored(savedInstanceState: Bundle?) {
super.onViewStateRestored(savedInstanceState)
if (null != savedInstanceState) {
val savedRecyclerLayoutState = savedInstanceState.getParcelable<Parcelable>(RV_STATE)
val savedRecyclerLayoutState =
BundleCompat.getParcelable(savedInstanceState, RV_STATE, Parcelable::class.java)
rvContributionsList!!.layoutManager!!.onRestoreInstanceState(savedRecyclerLayoutState)
}
}
override fun openMediaDetail(position: Int, isWikipediaButtonDisplayed: Boolean) {
override fun openMediaDetail(contribution: Int, isWikipediaPageExists: Boolean) {
if (null != callback) { //Just being safe, ideally they won't be called when detached
callback!!.showDetail(position, isWikipediaButtonDisplayed)
callback!!.showDetail(contribution, isWikipediaPageExists)
}
}
@ -483,8 +490,8 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
override fun addImageToWikipedia(contribution: Contribution?) {
showAlertDialog(
requireActivity(),
getString(fr.free.nrw.commons.R.string.add_picture_to_wikipedia_article_title),
getString(fr.free.nrw.commons.R.string.add_picture_to_wikipedia_article_desc),
getString(R.string.add_picture_to_wikipedia_article_title),
getString(R.string.add_picture_to_wikipedia_article_desc),
{
if (contribution != null) {
showAddImageToWikipediaInstructions(contribution)
@ -498,16 +505,18 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
* @param contribution
*/
private fun showAddImageToWikipediaInstructions(contribution: Contribution) {
val fragmentManager = fragmentManager
val fragmentManager = this.parentFragmentManager
val fragment = newInstance(contribution)
fragment.callback =
WikipediaInstructionsDialogFragment.Callback { contribution: Contribution?, copyWikicode: Boolean ->
this.onConfirmClicked(
WikipediaInstructionsDialogFragment.Callback {
contribution: Contribution?,
copyWikicode: Boolean ->
onConfirmClicked(
contribution,
copyWikicode
)
}
fragment.show(fragmentManager!!, "WikimediaFragment")
fragment.show(fragmentManager, "WikimediaFragment")
}
@ -534,7 +543,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
val url =
languageWikipediaSite!!.mobileUrl() + "/wiki/" + (contribution!!.wikidataPlace
?.getWikipediaPageTitle())
handleWebUrl(requireContext(), Uri.parse(url))
handleWebUrl(requireContext(), url.toUri())
}
fun getContributionStateAt(position: Int): Int {

View file

@ -17,6 +17,11 @@ interface CategoriesContract {
fun showError(stringResourceId: Int)
/**
* Show a cancelable AlertDialog with a given message.
*/
fun showErrorDialog(message: String)
fun setCategories(categories: List<CategoryItem>?)
fun goToNextScreen()

View file

@ -12,6 +12,7 @@ import fr.free.nrw.commons.di.CommonsApplicationModule.Companion.IO_THREAD
import fr.free.nrw.commons.di.CommonsApplicationModule.Companion.MAIN_THREAD
import fr.free.nrw.commons.repository.UploadRepository
import fr.free.nrw.commons.upload.depicts.proxy
import fr.free.nrw.commons.wikidata.mwapi.MwIOException
import io.reactivex.Observable
import io.reactivex.Scheduler
import io.reactivex.android.schedulers.AndroidSchedulers
@ -75,7 +76,12 @@ class CategoriesPresenter
},
{ t: Throwable? ->
view.showProgress(false)
view.showError(R.string.no_categories_found)
view.showError(R.string.error_loading_categories)
val mwException = t as? MwIOException
view.showErrorDialog(
if (mwException == null) ""
else "\n${mwException.error.title} / ${mwException.error.details}"
)
Timber.e(t)
},
),
@ -194,7 +200,12 @@ class CategoriesPresenter
},
{ t: Throwable? ->
view.showProgress(false)
view.showError(R.string.no_categories_found)
view.showError(R.string.error_loading_categories)
val mwException = t as? MwIOException
view.showErrorDialog(
if (mwException == null) ""
else "\n${mwException.error.title} / ${mwException.error.details}"
)
Timber.e(t)
},
),

View file

@ -10,6 +10,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import com.jakewharton.rxbinding2.view.RxView
@ -32,7 +33,6 @@ import io.reactivex.Notification
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import timber.log.Timber
import java.util.Objects
import java.util.concurrent.TimeUnit
import javax.inject.Inject
@ -199,6 +199,15 @@ class UploadCategoriesFragment : UploadBaseFragment(), CategoriesContract.View {
binding?.tilContainerSearch?.error = getString(stringResourceId)
}
override fun showErrorDialog(message: String) {
AlertDialog
.Builder(requireContext())
.setMessage(getString(R.string.error_loading_categories) + "\n" + message)
.setCancelable(false)
.setNegativeButton(R.string.ok){_,_ -> }
.show()
}
override fun setCategories(categories: List<CategoryItem>?) {
if (adapter == null) {
Timber.e("Adapter is null in setCategories")

View file

@ -0,0 +1,7 @@
package fr.free.nrw.commons.wikidata.mwapi
import fr.free.nrw.commons.wikidata.model.BaseModel
class MwErrorResponse : BaseModel() {
val error: MwLegacyServiceError? = null
}

View file

@ -0,0 +1,5 @@
package fr.free.nrw.commons.wikidata.mwapi
import java.io.IOException
class MwIOException(string: String, val error: MwLegacyServiceError) : IOException(string)

View file

@ -0,0 +1,14 @@
package fr.free.nrw.commons.wikidata.mwapi
import fr.free.nrw.commons.wikidata.model.BaseModel
class MwLegacyServiceError : BaseModel() {
val code: String? = null
private val info: String? = null
val title: String
get() = code ?: ""
val details: String
get() = info ?: ""
}

View file

@ -24,16 +24,6 @@
layout="@layout/show_captions_descriptions" />
</LinearLayout>
<ImageView
android:id="@+id/mediaDetailImageFailed"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:src="@android:drawable/ic_menu_close_clear_cancel"
android:visibility="gone"
android:contentDescription="@string/mediaimage_failed"
/>
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/mediaDetailImageView"
android:layout_width="wrap_content"

View file

@ -165,7 +165,6 @@
<string name="become_a_tester_description">Sluit aan by ons beta-kanaal op Google Play en kry vroeë toegang tot nuwe funksies en foutoplossings</string>
<string name="_2fa_code">2FA-kode</string>
<string name="logout_verification">Wil u regtig afmeld?</string>
<string name="mediaimage_failed">Mediabeeld misluk</string>
<string name="no_subcategory_found">Geen subkategorieë gevind nie</string>
<string name="no_parentcategory_found">Geen ouerkategorieë gevind nie</string>
<string name="welcome_image_mount_zao">Mount Zao</string>

View file

@ -88,7 +88,6 @@
<string name="media_detail_license">लाइसेंस</string>
<string name="media_detail_coordinates">निर्देशांक</string>
<string name="_2fa_code">2 एफए कोड</string>
<string name="mediaimage_failed">मीडिया छवि विफल</string>
<string name="welcome_image_mount_zao">माउंट ज़ाओ</string>
<string name="welcome_image_llamas">ल्लामस</string>
<string name="welcome_image_rainbow_bridge">इंद्रधनुष केरौ पूल</string>

View file

@ -275,7 +275,6 @@
<string name="_2fa_code">رمز التحقق المزدوج 2FA</string>
<string name="email_auth_code">رمز التحقق من البريد الإلكتروني</string>
<string name="logout_verification">أترغب فعلا في الخروج؟</string>
<string name="mediaimage_failed">صورة الوسائط فشلت</string>
<string name="no_subcategory_found">لم يتم العثور على تصنيفات فرعية.</string>
<string name="no_parentcategory_found">لم يتم العثور على تصنيفات رئيسية.</string>
<string name="welcome_image_mount_zao">جبل زوا</string>

View file

@ -104,7 +104,6 @@
<string name="media_detail_coordinates">স্থানাংকসমূহ</string>
<string name="media_detail_coordinates_empty">একো প্ৰদান কৰা নাই</string>
<string name="become_a_tester_title">এগৰাকী বিটা টেষ্টাৰ হওঁক</string>
<string name="mediaimage_failed">মিডিয়াৰ ছবি বিফল হ\'ল</string>
<string name="navigation_drawer_open">খোলক</string>
<string name="navigation_drawer_close">বন্ধ কৰক</string>
<string name="navigation_item_nearby">নিকটৱৰ্তী</string>

View file

@ -209,7 +209,6 @@
<string name="become_a_tester_description">Escueye\'l nuesu canal beta en Google Play y ten accesu tempranu a carauterístiques nueves ya igües de fallos</string>
<string name="_2fa_code">Códigu I2F</string>
<string name="logout_verification">¿Confirmes que quies salir?</string>
<string name="mediaimage_failed">Falló la imaxe multimedia</string>
<string name="no_subcategory_found">Nun s\'alcontraron categoríes</string>
<string name="no_parentcategory_found">Nun s\'atopó nenguna categoría padre</string>
<string name="welcome_image_mount_zao">Monte Zao</string>

View file

@ -227,7 +227,6 @@
<string name="_2fa_code">2FA kodu</string>
<string name="email_auth_code">E-poçt doğrulama kodu</string>
<string name="logout_verification">Həqiqətən çıxış etmək istəyirsiniz?</string>
<string name="mediaimage_failed">Media şəkli uğursuz oldu</string>
<string name="no_subcategory_found">Heç bir alt kateqoriya tapılmadı</string>
<string name="no_parentcategory_found">Heç bir üst kateqoriya tapılmadı</string>
<string name="welcome_image_mount_zao">Zao dağı</string>

View file

@ -208,7 +208,6 @@
<string name="become_a_tester_description">Priključite se našem kanalu beta verzija na Google Play-u i ranije pristupajte novim funkcijama i ispravkama grešaka</string>
<string name="_2fa_code">2FA kod</string>
<string name="logout_verification">Zaista želite da se odjavite?</string>
<string name="mediaimage_failed">Medijska slika neuspešna</string>
<string name="no_subcategory_found">Potkategorije nisu pronađene</string>
<string name="no_parentcategory_found">Nadređene kategorije nisu pronađene</string>
<string name="welcome_image_mount_zao">Planina Zao</string>

View file

@ -198,7 +198,6 @@
<string name="become_a_tester_description">Google Play аша беҙҙең бета-версия каналына яҙыл һәм иң тәүгеләрҙән булып яңы көйләүҙәр, хата төҙәтеүҙәр тураһында хәбәрҙар бул</string>
<string name="_2fa_code">А Коды</string>
<string name="logout_verification">Ысынлап та системанан сыҡҡығыҙ киләме?</string>
<string name="mediaimage_failed">Медиарәсем хатаһы</string>
<string name="no_subcategory_found">Субкатегориялар табылманы</string>
<string name="welcome_image_mount_zao">Зао тауы</string>
<string name="welcome_image_llamas">Ламалар</string>

View file

@ -236,7 +236,6 @@
<string name="_2fa_code">2FA কোড</string>
<string name="email_auth_code">ইমেল যাচাইকরণ কোড</string>
<string name="logout_verification">আপনি কি সত্যিই প্রস্থান করতে চান?</string>
<string name="mediaimage_failed">মিডিয়া চিত্র ব্যর্থ হয়েছে</string>
<string name="no_subcategory_found">কোন উপবিষয়শ্রেনী পাওয়া যায় নি।</string>
<string name="no_parentcategory_found">কোনও মূল বিষয়শ্রেণী পাওয়া যায়নি</string>
<string name="welcome_image_mount_zao">জাও পর্বত</string>

View file

@ -203,7 +203,6 @@
<string name="become_a_tester_description">En em enskrivañ en hor c\'hanol beta war Google Play ha kaout ur rakmoned d\'an arc\'hwelioù nevez d\'an drein difaziet</string>
<string name="_2fa_code">Kod 2FA</string>
<string name="logout_verification">Sur oc\'h e fell deoc\'h digevreañ ?</string>
<string name="mediaimage_failed">C\'hwitadenn war skeudenn ar media</string>
<string name="no_subcategory_found">Isrummad ebet kavet</string>
<string name="no_parentcategory_found">Rummad tad ebet kavet</string>
<string name="welcome_image_mount_zao">Menez Zao</string>

View file

@ -153,7 +153,6 @@
<string name="become_a_tester_description">Prijavite se na naš beta-kanal na Google Playu i dobijte raniji pristup novim mogućnostima i ispravkama grešaka</string>
<string name="_2fa_code">Kôd za provjeru u 2 koraka</string>
<string name="logout_verification">Želite li se zaista odjaviti?</string>
<string name="mediaimage_failed">Slika nije uspjela</string>
<string name="welcome_image_mount_zao">Zao</string>
<string name="welcome_image_llamas">Ljame</string>
<string name="welcome_image_rainbow_bridge">Dugin most</string>

View file

@ -178,7 +178,6 @@
<string name="become_a_tester_title">Proveu la versió beta</string>
<string name="_2fa_code">Codi 2FA</string>
<string name="logout_verification">Realment voleu finalitzar la sessió?</string>
<string name="mediaimage_failed">Ha fallat la imatge multimèdia</string>
<string name="no_subcategory_found">No s\'han trobat subcategories</string>
<string name="no_parentcategory_found">No s\'ha trobat cap categoria pare</string>
<string name="welcome_image_mount_zao">Mont Zao</string>

View file

@ -253,7 +253,6 @@
<string name="_2fa_code">Kód pro dvoufázové ověření (2FA)</string>
<string name="email_auth_code">Ověřovací kód z e-mailu</string>
<string name="logout_verification">Opravdu se chcete odhlásit?</string>
<string name="mediaimage_failed">Obrázek</string>
<string name="no_subcategory_found">Nebyly nalezeny podkategorie</string>
<string name="no_parentcategory_found">Nebyly nalezeny rodičovské kategorie</string>
<string name="welcome_image_mount_zao">Hora Zao</string>

View file

@ -192,7 +192,6 @@
<string name="become_a_tester_title">Dewch yn Brofwr Beta</string>
<string name="_2fa_code">Cod 2FA</string>
<string name="logout_verification">Ti\'n sicr dy fod am allgofnodi?</string>
<string name="mediaimage_failed">Methodd y ddelwedd</string>
<string name="no_subcategory_found">Ni chafwyd hyd i is-gategoriau</string>
<string name="welcome_image_mount_zao">Mount Zao</string>
<string name="welcome_image_llamas">Lamas</string>

View file

@ -225,7 +225,6 @@
<string name="_2fa_code">2FA-kode</string>
<string name="email_auth_code">E-mail-bekræftelseskode</string>
<string name="logout_verification">Ønsker du at logge ud?</string>
<string name="mediaimage_failed">Mediebillede mislykkedes</string>
<string name="no_subcategory_found">Ingen underkategorier fundet</string>
<string name="no_parentcategory_found">Ingen overordnede kategorier fundet</string>
<string name="welcome_image_mount_zao">Monter Zao</string>

View file

@ -263,7 +263,6 @@
<string name="_2fa_code">2FA-Code</string>
<string name="email_auth_code">E-Mail-Bestätigungscode</string>
<string name="logout_verification">Möchtest du dich wirklich abmelden?</string>
<string name="mediaimage_failed">Medienbild fehlgeschlagen</string>
<string name="no_subcategory_found">Keine Unterkategorien gefunden</string>
<string name="no_parentcategory_found">Keine übergeordneten Kategorien gefunden</string>
<string name="welcome_image_mount_zao">Zaō</string>

View file

@ -171,7 +171,6 @@
<string name="become_a_tester_title">Bıbe karberê Beta Testi</string>
<string name="_2fa_code">2FA-Code (Dı faktorın raşt kerdış)</string>
<string name="logout_verification">Şıma qayılê cı ra bıvıciyê?</string>
<string name="mediaimage_failed">Resımê medyay nêbiyo</string>
<string name="no_subcategory_found">Bınkategoriye nêvineya</string>
<string name="no_parentcategory_found">Kategoriya serên nêvineyê</string>
<string name="welcome_image_mount_zao">Koyê Zao</string>

View file

@ -239,7 +239,6 @@
<string name="_2fa_code">Κωδικός 2FA</string>
<string name="email_auth_code">Κωδικός επαλήθευσης ηλεκτρονικού ταχυδρομείου</string>
<string name="logout_verification">Θέλετε σίγουρα να αποσυνδεθείτε;</string>
<string name="mediaimage_failed">Η εικόνα πολυμέσων απέτυχε</string>
<string name="no_subcategory_found">Δε βρέθηκαν υποκατηγορίες</string>
<string name="no_parentcategory_found">Δε βρέθηκαν γονικές κατηγορίες</string>
<string name="welcome_image_mount_zao">Όρος Ζάο</string>

View file

@ -222,7 +222,6 @@
<string name="become_a_tester_description">Abonu nian beta-kanalon ĉe Google Play kaj frue ekprovu novajn trajtojn kaj riparojn de cimoj</string>
<string name="_2fa_code">2FA-Kodo</string>
<string name="logout_verification">Ĉu vi vere volas elsaluti?</string>
<string name="mediaimage_failed">Aŭdvidaĵo-Bildo Malsukcesis</string>
<string name="no_subcategory_found">Neniu subkategorio trovita</string>
<string name="no_parentcategory_found">Neniu superkategorio trovita</string>
<string name="welcome_image_mount_zao">Monto Zao</string>

View file

@ -270,7 +270,6 @@
<string name="_2fa_code">Código de autenticación de 2 pasos</string>
<string name="email_auth_code">Código de verificación de correo electrónico</string>
<string name="logout_verification">¿Confirmas que quieres salir?</string>
<string name="mediaimage_failed">Falló la imagen de multimedia</string>
<string name="no_subcategory_found">No se encontró ninguna subcategoría</string>
<string name="no_parentcategory_found">No se encontró ninguna categoría contenedora</string>
<string name="welcome_image_mount_zao">Monte Zao</string>

View file

@ -192,7 +192,6 @@
<string name="become_a_tester_title">Beta testatzaile bihurtu</string>
<string name="_2fa_code">2FA Kodea</string>
<string name="logout_verification">Benetan saioa itxi nahi duzu ?</string>
<string name="mediaimage_failed">Media irudiak kale egin du</string>
<string name="no_subcategory_found">Ez da azpikategoriarik aurkitu</string>
<string name="no_parentcategory_found">Ez da guraso kategoriarik aurkitu</string>
<string name="welcome_image_mount_zao">Zao Mendia</string>

View file

@ -223,7 +223,6 @@
<string name="become_a_tester_description">به گروه آزمایشی ما در گوگل‌پلی بپیوندید و از خصوصیات جدید و خطاهای رفع‌شده زودتر از دیگران برخوردار شوید.</string>
<string name="_2fa_code">کد 2FA</string>
<string name="logout_verification">آیا واقعاً قصد خروج از سامانه را دارید؟</string>
<string name="mediaimage_failed">خطای تصویر رسانه</string>
<string name="no_subcategory_found">هیچ زیررده‌ای یافت نشد</string>
<string name="no_parentcategory_found">هیچ رده مادری یافت نشد</string>
<string name="welcome_image_mount_zao">کوه زائو</string>

View file

@ -227,7 +227,6 @@
<string name="_2fa_code">Kaksivaiheisen tunnistautumisen koodi</string>
<string name="email_auth_code">Sähköpostivahvistuskoodi</string>
<string name="logout_verification">Haluatko varmasti kirjautua ulos?</string>
<string name="mediaimage_failed">Mediakuva epäonnistui</string>
<string name="no_subcategory_found">Alaluokkia ei löytynyt</string>
<string name="no_parentcategory_found">Vanhempia luokkia ei löytynyt</string>
<string name="welcome_image_mount_zao">Zao-vuori</string>

View file

@ -267,7 +267,6 @@
<string name="_2fa_code">Code 2FA</string>
<string name="email_auth_code">Code de vérification par email</string>
<string name="logout_verification">Voulez-vous vraiment vous déconnecter?</string>
<string name="mediaimage_failed">Échec sur limage du média</string>
<string name="no_subcategory_found">Aucune sous-catégorie trouvée</string>
<string name="no_parentcategory_found">Aucune catégorie parente trouvée</string>
<string name="welcome_image_mount_zao">Mont Zao</string>

View file

@ -209,7 +209,6 @@
<string name="become_a_tester_description">Siga a nosa canle beta en Google Play e obteña acceso a novas funcionalidades e correccións de erros</string>
<string name="_2fa_code">Código de autenticación de dous pasos</string>
<string name="logout_verification">Está seguro de querer saír?</string>
<string name="mediaimage_failed">Fallou a imaxe de multimedia</string>
<string name="no_subcategory_found">Non se atoparon subcategorías</string>
<string name="no_parentcategory_found">Non se atoparon categorías nais</string>
<string name="welcome_image_mount_zao">Monte Zao</string>

View file

@ -108,7 +108,6 @@
<string name="become_a_tester_title">𐍅𐌰𐌹𐍂𐌸 𐌱𐌰𐌹𐍄𐌰 𐍃𐍉𐌺𐌾𐌰𐌽𐌳𐍃</string>
<string name="_2fa_code">2𐍆𐌰 𐌺𐍉𐌳𐌿𐍃</string>
<string name="logout_verification">𐌱𐌹 𐍃𐌿𐌽𐌾𐌰𐌹 𐍅𐌹𐌻𐌴𐌹𐌶𐌿 𐌰𐍆𐌻𐌴𐌹𐌸𐌰𐌽?</string>
<string name="mediaimage_failed">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌼𐌰𐌹𐌳𐌾𐌴 𐌱𐍂𐌰𐌺</string>
<string name="no_subcategory_found">𐌽𐌹 𐌱𐌹𐌲𐌹𐍄𐌰𐌽𐌰 𐌿𐍆𐌺𐌿𐌽𐌾𐌰</string>
<string name="welcome_image_mount_zao">𐍆𐌰𐌹𐍂𐌲𐌿𐌽𐌹 𐌶𐌰𐍉</string>
<string name="welcome_image_llamas">𐌻𐌻𐌰𐌼𐌰𐍃</string>

View file

@ -204,7 +204,6 @@
<string name="become_a_tester_description">गूगल प्ले पर हमारे बीटा चैनल का चयन करें और नई सुविधाओं व त्रुटिसुधारों तक पहले पहुँचे</string>
<string name="_2fa_code">2 एफए कोड</string>
<string name="logout_verification">क्या आप वास्तव में निकास करना चाहते हैं?</string>
<string name="mediaimage_failed">मीडिया छवि विफल</string>
<string name="no_subcategory_found">कोई उपश्रेणी नहीं मिली</string>
<string name="no_parentcategory_found">कोई मूल श्रेणी नहीं मिली</string>
<string name="welcome_image_mount_zao">माउंट ज़ाओ</string>

View file

@ -169,7 +169,6 @@
<string name="become_a_tester_description">Prijavite se na naš beta-kanal na Google Playu i dobijte raniji pristup novim mogućnostima i ispravkama pogrješaka</string>
<string name="_2fa_code">Kôd za provjeru u 2 koraka</string>
<string name="logout_verification">Zaista se želite odjaviti?</string>
<string name="mediaimage_failed">Slika nije uspjela</string>
<string name="no_subcategory_found">Potkategorije nisu pronađene</string>
<string name="welcome_image_mount_zao">Planina Zao</string>
<string name="welcome_image_llamas">Ljame</string>

View file

@ -194,7 +194,6 @@
<string name="become_a_tester_description">Jelentkezz a béta csatornánkra a Google Playen, hogy hamarabb megkapd a hibajavításokat és az új funkciókat</string>
<string name="_2fa_code">2LH kód</string>
<string name="logout_verification">Kilépsz?</string>
<string name="mediaimage_failed">Médiakép sikertelen</string>
<string name="no_subcategory_found">Nem található alkategória</string>
<string name="no_parentcategory_found">Nem található szülő kategória</string>
<string name="welcome_image_mount_zao">Zaō-hegy</string>

View file

@ -216,7 +216,6 @@
<string name="_2fa_code">Codice 2FA</string>
<string name="email_auth_code">Codice de verification in e-mail</string>
<string name="logout_verification">Vole tu vermente clauder session?</string>
<string name="mediaimage_failed">Imagine multimedial fallite</string>
<string name="no_subcategory_found">Necun subcategoria trovate</string>
<string name="no_parentcategory_found">Necun categoria genitor trovate</string>
<string name="welcome_image_mount_zao">Monte Zao</string>

View file

@ -224,7 +224,6 @@
<string name="become_a_tester_description">Gabung ke kanal beta kami di Google Play dan dapatkan akses lebih dulu ke fitur-fitur dan perbaikan bug</string>
<string name="_2fa_code">Kode O2F</string>
<string name="logout_verification">Apakah Anda benar-benar ingin keluar?</string>
<string name="mediaimage_failed">Media Gambar Gagal</string>
<string name="no_subcategory_found">Subkategori tidak ditemukan</string>
<string name="no_parentcategory_found">Tidak ditemukan kategori induk</string>
<string name="welcome_image_mount_zao">Gunung Zao</string>

View file

@ -216,7 +216,6 @@
<string name="_2fa_code">Kodexo 2FA</string>
<string name="email_auth_code">Kodexo sendita ad e-postal adreso</string>
<string name="logout_verification">Ka vu deziras ekirar?</string>
<string name="mediaimage_failed">Faliis montrar imajo</string>
<string name="no_subcategory_found">Nula subkategorio trovesis</string>
<string name="no_parentcategory_found">Nula kategorio precipua trovesis</string>
<string name="welcome_image_mount_zao">Monto Zao</string>

View file

@ -206,7 +206,6 @@
<string name="become_a_tester_description">Veldu að taka þátt í beta-forprófunarrásinni á Google Play og fáðu snemmbúinn aðgang að nýjum eiginleikum og villuleiðréttingum</string>
<string name="_2fa_code">2FA-kóði</string>
<string name="logout_verification">Viltu í alvörunni skrá þig út?</string>
<string name="mediaimage_failed">Mynd gagnamiðils brást</string>
<string name="no_subcategory_found">Engir undirflokkar fundust</string>
<string name="no_parentcategory_found">Engir yfirflokkar fundust</string>
<string name="welcome_image_mount_zao">Zao-fjall</string>

View file

@ -242,7 +242,6 @@
<string name="_2fa_code">Codice 2FA</string>
<string name="email_auth_code">Codice di verifica indirizzo email</string>
<string name="logout_verification">Vuoi veramente uscire?</string>
<string name="mediaimage_failed">Immagine multimediale non riuscita</string>
<string name="no_subcategory_found">Nessuna sottocategoria trovata</string>
<string name="no_parentcategory_found">Nessuna categoria superiore trovata</string>
<string name="welcome_image_mount_zao">Monte Zao</string>

View file

@ -251,7 +251,6 @@
<string name="_2fa_code">קוד אימות דו־שלבי</string>
<string name="email_auth_code">קוד אימות בדוא״ל</string>
<string name="logout_verification">האם באמת לצאת מהחשבון?</string>
<string name="mediaimage_failed">תמונת המדיה נכשלה</string>
<string name="no_subcategory_found">לא נמצאו תת־קטגוריות</string>
<string name="no_parentcategory_found">לא נמצאו קטגוריות הורות</string>
<string name="welcome_image_mount_zao">הר זאו</string>
@ -815,7 +814,7 @@
<string name="failed_to_save_kml_file">שמירת קובץ ה־KML נכשלה.</string>
<string name="failed_to_save_gpx_file">שמירת קובץ ה־GPX נכשלה.</string>
<string name="saving_kml_file">שמירה כקובץ KML...</string>
<string name="saving_gpx_file">שמירת קובץ GPX...</string>
<string name="saving_gpx_file">שמירה כקובץ GPX...</string>
<plurals name="custom_picker_images_selected_title_appendix">
<item quantity="one">נבחרה תמונה אחת</item>
<item quantity="two">נבחרו שתי תמונות</item>

View file

@ -229,7 +229,6 @@
<string name="_2fa_code">2FAコード</string>
<string name="email_auth_code">メール認証コード</string>
<string name="logout_verification">ログアウトしてもよろしいですか?</string>
<string name="mediaimage_failed">メディアイメージが失敗しました</string>
<string name="no_subcategory_found">下位カテゴリは見つかりませんでした</string>
<string name="no_parentcategory_found">上位カテゴリは見つかりませんでした</string>
<string name="welcome_image_mount_zao">蔵王連峰</string>

View file

@ -135,7 +135,6 @@
<string name="become_a_tester_title">Dadi Pangetès Béta</string>
<string name="_2fa_code">Kodhe 2FA</string>
<string name="logout_verification">Panjenengan yakin arep metu log?</string>
<string name="mediaimage_failed">Gambar Médhia Wurung</string>
<string name="no_subcategory_found">Anak kategori ora tinemu</string>
<string name="no_parentcategory_found">Kategori babon ora tinemu</string>
<string name="welcome_image_mount_zao">Gunung Zao</string>

View file

@ -219,7 +219,6 @@
<string name="_2fa_code">2ფა კოდი</string>
<string name="email_auth_code">ელფოსტის დამადასტურებელი კოდი</string>
<string name="logout_verification">ნამდვილად გსურთ გასვლა?</string>
<string name="mediaimage_failed">მედიაგამოსახულების შეცდომა</string>
<string name="no_subcategory_found">ქვეკატეგორიები ვერ მოიძებნა</string>
<string name="no_parentcategory_found">ზედა დონის კატეგორიები ვერ მოიძებნა</string>
<string name="welcome_image_mount_zao">ზაოს მთა</string>

View file

@ -9,7 +9,9 @@
<string name="commons_github" fuzzy="true">Tangalt aɣbalu Github n Commons</string>
<string name="commons_logo">Alugu Commons</string>
<string name="commons_website">Asmel wen n Commons</string>
<string name="row_item_language_description">Aglam n tutlayt</string>
<string name="show_captions_description">Aglam</string>
<string name="nearby_row_image">Tugna</string>
<string name="nearby_all">Akk</string>
<plurals name="uploads_pending_notification_indicator">
<item quantity="one">%1$d n ufaylu yezga yettali</item>
@ -70,6 +72,7 @@
<string name="menu_from_camera">Ṭṭef tawlaft</string>
<string name="menu_nearby">S lqeṛban</string>
<string name="provider_contributions">Ifuyla i suliɣ</string>
<string name="menu_copy_link">Nɣel aseɣwen</string>
<string name="menu_share">Bḍu</string>
<string name="share_title_hint" fuzzy="true">Azwel</string>
<string name="share_description_hint">Aglam</string>
@ -106,6 +109,7 @@
<string name="no_uploads_yet">Ur tsuliḍ ara yakan tiwlafin.</string>
<string name="menu_retry_upload">Ɛref̣ tikelt-nniḍen</string>
<string name="menu_cancel_upload">Sefsex</string>
<string name="language_search_all_languages">Akk tutlayin</string>
<string name="media_upload_policy">S tuzna n tygna-agi, ad d-wekkdeɣ d akken d ayla-w, ur tegbir ara aferdis yettwaḥerzen s izerfan n umeskar, udiɣ tqudeṛ &lt;a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\"&gt;Tisertiyin n Wikimedia Commons&lt;/a&gt;.</string>
<string name="menu_download">Sider</string>
<string name="preference_license" fuzzy="true">Turagt</string>
@ -156,7 +160,6 @@
<string name="become_a_tester_description">Jerred ar ubadu-nneɣ Beta di Google Play sakin awi anekcum uzwir ar tmahilin timaynutin akked useɣti n ibugen.</string>
<string name="_2fa_code">Tangalt 2FA</string>
<string name="logout_verification">Tabɣiḍ ad teffɣeḍ?</string>
<string name="mediaimage_failed">Tugna n midya ur teddi ara</string>
<string name="welcome_image_mount_zao">Taqirruct Zao</string>
<string name="welcome_image_llamas">Lamas</string>
<string name="welcome_image_rainbow_bridge">Taqenṭart tislit n unẓaṛ</string>
@ -185,6 +188,7 @@
<string name="login_to_your_account">Qqen ar umiḍan-ik</string>
<string name="send_log_file">Azen afaylu n uɣmis</string>
<string name="send_log_file_description" fuzzy="true">Azen afaylu n uɣmis i yinermisen s yimayl</string>
<string name="skip_login">Zgel</string>
<string name="navigation_item_login">Qqen</string>
<string name="nearby_location_not_available" fuzzy="true">Ulac adeg</string>
<string name="location_permission_rationale_nearby">Ilaq usireg i uskan tabdart n wadigen iqerben</string>
@ -197,5 +201,29 @@
<string name="menu_search_button">Nadi</string>
<string name="title_activity_search">Nadi</string>
<string name="search_tab_title_categories">Taggayin</string>
<string name="quiz_continue">Kemmel</string>
<string name="continue_message">Kemmel</string>
<string name="share_app_title">Bḍu asnas</string>
<string name="delete">Kkes</string>
<string name="Profile">Amaɣnu</string>
<string name="list_sheet">Tabdart</string>
<string name="next">Uḍfir</string>
<string name="title_page_bookmarks_pictures">Tiwlafin</string>
<string name="title_page_bookmarks_categories">Taggayin</string>
<string name="nominate_for_deletion_done">Immed</string>
<string name="review_thanks_yes_button_text">Tugna tuḍfiṛt</string>
<string name="exif_tag_name_author">Ameskar</string>
<string name="exif_tag_name_software">Aseɣẓan</string>
<string name="title_app_shortcut_setting">Iɣewwaren</string>
<string name="theme_dark_name">Ubrik</string>
<string name="theme_light_name">Aceɛlal</string>
<string name="load_more">Sali-d ugar</string>
<string name="confirm">Sentem</string>
<string name="more">Ugar</string>
<string name="leaderboard_column_user">Aseqdac</string>
<string name="learn_more">ISSIN UGAR</string>
<string name="location_permission_rationale">Tasiregt tafrayant: Awi adig amiran i yisumar n taggayt</string>
<string name="custom_selector_delete">Kkes</string>
<string name="custom_selector_cancel">Semmet</string>
<string name="account">Amiḍan</string>
</resources>

View file

@ -152,7 +152,6 @@
<string name="become_a_tester_title">베타 시험자가 되세요</string>
<string name="_2fa_code">2FA부호</string>
<string name="logout_verification">정말 탈퇴하시겠습니까?</string>
<string name="mediaimage_failed">매체 그림 실패</string>
<string name="no_subcategory_found">하위 분류가 없습니다</string>
<string name="no_parentcategory_found">부모 분류가 없습니다</string>
<string name="welcome_image_mount_zao">자오련봉</string>

View file

@ -227,7 +227,6 @@
<string name="_2fa_code">2FA 코드</string>
<string name="email_auth_code">이메일 인증 코드</string>
<string name="logout_verification">정말 로그아웃하시겠습니까?</string>
<string name="mediaimage_failed">미디어 그림 실패</string>
<string name="no_subcategory_found">하위 분류가 없습니다</string>
<string name="no_parentcategory_found">상위 분류가 없습니다</string>
<string name="welcome_image_mount_zao">자오 연봉</string>

View file

@ -217,7 +217,6 @@
<string name="_2fa_code">2FA Код</string>
<string name="email_auth_code">Электрон почтаны верификация этигиз</string>
<string name="logout_verification">Кертиден чыгъаргъа излеймисиз?</string>
<string name="mediaimage_failed">Медиа Сурат Джетишимсизди</string>
<string name="no_subcategory_found">Тюб категория табылмады</string>
<string name="no_parentcategory_found">Ана категорияла табылмадыла</string>
<string name="welcome_image_mount_zao">Зао Тау</string>

View file

@ -201,7 +201,6 @@
<string name="become_a_tester_title">Liebim onɛ kpansid Beta</string>
<string name="_2fa_code">2FA koodi</string>
<string name="logout_verification">Fʋ sid bɔɔdi fʋ yi yiiŋa?</string>
<string name="mediaimage_failed">Midia footo gʋ\'ʋŋya</string>
<string name="no_subcategory_found">Pʋ paam buudi bibisɛ</string>
<string name="no_parentcategory_found">Pʋ paam buudi si\'a</string>
<string name="welcome_image_mount_zao">Zao zuor</string>

View file

@ -10,7 +10,7 @@
-->
<resources>
<string name="commons_facebook">Викиказынанын Facebook баракчасы</string>
<string name="commons_github" fuzzy="true">Викиказына GitHub булак коду</string>
<string name="commons_github">Викиказына GitHub булак коду</string>
<string name="commons_logo">Викиказынанын логотиби</string>
<string name="commons_website">Викиказынанын сайты</string>
<string name="exit_location_picker">Жайгашкан жер тандоодон чыгуу</string>
@ -135,6 +135,7 @@
<string name="title_activity_settings">Параметрлер</string>
<string name="title_activity_signup">Катталуу</string>
<string name="title_activity_featured_images">Тандалган сүрөттөр</string>
<string name="images_featured_explanation">Тандалган сүрөттөр бул Викиказына жамааты доолборундагы эң жогорку сапаттагы деп тандаган, өз ишин өтө чебер фотографтар менен иллюстраторлор жүктөгөн сүрөттөр.</string>
<string name="title_activity_custom_selector">Ыңгайлаштырылган тандоочу»</string>
<string name="title_activity_category_details">Категория</string>
<string name="title_activity_review">Көрүшүүчүлөрдүн баасы</string>
@ -151,15 +152,18 @@
<string name="no_uploads_yet">Сиз бир дагы сүрөт жүктөй элексиз.</string>
<string name="menu_retry_upload">Кайра аракет кылуу</string>
<string name="menu_cancel_upload">Жокко чыгаруу</string>
<string name="language_search_type_language_name">Тилдин атын жазыңыз</string>
<string name="language_search_recent_searches">Акыркы издөөдөлөр</string>
<string name="language_search_all_languages">Бардык тилдер</string>
<string name="media_upload_policy">Бул сүрөттү жөнөтүп жатканым менен, мен анын менин жеке эмгегим экенин, анда автордук укук менен корголгон материалдар же селфилер жок экенин жана башкача айтканда &lt;a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\"&gt;Викиказына саясатына&lt;/a&gt; ылайык экенин билдирем.</string>
<string name="menu_download">Жүктөп алуу</string>
<string name="preference_license">Стандарттык лицензия</string>
<string name="use_previous">Мурунку аталыш жана сүрөттөмөнү колдонуу</string>
<string name="preference_theme">Тема</string>
<string name="license_name_cc_by_sa_four" fuzzy="true"> Attribution-ShareAlike 4.0</string>
<string name="license_name_cc_by_four" fuzzy="true"> Attribution 4.0</string>
<string name="license_name_cc_by_sa" fuzzy="true">Attribution-ShareAlike 3.0</string>
<string name="license_name_cc_by" fuzzy="true">Attribution 3.0</string>
<string name="license_name_cc_by_sa_four"> Attribution-ShareAlike 4.0</string>
<string name="license_name_cc_by_four"> Attribution 4.0</string>
<string name="license_name_cc_by_sa">Attribution-ShareAlike 3.0</string>
<string name="license_name_cc_by">Attribution 3.0</string>
<string name="license_name_cc0">CC0</string>
<string name="license_name_cc_by_sa_3_0">CC BY-SA 3.0</string>
<string name="license_name_cc_by_3_0">CC BY 3.0</string>
@ -220,15 +224,14 @@
<string name="_2fa_code">2FA коду</string>
<string name="email_auth_code">Электрондук почта текшерүү коду</string>
<string name="logout_verification">Чындыгында чыгуу каалайсызбы?</string>
<string name="mediaimage_failed">Медиа сүрөт жүктөлгөн жок</string>
<string name="no_subcategory_found">Төмөнкү категориялар табылган жок</string>
<string name="no_parentcategory_found">Ата-энелик категориялар табылган жок</string>
<string name="welcome_image_mount_zao">Зао тоосу</string>
<string name="welcome_image_llamas">Ламалар</string>
<string name="welcome_image_rainbow_bridge">Көкүрөктүн көпүрөсү</string>
<string name="welcome_image_tulip">Тюльпан</string>
<string name="welcome_image_welcome_wikipedia" fuzzy="true">Википедияга кош келиңиз</string>
<string name="welcome_image_welcome_copyright" fuzzy="true">Кош келиңиз! Автордук укук</string>
<string name="welcome_image_welcome_wikipedia">Википедиядагы кадимки макаланын схемалык сүрөтү.</string>
<string name="welcome_image_welcome_copyright">Автордук укук белгиси сызып ташталган кагаздардын үймөгүнүн сүрөтү.</string>
<string name="welcome_image_sydney_opera_house">Сидней опера театры</string>
<string name="cancel">Жокко чыгаруу</string>
<string name="navigation_drawer_open">Ачуу</string>
@ -261,6 +264,7 @@
<string name="upload_connection_error_alert_detail">Файлды жүктөө үчүн интернетке туташуу керек. Тармагыңызды текшериңиз.</string>
<string name="upload_problem_image">Сүрөттө табылган көйгөйлөр</string>
<string name="internet_downloaded">Сураныч, жөн гана өзүңүз тарткан сүрөттөрдү жүктөңүз. Интернеттен жүктөлгөн сүрөттөрдү жүктөбөңүз.</string>
<string name="preferences_uploads">Жүктөөлөр</string>
<string name="use_external_storage">Тиркеме ичиндеги сүрөттөрдү сактоо</string>
<string name="use_external_storage_summary">Тиркеме ичиндеги камера менен тартылган сүрөттөрдү түзмөгүңүздүн сактоосуна сактоо</string>
<string name="login_to_your_account">Эсеп жазууга кирүү</string>
@ -332,6 +336,7 @@
<string name="quiz">Тест</string>
<string name="quiz_question_string">Бул сүрөттү жүктөөгө болобу?</string>
<string name="question">Суроо</string>
<string name="quiz_i_am_not_sure">Так билбейм</string>
<string name="result">Жыйынтык</string>
<string name="quiz_back_button">Өчүрүү керек болгон сүрөттөрдү жүктөөнү уланта берсеңиз, аккаунтуңуз бөгөттөлүшү мүмкүн. Тестти токтоткуңуз келеби?</string>
<string name="quiz_alert_message">Сиз жүктөгөн сүрөттөрдүн %1$s%дан көбү өчүрүлгөн. Эгер өчүрүлүшү керек болгон сүрөттөрдү жүктөөнү уланта берсеңиз, аккаунтуңуз бөгөттөлүшү мүмкүн.\nОкутуу сабактарын кайра көрүп, кайсы сүрөттөрдү жүктөш керек, кайсынысы керек эмес экенин үйрөнүү үчүн тесттен өтөсүзбү?</string>
@ -341,6 +346,7 @@
<string name="blurry_image_answer">Виктказынанын максаттарынын бири — сапаттуу сүрөттөрдү чогултуу. Ошондуктан, тайгалак сүрөттөрдү жүктөөгө болбойт. Ар дайым жакшы жарыкта ачык жана сапаттуу сүрөттөрдү тартууга аракет кылыңыз.</string>
<string name="construction_event_answer">Технологияны же маданиятты чагылдырган сүрөттөр Викиказынада абдан куттукталат.</string>
<string name="congratulatory_message_quiz">Сиз %1$s суроого туура жооп бердиңиз. Куттуктайбыз!</string>
<string name="quiz_continue">Улантуу</string>
<string name="warning_for_no_answer">Суроого жооп берүү үчүн эки варианттын бирин тандаңыз.</string>
<string name="user_not_logged_in">Кирүү мөөнөтү бүттү. Кайра кириңиз, сураныч.</string>
<string name="quiz_result_share_message">Тестиңизди досторуңуз менен бөлүшүңүз!</string>
@ -381,10 +387,56 @@
<string name="error_occurred">Ката кетти!</string>
<string name="notifications_channel_name_all">Викиказына билдирүүсү</string>
<string name="preference_author_name_toggle">Ыңгайлаштырылган автордун атын колдонуу</string>
<string name="preference_author_name_toggle_summary">Сүрөттөрдү жүктөө учурунда колдонуучу атыңдын ордуна өзгөчөлөнгөн автор атыңды колдон</string>
<string name="preference_author_name">Өзгөчөлөнгөн автор аты</string>
<string name="contributions_fragment">Салым</string>
<string name="nearby_fragment">Жакынкы</string>
<string name="notifications">Билдирүүлөр</string>
<string name="read_notifications">Билдирүүлөр (окуу)</string>
<string name="display_nearby_notification">Жакын жердеги билдирүүнү көрсөтүү</string>
<string name="display_nearby_notification_summary">Сүрөттөр керек болгон жакын жерге колдонмодогу билдирүүнү көрсөтүү</string>
<string name="list_sheet">Тизме</string>
<string name="storage_permission">Сактагычка уруксат</string>
<string name="write_storage_permission_rationale_for_image_share">Сүрөттөрдү жүктөө үчүн түзмөгүңүздүн тышкы сактагычына кирүү уруксатыңыз керек.</string>
<string name="nearby_notification_dismiss_message">Сүрөттөр керек болгон жакын жерди эми көрө албай каласың. Бирок кааласаң, бул билдирүүнү Параметрлерден кайра күйгүзө аласың.</string>
<string name="step_count">%2$d кадамдын %1$d-кадамы: %3$s</string>
<string name="next">Кийинки</string>
<string name="previous">Мурунку</string>
<string name="upload_title_duplicate">%1$s аталышындагы файл бар. Уланткыңар келеби?\n\nЭскертүү: Файл аталышына ылайыктуу кошумча автоматтык түрдө кошулат.</string>
<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>
<string name="provider_bookmarks_location">Белгилер</string>
<string name="log_collection_started">Логдорду чогултуу башталды. Тиркемени кайра баштаңыз, логдогу аракетти жасаңыз, андан кийин \'Лог файлын жөнөтүү\' баскычын кайра таптаңыз.</string>
<string name="deletion_reason_uploaded_by_mistake">Мен аны ката менен жүктөдүм</string>
<string name="deletion_reason_publicly_visible">Мен анын жалпыга көрүнүктүү болоорун билген эмесмин</string>
<string name="deletion_reason_bad_for_my_privacy">Бул менин купуялыгым үчүн жакшы эместигин түшүндүм</string>
<string name="deletion_reason_no_longer_want_public">Мен ойлогонумду өзгөрттүм, аны эми жалпыга көрүнүктүү кылууну каалабайм</string>
<string name="deletion_reason_not_interesting">Кечиресиз, бул сүрөт энциклопедия үчүн кызыксыз</string>
<string name="uploaded_by_myself">%1$s күнү мен өзүм жүктөдүм, кеминде %2$d макалада колдонулган.</string>
<string name="no_uploads">Виказынага кош келиңиз! \n\nБиринчи медиаңызды кошуу баскычын таптап жүктөңүз.</string>
<string name="no_categories_selected">Категориялар тандалган жок</string>
<string name="no_categories_selected_warning_desc">Категориялары жок сүрөттөр сейрек колдонулат. Категорияларды тандабастан уланткыңыз келеби?</string>
<string name="no_depictions_selected">Сүрөттөр тандалган жок</string>
<string name="no_depictions_selected_warning_desc">Сүрөттөлгөн сүрөттөрдү табуу оңой жана колдонулушу мүмкүн. Сүрөттөрдү тандабай эле улантууну каалайсызбы?</string>
<string name="back_button_warning">Жүктөөнү жокко чыгаруу</string>
<string name="back_button_warning_desc">Артка баскычын колдонуу менен бул жүктөө жокко чыгарылат жана сиз ийгиликти жоготосуз</string>
<string name="back_button_continue">Жүктөөнү улантуу</string>
<string name="upload_flow_all_images_in_set">(Келишимдеги бардык сүрөттөр үчүн)</string>
<string name="search_this_area">Бул аймакты издөө</string>
<string name="nearby_card_permission_title">Уруксат суроо</string>
<string name="nearby_card_permission_explanation">Сүрөттөр керек болгон эң жакын жерди көрсөтүү үчүн учурдагы жайгашкан жериңизди колдонууну каалайсызбы?</string>
<string name="unable_to_display_nearest_place">Жайгашкан жерге уруксат берилбегендиктен, жакынкы жер көрсөтүлбөйт.</string>
<string name="never_ask_again">Муну кайра сураба</string>
<string name="display_location_permission_title">Жайгашкан жерге уруксат сураңыз</string>
<string name="display_location_permission_explanation">Жакынкы билдирүүлөрдү көрсөтүү үчүн жайгашкан жерге уруксат сураңыз.</string>
<string name="please_wait">Күтө туруңуз...</string>
<string name="title_for_media">МЕДИА</string>
<string name="title_app_shortcut_setting">Параметрлер</string>
<string name="label">Аталыш</string>
<string name="description">Сыпаттама</string>
<string name="title_page_bookmarks_items">Элементтер</string>

View file

@ -212,7 +212,6 @@
<string name="become_a_tester_description">Prisijunkite prie beta kanalo Google Play ir gaukite išankstinę prieigą prie naujų funkcijų bei klaidų pataisymų</string>
<string name="_2fa_code">2FA kodas</string>
<string name="logout_verification">Ar tikrai norite atsijungti?</string>
<string name="mediaimage_failed">Medijos paveikslėlis nepavyko</string>
<string name="no_subcategory_found">Subkategorijų nerasta</string>
<string name="welcome_image_mount_zao">Zao kalnas</string>
<string name="welcome_image_llamas">Lamos</string>

View file

@ -222,7 +222,6 @@
<string name="_2fa_code">З-код</string>
<string name="email_auth_code">Испрати го потврдниот код на е-пошта</string>
<string name="logout_verification">Дали навистина сакате да се одјавите?</string>
<string name="mediaimage_failed">Сликата не успеа</string>
<string name="no_subcategory_found">Не пронајдов поткатегории</string>
<string name="no_parentcategory_found">Не пронајдов матични категории</string>
<string name="welcome_image_mount_zao">Зао</string>

View file

@ -152,7 +152,6 @@
<string name="become_a_tester_description">गुगल प्ले वरील आमच्या बिटा चॅनलचा पाठलाग करा आणि आमच्या नव्या सेवा-सुविधांचा तसाच त्रुटी-निरसनांचा फ़ायदा घ्या.</string>
<string name="_2fa_code">2FA कोड</string>
<string name="logout_verification">काय आपणास खरेच बंद करायचे आहे?</string>
<string name="mediaimage_failed"> चित्र माध्यमे कोसळली</string>
<string name="welcome_image_mount_zao">जाओ जान पर्वत</string>
<string name="welcome_image_llamas">लामा</string>
<string name="welcome_image_rainbow_bridge">रेनबो पूल</string>

View file

@ -167,7 +167,6 @@
<string name="become_a_tester_title">Jadilah Penguji Beta</string>
<string name="_2fa_code">Kod 2FA</string>
<string name="logout_verification">Adakah anda benar-benar mahu log keluar?</string>
<string name="mediaimage_failed">Imej Media Gagal</string>
<string name="no_subcategory_found">Tiada subkategori dijumpai</string>
<string name="cancel">Batalkan</string>
<string name="navigation_drawer_open">Buka</string>

View file

@ -155,7 +155,6 @@
<string name="media_detail_coordinates">ကိုဩဒိနိတ်</string>
<string name="media_detail_coordinates_empty">မဖြည့်ထားပါ</string>
<string name="logout_verification">အမှန်တကယ် ထွက်သွားလိုပါသလား</string>
<string name="mediaimage_failed">မီဒီယာရုပ်ပုံ မအောင်မြင်ပါ</string>
<string name="no_subcategory_found">ကဏ္ဍခွဲများ မတွေ့ရှိပါ</string>
<string name="no_parentcategory_found">ပင်မကဏ္ဍများ မတွေ့ရှိပါ</string>
<string name="welcome_image_tulip">ခတ္တာပန်း</string>

View file

@ -220,7 +220,6 @@
<string name="become_a_tester_description">Registrer deg på vår betakanal på Google Play og få tidlig tilgang til nye funksjoner og feilrettinger</string>
<string name="_2fa_code">2FA-kode</string>
<string name="logout_verification">Ønsker du virkelig å logge ut?</string>
<string name="mediaimage_failed">Mediebilde feilet</string>
<string name="no_subcategory_found">Ingen underkategorier funnet</string>
<string name="no_parentcategory_found">Ingen overordnede kategorier funnet</string>
<string name="welcome_image_mount_zao">Zao</string>

View file

@ -244,7 +244,6 @@
<string name="_2fa_code">Tweetrapsauthenticatie-code</string>
<string name="email_auth_code">E-mailverificatiecode</string>
<string name="logout_verification">Wilt u zich echt afmelden?</string>
<string name="mediaimage_failed">Media-afbeelding is mislukt</string>
<string name="no_subcategory_found">Geen subcategorieën gevonden</string>
<string name="no_parentcategory_found">Geen bovenliggende categorieën gevonden</string>
<string name="welcome_image_mount_zao">Mount Zao</string>

View file

@ -174,7 +174,6 @@
<string name="become_a_tester_description">ߌ ߕߐ߮ ߛߓߍ߫ ߊ߲ ߠߊ߫ ߓߋߕߊ ߥߏ߬ߦߏ ߟߊ߫ ߜ߭ߎߜ߭ߏߟ ߔߑߟߋߦ ߞߊ߲߬ ߞߊ߬ ߗߋߘߊ߫ ߞߎߘߊ ߟߎ߬ ߟߊߛߐ߬ߘߐ߲߫ ߊ߬ ߣߌ߫ ߞߐߕߐ߯ ߕߌߢߍߣߍ߲ ߠߎ߬</string>
<string name="_2fa_code">2FA Code</string>
<string name="logout_verification">ߌ ߦߴߊ߬ ߝߍ߬ ߞߵߌ ߜߊ߲߬ߞߎ߲߬ߣߍ߲ ߓߐ߫ ߝߛߊߦߌ߫؟</string>
<string name="mediaimage_failed">ߡߋߘߌߦߊ ߖߌ߬ߦߊ߬ߓߍ ߓߘߊ߫ ߗߌߙߏ߲߫</string>
<string name="no_subcategory_found">ߦߌߟߡߊߙߋ߲߫ ߕߴߦߋ߲߬</string>
<string name="no_parentcategory_found">ߡߏߦߌߓߊ߯ ߦߌߟߡߊ ߟߎ߬ ߝߋ߲߫ ߡߊ߫ ߛߐ߬ߘߐ߲߫.</string>
<string name="welcome_image_mount_zao">ߖ߭ߊߏ߫ ߞߎ߬ߙߎ</string>

View file

@ -255,7 +255,6 @@
<string name="_2fa_code">Kod 2FA</string>
<string name="email_auth_code">Kod weryfikacyjny z e-mail</string>
<string name="logout_verification">Czy na pewno wylogować?</string>
<string name="mediaimage_failed">Błąd obrazu multimedialnego</string>
<string name="no_subcategory_found">Nie znaleziono podkategorii</string>
<string name="no_parentcategory_found">Nie znaleziono kategorii nadrzędnych</string>
<string name="welcome_image_mount_zao">Zaō</string>

View file

@ -217,7 +217,6 @@
<string name="_2fa_code">Còdes 2FA</string>
<string name="email_auth_code">Mandé un còdes ëd verifica</string>
<string name="logout_verification">Veul-lo për da bon seurte dal sistema?</string>
<string name="mediaimage_failed">Faliment ëd la plancia dël mojen</string>
<string name="no_subcategory_found">Gnun-e sot-categorìe trovà</string>
<string name="no_parentcategory_found">Gnun-é categorìe ce trovà</string>
<string name="welcome_image_mount_zao">Mont Zao</string>

View file

@ -215,7 +215,6 @@
<string name="become_a_tester_title">ازمېښتي ازمايښتگر شئ</string>
<string name="email_auth_code">برېښليک تاييد کوډ</string>
<string name="logout_verification">ايا تاسو په رښتيا له غونډاله وتل غواړئ؟</string>
<string name="mediaimage_failed">رسنۍ انځور نابرياله شو</string>
<string name="no_subcategory_found">هېڅ څېرمه‌وېشنيزې ونه موندل شوې</string>
<string name="no_parentcategory_found">هېڅ بنسټيزې وېشنيزې ونه موندل شوې</string>
<string name="welcome_image_welcome_wikipedia">د ويکيپېډيا يوې ټوليزې ليکنې يو منشوري انځور.</string>

View file

@ -239,7 +239,6 @@
<string name="become_a_tester_description">Entre no nosso canal beta no Google Play e receba acesso prévio a novos recursos e correções de erros</string>
<string name="_2fa_code">Código 2FA</string>
<string name="logout_verification">Quer realmente sair ?</string>
<string name="mediaimage_failed">Falha na imagem de mídia</string>
<string name="no_subcategory_found">Nenhuma subcategoria encontrada</string>
<string name="no_parentcategory_found">Nenhuma categoria pai encontrada</string>
<string name="welcome_image_mount_zao">Mount Zao</string>

View file

@ -237,7 +237,6 @@
<string name="_2fa_code">Código de autenticação de dois fatores</string>
<string name="email_auth_code">Código de verificação do e-mail</string>
<string name="logout_verification">Deseja realmente sair?</string>
<string name="mediaimage_failed">Falha na imagem multimédia</string>
<string name="no_subcategory_found">Não foi encontrada nenhuma subcategoria.</string>
<string name="no_parentcategory_found">Não foi encontrada nenhuma categoria mãe</string>
<string name="welcome_image_mount_zao">Monte Zao</string>

View file

@ -228,7 +228,6 @@
<string name="_2fa_code">Login form label.</string>
<string name="email_auth_code">Login screen command.</string>
<string name="logout_verification">Confirmation string.</string>
<string name="mediaimage_failed">Alternative text.</string>
<string name="no_subcategory_found">Notice when searching for subcategories.</string>
<string name="no_parentcategory_found">Notice when searching for subcategories.</string>
<string name="welcome_image_mount_zao">This is a mountain between Yamagata and Miyagi Prefectures in Japan, see [[d:Q167951]] for details.</string>

View file

@ -211,7 +211,6 @@
<string name="become_a_tester_description">Abonați-vă la canalul nostru beta pe Google Play și a obține acces rapid la noi caracteristici și corecții de erori</string>
<string name="_2fa_code">Code 2FA</string>
<string name="logout_verification">Chiar vrei să te deconectezi?</string>
<string name="mediaimage_failed">Imagine media nu a reușit</string>
<string name="no_subcategory_found">Nu s-au găsit subcategorii</string>
<string name="no_parentcategory_found">Nu au fost găsite categorii părinte</string>
<string name="welcome_image_mount_zao">Muntele Zao</string>

View file

@ -279,7 +279,6 @@
<string name="_2fa_code">Код 2ФА</string>
<string name="email_auth_code">Код подтверждения электронной почты</string>
<string name="logout_verification">Вы действительно хотите выйти?</string>
<string name="mediaimage_failed">Ошибка медиафайла</string>
<string name="no_subcategory_found">Подкатегории не найдены.</string>
<string name="no_parentcategory_found">Не найдено родительских категорий</string>
<string name="welcome_image_mount_zao">Гора Зао</string>

View file

@ -172,7 +172,6 @@
<string name="media_detail_coordinates_empty">Ii addon bajás</string>
<string name="become_a_tester_title">Šatta betageahččaleaddji</string>
<string name="logout_verification">Áiggutgo don duođaid čálihit olggos?</string>
<string name="mediaimage_failed">Mediagovva ii lihkostuvvan</string>
<string name="no_subcategory_found">Ii oktage vuollekategoriija gávdnon</string>
<string name="no_parentcategory_found">Ii oktage badjekategoriija gávdnon</string>
<string name="cancel">Gaskkalduhte</string>

View file

@ -171,7 +171,6 @@
<string name="become_a_tester_description">Prijavite se na naš beta-kanal na Google Playu i dobijte raniji pristup novim mogućnostima i ispravkama grešaka</string>
<string name="_2fa_code">2FA kôd</string>
<string name="logout_verification">Zaista želite da se odjavite?</string>
<string name="mediaimage_failed">Slika nije uspjela</string>
<string name="no_subcategory_found">Nisam pronašao potkategorije</string>
<string name="no_parentcategory_found">Nisam pronašao nadređene kategorije</string>
<string name="welcome_image_mount_zao">Planina Zao</string>

View file

@ -230,7 +230,6 @@
<string name="become_a_tester_description">Prihlásiť sa do nášho beta kanálu na Google Play a získavať včasný prístup k novinkám a opravám chýb</string>
<string name="_2fa_code">Kód pre dvojfaktorové overenie (2FA)</string>
<string name="logout_verification">Naozaj sa chcete odhlásiť?</string>
<string name="mediaimage_failed">Obrázok zlyhal</string>
<string name="no_subcategory_found">Neboli nájdené žiadne podkategórie</string>
<string name="no_parentcategory_found">Neboli nájdené žiadne rodičovské kategórie</string>
<string name="welcome_image_mount_zao">Hora Zaó</string>

View file

@ -119,7 +119,6 @@
<string name="media_detail_coordinates_empty">کجھ نی ݙسیا</string>
<string name="become_a_tester_title">بیٹا ٹیسٹر بݨو</string>
<string name="logout_verification">بھلا تساں سچی دا لاگ آؤٹ تھیوݨ چاہندے ہو؟</string>
<string name="mediaimage_failed">میڈیا فوٹو ناکام</string>
<string name="welcome_image_tulip">گل لالہ</string>
<string name="welcome_image_welcome_wikipedia" fuzzy="true">وکی پیڈیا وچ ست بسم اللہ</string>
<string name="cancel">منسوخ</string>

View file

@ -232,7 +232,6 @@
<string name="_2fa_code">Koda 2FA</string>
<string name="email_auth_code">Koda za preverjanje e-pošte</string>
<string name="logout_verification">Ali se res želite odjaviti?</string>
<string name="mediaimage_failed">Nalaganje datoteke ni uspelo</string>
<string name="no_subcategory_found">Najdena ni bila nobena podkategorija</string>
<string name="no_parentcategory_found">Najdena ni bila nobena nadrejena kategorija</string>
<string name="welcome_image_mount_zao">Gora Zao</string>

View file

@ -221,7 +221,6 @@
<string name="become_a_tester_description">Прикључите се нашем каналу бета верзија на Google Play-у и раније приступајте новим функцијама и исправкама грешака</string>
<string name="_2fa_code">2FA код</string>
<string name="logout_verification">Заиста желите да се одјавите?</string>
<string name="mediaimage_failed">Медијска слика неуспешна</string>
<string name="no_subcategory_found">Поткатегорије нису пронађене</string>
<string name="no_parentcategory_found">Надређене категорије нису пронађене</string>
<string name="welcome_image_mount_zao">Планина Зао</string>

View file

@ -204,7 +204,6 @@
<string name="become_a_tester_description">Pilihan asup kana saluran béta kami di Google Play sarta meunangkeun aksés munggaran pikeun fitur anyar jeung pameneran kutu</string>
<string name="_2fa_code">Kode 2FA</string>
<string name="logout_verification">Yakin anjeun rék kaluar?</string>
<string name="mediaimage_failed">Gambar Média Gagal</string>
<string name="no_subcategory_found">Euweuh subkategorian</string>
<string name="no_parentcategory_found">Euweuh kategorian</string>
<string name="welcome_image_mount_zao">Mount Zao</string>

View file

@ -226,7 +226,6 @@
<string name="_2fa_code">2-stegsverif.kod</string>
<string name="email_auth_code">E-postverifieringskod</string>
<string name="logout_verification">Vill du verkligen logga ut?</string>
<string name="mediaimage_failed">Mediabild misslyckades</string>
<string name="no_subcategory_found">Inga underkategorier hittades</string>
<string name="no_parentcategory_found">Inga överordnade kategorier hittades</string>
<string name="welcome_image_mount_zao">Zao</string>

View file

@ -163,7 +163,6 @@
<string name="media_detail_coordinates">ஆயத்தொலைகள்</string>
<string name="media_detail_coordinates_empty">வழங்கப்படவில்லை</string>
<string name="logout_verification">தாங்கள் மெய்யாகவே மூடுவதற்கு விரும்புகிறீர்களா?</string>
<string name="mediaimage_failed">பட ஊடகம் தோல்வியடைந்தது</string>
<string name="no_subcategory_found">துணைப்பிரிவுகள் இல்லை</string>
<string name="no_parentcategory_found">முதன்மை வகைகள் இல்லை</string>
<string name="welcome_image_welcome_wikipedia" fuzzy="true">விக்கிப்பீடியாவிற்கு வருக</string>

View file

@ -161,7 +161,6 @@
<string name="become_a_tester_description">Google Play ತಲ್ಪ ಇರ್ ಬೀಟಾ ಚಾನೆಲ್ ಆಯ್ಕೆ ಮಾಲ್ಪುಲೆ ಬುಕ್ಕ ಪೊಸ ವೈಶಿಷ್ಟ್ಯೊ ಅತ್ತಂದೆ ದೋಷ ಪರಿಹಾರಗ್ ದುಂಬು ಪ್ರವೇಶ ಪಡೆಲೆ.</string>
<string name="_2fa_code">2FA Code</string>
<string name="logout_verification">ಇರ್ ನಿಜವಾತ್ ಲಾಗ್ಔಟ್ ಮಾಲ್ಪಿಯರ ಬಯಸುವರಾ?</string>
<string name="mediaimage_failed">ಮೀಡಿಯಾ ಪಟೊ ಅಪ್ಲೋಡ್ ಅತ್‌ಜ್ಜಿ.</string>
<string name="no_subcategory_found">ಒವೆ ಉಪವರ್ಗೊಲು ಇಜ್ಜಿ.</string>
<string name="no_parentcategory_found">ಇತ್ತೆ ಒವೆ ವರ್ಗೊಲು ಇಜ್ಜಿ.</string>
<string name="welcome_image_mount_zao">\nಮೌಟ್ ಝಾವೋ.</string>

View file

@ -192,7 +192,6 @@
<string name="become_a_tester_description">గూగుల్ ప్లే లోని మా బీటా ఛానల్లో చేరితే, కొత్త విశేషాలను బగ్‌ల సవరణలనూ చూడవచ్చు</string>
<string name="_2fa_code">2FA Code</string>
<string name="logout_verification">నిజంగానే లాగౌటవుతారా?</string>
<string name="mediaimage_failed">మీడియా బొమ్మ విఫలమైంది</string>
<string name="no_subcategory_found">ఉపవర్గాలేమీ కనబడలేదు</string>
<string name="no_parentcategory_found">మాతృవర్గాలేమీ కనబడలేదు</string>
<string name="welcome_image_mount_zao">మౌంట్ జావో</string>

View file

@ -203,7 +203,6 @@
<string name="become_a_tester_description">สมัครเข้าร่วมช่องทางบีตาบน Google Play และเข้าถึงคุณลักษณะใหม่ ๆ และการแก้ไขบั๊กก่อนเปิดตัว</string>
<string name="_2fa_code">รหัส 2FA</string>
<string name="logout_verification">คุณต้องการออกจากระบบจริง ๆ หรือไม่?</string>
<string name="mediaimage_failed">ภาพสื่อล้มเหลว</string>
<string name="no_subcategory_found">ไม่พบหมวดหมู่รองที่ต้องการ</string>
<string name="no_parentcategory_found">ไม่พบหมวดหมู่ต้นทางที่ต้องการ</string>
<string name="welcome_image_mount_zao">ภูเขาซะโอ</string>

View file

@ -248,7 +248,6 @@
<string name="_2fa_code">2 Faktörlü Kimlik Doğrulama (2FA) Kodu</string>
<string name="email_auth_code">E-posta doğrulama kodu</string>
<string name="logout_verification">Gerçekten çıkış yapmak istiyor musunuz?</string>
<string name="mediaimage_failed">Medya Görüntüsü Başarısız Oldu</string>
<string name="no_subcategory_found">Alt kategori bulunamadı</string>
<string name="no_parentcategory_found">Üst kategori bulunamadı</string>
<string name="welcome_image_mount_zao">Zao Dağı</string>

View file

@ -103,7 +103,6 @@
<string name="become_a_tester_description">بىز كىرگەن Google Play، ئۈستىدىكى ئۆلچەش قانىلى ، ھەمدە تېخىمۇ بالدۇر يېڭى ئىقتىدارى ۋە خاتا ئەسلىگە كەلتۈرۈش</string>
<string name="_2fa_code">2FAكودى</string>
<string name="logout_verification">سىز راستتىنلا چېكىنىپ چىقامسىز ؟</string>
<string name="mediaimage_failed">ۋاستە رەسىمى مەغلۇپ بولدى</string>
<string name="welcome_image_rainbow_bridge">ھەسەت ھۈسەن كۆۋرۈك</string>
<string name="review_thanks_yes_button_text">كېيىنكى سۈرەت</string>
<string name="review_thanks_no_button_text">ھەئە، نېمىشقا بولمىسۇن</string>

View file

@ -248,7 +248,6 @@
<string name="_2fa_code">Код 2FA</string>
<string name="email_auth_code">Код підтвердження електронної пошти</string>
<string name="logout_verification">Ви справді хочете вийти із системи?</string>
<string name="mediaimage_failed">Помилка медіазображення</string>
<string name="no_subcategory_found">Підкатегорій не знайдено</string>
<string name="no_parentcategory_found">Не знайдено батьківських категорій</string>
<string name="welcome_image_mount_zao">Гора Зао</string>

View file

@ -211,7 +211,6 @@
<string name="_2fa_code">2FA kod</string>
<string name="email_auth_code">Elektron pochta tasdiqlash kodi</string>
<string name="logout_verification">Haqiqatan ham tizimdan chiqmoqchimisiz?</string>
<string name="mediaimage_failed">Media tasviri bajarilmadi</string>
<string name="no_subcategory_found">Hech qanday ost toifa topilmadi</string>
<string name="no_parentcategory_found">Asosiy toifa topilmadi</string>
<string name="welcome_image_mount_zao">Zao toʻgi</string>

View file

@ -172,7 +172,6 @@
<string name="become_a_tester_description">Va drento al nostro canałe beta so Google Play par torte suito łe nove funsionałità e i erori corexùi</string>
<string name="_2fa_code">Codaxe 2FA</string>
<string name="logout_verification">Vuto seriamente sevitar a ndaxer fora?</string>
<string name="mediaimage_failed">Imajine multimediałe no riusìa</string>
<string name="no_subcategory_found">Nisuna categoria catada</string>
<string name="no_parentcategory_found">Nisuna categoria superiore catada</string>
<string name="welcome_image_mount_zao">Monte Zao</string>

View file

@ -209,7 +209,6 @@
<string name="_2fa_code">Mã Hai Nhân tố</string>
<string name="email_auth_code">Mã xác minh email</string>
<string name="logout_verification">Bạn có chắc chắn muốn đăng xuất?</string>
<string name="mediaimage_failed">Hình ảnh bị Thất bại</string>
<string name="no_subcategory_found">Không tìm thấy thể loại con</string>
<string name="no_parentcategory_found">Không tìm thấy thể loại mẹ</string>
<string name="welcome_image_mount_zao">Núi Zaō</string>

View file

@ -218,7 +218,6 @@
<string name="_2fa_code">2ფა კოდი</string>
<string name="email_auth_code">ელექტრონული ფოშტაშ დოდასურაფაშ კოდი</string>
<string name="logout_verification">გოკონანო გიშულა?</string>
<string name="mediaimage_failed">მედიაფაილიშ ჩილათა</string>
<string name="no_subcategory_found">გიმენკატეგორიეფქ ვეგორინუ</string>
<string name="no_parentcategory_found">ომასქერე კატეგორიეფქ ვეგორინუ</string>
<string name="welcome_image_mount_zao">ზაოშ გვალა</string>

View file

@ -183,7 +183,6 @@
<string name="become_a_tester_description">選擇加入我們在 Google Play 上的 beta 測試版本,以提早取用新功能及程式修正</string>
<string name="_2fa_code">雙重驗證代碼</string>
<string name="logout_verification">您確定要登出嗎?</string>
<string name="mediaimage_failed">媒體圖片失敗</string>
<string name="no_subcategory_found">找不到子分類</string>
<string name="no_parentcategory_found">找不到母分類</string>
<string name="welcome_image_mount_zao">藏王連峰</string>

View file

@ -245,7 +245,6 @@
<string name="_2fa_code">2FA 代碼</string>
<string name="email_auth_code">電子郵件驗證碼</string>
<string name="logout_verification">您確定要登出嗎?</string>
<string name="mediaimage_failed">媒體圖片失敗</string>
<string name="no_subcategory_found">找不到子分類</string>
<string name="no_parentcategory_found">找不到父級分類</string>
<string name="welcome_image_mount_zao">藏王山</string>

View file

@ -279,7 +279,6 @@
<string name="_2fa_code">2FA代码</string>
<string name="email_auth_code">电子邮件验证码</string>
<string name="logout_verification">您真的想要退出么?</string>
<string name="mediaimage_failed">媒体图片失败</string>
<string name="no_subcategory_found">找不到子分类</string>
<string name="no_parentcategory_found">找不到父分类</string>
<string name="welcome_image_mount_zao">藏王连峰</string>

View file

@ -226,7 +226,6 @@
<string name="_2fa_code">2FA Code</string>
<string name="email_auth_code">Email verification code</string>
<string name="logout_verification">Do you really want to logout?</string>
<string name="mediaimage_failed">Media Image Failed</string>
<string name="no_subcategory_found">No subcategories found</string>
<string name="no_parentcategory_found">No parent categories found</string>
<string name="welcome_image_mount_zao">Mount Zao</string>

View file

@ -153,6 +153,13 @@ class UploadCategoriesFragmentUnitTests {
fragment.showError(R.string.no_categories_found)
}
@Test
@Throws(Exception::class)
fun testShowErrorDialog() {
Shadows.shadowOf(Looper.getMainLooper()).idle()
fragment.showErrorDialog("")
}
@Test
@Throws(Exception::class)
fun testSetCategoriesCaseNull() {