mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Merge branch 'main' of github.com:commons-app/apps-android-commons into issue-6357-Fix-security-exception-on-open-document
This commit is contained in:
commit
df6015ef0a
67 changed files with 1399 additions and 198 deletions
15
CHANGELOG.md
15
CHANGELOG.md
|
|
@ -1,5 +1,20 @@
|
||||||
# Wikimedia Commons for Android
|
# Wikimedia Commons for Android
|
||||||
|
|
||||||
|
## v6.0.2
|
||||||
|
|
||||||
|
### What's changed
|
||||||
|
* Addressed a bug that prevented the keyboard from appearing in various text fields, such as on the upload wizard
|
||||||
|
* Links in the "File usages" list are now clickable and will take you to the correct page.
|
||||||
|
* Titles for file usages are now clearer and easier to understand
|
||||||
|
* Bug fixes and stability improvements
|
||||||
|
|
||||||
|
## v6.0.1
|
||||||
|
|
||||||
|
### What's changed
|
||||||
|
* The app now supports Android 15 with an improved user interface
|
||||||
|
* Enhanced Nearby with robust and more reliable labels
|
||||||
|
* Bug fixes and stability improvements
|
||||||
|
|
||||||
## v5.6.1
|
## v5.6.1
|
||||||
|
|
||||||
### What's changed
|
### What's changed
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,14 @@ if (isRunningOnTravisAndIsNotPRBuild) {
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "fr.free.nrw.commons"
|
namespace = "fr.free.nrw.commons"
|
||||||
compileSdk = 34
|
compileSdk = 35
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "fr.free.nrw.commons"
|
applicationId = "fr.free.nrw.commons"
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 34
|
targetSdk = 35
|
||||||
versionCode = 1055
|
versionCode = 1058
|
||||||
versionName = "5.6.1"
|
versionName = "6.0.2"
|
||||||
|
|
||||||
setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName())
|
setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName())
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,6 @@
|
||||||
android:name=".upload.UploadActivity"
|
android:name=".upload.UploadActivity"
|
||||||
android:configChanges="orientation|screenSize|keyboard"
|
android:configChanges="orientation|screenSize|keyboard"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:hardwareAccelerated="false"
|
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:windowSoftInputMode="adjustResize">
|
android:windowSoftInputMode="adjustResize">
|
||||||
<intent-filter android:label="@string/intent_share_upload_label">
|
<intent-filter android:label="@string/intent_share_upload_label">
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import fr.free.nrw.commons.utils.ConfigUtils.getVersionNameWithSha
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
import java.util.Collections
|
import java.util.Collections
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeTopInsets
|
||||||
import fr.free.nrw.commons.utils.handleWebUrl
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.utils.setUnderlinedText
|
import fr.free.nrw.commons.utils.setUnderlinedText
|
||||||
|
|
||||||
|
|
@ -47,6 +48,7 @@ class AboutActivity : BaseActivity() {
|
||||||
*/
|
*/
|
||||||
binding = ActivityAboutBinding.inflate(layoutInflater)
|
binding = ActivityAboutBinding.inflate(layoutInflater)
|
||||||
val view: View = binding!!.root
|
val view: View = binding!!.root
|
||||||
|
applyEdgeToEdgeTopInsets(binding!!.toolbarLayout)
|
||||||
setContentView(view)
|
setContentView(view)
|
||||||
|
|
||||||
setSupportActionBar(binding!!.toolbarBinding.toolbar)
|
setSupportActionBar(binding!!.toolbarBinding.toolbar)
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ object OkHttpConnectionFactory {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class CommonHeaderRequestInterceptor : Interceptor {
|
class CommonHeaderRequestInterceptor : Interceptor {
|
||||||
@Throws(IOException::class)
|
@Throws(IOException::class)
|
||||||
override fun intercept(chain: Interceptor.Chain): Response {
|
override fun intercept(chain: Interceptor.Chain): Response {
|
||||||
val request = chain.request().newBuilder()
|
val request = chain.request().newBuilder()
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import fr.free.nrw.commons.databinding.ActivityWelcomeBinding
|
||||||
import fr.free.nrw.commons.databinding.PopupForCopyrightBinding
|
import fr.free.nrw.commons.databinding.PopupForCopyrightBinding
|
||||||
import fr.free.nrw.commons.quiz.QuizActivity
|
import fr.free.nrw.commons.quiz.QuizActivity
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
||||||
|
|
||||||
class WelcomeActivity : BaseActivity() {
|
class WelcomeActivity : BaseActivity() {
|
||||||
|
|
@ -23,6 +24,7 @@ class WelcomeActivity : BaseActivity() {
|
||||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityWelcomeBinding.inflate(layoutInflater)
|
binding = ActivityWelcomeBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding!!.welcomePager.rootView)
|
||||||
setContentView(binding!!.root)
|
setContentView(binding!!.root)
|
||||||
|
|
||||||
isQuiz = intent?.extras?.getBoolean("isQuiz", false) ?: false
|
isQuiz = intent?.extras?.getBoolean("isQuiz", false) ?: false
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import androidx.core.app.NavUtils
|
import androidx.core.app.NavUtils
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
import fr.free.nrw.commons.BuildConfig
|
import fr.free.nrw.commons.BuildConfig
|
||||||
import fr.free.nrw.commons.CommonsApplication
|
import fr.free.nrw.commons.CommonsApplication
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
|
|
@ -32,11 +33,13 @@ import fr.free.nrw.commons.contributions.MainActivity
|
||||||
import fr.free.nrw.commons.databinding.ActivityLoginBinding
|
import fr.free.nrw.commons.databinding.ActivityLoginBinding
|
||||||
import fr.free.nrw.commons.di.ApplicationlessInjection
|
import fr.free.nrw.commons.di.ApplicationlessInjection
|
||||||
import fr.free.nrw.commons.kvstore.JsonKvStore
|
import fr.free.nrw.commons.kvstore.JsonKvStore
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.utils.AbstractTextWatcher
|
import fr.free.nrw.commons.utils.AbstractTextWatcher
|
||||||
import fr.free.nrw.commons.utils.ActivityUtils.startActivityWithFlags
|
import fr.free.nrw.commons.utils.ActivityUtils.startActivityWithFlags
|
||||||
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
||||||
import fr.free.nrw.commons.utils.SystemThemeUtils
|
import fr.free.nrw.commons.utils.SystemThemeUtils
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.hideKeyboard
|
import fr.free.nrw.commons.utils.ViewUtil.hideKeyboard
|
||||||
|
import fr.free.nrw.commons.utils.handleKeyboardInsets
|
||||||
import fr.free.nrw.commons.utils.handleWebUrl
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import io.reactivex.disposables.CompositeDisposable
|
import io.reactivex.disposables.CompositeDisposable
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
@ -79,7 +82,14 @@ class LoginActivity : AccountAuthenticatorActivity() {
|
||||||
delegate.installViewFactory()
|
delegate.installViewFactory()
|
||||||
delegate.onCreate(savedInstanceState)
|
delegate.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
WindowCompat.getInsetsController(window, window.decorView)
|
||||||
|
.isAppearanceLightStatusBars = !isDarkTheme
|
||||||
|
|
||||||
|
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||||
|
|
||||||
binding = ActivityLoginBinding.inflate(layoutInflater)
|
binding = ActivityLoginBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding!!.root)
|
||||||
|
binding?.aboutPrivacyPolicy?.handleKeyboardInsets()
|
||||||
with(binding!!) {
|
with(binding!!) {
|
||||||
setContentView(root)
|
setContentView(root)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import android.widget.Toast
|
||||||
import fr.free.nrw.commons.BuildConfig
|
import fr.free.nrw.commons.BuildConfig
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
class SignupActivity : BaseActivity() {
|
class SignupActivity : BaseActivity() {
|
||||||
|
|
@ -21,6 +22,7 @@ class SignupActivity : BaseActivity() {
|
||||||
Timber.d("Signup Activity started")
|
Timber.d("Signup Activity started")
|
||||||
|
|
||||||
webView = WebView(this)
|
webView = WebView(this)
|
||||||
|
applyEdgeToEdgeAllInsets(webView!!)
|
||||||
with(webView!!) {
|
with(webView!!) {
|
||||||
setContentView(this)
|
setContentView(this)
|
||||||
webViewClient = MyWebViewClient()
|
webViewClient = MyWebViewClient()
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() {
|
||||||
requireDb(), projection, selection,
|
requireDb(), projection, selection,
|
||||||
selectionArgs, null, null, sortOrder
|
selectionArgs, null, null, sortOrder
|
||||||
).apply {
|
).apply {
|
||||||
setNotificationUri(requireContext().contentResolver, uri)
|
setNotificationUri(context?.contentResolver, uri)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rowsUpdated
|
return rowsUpdated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,7 +75,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() {
|
||||||
*/
|
*/
|
||||||
override fun insert(uri: Uri, contentValues: ContentValues?): Uri? {
|
override fun insert(uri: Uri, contentValues: ContentValues?): Uri? {
|
||||||
val id = requireDb().insert(TABLE_NAME, null, contentValues)
|
val id = requireDb().insert(TABLE_NAME, null, contentValues)
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return "$BASE_URI/$id".toUri()
|
return "$BASE_URI/$id".toUri()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -89,7 +89,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() {
|
||||||
"$COLUMN_ID = ?",
|
"$COLUMN_ID = ?",
|
||||||
arrayOf(uri.lastPathSegment)
|
arrayOf(uri.lastPathSegment)
|
||||||
)
|
)
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rows
|
return rows
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() {
|
||||||
requireDb(), projection, selection,
|
requireDb(), projection, selection,
|
||||||
selectionArgs, null, null, sortOrder
|
selectionArgs, null, null, sortOrder
|
||||||
)
|
)
|
||||||
cursor.setNotificationUri(requireContext().contentResolver, uri)
|
cursor.setNotificationUri(context?.contentResolver, uri)
|
||||||
|
|
||||||
return cursor
|
return cursor
|
||||||
}
|
}
|
||||||
|
|
@ -66,7 +66,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() {
|
||||||
"Parameter `selection` should be empty when updating an ID"
|
"Parameter `selection` should be empty when updating an ID"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rowsUpdated
|
return rowsUpdated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,7 +75,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() {
|
||||||
*/
|
*/
|
||||||
override fun insert(uri: Uri, contentValues: ContentValues?): Uri {
|
override fun insert(uri: Uri, contentValues: ContentValues?): Uri {
|
||||||
val id = requireDb().insert(TABLE_NAME, null, contentValues)
|
val id = requireDb().insert(TABLE_NAME, null, contentValues)
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return "$BASE_URI/$id".toUri()
|
return "$BASE_URI/$id".toUri()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -85,7 +85,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() {
|
||||||
"media_name = ?",
|
"media_name = ?",
|
||||||
arrayOf(uri.lastPathSegment)
|
arrayOf(uri.lastPathSegment)
|
||||||
)
|
)
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rows
|
return rows
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import fr.free.nrw.commons.explore.categories.sub.SubCategoriesFragment
|
||||||
import fr.free.nrw.commons.media.MediaDetailPagerFragment
|
import fr.free.nrw.commons.media.MediaDetailPagerFragment
|
||||||
import fr.free.nrw.commons.media.MediaDetailProvider
|
import fr.free.nrw.commons.media.MediaDetailProvider
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.utils.handleWebUrl
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.wikidata.model.WikiSite
|
import fr.free.nrw.commons.wikidata.model.WikiSite
|
||||||
import fr.free.nrw.commons.wikidata.model.page.PageTitle
|
import fr.free.nrw.commons.wikidata.model.page.PageTitle
|
||||||
|
|
@ -57,6 +58,7 @@ class CategoryDetailsActivity : BaseActivity(),
|
||||||
|
|
||||||
binding = ActivityCategoryDetailsBinding.inflate(layoutInflater)
|
binding = ActivityCategoryDetailsBinding.inflate(layoutInflater)
|
||||||
val view = binding.root
|
val view = binding.root
|
||||||
|
applyEdgeToEdgeAllInsets(view)
|
||||||
setContentView(view)
|
setContentView(view)
|
||||||
supportFragmentManager = getSupportFragmentManager()
|
supportFragmentManager = getSupportFragmentManager()
|
||||||
viewPagerAdapter = ViewPagerAdapter(this, supportFragmentManager)
|
viewPagerAdapter = ViewPagerAdapter(this, supportFragmentManager)
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import fr.free.nrw.commons.quiz.QuizChecker
|
||||||
import fr.free.nrw.commons.settings.SettingsFragment
|
import fr.free.nrw.commons.settings.SettingsFragment
|
||||||
import fr.free.nrw.commons.startWelcome
|
import fr.free.nrw.commons.startWelcome
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.upload.UploadProgressActivity
|
import fr.free.nrw.commons.upload.UploadProgressActivity
|
||||||
import fr.free.nrw.commons.upload.worker.WorkRequestHelper.Companion.makeOneTimeWorkRequest
|
import fr.free.nrw.commons.upload.worker.WorkRequestHelper.Companion.makeOneTimeWorkRequest
|
||||||
import fr.free.nrw.commons.utils.ViewUtilWrapper
|
import fr.free.nrw.commons.utils.ViewUtilWrapper
|
||||||
|
|
@ -112,6 +113,7 @@ class MainActivity : BaseActivity(), FragmentManager.OnBackStackChangedListener
|
||||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = MainBinding.inflate(layoutInflater)
|
binding = MainBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding!!.root)
|
||||||
setContentView(binding!!.root)
|
setContentView(binding!!.root)
|
||||||
setSupportActionBar(binding!!.toolbarBinding.toolbar)
|
setSupportActionBar(binding!!.toolbarBinding.toolbar)
|
||||||
tabLayout = binding!!.fragmentMainNavTabLayout
|
tabLayout = binding!!.fragmentMainNavTabLayout
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import androidx.core.view.ViewGroupCompat
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
import fr.free.nrw.commons.customselector.database.NotForUploadStatus
|
import fr.free.nrw.commons.customselector.database.NotForUploadStatus
|
||||||
|
|
@ -56,6 +57,8 @@ import fr.free.nrw.commons.media.ZoomableActivity
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.upload.FileUtilsWrapper
|
import fr.free.nrw.commons.upload.FileUtilsWrapper
|
||||||
import fr.free.nrw.commons.utils.CustomSelectorUtils
|
import fr.free.nrw.commons.utils.CustomSelectorUtils
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeBottomPaddingInsets
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeTopInsets
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
|
@ -198,6 +201,9 @@ class CustomSelectorActivity :
|
||||||
.fillMaxWidth(),
|
.fillMaxWidth(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
ViewGroupCompat.installCompatInsetsDispatch(binding.root)
|
||||||
|
applyEdgeToEdgeTopInsets(toolbarBinding.toolbarLayout)
|
||||||
|
bottomSheetBinding.bottomLayout.applyEdgeToEdgeBottomPaddingInsets()
|
||||||
val view = binding.root
|
val view = binding.root
|
||||||
setContentView(view)
|
setContentView(view)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import fr.free.nrw.commons.databinding.FragmentCustomSelectorBinding
|
||||||
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment
|
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment
|
||||||
import fr.free.nrw.commons.media.MediaClient
|
import fr.free.nrw.commons.media.MediaClient
|
||||||
import fr.free.nrw.commons.upload.FileProcessor
|
import fr.free.nrw.commons.upload.FileProcessor
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeBottomPaddingInsets
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -99,6 +100,7 @@ class FolderFragment : CommonsDaggerSupportFragment() {
|
||||||
selectorRV = binding?.selectorRv
|
selectorRV = binding?.selectorRv
|
||||||
loader = binding?.loader
|
loader = binding?.loader
|
||||||
with(binding?.selectorRv) {
|
with(binding?.selectorRv) {
|
||||||
|
this?.applyEdgeToEdgeBottomPaddingInsets()
|
||||||
this?.layoutManager = gridLayoutManager
|
this?.layoutManager = gridLayoutManager
|
||||||
this?.setHasFixedSize(true)
|
this?.setHasFixedSize(true)
|
||||||
this?.adapter = folderAdapter
|
this?.adapter = folderAdapter
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ import fr.free.nrw.commons.media.MediaClient
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.upload.FileProcessor
|
import fr.free.nrw.commons.upload.FileProcessor
|
||||||
import fr.free.nrw.commons.upload.FileUtilsWrapper
|
import fr.free.nrw.commons.upload.FileUtilsWrapper
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeBottomPaddingInsets
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
import kotlinx.coroutines.flow.asStateFlow
|
||||||
|
|
@ -217,6 +218,7 @@ class ImageFragment :
|
||||||
imageAdapter.setSingleSelection(singleSelection)
|
imageAdapter.setSingleSelection(singleSelection)
|
||||||
gridLayoutManager = GridLayoutManager(context, getSpanCount())
|
gridLayoutManager = GridLayoutManager(context, getSpanCount())
|
||||||
with(binding?.selectorRv) {
|
with(binding?.selectorRv) {
|
||||||
|
this?.applyEdgeToEdgeBottomPaddingInsets()
|
||||||
this?.layoutManager = gridLayoutManager
|
this?.layoutManager = gridLayoutManager
|
||||||
this?.setHasFixedSize(true)
|
this?.setHasFixedSize(true)
|
||||||
this?.adapter = imageAdapter
|
this?.adapter = imageAdapter
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import android.speech.RecognizerIntent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.activity.result.ActivityResult
|
import androidx.activity.result.ActivityResult
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import fr.free.nrw.commons.CommonsApplication
|
import fr.free.nrw.commons.CommonsApplication
|
||||||
|
|
@ -20,9 +21,11 @@ import fr.free.nrw.commons.description.EditDescriptionConstants.WIKITEXT
|
||||||
import fr.free.nrw.commons.recentlanguages.RecentLanguagesDao
|
import fr.free.nrw.commons.recentlanguages.RecentLanguagesDao
|
||||||
import fr.free.nrw.commons.settings.Prefs
|
import fr.free.nrw.commons.settings.Prefs
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeBottomInsets
|
||||||
import fr.free.nrw.commons.upload.UploadMediaDetail
|
import fr.free.nrw.commons.upload.UploadMediaDetail
|
||||||
import fr.free.nrw.commons.upload.UploadMediaDetailAdapter
|
import fr.free.nrw.commons.upload.UploadMediaDetailAdapter
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeTopPaddingInsets
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.functions.Consumer
|
import io.reactivex.functions.Consumer
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
|
|
@ -87,6 +90,10 @@ class DescriptionEditActivity :
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityDescriptionEditBinding.inflate(layoutInflater)
|
binding = ActivityDescriptionEditBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeBottomInsets(binding.btnEditSubmit)
|
||||||
|
WindowCompat.getInsetsController(window, window.decorView)
|
||||||
|
.isAppearanceLightStatusBars = false
|
||||||
|
binding.toolbar.applyEdgeToEdgeTopPaddingInsets()
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
val bundle = intent.extras
|
val bundle = intent.extras
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import dagger.Provides
|
||||||
import fr.free.nrw.commons.BetaConstants
|
import fr.free.nrw.commons.BetaConstants
|
||||||
import fr.free.nrw.commons.BuildConfig
|
import fr.free.nrw.commons.BuildConfig
|
||||||
import fr.free.nrw.commons.OkHttpConnectionFactory
|
import fr.free.nrw.commons.OkHttpConnectionFactory
|
||||||
|
import fr.free.nrw.commons.CommonHeaderRequestInterceptor
|
||||||
import fr.free.nrw.commons.actions.PageEditClient
|
import fr.free.nrw.commons.actions.PageEditClient
|
||||||
import fr.free.nrw.commons.actions.PageEditInterface
|
import fr.free.nrw.commons.actions.PageEditInterface
|
||||||
import fr.free.nrw.commons.actions.ThanksInterface
|
import fr.free.nrw.commons.actions.ThanksInterface
|
||||||
|
|
@ -60,6 +61,7 @@ class NetworkingModule {
|
||||||
.connectTimeout(120, TimeUnit.SECONDS)
|
.connectTimeout(120, TimeUnit.SECONDS)
|
||||||
.writeTimeout(120, TimeUnit.SECONDS)
|
.writeTimeout(120, TimeUnit.SECONDS)
|
||||||
.addInterceptor(httpLoggingInterceptor)
|
.addInterceptor(httpLoggingInterceptor)
|
||||||
|
.addInterceptor(CommonHeaderRequestInterceptor())
|
||||||
.readTimeout(120, TimeUnit.SECONDS)
|
.readTimeout(120, TimeUnit.SECONDS)
|
||||||
.cache(Cache(File(context.cacheDir, "okHttpCache"), OK_HTTP_CACHE_SIZE))
|
.cache(Cache(File(context.cacheDir, "okHttpCache"), OK_HTTP_CACHE_SIZE))
|
||||||
.build()
|
.build()
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ import fr.free.nrw.commons.media.MediaDetailProvider
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.utils.FragmentUtils.isFragmentUIActive
|
import fr.free.nrw.commons.utils.FragmentUtils.isFragmentUIActive
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.hideKeyboard
|
import fr.free.nrw.commons.utils.ViewUtil.hideKeyboard
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
@ -48,6 +49,7 @@ class SearchActivity : BaseActivity(), MediaDetailProvider, CategoryImagesCallba
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivitySearchBinding.inflate(layoutInflater)
|
binding = ActivitySearchBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding!!.root)
|
||||||
setContentView(binding!!.root)
|
setContentView(binding!!.root)
|
||||||
|
|
||||||
title = getString(R.string.title_activity_search)
|
title = getString(R.string.title_activity_search)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import fr.free.nrw.commons.media.MediaDetailProvider
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.upload.structure.depictions.DepictModel
|
import fr.free.nrw.commons.upload.structure.depictions.DepictModel
|
||||||
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem
|
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.utils.handleWebUrl
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.wikidata.WikidataConstants
|
import fr.free.nrw.commons.wikidata.WikidataConstants
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
|
|
@ -55,6 +56,7 @@ class WikidataItemDetailsActivity : BaseActivity(), MediaDetailProvider, Categor
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityWikidataItemDetailsBinding.inflate(layoutInflater)
|
binding = ActivityWikidataItemDetailsBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding!!.root)
|
||||||
setContentView(binding!!.root)
|
setContentView(binding!!.root)
|
||||||
supportFragmentManager = getSupportFragmentManager()
|
supportFragmentManager = getSupportFragmentManager()
|
||||||
viewPagerAdapter = ViewPagerAdapter(this, getSupportFragmentManager())
|
viewPagerAdapter = ViewPagerAdapter(this, getSupportFragmentManager())
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() {
|
||||||
else -> throw IllegalArgumentException("Unknown URI$uri")
|
else -> throw IllegalArgumentException("Unknown URI$uri")
|
||||||
}
|
}
|
||||||
|
|
||||||
cursor.setNotificationUri(requireContext().contentResolver, uri)
|
cursor.setNotificationUri(context?.contentResolver, uri)
|
||||||
|
|
||||||
return cursor
|
return cursor
|
||||||
}
|
}
|
||||||
|
|
@ -67,7 +67,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() {
|
||||||
|
|
||||||
else -> throw IllegalArgumentException("Unknown URI: $uri")
|
else -> throw IllegalArgumentException("Unknown URI: $uri")
|
||||||
}
|
}
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return "$BASE_URI/$id".toUri()
|
return "$BASE_URI/$id".toUri()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -88,7 +88,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() {
|
||||||
|
|
||||||
else -> throw IllegalArgumentException("Unknown URI - $uri")
|
else -> throw IllegalArgumentException("Unknown URI - $uri")
|
||||||
}
|
}
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rows
|
return rows
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -108,7 +108,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() {
|
||||||
}
|
}
|
||||||
sqlDB.setTransactionSuccessful()
|
sqlDB.setTransactionSuccessful()
|
||||||
sqlDB.endTransaction()
|
sqlDB.endTransaction()
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return values.size
|
return values.size
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -147,7 +147,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() {
|
||||||
|
|
||||||
else -> throw IllegalArgumentException("Unknown URI: $uri with type $uriType")
|
else -> throw IllegalArgumentException("Unknown URI: $uri with type $uriType")
|
||||||
}
|
}
|
||||||
requireContext().contentResolver.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rowsUpdated
|
return rowsUpdated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,68 @@
|
||||||
package fr.free.nrw.commons.fileusages
|
package fr.free.nrw.commons.fileusages
|
||||||
|
|
||||||
|
import android.net.Uri
|
||||||
|
import timber.log.Timber
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show where file is being used on Commons and oher wikis.
|
* Data model for displaying file usage information in the UI, including the title and link to the page.
|
||||||
*/
|
*/
|
||||||
data class FileUsagesUiModel(
|
data class FileUsagesUiModel(
|
||||||
val title: String,
|
val title: String,
|
||||||
val link: String?
|
val link: String?
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a FileUsage object to a UI model for Commons file usages.
|
||||||
|
* Creates a link to the file's page on Commons.
|
||||||
|
*/
|
||||||
fun FileUsage.toUiModel(): FileUsagesUiModel {
|
fun FileUsage.toUiModel(): FileUsagesUiModel {
|
||||||
return FileUsagesUiModel(title = title, link = "https://commons.wikimedia.org/wiki/$title")
|
// Replace spaces with underscores and URL-encode the title for the link
|
||||||
|
val encodedTitle = Uri.encode(title.replace(" ", "_"))
|
||||||
|
return FileUsagesUiModel(
|
||||||
|
title = title,
|
||||||
|
link = "https://commons.wikimedia.org/wiki/$encodedTitle"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a GlobalFileUsage object to a UI model for file usages on other wikis.
|
||||||
|
* Generates a link to the page and prefixes the title with the wiki code (e.g., "(en) Title").
|
||||||
|
*/
|
||||||
fun GlobalFileUsage.toUiModel(): FileUsagesUiModel {
|
fun GlobalFileUsage.toUiModel(): FileUsagesUiModel {
|
||||||
// link is associated with sub items under wiki group (which is not used ATM)
|
// Log input values for debugging
|
||||||
return FileUsagesUiModel(title = wiki, link = null)
|
Timber.d("Converting GlobalFileUsage: wiki=$wiki, title=$title")
|
||||||
|
|
||||||
|
// Check for invalid or empty inputs
|
||||||
|
if (wiki.isBlank() || title.isBlank()) {
|
||||||
|
Timber.w("Invalid input: wiki=$wiki, title=$title")
|
||||||
|
return FileUsagesUiModel(title = title, link = null)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extract wiki code for prefix (e.g., "en" from "en.wikipedia.org" or "enwiki")
|
||||||
|
val wikiCode = when {
|
||||||
|
wiki.contains(".") -> wiki.substringBefore(".") // e.g., "en" from "en.wikipedia.org"
|
||||||
|
wiki == "commonswiki" -> "commons"
|
||||||
|
wiki.endsWith("wiki") -> wiki.removeSuffix("wiki")
|
||||||
|
else -> wiki
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create prefixed title, e.g., "(en) Changi East Depot"
|
||||||
|
val prefixedTitle = "($wikiCode) $title"
|
||||||
|
|
||||||
|
// Determine the domain for the URL
|
||||||
|
val domain = when {
|
||||||
|
wiki.contains(".") -> wiki // Already a full domain, e.g., "en.wikipedia.org"
|
||||||
|
wiki == "commonswiki" -> "commons.wikimedia.org"
|
||||||
|
wiki.endsWith("wiki") -> wiki.removeSuffix("wiki") + ".wikipedia.org"
|
||||||
|
else -> "$wiki.wikipedia.org" // Fallback for simple codes like "en"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Normalize title: replace spaces with underscores and URL-encode
|
||||||
|
val encodedTitle = Uri.encode(title.replace(" ", "_"))
|
||||||
|
|
||||||
|
// Build the full URL
|
||||||
|
val url = "https://$domain/wiki/$encodedTitle"
|
||||||
|
Timber.d("Generated URL: $url")
|
||||||
|
|
||||||
|
return FileUsagesUiModel(title = prefixedTitle, link = url)
|
||||||
}
|
}
|
||||||
|
|
@ -25,6 +25,7 @@ import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.IntentCompat
|
import androidx.core.content.IntentCompat
|
||||||
import androidx.core.os.BundleCompat
|
import androidx.core.os.BundleCompat
|
||||||
import androidx.core.text.HtmlCompat
|
import androidx.core.text.HtmlCompat
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
import fr.free.nrw.commons.CameraPosition
|
import fr.free.nrw.commons.CameraPosition
|
||||||
import fr.free.nrw.commons.CommonsApplication
|
import fr.free.nrw.commons.CommonsApplication
|
||||||
|
|
@ -44,6 +45,8 @@ import fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.Compani
|
||||||
import fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.Companion.LAST_ZOOM
|
import fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.Companion.LAST_ZOOM
|
||||||
import fr.free.nrw.commons.utils.DialogUtil
|
import fr.free.nrw.commons.utils.DialogUtil
|
||||||
import fr.free.nrw.commons.utils.MapUtils.ZOOM_LEVEL
|
import fr.free.nrw.commons.utils.MapUtils.ZOOM_LEVEL
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeBottomInsets
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeTopPaddingInsets
|
||||||
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
|
|
@ -330,6 +333,9 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
*/
|
*/
|
||||||
private fun getToolbarUI() {
|
private fun getToolbarUI() {
|
||||||
val toolbar: ConstraintLayout = findViewById(R.id.location_picker_toolbar)
|
val toolbar: ConstraintLayout = findViewById(R.id.location_picker_toolbar)
|
||||||
|
WindowCompat.getInsetsController(window, window.decorView)
|
||||||
|
.isAppearanceLightStatusBars = false
|
||||||
|
toolbar.applyEdgeToEdgeTopPaddingInsets()
|
||||||
largeToolbarText = findViewById(R.id.location_picker_toolbar_primary_text_view)
|
largeToolbarText = findViewById(R.id.location_picker_toolbar_primary_text_view)
|
||||||
smallToolbarText = findViewById(R.id.location_picker_toolbar_secondary_text_view)
|
smallToolbarText = findViewById(R.id.location_picker_toolbar_secondary_text_view)
|
||||||
toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.primaryColor))
|
toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.primaryColor))
|
||||||
|
|
@ -460,6 +466,7 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
*/
|
*/
|
||||||
private fun addPlaceSelectedButton() {
|
private fun addPlaceSelectedButton() {
|
||||||
placeSelectedButton = findViewById(R.id.location_chosen_button)
|
placeSelectedButton = findViewById(R.id.location_chosen_button)
|
||||||
|
applyEdgeToEdgeBottomInsets(placeSelectedButton)
|
||||||
placeSelectedButton.setOnClickListener { placeSelected() }
|
placeSelectedButton.setOnClickListener { placeSelected() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -541,6 +541,7 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
binding.progressBarEdit.visibility = View.GONE
|
binding.progressBarEdit.visibility = View.GONE
|
||||||
|
binding.descriptionEdit.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onConfigurationChanged(newConfig: Configuration) {
|
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||||
|
|
@ -2128,22 +2129,17 @@ fun FileUsagesContainer(
|
||||||
val uriHandle = LocalUriHandler.current
|
val uriHandle = LocalUriHandler.current
|
||||||
|
|
||||||
Column(modifier = modifier) {
|
Column(modifier = modifier) {
|
||||||
|
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.SpaceBetween
|
horizontalArrangement = Arrangement.SpaceBetween
|
||||||
) {
|
) {
|
||||||
|
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(R.string.usages_on_commons_heading),
|
text = stringResource(R.string.usages_on_commons_heading),
|
||||||
textAlign = TextAlign.Center,
|
textAlign = TextAlign.Center,
|
||||||
style = MaterialTheme.typography.titleSmall
|
style = MaterialTheme.typography.titleSmall
|
||||||
)
|
)
|
||||||
|
IconButton(onClick = { isCommonsListExpanded = !isCommonsListExpanded }) {
|
||||||
IconButton(onClick = {
|
|
||||||
isCommonsListExpanded = !isCommonsListExpanded
|
|
||||||
}) {
|
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = if (isCommonsListExpanded) Icons.Default.KeyboardArrowUp
|
imageVector = if (isCommonsListExpanded) Icons.Default.KeyboardArrowUp
|
||||||
else Icons.Default.KeyboardArrowDown,
|
else Icons.Default.KeyboardArrowDown,
|
||||||
|
|
@ -2157,11 +2153,8 @@ fun FileUsagesContainer(
|
||||||
MediaDetailViewModel.FileUsagesContainerState.Loading -> {
|
MediaDetailViewModel.FileUsagesContainerState.Loading -> {
|
||||||
LinearProgressIndicator()
|
LinearProgressIndicator()
|
||||||
}
|
}
|
||||||
|
|
||||||
is MediaDetailViewModel.FileUsagesContainerState.Success -> {
|
is MediaDetailViewModel.FileUsagesContainerState.Success -> {
|
||||||
|
|
||||||
val data = commonsContainerState.data
|
val data = commonsContainerState.data
|
||||||
|
|
||||||
if (data.isNullOrEmpty()) {
|
if (data.isNullOrEmpty()) {
|
||||||
ListItem(headlineContent = {
|
ListItem(headlineContent = {
|
||||||
Text(
|
Text(
|
||||||
|
|
@ -2181,7 +2174,7 @@ fun FileUsagesContainer(
|
||||||
headlineContent = {
|
headlineContent = {
|
||||||
Text(
|
Text(
|
||||||
modifier = Modifier.clickable {
|
modifier = Modifier.clickable {
|
||||||
uriHandle.openUri(usage.link!!)
|
usage.link?.let { uriHandle.openUri(it) }
|
||||||
},
|
},
|
||||||
text = usage.title,
|
text = usage.title,
|
||||||
style = MaterialTheme.typography.titleSmall.copy(
|
style = MaterialTheme.typography.titleSmall.copy(
|
||||||
|
|
@ -2189,11 +2182,11 @@ fun FileUsagesContainer(
|
||||||
textDecoration = TextDecoration.Underline
|
textDecoration = TextDecoration.Underline
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
})
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
is MediaDetailViewModel.FileUsagesContainerState.Error -> {
|
is MediaDetailViewModel.FileUsagesContainerState.Error -> {
|
||||||
ListItem(headlineContent = {
|
ListItem(headlineContent = {
|
||||||
Text(
|
Text(
|
||||||
|
|
@ -2203,12 +2196,10 @@ fun FileUsagesContainer(
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
MediaDetailViewModel.FileUsagesContainerState.Initial -> {}
|
MediaDetailViewModel.FileUsagesContainerState.Initial -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
|
|
@ -2219,10 +2210,7 @@ fun FileUsagesContainer(
|
||||||
textAlign = TextAlign.Center,
|
textAlign = TextAlign.Center,
|
||||||
style = MaterialTheme.typography.titleSmall
|
style = MaterialTheme.typography.titleSmall
|
||||||
)
|
)
|
||||||
|
IconButton(onClick = { isOtherWikisListExpanded = !isOtherWikisListExpanded }) {
|
||||||
IconButton(onClick = {
|
|
||||||
isOtherWikisListExpanded = !isOtherWikisListExpanded
|
|
||||||
}) {
|
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = if (isOtherWikisListExpanded) Icons.Default.KeyboardArrowUp
|
imageVector = if (isOtherWikisListExpanded) Icons.Default.KeyboardArrowUp
|
||||||
else Icons.Default.KeyboardArrowDown,
|
else Icons.Default.KeyboardArrowDown,
|
||||||
|
|
@ -2236,11 +2224,8 @@ fun FileUsagesContainer(
|
||||||
MediaDetailViewModel.FileUsagesContainerState.Loading -> {
|
MediaDetailViewModel.FileUsagesContainerState.Loading -> {
|
||||||
LinearProgressIndicator()
|
LinearProgressIndicator()
|
||||||
}
|
}
|
||||||
|
|
||||||
is MediaDetailViewModel.FileUsagesContainerState.Success -> {
|
is MediaDetailViewModel.FileUsagesContainerState.Success -> {
|
||||||
|
|
||||||
val data = globalContainerState.data
|
val data = globalContainerState.data
|
||||||
|
|
||||||
if (data.isNullOrEmpty()) {
|
if (data.isNullOrEmpty()) {
|
||||||
ListItem(headlineContent = {
|
ListItem(headlineContent = {
|
||||||
Text(
|
Text(
|
||||||
|
|
@ -2259,16 +2244,20 @@ fun FileUsagesContainer(
|
||||||
},
|
},
|
||||||
headlineContent = {
|
headlineContent = {
|
||||||
Text(
|
Text(
|
||||||
|
modifier = Modifier.clickable {
|
||||||
|
usage.link?.let { uriHandle.openUri(it) }
|
||||||
|
},
|
||||||
text = usage.title,
|
text = usage.title,
|
||||||
style = MaterialTheme.typography.titleSmall.copy(
|
style = MaterialTheme.typography.titleSmall.copy(
|
||||||
|
color = Color(0xFF5A6AEC),
|
||||||
textDecoration = TextDecoration.Underline
|
textDecoration = TextDecoration.Underline
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
})
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
is MediaDetailViewModel.FileUsagesContainerState.Error -> {
|
is MediaDetailViewModel.FileUsagesContainerState.Error -> {
|
||||||
ListItem(headlineContent = {
|
ListItem(headlineContent = {
|
||||||
Text(
|
Text(
|
||||||
|
|
@ -2278,10 +2267,8 @@ fun FileUsagesContainer(
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
MediaDetailViewModel.FileUsagesContainerState.Initial -> {}
|
MediaDetailViewModel.FileUsagesContainerState.Initial -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import androidx.core.view.ViewGroupCompat
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
import androidx.recyclerview.widget.DividerItemDecoration
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
|
|
@ -19,8 +20,10 @@ import fr.free.nrw.commons.databinding.ActivityNotificationBinding
|
||||||
import fr.free.nrw.commons.notification.models.Notification
|
import fr.free.nrw.commons.notification.models.Notification
|
||||||
import fr.free.nrw.commons.notification.models.NotificationType
|
import fr.free.nrw.commons.notification.models.NotificationType
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeTopInsets
|
||||||
import fr.free.nrw.commons.utils.NetworkUtils
|
import fr.free.nrw.commons.utils.NetworkUtils
|
||||||
import fr.free.nrw.commons.utils.ViewUtil
|
import fr.free.nrw.commons.utils.ViewUtil
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeBottomPaddingInsets
|
||||||
import fr.free.nrw.commons.utils.handleWebUrl
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
|
|
@ -56,6 +59,9 @@ class NotificationActivity : BaseActivity() {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
isRead = intent.getStringExtra("title") == "read"
|
isRead = intent.getStringExtra("title") == "read"
|
||||||
binding = ActivityNotificationBinding.inflate(layoutInflater)
|
binding = ActivityNotificationBinding.inflate(layoutInflater)
|
||||||
|
ViewGroupCompat.installCompatInsetsDispatch(binding.root)
|
||||||
|
applyEdgeToEdgeTopInsets(binding.toolbar.toolbar)
|
||||||
|
binding.listView.applyEdgeToEdgeBottomPaddingInsets()
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
mNotificationWorkerFragment = supportFragmentManager.findFragmentByTag(
|
mNotificationWorkerFragment = supportFragmentManager.findFragmentByTag(
|
||||||
tagNotificationWorkerFragment
|
tagNotificationWorkerFragment
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import fr.free.nrw.commons.databinding.ActivityProfileBinding
|
||||||
import fr.free.nrw.commons.profile.achievements.AchievementsFragment
|
import fr.free.nrw.commons.profile.achievements.AchievementsFragment
|
||||||
import fr.free.nrw.commons.profile.leaderboard.LeaderboardFragment
|
import fr.free.nrw.commons.profile.leaderboard.LeaderboardFragment
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.utils.DialogUtil
|
import fr.free.nrw.commons.utils.DialogUtil
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
|
|
@ -61,6 +62,7 @@ class ProfileActivity : BaseActivity() {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityProfileBinding.inflate(layoutInflater)
|
binding = ActivityProfileBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding.root)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
setSupportActionBar(binding.toolbarBinding.toolbar)
|
setSupportActionBar(binding.toolbarBinding.toolbar)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,11 @@ package fr.free.nrw.commons.quiz
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat
|
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat
|
||||||
|
|
||||||
import com.facebook.drawee.drawable.ProgressBarDrawable
|
import com.facebook.drawee.drawable.ProgressBarDrawable
|
||||||
|
|
@ -15,6 +17,7 @@ import fr.free.nrw.commons.databinding.ActivityQuizBinding
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
|
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
|
|
||||||
|
|
||||||
class QuizActivity : AppCompatActivity() {
|
class QuizActivity : AppCompatActivity() {
|
||||||
|
|
@ -37,7 +40,11 @@ class QuizActivity : AppCompatActivity() {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
enableEdgeToEdge()
|
||||||
binding = ActivityQuizBinding.inflate(layoutInflater)
|
binding = ActivityQuizBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding.root)
|
||||||
|
WindowCompat.getInsetsController(window, window.decorView)
|
||||||
|
.isAppearanceLightStatusBars = true
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
quizController.initialize(this)
|
quizController.initialize(this)
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,11 @@ import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
|
|
||||||
import fr.free.nrw.commons.databinding.ActivityQuizResultBinding
|
import fr.free.nrw.commons.databinding.ActivityQuizResultBinding
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
@ -22,6 +24,7 @@ import java.io.FileOutputStream
|
||||||
|
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
import fr.free.nrw.commons.contributions.MainActivity
|
import fr.free.nrw.commons.contributions.MainActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -35,7 +38,11 @@ class QuizResultActivity : AppCompatActivity() {
|
||||||
|
|
||||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
enableEdgeToEdge()
|
||||||
binding = ActivityQuizResultBinding.inflate(layoutInflater)
|
binding = ActivityQuizResultBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding!!.root)
|
||||||
|
WindowCompat.getInsetsController(window, window.decorView)
|
||||||
|
.isAppearanceLightStatusBars = true
|
||||||
setContentView(binding?.root)
|
setContentView(binding?.root)
|
||||||
|
|
||||||
setSupportActionBar(binding?.toolbar?.toolbar)
|
setSupportActionBar(binding?.toolbar?.toolbar)
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() {
|
||||||
null,
|
null,
|
||||||
sortOrder
|
sortOrder
|
||||||
)
|
)
|
||||||
cursor.setNotificationUri(requireContext().contentResolver, uri)
|
cursor.setNotificationUri(context?.contentResolver, uri)
|
||||||
return cursor
|
return cursor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -90,7 +90,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() {
|
||||||
throw IllegalArgumentException("Parameter `selection` should be empty when updating an ID")
|
throw IllegalArgumentException("Parameter `selection` should be empty when updating an ID")
|
||||||
}
|
}
|
||||||
|
|
||||||
requireContext().contentResolver?.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rowsUpdated
|
return rowsUpdated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -105,7 +105,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() {
|
||||||
null,
|
null,
|
||||||
contentValues
|
contentValues
|
||||||
)
|
)
|
||||||
requireContext().contentResolver?.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return "$BASE_URI/$id".toUri()
|
return "$BASE_URI/$id".toUri()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,7 +119,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() {
|
||||||
"language_code = ?",
|
"language_code = ?",
|
||||||
arrayOf(uri.lastPathSegment)
|
arrayOf(uri.lastPathSegment)
|
||||||
)
|
)
|
||||||
requireContext().contentResolver?.notifyChange(uri, null)
|
context?.contentResolver?.notifyChange(uri, null)
|
||||||
return rows
|
return rows
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import fr.free.nrw.commons.databinding.ActivityReviewBinding
|
||||||
import fr.free.nrw.commons.delete.DeleteHelper
|
import fr.free.nrw.commons.delete.DeleteHelper
|
||||||
import fr.free.nrw.commons.media.MediaDetailFragment
|
import fr.free.nrw.commons.media.MediaDetailFragment
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.utils.DialogUtil
|
import fr.free.nrw.commons.utils.DialogUtil
|
||||||
import fr.free.nrw.commons.utils.ViewUtil
|
import fr.free.nrw.commons.utils.ViewUtil
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
|
|
@ -73,6 +74,7 @@ class ReviewActivity : BaseActivity() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityReviewBinding.inflate(layoutInflater)
|
binding = ActivityReviewBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding.root)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
setSupportActionBar(binding.toolbarBinding?.toolbar)
|
setSupportActionBar(binding.toolbarBinding?.toolbar)
|
||||||
|
|
@ -107,10 +109,8 @@ class ReviewActivity : BaseActivity() {
|
||||||
setUpMediaDetailFragment()
|
setUpMediaDetailFragment()
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.skipImage.setOnTouchListener { _, event ->
|
binding.skipImageInfo?.setOnTouchListener { _, event ->
|
||||||
if (event.action == MotionEvent.ACTION_UP &&
|
if (event.action == MotionEvent.ACTION_UP) {
|
||||||
event.rawX >= (binding.skipImage.right - binding.skipImage.compoundDrawables[2].bounds.width())
|
|
||||||
) {
|
|
||||||
showSkipImageInfo()
|
showSkipImageInfo()
|
||||||
true
|
true
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import android.os.Bundle
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import fr.free.nrw.commons.databinding.ActivitySettingsBinding
|
import fr.free.nrw.commons.databinding.ActivitySettingsBinding
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -21,6 +22,7 @@ class SettingsActivity : BaseActivity() {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivitySettingsBinding.inflate(layoutInflater)
|
binding = ActivitySettingsBinding.inflate(layoutInflater)
|
||||||
val view = binding.root
|
val view = binding.root
|
||||||
|
applyEdgeToEdgeAllInsets(view)
|
||||||
setContentView(view)
|
setContentView(view)
|
||||||
|
|
||||||
setSupportActionBar(binding.toolbarBinding.toolbar)
|
setSupportActionBar(binding.toolbarBinding.toolbar)
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import android.content.res.Configuration
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
import androidx.activity.enableEdgeToEdge
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Named
|
import javax.inject.Named
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
|
|
@ -36,6 +37,7 @@ abstract class BaseActivity : CommonsDaggerAppCompatActivity() {
|
||||||
1f
|
1f
|
||||||
)
|
)
|
||||||
adjustFontScale(resources.configuration, fontScale)
|
adjustFontScale(resources.configuration, fontScale)
|
||||||
|
enableEdgeToEdge()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import android.os.Build.VERSION_CODES
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.view.inputmethod.InputMethodManager
|
||||||
import android.widget.CheckBox
|
import android.widget.CheckBox
|
||||||
import androidx.activity.OnBackPressedCallback
|
import androidx.activity.OnBackPressedCallback
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
|
@ -38,6 +39,7 @@ import fr.free.nrw.commons.mwapi.UserClient
|
||||||
import fr.free.nrw.commons.nearby.Place
|
import fr.free.nrw.commons.nearby.Place
|
||||||
import fr.free.nrw.commons.settings.Prefs
|
import fr.free.nrw.commons.settings.Prefs
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import fr.free.nrw.commons.upload.ThumbnailsAdapter.OnThumbnailDeletedListener
|
import fr.free.nrw.commons.upload.ThumbnailsAdapter.OnThumbnailDeletedListener
|
||||||
import fr.free.nrw.commons.upload.categories.UploadCategoriesFragment
|
import fr.free.nrw.commons.upload.categories.UploadCategoriesFragment
|
||||||
import fr.free.nrw.commons.upload.depicts.DepictsFragment
|
import fr.free.nrw.commons.upload.depicts.DepictsFragment
|
||||||
|
|
@ -177,6 +179,7 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
|
||||||
presenter?.setupBasicKvStoreFactory { BasicKvStore(this@UploadActivity, it) }
|
presenter?.setupBasicKvStoreFactory { BasicKvStore(this@UploadActivity, it) }
|
||||||
|
|
||||||
_binding = ActivityUploadBinding.inflate(layoutInflater)
|
_binding = ActivityUploadBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(_binding!!.root, false)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
// Overrides the back button to make sure the user is prepared to lose their progress
|
// Overrides the back button to make sure the user is prepared to lose their progress
|
||||||
|
|
@ -803,6 +806,19 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
|
||||||
|
|
||||||
override fun onNextButtonClicked(index: Int) {
|
override fun onNextButtonClicked(index: Int) {
|
||||||
if (index < fragments!!.size - 1) {
|
if (index < fragments!!.size - 1) {
|
||||||
|
// Hide the keyboard before navigating to Media License screen
|
||||||
|
val isUploadCategoriesFragment = fragments!!.getOrNull(index)?.let {
|
||||||
|
it is UploadCategoriesFragment
|
||||||
|
} ?: false
|
||||||
|
if (isUploadCategoriesFragment) {
|
||||||
|
val inputMethodManager = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
|
||||||
|
currentFocus?.let { focusedView ->
|
||||||
|
inputMethodManager.hideSoftInputFromWindow(
|
||||||
|
focusedView.windowToken,
|
||||||
|
InputMethodManager.HIDE_NOT_ALWAYS
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
binding.vpUpload.setCurrentItem(index + 1, false)
|
binding.vpUpload.setCurrentItem(index + 1, false)
|
||||||
fragments!![index + 1].onBecameVisible()
|
fragments!![index + 1].onBecameVisible()
|
||||||
(binding.rvThumbnails.layoutManager as LinearLayoutManager)
|
(binding.rvThumbnails.layoutManager as LinearLayoutManager)
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import fr.free.nrw.commons.ViewPagerAdapter
|
||||||
import fr.free.nrw.commons.contributions.ContributionDao
|
import fr.free.nrw.commons.contributions.ContributionDao
|
||||||
import fr.free.nrw.commons.databinding.ActivityUploadProgressBinding
|
import fr.free.nrw.commons.databinding.ActivityUploadProgressBinding
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
|
import fr.free.nrw.commons.utils.applyEdgeToEdgeAllInsets
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -35,6 +36,7 @@ class UploadProgressActivity : BaseActivity() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityUploadProgressBinding.inflate(layoutInflater)
|
binding = ActivityUploadProgressBinding.inflate(layoutInflater)
|
||||||
|
applyEdgeToEdgeAllInsets(binding.root)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
viewPagerAdapter = ViewPagerAdapter(this, supportFragmentManager)
|
viewPagerAdapter = ViewPagerAdapter(this, supportFragmentManager)
|
||||||
binding.uploadProgressViewPager.setAdapter(viewPagerAdapter)
|
binding.uploadProgressViewPager.setAdapter(viewPagerAdapter)
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ import fr.free.nrw.commons.media.MediaDetailFragment
|
||||||
import fr.free.nrw.commons.upload.UploadActivity
|
import fr.free.nrw.commons.upload.UploadActivity
|
||||||
import fr.free.nrw.commons.upload.UploadBaseFragment
|
import fr.free.nrw.commons.upload.UploadBaseFragment
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
|
import fr.free.nrw.commons.utils.handleKeyboardInsets
|
||||||
import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE_CATEGORY
|
import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE_CATEGORY
|
||||||
import io.reactivex.Notification
|
import io.reactivex.Notification
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
|
|
@ -69,6 +70,7 @@ class UploadCategoriesFragment : UploadBaseFragment(), CategoriesContract.View {
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
binding = UploadCategoriesFragmentBinding.inflate(inflater, container, false)
|
binding = UploadCategoriesFragmentBinding.inflate(inflater, container, false)
|
||||||
|
binding!!.llContainerButtons.handleKeyboardInsets()
|
||||||
return binding!!.root
|
return binding!!.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ import fr.free.nrw.commons.upload.UploadActivity
|
||||||
import fr.free.nrw.commons.upload.UploadBaseFragment
|
import fr.free.nrw.commons.upload.UploadBaseFragment
|
||||||
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem
|
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
|
import fr.free.nrw.commons.utils.handleKeyboardInsets
|
||||||
import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE
|
import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE
|
||||||
import io.reactivex.Notification
|
import io.reactivex.Notification
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
|
|
@ -69,6 +70,7 @@ class DepictsFragment : UploadBaseFragment(), DepictsContract.View {
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
_binding = UploadDepictsFragmentBinding.inflate(inflater, container, false)
|
_binding = UploadDepictsFragmentBinding.inflate(inflater, container, false)
|
||||||
|
_binding!!.navigationButtonsContainer.handleKeyboardInsets()
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ import fr.free.nrw.commons.utils.ImageUtils.IMAGE_OK
|
||||||
import fr.free.nrw.commons.utils.ImageUtils.getErrorMessageForResult
|
import fr.free.nrw.commons.utils.ImageUtils.getErrorMessageForResult
|
||||||
import fr.free.nrw.commons.utils.NetworkUtils.isInternetConnectionEstablished
|
import fr.free.nrw.commons.utils.NetworkUtils.isInternetConnectionEstablished
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
||||||
|
import fr.free.nrw.commons.utils.handleKeyboardInsets
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
|
|
@ -153,6 +154,7 @@ class UploadMediaDetailFragment : UploadBaseFragment(), UploadMediaDetailsContra
|
||||||
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
|
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
_binding = FragmentUploadMediaDetailFragmentBinding.inflate(inflater, container, false)
|
_binding = FragmentUploadMediaDetailFragmentBinding.inflate(inflater, container, false)
|
||||||
|
_binding!!.mediaDetailCardView.handleKeyboardInsets()
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ object ConfigUtils {
|
||||||
val isBetaFlavour: Boolean = BuildConfig.FLAVOR == "beta"
|
val isBetaFlavour: Boolean = BuildConfig.FLAVOR == "beta"
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
private fun Context.getVersionName(): String =
|
private fun Context.getVersionName(): String? =
|
||||||
try {
|
try {
|
||||||
packageManager.getPackageInfo(packageName, 0).versionName
|
packageManager.getPackageInfo(packageName, 0).versionName ?: BuildConfig.VERSION_NAME
|
||||||
} catch (e: PackageManager.NameNotFoundException) {
|
} catch (e: PackageManager.NameNotFoundException) {
|
||||||
BuildConfig.VERSION_NAME
|
BuildConfig.VERSION_NAME
|
||||||
}
|
}
|
||||||
|
|
|
||||||
229
app/src/main/java/fr/free/nrw/commons/utils/EdgeToEdgeUtils.kt
Normal file
229
app/src/main/java/fr/free/nrw/commons/utils/EdgeToEdgeUtils.kt
Normal file
|
|
@ -0,0 +1,229 @@
|
||||||
|
package fr.free.nrw.commons.utils
|
||||||
|
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup.MarginLayoutParams
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsAnimationCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.marginBottom
|
||||||
|
import androidx.core.view.marginLeft
|
||||||
|
import androidx.core.view.marginRight
|
||||||
|
import androidx.core.view.marginTop
|
||||||
|
import androidx.core.view.updateLayoutParams
|
||||||
|
import androidx.core.view.updatePadding
|
||||||
|
import fr.free.nrw.commons.R
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies edge-to-edge system bar insets to a [View]’s margins using a custom adjustment block.
|
||||||
|
*
|
||||||
|
* Stores the initial margins to ensure inset calculations are additive, and applies the provided
|
||||||
|
* [block] with an [InsetsAccumulator] containing initial and system bar inset values.
|
||||||
|
*
|
||||||
|
* @param typeMask The type of window insets to apply. Defaults to [WindowInsetsCompat.Type.systemBars].
|
||||||
|
* @param shouldConsumeInsets If `true`, the insets are consumed and not propagated to child views.
|
||||||
|
* @param block Lambda applied to update [MarginLayoutParams] using the accumulated insets.
|
||||||
|
*/
|
||||||
|
fun View.applyEdgeToEdgeInsets(
|
||||||
|
typeMask: Int = WindowInsetsCompat.Type.systemBars(),
|
||||||
|
shouldConsumeInsets: Boolean = true,
|
||||||
|
block: MarginLayoutParams.(InsetsAccumulator) -> Unit
|
||||||
|
) {
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(this) { view, windowInsets ->
|
||||||
|
val insets = windowInsets.getInsets(typeMask)
|
||||||
|
|
||||||
|
val initialTop = if (view.getTag(R.id.initial_margin_top) != null) {
|
||||||
|
view.getTag(R.id.initial_margin_top) as Int
|
||||||
|
} else {
|
||||||
|
view.setTag(R.id.initial_margin_top, view.marginTop)
|
||||||
|
view.marginTop
|
||||||
|
}
|
||||||
|
|
||||||
|
val initialBottom = if (view.getTag(R.id.initial_margin_bottom) != null) {
|
||||||
|
view.getTag(R.id.initial_margin_bottom) as Int
|
||||||
|
} else {
|
||||||
|
view.setTag(R.id.initial_margin_bottom, view.marginBottom)
|
||||||
|
view.marginBottom
|
||||||
|
}
|
||||||
|
|
||||||
|
val initialLeft = if (view.getTag(R.id.initial_margin_left) != null) {
|
||||||
|
view.getTag(R.id.initial_margin_left) as Int
|
||||||
|
} else {
|
||||||
|
view.setTag(R.id.initial_margin_left, view.marginLeft)
|
||||||
|
view.marginLeft
|
||||||
|
}
|
||||||
|
|
||||||
|
val initialRight = if (view.getTag(R.id.initial_margin_right) != null) {
|
||||||
|
view.getTag(R.id.initial_margin_right) as Int
|
||||||
|
} else {
|
||||||
|
view.setTag(R.id.initial_margin_right, view.marginRight)
|
||||||
|
view.marginRight
|
||||||
|
}
|
||||||
|
|
||||||
|
val accumulator = InsetsAccumulator(
|
||||||
|
initialTop,
|
||||||
|
insets.top,
|
||||||
|
initialBottom,
|
||||||
|
insets.bottom,
|
||||||
|
initialLeft,
|
||||||
|
insets.left,
|
||||||
|
initialRight,
|
||||||
|
insets.right
|
||||||
|
)
|
||||||
|
|
||||||
|
view.updateLayoutParams<MarginLayoutParams> {
|
||||||
|
apply { block(accumulator) }
|
||||||
|
}
|
||||||
|
|
||||||
|
if(shouldConsumeInsets) WindowInsetsCompat.CONSUMED else windowInsets
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies edge-to-edge system bar insets to the top padding of the view.
|
||||||
|
*
|
||||||
|
* @param typeMask The type of window insets to apply. Defaults to [WindowInsetsCompat.Type.systemBars].
|
||||||
|
*/
|
||||||
|
fun View.applyEdgeToEdgeTopPaddingInsets(
|
||||||
|
typeMask: Int = WindowInsetsCompat.Type.systemBars(),
|
||||||
|
) {
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(this) { view, windowInsets ->
|
||||||
|
val insets = windowInsets.getInsets(typeMask)
|
||||||
|
|
||||||
|
view.updatePadding(
|
||||||
|
left = insets.left,
|
||||||
|
right = insets.right,
|
||||||
|
top = insets.top
|
||||||
|
)
|
||||||
|
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies edge-to-edge system bar insets to the bottom padding of the view.
|
||||||
|
*
|
||||||
|
* @param typeMask The type of window insets to apply. Defaults to [WindowInsetsCompat.Type.systemBars].
|
||||||
|
*/
|
||||||
|
fun View.applyEdgeToEdgeBottomPaddingInsets(
|
||||||
|
typeMask: Int = WindowInsetsCompat.Type.systemBars(),
|
||||||
|
) {
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(this) { view, windowInsets ->
|
||||||
|
val insets = windowInsets.getInsets(typeMask)
|
||||||
|
|
||||||
|
view.updatePadding(
|
||||||
|
left = insets.left,
|
||||||
|
right = insets.right,
|
||||||
|
bottom = insets.bottom
|
||||||
|
)
|
||||||
|
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies system bar insets to all margins (top, bottom, left, right) of the view.
|
||||||
|
*
|
||||||
|
* @param view The target view.
|
||||||
|
* @param shouldConsumeInsets If `true`, the insets are consumed and not propagated to child views.
|
||||||
|
*/
|
||||||
|
fun applyEdgeToEdgeAllInsets(
|
||||||
|
view: View,
|
||||||
|
shouldConsumeInsets: Boolean = true
|
||||||
|
) = view.applyEdgeToEdgeInsets(shouldConsumeInsets = shouldConsumeInsets) { insets ->
|
||||||
|
leftMargin = insets.left
|
||||||
|
rightMargin = insets.right
|
||||||
|
topMargin = insets.top
|
||||||
|
bottomMargin = insets.bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies system bar insets to the top and horizontal margins of the view.
|
||||||
|
*
|
||||||
|
* @param view The target view.
|
||||||
|
*/
|
||||||
|
fun applyEdgeToEdgeTopInsets(view: View) = view.applyEdgeToEdgeInsets { insets ->
|
||||||
|
leftMargin = insets.left
|
||||||
|
rightMargin = insets.right
|
||||||
|
topMargin = insets.top
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Applies system bar insets to the bottom and horizontal margins of the view.
|
||||||
|
*
|
||||||
|
* @param view The target view.
|
||||||
|
*/
|
||||||
|
fun applyEdgeToEdgeBottomInsets(view: View) = view.applyEdgeToEdgeInsets { insets ->
|
||||||
|
leftMargin = insets.left
|
||||||
|
rightMargin = insets.right
|
||||||
|
bottomMargin = insets.bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adjusts a [View]'s bottom margin dynamically to account for the on-screen keyboard (IME),
|
||||||
|
* ensuring the view remains visible above the keyboard during transitions.
|
||||||
|
*
|
||||||
|
* Preserves the initial margin, adjusts during IME visibility changes,
|
||||||
|
* and accounts for navigation bar insets to avoid double offsets.
|
||||||
|
*/
|
||||||
|
fun View.handleKeyboardInsets() {
|
||||||
|
var existingBottomMargin = 0
|
||||||
|
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(this) { view, windowInsets ->
|
||||||
|
existingBottomMargin = if (view.getTag(R.id.initial_margin_bottom) != null) {
|
||||||
|
view.getTag(R.id.initial_margin_bottom) as Int
|
||||||
|
} else {
|
||||||
|
view.setTag(R.id.initial_margin_bottom, view.marginBottom)
|
||||||
|
view.marginBottom
|
||||||
|
}
|
||||||
|
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
|
||||||
|
// Animate during IME transition
|
||||||
|
ViewCompat.setWindowInsetsAnimationCallback(
|
||||||
|
this,
|
||||||
|
object : WindowInsetsAnimationCompat.Callback(
|
||||||
|
DISPATCH_MODE_CONTINUE_ON_SUBTREE
|
||||||
|
) {
|
||||||
|
override fun onProgress(
|
||||||
|
insets: WindowInsetsCompat,
|
||||||
|
runningAnimations: MutableList<WindowInsetsAnimationCompat>
|
||||||
|
): WindowInsetsCompat {
|
||||||
|
val lp = layoutParams as MarginLayoutParams
|
||||||
|
val navBarInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||||
|
val imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime())
|
||||||
|
val imeVisible = insets.isVisible(WindowInsetsCompat.Type.ime())
|
||||||
|
|
||||||
|
// Avoid extra space due to system nav bar when the keyboard is shown
|
||||||
|
val imeBottomMargin = imeInsets.bottom - navBarInsets.bottom
|
||||||
|
|
||||||
|
lp.bottomMargin = if(imeVisible && imeBottomMargin >= existingBottomMargin)
|
||||||
|
imeBottomMargin + existingBottomMargin
|
||||||
|
else existingBottomMargin
|
||||||
|
|
||||||
|
layoutParams = lp
|
||||||
|
return WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Holds both initial margin values and system bar insets, providing summed values
|
||||||
|
* for each side (top, bottom, left, right) to apply in layout updates.
|
||||||
|
*/
|
||||||
|
data class InsetsAccumulator(
|
||||||
|
private val initialTop: Int,
|
||||||
|
private val insetTop: Int,
|
||||||
|
private val initialBottom: Int,
|
||||||
|
private val insetBottom: Int,
|
||||||
|
private val initialLeft: Int,
|
||||||
|
private val insetLeft: Int,
|
||||||
|
private val initialRight: Int,
|
||||||
|
private val insetRight: Int
|
||||||
|
) {
|
||||||
|
val top = initialTop + insetTop
|
||||||
|
val bottom = initialBottom + insetBottom
|
||||||
|
val left = initialLeft + insetLeft
|
||||||
|
val right = initialRight + insetRight
|
||||||
|
}
|
||||||
|
|
@ -24,6 +24,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.CompositeDisposable
|
import io.reactivex.disposables.CompositeDisposable
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
import androidx.core.graphics.createBitmap
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by blueSir9 on 3/10/17.
|
* Created by blueSir9 on 3/10/17.
|
||||||
|
|
@ -307,17 +308,20 @@ object ImageUtils {
|
||||||
* * @return
|
* * @return
|
||||||
*/
|
*/
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun addRedBorder(bitmap: Bitmap, borderSize: Int, context: Context): Bitmap {
|
fun addRedBorder(bitmap: Bitmap, borderSize: Int, context: Context): Bitmap? {
|
||||||
val bmpWithBorder = Bitmap.createBitmap(
|
return bitmap.config?.let { config ->
|
||||||
bitmap.width + borderSize * 2,
|
val bmpWithBorder =
|
||||||
bitmap.height + borderSize * 2,
|
createBitmap(
|
||||||
bitmap.config
|
width = bitmap.width + borderSize * 2,
|
||||||
|
height = bitmap.height + borderSize * 2,
|
||||||
|
config = config
|
||||||
)
|
)
|
||||||
val canvas = Canvas(bmpWithBorder)
|
val canvas = Canvas(bmpWithBorder)
|
||||||
canvas.drawColor(ContextCompat.getColor(context, R.color.deleteRed))
|
canvas.drawColor(ContextCompat.getColor(context, R.color.deleteRed))
|
||||||
canvas.drawBitmap(bitmap, borderSize.toFloat(), borderSize.toFloat(), null)
|
canvas.drawBitmap(bitmap, borderSize.toFloat(), borderSize.toFloat(), null)
|
||||||
return bmpWithBorder
|
return bmpWithBorder
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Result variable is a result of an or operation of all possible problems. Ie. if result
|
* Result variable is a result of an or operation of all possible problems. Ie. if result
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:fadeScrollbars="false"
|
android:fadeScrollbars="false"
|
||||||
android:scrollbarThumbVertical="@color/primaryColor"
|
android:scrollbarThumbVertical="@color/primaryColor"
|
||||||
|
android:clipToPadding="false"
|
||||||
android:scrollbarSize="@dimen/dimen_6"/>
|
android:scrollbarSize="@dimen/dimen_6"/>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,12 @@
|
||||||
android:id="@+id/toolbarBinding"
|
android:id="@+id/toolbarBinding"
|
||||||
layout="@layout/toolbar" />
|
layout="@layout/toolbar" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/skip_image_layout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:gravity="center">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatButton
|
<androidx.appcompat.widget.AppCompatButton
|
||||||
android:id="@+id/skip_image"
|
android:id="@+id/skip_image"
|
||||||
|
|
@ -31,16 +37,23 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:drawableEnd="@drawable/ic_info_outline_24dp"
|
android:paddingHorizontal="@dimen/tiny_padding"
|
||||||
android:drawablePadding="@dimen/medium_height"
|
|
||||||
android:drawableTint="@color/button_blue_dark"
|
|
||||||
android:paddingLeft="@dimen/medium_height"
|
|
||||||
android:paddingRight="@dimen/medium_height"
|
|
||||||
android:text="@string/skip_image"
|
android:text="@string/skip_image"
|
||||||
android:textAllCaps="true"
|
android:textAllCaps="true"
|
||||||
android:textColor="@color/button_blue_dark"
|
android:textColor="@color/button_blue_dark"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
|
android:id="@+id/skip_image_info"
|
||||||
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
|
android:tint="@color/button_blue_dark"
|
||||||
|
android:layout_width="@dimen/half_standard_height"
|
||||||
|
android:layout_height="@dimen/half_standard_height"
|
||||||
|
android:layout_marginStart="@dimen/small_gap"
|
||||||
|
android:src="@drawable/ic_info_outline_24dp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/switchWidget"
|
app:layout_constraintTop_toBottomOf="@id/switchWidget"
|
||||||
|
android:clipToPadding="false"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
app:actualImageScaleType="fitXY" />
|
app:actualImageScaleType="fitXY" />
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
|
android:id="@+id/media_detail_card_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/location_picker_toolbar"
|
android:id="@+id/location_picker_toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="78dp"
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingVertical="@dimen/small_gap"
|
||||||
tools:background="@color/primaryColor">
|
tools:background="@color/primaryColor">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@
|
||||||
android:id="@+id/rl_container_categories"
|
android:id="@+id/rl_container_categories"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:padding="@dimen/standard_gap"
|
|
||||||
android:background="?attr/mainBackground"
|
android:background="?attr/mainBackground"
|
||||||
>
|
>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_above="@+id/button_divider"
|
android:layout_above="@+id/button_divider"
|
||||||
|
android:padding="@dimen/medium_padding"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
@ -110,7 +110,8 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:padding="@dimen/standard_gap"
|
android:paddingVertical="@dimen/small_padding"
|
||||||
|
android:paddingHorizontal="@dimen/large_padding"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,35 +127,32 @@
|
||||||
android:id="@+id/button_divider"
|
android:id="@+id/button_divider"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1dp"
|
android:layout_height="1dp"
|
||||||
android:layout_above="@+id/depicts_next"
|
android:layout_above="@+id/navigation_buttons_container"
|
||||||
android:background="@color/divider_grey" />
|
android:background="@color/divider_grey" />
|
||||||
|
|
||||||
<Button
|
<LinearLayout
|
||||||
android:id="@+id/depicts_next"
|
android:id="@+id/navigation_buttons_container"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentEnd="true"
|
android:paddingHorizontal="@dimen/medium_padding"
|
||||||
android:layout_alignParentRight="true"
|
android:paddingVertical="@dimen/small_padding"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_marginEnd="24dp"
|
android:gravity="end">
|
||||||
android:layout_marginRight="24dp"
|
|
||||||
android:layout_marginBottom="24dp"
|
|
||||||
android:contentDescription="@string/next"
|
|
||||||
android:text="@string/next"
|
|
||||||
android:textColor="@android:color/white" />
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/depicts_previous"
|
android:id="@+id/depicts_previous"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless"
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_marginEnd="@dimen/standard_gap"
|
android:layout_marginEnd="@dimen/standard_gap"
|
||||||
android:layout_marginRight="@dimen/standard_gap"
|
|
||||||
android:layout_marginBottom="24dp"
|
|
||||||
android:layout_toStartOf="@id/depicts_next"
|
|
||||||
android:layout_toLeftOf="@id/depicts_next"
|
|
||||||
android:contentDescription="@string/previous"
|
android:contentDescription="@string/previous"
|
||||||
android:text="@string/previous" />
|
android:text="@string/previous" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/depicts_next"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/next"
|
||||||
|
android:text="@string/next"
|
||||||
|
android:textColor="@android:color/white" />
|
||||||
|
</LinearLayout>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
* Lolekek
|
* Lolekek
|
||||||
* Meno25
|
* Meno25
|
||||||
* Mido
|
* Mido
|
||||||
|
* Mohammed Qays
|
||||||
* Monrokhoury
|
* Monrokhoury
|
||||||
* Mr. Ibrahem
|
* Mr. Ibrahem
|
||||||
* NEHAOUA
|
* NEHAOUA
|
||||||
|
|
@ -423,7 +424,7 @@
|
||||||
<string name="Profile">الملف الشخصي</string>
|
<string name="Profile">الملف الشخصي</string>
|
||||||
<string name="badges">أوسمة</string>
|
<string name="badges">أوسمة</string>
|
||||||
<string name="statistics">إحصاءات</string>
|
<string name="statistics">إحصاءات</string>
|
||||||
<string name="statistics_thanks">تم تلقي الشكر</string>
|
<string name="statistics_thanks">شكراً جزيلاً</string>
|
||||||
<string name="statistics_featured">الصور المختارة</string>
|
<string name="statistics_featured">الصور المختارة</string>
|
||||||
<string name="statistics_wikidata_edits">صور عبر \"الأماكن المجاورة\"</string>
|
<string name="statistics_wikidata_edits">صور عبر \"الأماكن المجاورة\"</string>
|
||||||
<string name="level">المستوى %d</string>
|
<string name="level">المستوى %d</string>
|
||||||
|
|
|
||||||
|
|
@ -309,4 +309,5 @@
|
||||||
<string name="delete_helper_ask_spam_blurry">напълно размазано</string>
|
<string name="delete_helper_ask_spam_blurry">напълно размазано</string>
|
||||||
<string name="leaderboard_nearby">Наблизо</string>
|
<string name="leaderboard_nearby">Наблизо</string>
|
||||||
<string name="read_help_link">Прочетете повече</string>
|
<string name="read_help_link">Прочетете повече</string>
|
||||||
|
<string name="custom_selector_cancel">Отказ</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -232,6 +232,7 @@
|
||||||
<string name="media_detail_description">Περιγραφή</string>
|
<string name="media_detail_description">Περιγραφή</string>
|
||||||
<string name="media_detail_discussion">Συζήτηση</string>
|
<string name="media_detail_discussion">Συζήτηση</string>
|
||||||
<string name="media_detail_author">Συγγραφέας</string>
|
<string name="media_detail_author">Συγγραφέας</string>
|
||||||
|
<string name="media_detail_uploader">Ανεβαστής</string>
|
||||||
<string name="media_detail_uploaded_date">Ημερομηνία μεταφόρτωσης</string>
|
<string name="media_detail_uploaded_date">Ημερομηνία μεταφόρτωσης</string>
|
||||||
<string name="media_detail_license">Άδεια</string>
|
<string name="media_detail_license">Άδεια</string>
|
||||||
<string name="media_detail_coordinates">Συντεταγμένες</string>
|
<string name="media_detail_coordinates">Συντεταγμένες</string>
|
||||||
|
|
@ -433,7 +434,7 @@
|
||||||
<string name="deletion_reason_bad_for_my_privacy">Συνειδητοποίησα ότι είναι κακό για την ιδιωτικότητά μου</string>
|
<string name="deletion_reason_bad_for_my_privacy">Συνειδητοποίησα ότι είναι κακό για την ιδιωτικότητά μου</string>
|
||||||
<string name="deletion_reason_no_longer_want_public">Άλλαξα γνώμη, δε θέλω να προβάλλεται πλέον δημόσια</string>
|
<string name="deletion_reason_no_longer_want_public">Άλλαξα γνώμη, δε θέλω να προβάλλεται πλέον δημόσια</string>
|
||||||
<string name="deletion_reason_not_interesting">Συγγνώμη, αυτή η φωτογραφία δεν είναι ενδιαφέρουσα για μια εγκυκλοπαίδεια</string>
|
<string name="deletion_reason_not_interesting">Συγγνώμη, αυτή η φωτογραφία δεν είναι ενδιαφέρουσα για μια εγκυκλοπαίδεια</string>
|
||||||
<string name="uploaded_by_myself" fuzzy="true">Ανέβηκε από εμένα στο %1$s, χρησιμοποιήθηκε σε %2$d άρθρο/α</string>
|
<string name="uploaded_by_myself">Ανέβηκε από εμένα στο %1$s, χρησιμοποιήθηκε σε τουλάχιστον %2$d άρθρο/α.</string>
|
||||||
<string name="no_uploads">Καλώς ήρθατε στα Commons!\n\nΑνεβάστε τα πρώτα σας πολυμέσα πατώντας το κουμπί της προσθήκης.</string>
|
<string name="no_uploads">Καλώς ήρθατε στα Commons!\n\nΑνεβάστε τα πρώτα σας πολυμέσα πατώντας το κουμπί της προσθήκης.</string>
|
||||||
<string name="no_categories_selected">Δεν επιλέχθηκαν κατηγορίες</string>
|
<string name="no_categories_selected">Δεν επιλέχθηκαν κατηγορίες</string>
|
||||||
<string name="no_categories_selected_warning_desc">Οι εικόνες χωρίς κατηγορίες χρησιμοποιούνται σπάνια. Θέλετε πράγματι να συνεχίσετε δίχως να επιλέξετε κατηγορίες;</string>
|
<string name="no_categories_selected_warning_desc">Οι εικόνες χωρίς κατηγορίες χρησιμοποιούνται σπάνια. Θέλετε πράγματι να συνεχίσετε δίχως να επιλέξετε κατηγορίες;</string>
|
||||||
|
|
@ -773,7 +774,7 @@
|
||||||
<string name="permissions_are_required_for_functionality">Απαιτούνται δικαιώματα για τη λειτουργικότητα</string>
|
<string name="permissions_are_required_for_functionality">Απαιτούνται δικαιώματα για τη λειτουργικότητα</string>
|
||||||
<string name="learn_how_to_write_a_useful_description">Μάθετε πώς να γράψετε μια χρήσιμη περιγραφή</string>
|
<string name="learn_how_to_write_a_useful_description">Μάθετε πώς να γράψετε μια χρήσιμη περιγραφή</string>
|
||||||
<string name="learn_how_to_write_a_useful_caption">Μάθετε πώς να γράψετε μια χρήσιμη λεζάντα</string>
|
<string name="learn_how_to_write_a_useful_caption">Μάθετε πώς να γράψετε μια χρήσιμη λεζάντα</string>
|
||||||
<string name="see_your_achievements" fuzzy="true">Δείτε τα επιτεύγματά σας</string>
|
<string name="see_your_achievements">Δείτε τα επιτεύγματά σας</string>
|
||||||
<string name="edit_image">Επεξεργασία εικόνας</string>
|
<string name="edit_image">Επεξεργασία εικόνας</string>
|
||||||
<string name="edit_location">Επεξεργασία τοποθεσίας</string>
|
<string name="edit_location">Επεξεργασία τοποθεσίας</string>
|
||||||
<string name="location_updated">Η τοποθεσία ενημερώθηκε!</string>
|
<string name="location_updated">Η τοποθεσία ενημερώθηκε!</string>
|
||||||
|
|
@ -834,4 +835,5 @@
|
||||||
<string name="show_in_nearby">Εμφάνιση στα Κοντινά</string>
|
<string name="show_in_nearby">Εμφάνιση στα Κοντινά</string>
|
||||||
<string name="image_tag_line_created_and_uploaded_by">Δημιουργήθηκε και μεταφορτώθηκε από: %1$s</string>
|
<string name="image_tag_line_created_and_uploaded_by">Δημιουργήθηκε και μεταφορτώθηκε από: %1$s</string>
|
||||||
<string name="image_tag_line_created_by_and_uploaded_by">Δημιουργήθηκε από %1$s και μεταφορτώθηκε από %2$s</string>
|
<string name="image_tag_line_created_by_and_uploaded_by">Δημιουργήθηκε από %1$s και μεταφορτώθηκε από %2$s</string>
|
||||||
|
<string name="nominated_for_deletion_btn">Προτάθηκε για Διαγραφή</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -271,8 +271,8 @@
|
||||||
<string name="wikicode_copied">Texto wiki copiado ó portapapeis</string>
|
<string name="wikicode_copied">Texto wiki copiado ó portapapeis</string>
|
||||||
<string name="nearby_location_not_available">A localización non está dispoñible. A identificación de sitios próximos pode non funcionar correctamente.</string>
|
<string name="nearby_location_not_available">A localización non está dispoñible. A identificación de sitios próximos pode non funcionar correctamente.</string>
|
||||||
<string name="location_permission_rationale_nearby">Precísase permiso para amosar unha lista de lugares preto de aquí</string>
|
<string name="location_permission_rationale_nearby">Precísase permiso para amosar unha lista de lugares preto de aquí</string>
|
||||||
<string name="nearby_directions">COMO CHEGAR</string>
|
<string name="nearby_directions">Indicacións</string>
|
||||||
<string name="nearby_wikidata">WIKIDATA</string>
|
<string name="nearby_wikidata">Wikidata</string>
|
||||||
<string name="nearby_wikipedia">Wikipedia</string>
|
<string name="nearby_wikipedia">Wikipedia</string>
|
||||||
<string name="nearby_commons">COMMONS</string>
|
<string name="nearby_commons">COMMONS</string>
|
||||||
<string name="about_rate_us">Avalíenos</string>
|
<string name="about_rate_us">Avalíenos</string>
|
||||||
|
|
@ -354,6 +354,7 @@
|
||||||
<string name="statistics_featured">Imaxes destacadas</string>
|
<string name="statistics_featured">Imaxes destacadas</string>
|
||||||
<string name="statistics_wikidata_edits">Imaxes vía \"Lugares próximos\"</string>
|
<string name="statistics_wikidata_edits">Imaxes vía \"Lugares próximos\"</string>
|
||||||
<string name="level">Nivel %d</string>
|
<string name="level">Nivel %d</string>
|
||||||
|
<string name="profile_withLevel">%s (nivel %s)</string>
|
||||||
<string name="images_uploaded">Imaxes cargadas</string>
|
<string name="images_uploaded">Imaxes cargadas</string>
|
||||||
<string name="image_reverts">Imaxes non revertidas</string>
|
<string name="image_reverts">Imaxes non revertidas</string>
|
||||||
<string name="images_used_by_wiki">Imaxes usadas</string>
|
<string name="images_used_by_wiki">Imaxes usadas</string>
|
||||||
|
|
|
||||||
10
app/src/main/res/values-got/error.xml
Normal file
10
app/src/main/res/values-got/error.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Authors:
|
||||||
|
* Gothicspeaker
|
||||||
|
-->
|
||||||
|
<resources>
|
||||||
|
<string name="crash_dialog_title">𐌲𐌰𐌼𐌰𐌹𐌽𐌰 𐌱𐍂𐌰𐌺</string>
|
||||||
|
<string name="crash_dialog_text">𐍉. 𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸!</string>
|
||||||
|
<string name="crash_dialog_comment_prompt">𐌲𐌰𐍄𐌰𐌹𐌷 𐌿𐌽𐍃 𐍈𐌰 𐌸𐌰𐍄𐌴𐌹 𐍄𐌰𐍅𐌹𐌳𐌴𐍃, 𐌸𐌰𐌽𐌿𐌷 𐌸𐌰𐌽 𐌳𐌰𐌹𐌻𐌴𐌹 𐌸𐌰𐌹𐍂𐌷 𐌴-𐌱𐍉𐌺𐍉𐍃. 𐌷𐌹𐌻𐍀𐌹𐌸 𐌿𐌽𐍃𐌰𐍂𐌰 𐌲𐌰𐌱𐍉𐍄𐌾𐌰𐌽!</string>
|
||||||
|
<string name="crash_dialog_ok_toast">𐌰𐍅𐌹𐌻𐌹𐌿𐌳𐍉𐌼 𐌸𐌿𐍃!</string>
|
||||||
|
</resources>
|
||||||
349
app/src/main/res/values-got/strings.xml
Normal file
349
app/src/main/res/values-got/strings.xml
Normal file
|
|
@ -0,0 +1,349 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Authors:
|
||||||
|
* Gothicspeaker
|
||||||
|
-->
|
||||||
|
<resources>
|
||||||
|
<string name="commons_facebook">𐌲𐌰𐌼𐌰𐌹𐌽𐌰 𐌻𐌰𐌿𐍆𐍃 𐍆𐌴𐍃𐌱𐌿𐌺𐍃</string>
|
||||||
|
<string name="commons_github">𐌲𐌰𐌼𐌰𐌹𐌽𐌰 𐌲𐌹𐍄𐌷𐌰𐌱𐍃 𐌺𐍉𐌳𐌿𐍃 𐌱𐍂𐌿𐌽𐌽𐌹𐌽𐍃</string>
|
||||||
|
<string name="commons_logo">𐌲𐌰𐌼𐌰𐌹𐌽𐌰 𐌻𐍉𐌲𐍉</string>
|
||||||
|
<string name="commons_website">𐌲𐌰𐌼𐌰𐌹𐌽𐌰 𐌽𐌰𐍄𐌾𐌰𐍃𐍄𐌰𐌸𐍃</string>
|
||||||
|
<string name="exit_location_picker">𐍃𐍄𐌰𐌳𐌹𐍃 𐌽𐌹𐌼𐌰𐌽𐌳 𐌰𐍆𐌻𐌴𐌹𐌸𐌰𐌽</string>
|
||||||
|
<string name="submit">𐍃𐌰𐌽𐌳𐌾𐌰𐌽</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>
|
||||||
|
<string name="starting_uploads">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰 𐌳𐌿𐌲𐌹𐌽𐌽𐌰𐌽𐌳</string>
|
||||||
|
<plurals name="multiple_uploads_title">
|
||||||
|
<item quantity="other">𐌰𐌹𐌽=%d 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂</item>
|
||||||
|
</plurals>
|
||||||
|
<string name="navigation_item_explore">𐌱𐌹𐌲𐌹𐍄𐌰𐌽</string>
|
||||||
|
<string name="preference_category_general">𐌲𐌰𐌼𐌰𐌹𐌽</string>
|
||||||
|
<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">𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽</string>
|
||||||
|
<string name="forgot_password">𐌿𐍆𐌰𐍂𐌼𐌿𐌽𐌽𐍉𐌳𐌴𐍃 𐍂𐌿𐌽𐌰𐍅𐌰𐌿𐍂𐌳𐌰?</string>
|
||||||
|
<string name="signup">𐌰𐌽𐌰𐌼𐌴𐌻𐌾𐌰𐌽</string>
|
||||||
|
<string name="logging_in_title">𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽𐌳𐍉…</string>
|
||||||
|
<string name="logging_in_message">𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌱𐌴𐌹𐌳𐌰𐌽...</string>
|
||||||
|
<string name="updating_caption_message">𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌱𐌴𐌹𐌳𐌰𐌽...</string>
|
||||||
|
<string name="login_success">𐌰𐍄𐌲𐌰𐌲𐌲 𐍅𐌰𐍂𐌸!</string>
|
||||||
|
<string name="login_failed">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽!</string>
|
||||||
|
<string name="upload_failed">𐍆𐌰𐌾𐌻 𐌱𐌹𐌲𐌹𐍄𐌰𐌽 𐌽𐌹𐍃𐍄. 𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐍃𐍉𐌺𐌾𐌰𐌽 𐌰𐌽𐌸𐌰𐍂 𐍆𐌰𐌾𐌻.</string>
|
||||||
|
<string name="uploading_started">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂 𐌳𐌿𐌲𐌰𐌽𐌽!</string>
|
||||||
|
<string name="uploading_queued">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂 𐌱𐌴𐌹𐌳𐌹𐌸 (𐌰𐌽𐌰𐌻𐌰𐌲𐌹𐌸 𐌹𐍃𐍄 𐌼𐍉𐌳𐌿𐍃 𐌲𐌰𐍅𐌹𐍃𐍃𐌰𐌹𐍃 𐌲𐌰𐌼𐌰𐍂𐌺𐍉𐌸)</string>
|
||||||
|
<string name="upload_completed_notification_title">%1$s 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰𐌽!</string>
|
||||||
|
<string name="upload_completed_notification_text">𐌸𐍂𐌿𐌺𐌾𐌰𐌽 𐌳𐌿 𐍃𐌰𐌹𐍈𐌰𐌽 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂 𐌸𐌴𐌹𐌽</string>
|
||||||
|
<string name="upload_progress_notification_title_start">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌳𐌰 𐍆𐌰𐌾𐌻: %s</string>
|
||||||
|
<string name="upload_progress_notification_title_in_progress">%1$s 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌳𐌰</string>
|
||||||
|
<string name="upload_failed_notification_subtitle">𐌸𐍂𐌿𐌺𐌾𐌰𐌽 𐌳𐌿 𐍃𐌰𐌹𐍈𐌰𐌽</string>
|
||||||
|
<string name="upload_paused_notification_subtitle">𐌸𐍂𐌿𐌺𐌾𐌰𐌽 𐌳𐌿 𐍃𐌰𐌹𐍈𐌰𐌽</string>
|
||||||
|
<string name="title_activity_contributions">𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐌰 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰 𐌼𐌴𐌹𐌽𐌰</string>
|
||||||
|
<string name="menu_from_gallery">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌹𐌷𐌰𐌻𐌻𐍉𐍃</string>
|
||||||
|
<string name="menu_from_camera">𐌽𐌹𐌼 𐌻𐌹𐌿𐌷𐌰𐌳𐌰𐌼𐌴𐌻𐌹</string>
|
||||||
|
<string name="menu_nearby">𐌽𐌴𐍈𐌰</string>
|
||||||
|
<string name="provider_contributions">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰 𐌼𐌴𐌹𐌽𐌰</string>
|
||||||
|
<string name="menu_share">𐌳𐌰𐌹𐌻𐌾𐌰𐌽</string>
|
||||||
|
<string name="menu_view_file_page">𐍆𐌰𐌾𐌻𐌹𐍃 𐌻𐌰𐌿𐍆 𐍃𐌰𐌹𐍈𐌰𐌽</string>
|
||||||
|
<string name="share_title_hint">𐌿𐍆𐌼𐌴𐌻𐌴𐌹𐌽𐍃 (𐌸𐌰𐌿𐍂𐍆𐍄𐍃 𐌹𐍃𐍄)</string>
|
||||||
|
<string name="share_caption_hint">𐌿𐍆𐌼𐌴𐌻𐌴𐌹𐌽𐍃</string>
|
||||||
|
<string name="login_failed_generic">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽</string>
|
||||||
|
<string name="share_upload_button">𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽</string>
|
||||||
|
<string name="multiple_share_base_title">𐌷𐌰𐌹𐍄 𐌸𐌰𐍄𐌰 𐌷𐌿𐌶𐌳</string>
|
||||||
|
<string name="provider_modifications">𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍉𐍃</string>
|
||||||
|
<string name="menu_upload_single">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽</string>
|
||||||
|
<string name="categories_search_text_hint">𐍃𐍉𐌺𐌽𐌰𐌹𐍃 𐌺𐌿𐌽𐌾𐌰</string>
|
||||||
|
<string name="menu_save_categories">𐌲𐌰𐍆𐌰𐍃𐍄𐌰𐌽</string>
|
||||||
|
<string name="refresh_button">𐌰𐍆𐍄𐍂𐌰𐌰𐌽𐌰𐌽𐌹𐌿𐌾𐌰𐌽</string>
|
||||||
|
<string name="display_list_button">𐍅𐌹𐌺𐍉</string>
|
||||||
|
<string name="contributions_subtitle_zero">(𐌽𐌹 𐌽𐌰𐌿𐌷 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰)</string>
|
||||||
|
<string name="categories_not_found">𐌽𐌹 𐌺𐌿𐌽𐌾𐌰 𐌲𐌰𐌻𐌴𐌹𐌺𐍉𐌽𐌳𐍉𐌽𐌰 %1$s 𐌱𐌹𐌲𐌹𐍄𐌰𐌽𐌰</string>
|
||||||
|
<string name="categories_activity_title">𐌺𐌿𐌽𐌾𐌰</string>
|
||||||
|
<string name="title_activity_settings">𐌻𐌰𐌲𐌴𐌹𐌽𐍉𐍃</string>
|
||||||
|
<string name="title_activity_signup">𐌰𐌽𐌰𐌼𐌴𐌻𐌾𐌰𐌽</string>
|
||||||
|
<string name="title_activity_category_details">𐌺𐌿𐌽𐌹</string>
|
||||||
|
<string name="menu_about">𐌱𐌹</string>
|
||||||
|
<string name="title_activity_about">𐌱𐌹</string>
|
||||||
|
<string name="menu_retry_upload">𐌰𐍆𐍄𐍂𐌰 𐍃𐍉𐌺𐌾𐌰𐌽</string>
|
||||||
|
<string name="menu_cancel_upload">𐍃𐍅𐌴𐌹𐌱𐌰𐌽</string>
|
||||||
|
<string name="menu_download">𐌰𐍄𐌳𐍂𐌰𐌲𐌰𐌽</string>
|
||||||
|
<string name="preference_theme">𐌸𐌰𐌹𐌼𐌰</string>
|
||||||
|
<string name="tutorial_1_subtext">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌸𐌴𐌹𐌽𐍉𐍃 𐌷𐌹𐌻𐍀𐌰𐌽𐌳 𐌻𐌰𐌹𐍃𐌴𐌹𐌽𐌰𐌹𐍃 𐌼𐌰𐌽𐌽𐌴 𐌹𐌽 𐍆𐌰𐌹𐍂𐍈𐌰𐌿!</string>
|
||||||
|
<string name="tutorial_2_subtext_1">𐍅𐌹𐍃𐍄𐌴𐌹𐌲𐍉𐍃 𐍅𐌰𐌹𐌷𐍄𐍃 (𐌱𐌻𐍉𐌼𐌰𐌽𐍃, 𐌳𐌹𐌿𐌶𐌰, 𐍆𐌰𐌹𐍂𐌲𐌿𐌽𐌾𐌰)</string>
|
||||||
|
<string name="tutorial_3_text">𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌽𐌹 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽:</string>
|
||||||
|
<string name="tutorial_3_subtext_1">𐍃𐌹𐌻𐌱𐌴𐌹𐌽𐍃 𐌸𐌰𐌿 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐍆𐍂𐌹𐌾𐍉𐌽𐌳𐌴 𐌸𐌴𐌹𐌽𐌰𐌹𐌶𐌴</string>
|
||||||
|
<string name="tutorial_3_subtext_2">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌸𐍉𐌶𐌴𐌹 𐌰𐍄𐌳𐍂𐌰𐌲𐍄 𐌰𐍆 𐌲𐌰𐌽𐌰𐍄𐌾𐌰</string>
|
||||||
|
<string name="tutorial_4_text">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌹𐍃:</string>
|
||||||
|
<string name="tutorial_4_subtext_1">𐌿𐍆𐌰𐍂𐌼𐌴𐌻𐌹: 𐍃𐌹𐌳𐌽𐌴𐌹 𐍉𐍀𐌰𐌹𐍂𐌰𐌲𐌰𐍂𐌳𐍃</string>
|
||||||
|
<string name="welcome_wikipedia_text">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌸𐌴𐌹𐌽𐍉𐍃 𐌱𐌹𐌰𐌹𐌺𐌰𐌽. 𐌷𐌹𐌻𐍀 𐌻𐌰𐌿𐌱𐌴 𐍅𐌹𐌺𐌹𐍀𐌰𐌹𐌳𐌾𐍉𐍃 𐌲𐌰𐌵𐌹𐌿𐌾𐌰𐌽!</string>
|
||||||
|
<string name="welcome_wikipedia_subtext">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌰𐌽𐌰 𐍅𐌹𐌺𐌹𐍀𐌰𐌹𐌳𐌾𐌰𐌹 𐌵𐌹𐌼𐌰𐌽𐌳𐌴𐌹𐌽𐍃 𐍆𐍂𐌰𐌼 𐍅𐌹𐌺𐌹𐌼𐌰𐌹𐌳𐌾𐌰𐌹 𐌲𐌰𐌼𐌰𐌹𐌽𐌰𐌹.</string>
|
||||||
|
<string name="welcome_copyright_text">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌸𐌴𐌹𐌽𐍉𐍃 𐌷𐌹𐌻𐍀𐌰𐌽𐌳 𐌻𐌰𐌹𐍃𐌴𐌹𐌽𐌰𐌹𐍃 𐌼𐌰𐌽𐌽𐌴 𐌹𐌽 𐍆𐌰𐌹𐍂𐍈𐌰𐌿.</string>
|
||||||
|
<string name="welcome_final_text">𐌸𐌰𐌲𐌺𐌾𐌹𐍃 𐌸𐌰𐍄𐌴𐌹 𐍆𐍂𐍉𐍃𐍄?</string>
|
||||||
|
<string name="welcome_final_button_text">𐌾𐌰𐌹!</string>
|
||||||
|
<string name="welcome_help_button_text">𐌼𐌰𐌹𐍃 𐌺𐌿𐌽𐌸𐌹</string>
|
||||||
|
<string name="detail_panel_cats_label">𐌺𐌿𐌽𐌾𐌰</string>
|
||||||
|
<string name="detail_panel_cats_none">𐌽𐌹 𐍅𐌰𐌹𐌷𐍄 𐌲𐌰𐍅𐌰𐌻𐌹𐌸</string>
|
||||||
|
<string name="detail_discussion_empty">𐌽𐌹 𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌹</string>
|
||||||
|
<string name="menu_refresh">𐌰𐍆𐍄𐍂𐌰𐌰𐌽𐌰𐌽𐌹𐌿𐌾𐌰𐌽</string>
|
||||||
|
<string name="ok">𐍅𐌰𐌹𐌻𐌰</string>
|
||||||
|
<string name="warning">𐍈𐍉𐍄𐌰</string>
|
||||||
|
<string name="duplicate_file_name">𐍃𐌰𐌼𐍉 𐌽𐌰𐌼𐍉 𐍆𐌰𐌾𐌻𐌹𐍃 𐌱𐌹𐌲𐌹𐍄𐌰𐌽</string>
|
||||||
|
<string name="upload">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽</string>
|
||||||
|
<string name="yes">𐌾𐌰𐌹</string>
|
||||||
|
<string name="no">𐌽𐌴</string>
|
||||||
|
<string name="media_detail_caption">𐌿𐍆𐌼𐌴𐌻𐌴𐌹𐌽𐍃</string>
|
||||||
|
<string name="media_detail_title">𐌿𐍆𐌰𐍂𐌼𐌴𐌻𐌹</string>
|
||||||
|
<string name="media_detail_discussion">𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌹</string>
|
||||||
|
<string name="media_detail_author">𐌱𐍉𐌺𐌰𐍂𐌴𐌹𐍃</string>
|
||||||
|
<string name="media_detail_uploader">𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽𐌳𐍃</string>
|
||||||
|
<string name="media_detail_coordinates">𐌲𐌰𐍄𐌴𐍅𐍉𐍃</string>
|
||||||
|
<string name="media_detail_coordinates_empty">𐌽𐌹 𐌲𐌹𐌱𐌰𐌽</string>
|
||||||
|
<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>
|
||||||
|
<string name="welcome_image_rainbow_bridge">𐌱𐍂𐌿𐌳𐌳𐌹 𐍂𐌹𐌲𐌽𐌰𐌱𐌿𐌲𐌹𐌽𐍃</string>
|
||||||
|
<string name="welcome_image_tulip">𐍄𐍅𐌻𐌹𐍀</string>
|
||||||
|
<string name="welcome_image_welcome_wikipedia">𐍅𐌹𐌻𐌾𐌰𐌵𐌿𐌼𐌰 𐍅𐌹𐌺𐌹𐍀𐌰𐌹𐌳𐌾𐍉𐍃</string>
|
||||||
|
<string name="cancel">𐍃𐍅𐌴𐌹𐌱𐌰𐌽</string>
|
||||||
|
<string name="navigation_drawer_open">𐌿𐍃𐌻𐌿𐌺𐌰𐌽</string>
|
||||||
|
<string name="navigation_drawer_close">𐌻𐌿𐌺𐌰𐌽</string>
|
||||||
|
<string name="navigation_item_home">𐌲𐌰𐍂𐌳𐍃</string>
|
||||||
|
<string name="navigation_item_upload">𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽</string>
|
||||||
|
<string name="navigation_item_nearby">𐌽𐌴𐍈𐌰</string>
|
||||||
|
<string name="navigation_item_about">𐌱𐌹</string>
|
||||||
|
<string name="navigation_item_settings">𐌻𐌰𐌲𐌴𐌹𐌽𐍉𐍃</string>
|
||||||
|
<string name="navigation_item_logout">𐌰𐍆𐌻𐌴𐌹𐌸𐌰𐌽</string>
|
||||||
|
<string name="navigation_item_info">𐌿𐍃𐌸𐍂𐍉𐌸𐌴𐌹𐌽𐍃 𐌻𐌰𐌹𐍃𐌴𐌹𐌽𐌰𐌹𐍃</string>
|
||||||
|
<string name="nearby_info_menu_commons_article">𐌻𐌰𐌿𐍆𐍃 𐍆𐌰𐌾𐌻𐌹𐍃 𐌲𐌰𐌼𐌰𐌹𐌽𐍃</string>
|
||||||
|
<string name="nearby_info_menu_wikipedia_article">𐌻𐌰𐌿𐍆𐍃 𐍅𐌹𐌺𐌹𐍀𐌰𐌹𐌳𐌾𐍉𐍃</string>
|
||||||
|
<string name="upload_problem_exist">𐌼𐌰𐌷𐍄𐌴𐌹𐌲𐍉𐍃 𐌰𐌹𐍂𐌶𐌴𐌹𐌽𐍃 𐌸𐌹𐌶𐌰𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌰𐌹:</string>
|
||||||
|
<string name="upload_problem_image_dark">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌿𐍆𐌰𐍂𐍂𐌹𐌵𐌹𐌶𐌰 𐌹𐍃𐍄.</string>
|
||||||
|
<string name="upload_problem_image_blurry">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐍃𐌺𐌴𐌹𐍂𐌰 𐌽𐌹𐍃𐍄.</string>
|
||||||
|
<string name="upload_problem_image_duplicate">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌾𐌿 𐌹𐍃𐍄 𐌰𐌽𐌰 𐌲𐌰𐌼𐌰𐌹𐌽𐌰𐌹𐌼.</string>
|
||||||
|
<string name="upload_problem_different_geolocation">𐍃𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌰𐍄 𐌰𐌽𐌸𐌰𐍂𐌰𐌼𐌼𐌰 𐍃𐍄𐌰𐌳𐌰 𐌽𐌿𐌼𐌰𐌽𐌰 𐍅𐌰𐍃.</string>
|
||||||
|
<string name="upload_problem_fbmd">𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌸𐌰𐍄𐌰𐌹𐌽𐌴𐌹 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌹𐌽𐍃 𐌽𐌿𐌼𐌰𐌽𐍉𐍃 𐍆𐍂𐌰𐌼 𐌸𐌿𐍃 𐍃𐌹𐌻𐌱𐌹𐌽. 𐌽𐌹 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌹𐌽𐍃 𐌸𐍉𐌶𐌴𐌹 𐌱𐌹𐌲𐌰𐍃𐍄 𐌰𐌽𐌰 𐍆𐌴𐍃𐌱𐌿𐌺 𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐌹𐌼 𐌰𐌽𐌸𐌰𐍂𐌰𐌹𐌶𐌴.</string>
|
||||||
|
<string name="upload_problem_do_you_continue">𐍅𐌹𐌻𐌴𐌹𐌶𐌿 𐌽𐌰𐌿𐌷 𐌸𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽?</string>
|
||||||
|
<string name="upload_connection_error_alert_title">𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸 𐌲𐌰𐍅𐌹𐍃𐍃𐌰𐌹</string>
|
||||||
|
<string name="upload_problem_image">𐌰𐌹𐍂𐌶𐌴𐌹𐌽𐍃 𐌱𐌹𐌲𐌹𐍄𐌰𐌽𐍉𐍃 𐌹𐌽 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌰𐌹</string>
|
||||||
|
<string name="use_external_storage">𐌹𐌽-𐌰𐍀𐍀 𐍃𐌺𐌰𐌿𐍄𐌰𐌽𐍃 𐌲𐌰𐍆𐌰𐍃𐍄𐌰𐌽</string>
|
||||||
|
<string name="login_to_your_account">𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽 𐌳𐌿 𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐌰𐌹 𐌸𐌴𐌹𐌽𐌰𐌹</string>
|
||||||
|
<string name="send_log_file">𐌻𐌰𐌿𐌲 𐍆𐌰𐌾𐌻 𐍃𐌰𐌽𐌳𐌾𐌰𐌽</string>
|
||||||
|
<string name="null_url">𐌰𐌹𐍂𐌶𐌴𐌹! 𐌿𐍂𐌻 𐌽𐌹 𐌱𐌹𐌲𐌹𐍄𐌰𐌽</string>
|
||||||
|
<string name="nominate_deletion">𐌲𐌰𐌳𐍉𐌼𐌾𐌰𐌽 𐍆𐍂𐌰𐌵𐌹𐍃𐍄𐌴𐌹𐌽𐌰𐌹</string>
|
||||||
|
<string name="nominated_for_deletion">𐍃𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌲𐌰𐌳𐍉𐌼𐌹𐌳𐌰 𐌹𐍃𐍄 𐍆𐍂𐌰𐌵𐌹𐍃𐍄𐌴𐌹𐌽𐌰𐌹</string>
|
||||||
|
<string name="nominated_see_more">𐍃𐌰𐌹𐍈 𐌽𐌰𐍄𐌾𐌰𐍃𐍄𐌰𐌸 𐌼𐌰𐌹𐌶𐍉 𐌺𐌿𐌽𐌸𐌾𐌰.</string>
|
||||||
|
<string name="navigation_item_login">𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽</string>
|
||||||
|
<string name="skip_login_message">𐍃𐌺𐌰𐌻𐍄 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽 𐌳𐌿 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌹𐌽𐍃 𐌹𐌽 𐌰𐌽𐌰𐍅𐌰𐌹𐍂𐌸𐌰.</string>
|
||||||
|
<string name="login_alert_message">𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌰𐍄𐌲𐌰𐌲𐌲 𐌳𐌿 𐌱𐍂𐌿𐌺𐌾𐌰𐌽 𐌸𐌹𐌶𐍉𐍃 𐌼𐌰𐌷𐍄𐌰𐌹𐍃</string>
|
||||||
|
<string name="nearby_location_not_available">𐌽𐌴𐍈𐌰 𐌼𐌰𐌲𐌹 𐌽𐌹 𐍅𐌰𐌹𐌻𐌰 𐍅𐌰𐌿𐍂𐌺𐌾𐌰𐌽, 𐍃𐍄𐌰𐌸𐍃 𐌽𐌹𐍃𐍄.</string>
|
||||||
|
<string name="nearby_wikidata">𐍅𐌹𐌺𐌹𐌳𐌰𐍄𐌰</string>
|
||||||
|
<string name="nearby_wikipedia">𐍅𐌹𐌺𐌹𐍀𐌰𐌹𐌳𐌾𐌰</string>
|
||||||
|
<string name="nearby_commons">𐌲𐌰𐌼𐌰𐌹𐌽𐌰</string>
|
||||||
|
<string name="about_rate_us">𐌲𐌹𐍆 𐌿𐌽𐍃 𐍅𐌰𐌹𐍂𐌸</string>
|
||||||
|
<string name="about_faq">𐍆𐌹𐌻𐌿 𐍆𐍂𐌰𐌹𐌷𐌽𐌰𐌽𐍉𐍃 𐌱𐌹𐌳𐍉𐍃</string>
|
||||||
|
<string name="user_guide">𐌷𐌰𐌽𐌳𐌿𐌱𐍉𐌺𐍉𐍃 𐌱𐍂𐌿𐌺𐌾𐌹𐌽𐍃</string>
|
||||||
|
<string name="no_internet">𐌲𐌰𐌽𐌰𐍄𐌹 𐌽𐌹𐍃𐍄</string>
|
||||||
|
<string name="about_translate">𐍃𐌺𐌴𐌹𐍂𐌾𐌰𐌽</string>
|
||||||
|
<string name="about_translate_title">𐍂𐌰𐌶𐌳𐍉𐍃</string>
|
||||||
|
<string name="about_translate_message">𐍅𐌰𐌻𐌴𐌹 𐍂𐌰𐌶𐌳𐌰 𐌸𐌹𐌶𐌰𐌹𐌴𐌹 𐍅𐌹𐌻𐌴𐌹𐍃 𐌹𐌽𐍃𐌰𐌽𐌳𐌾𐌰𐌽 𐍃𐌺𐌴𐌹𐍂𐌴𐌹𐌽𐌹𐌽𐍃</string>
|
||||||
|
<string name="about_translate_proceed">𐌸𐌰𐌹𐍂𐌷𐍅𐌹𐍃</string>
|
||||||
|
<string name="about_translate_cancel">𐍃𐍅𐌴𐌹𐌱𐌰𐌽</string>
|
||||||
|
<string name="retry">𐌰𐍆𐍄𐍂𐌰 𐍃𐍉𐌺𐌾𐌰𐌽</string>
|
||||||
|
<string name="showcase_view_needs_photo">𐍃𐌰 𐍃𐍄𐌰𐌸𐍃 𐌸𐌰𐍂𐍆 𐌻𐌹𐌿𐌷𐌰𐌳𐌰𐌼𐌴𐌻𐌾𐌹𐍃.</string>
|
||||||
|
<string name="showcase_view_has_photo">𐍃𐌰 𐍃𐍄𐌰𐌸𐍃 𐌾𐌿𐌸𐌰𐌽 𐌷𐌰𐌱𐌰𐌹𐌸 𐌻𐌹𐌿𐌷𐌰𐌳𐌰𐌼𐌴𐌻𐌹.</string>
|
||||||
|
<string name="showcase_view_no_longer_exists">𐍃𐌰 𐍃𐍄𐌰𐌸𐍃 𐌸𐌰𐌽𐌰𐌼𐌰𐌹𐍃 𐌽𐌹𐍃𐍄.</string>
|
||||||
|
<string name="no_images_found">𐌽𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌱𐌹𐌲𐌹𐍄𐌰𐌽𐍉𐍃!</string>
|
||||||
|
<string name="error_loading_images">𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸 𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌹𐌽𐍃</string>
|
||||||
|
<string name="app_widget_heading">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌳𐌰𐌲𐌹𐍃</string>
|
||||||
|
<string name="menu_search_button">𐍃𐍉𐌺𐌽𐍃</string>
|
||||||
|
<string name="search_commons">𐌲𐌰𐌼𐌰𐌹𐌽𐌰 𐍃𐍉𐌺𐌾𐌰𐌽</string>
|
||||||
|
<string name="title_activity_search">𐍃𐍉𐌺𐌾𐌰𐌽</string>
|
||||||
|
<string name="search_recent_header">𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐍉𐍃 𐍃𐍉𐌺𐌽𐌴𐌹𐍃:</string>
|
||||||
|
<string name="search_tab_title_media">𐌼𐌰𐌹𐌳𐌾𐌰</string>
|
||||||
|
<string name="search_tab_title_categories">𐌺𐌿𐌽𐌾𐌰</string>
|
||||||
|
<string name="explore_tab_title_map">𐌺𐌰𐍂𐍄𐌰</string>
|
||||||
|
<string name="quiz_question_string">𐌹𐍃𐍄 𐍃𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌲𐍉𐌳𐌰 𐌳𐌿 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽?</string>
|
||||||
|
<string name="question">𐌱𐌴𐌹𐌳𐌰</string>
|
||||||
|
<string name="result">𐍄𐌰𐌿𐌹</string>
|
||||||
|
<string name="construction_event_answer">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌱𐌰𐌽𐌳𐍅𐌾𐌰𐌽𐌳𐌴𐌹𐌽𐍃 𐍄𐍉𐌾𐌰𐌻𐌴𐌹𐍃𐌴𐌹𐌽 𐌸𐌰𐌿 𐌿𐍃𐌼𐌴𐍄 𐌲𐌰𐌹𐍂𐌽𐌾𐌰𐌱𐌰 𐍅𐌹𐌻𐌴𐌹𐌼𐌰 𐌰𐌽𐌰 𐌲𐌰𐌼𐌰𐌹𐌽𐌰𐌹𐌼.</string>
|
||||||
|
<string name="congratulatory_message_quiz">%1$s 𐌰𐌽𐌳𐌰𐌷𐌰𐍆𐍄𐌴 𐌸𐌴𐌹𐌽𐌰𐌹𐌶𐍉 𐍂𐌰𐌹𐌷𐍄𐍉𐍃 𐍅𐌴𐍃𐌿𐌽.\n𐍅𐌰𐌹𐌻𐌰 𐌲𐌰𐍄𐌰𐍅𐌹𐌳𐌴𐍃!</string>
|
||||||
|
<string name="warning_for_no_answer">𐍅𐌰𐌻𐌴𐌹 𐍃𐌿𐌼𐌰 𐍄𐍅𐌰𐌳𐌳𐌾𐍉 𐌲𐌰𐍅𐌰𐌻𐌴𐌹𐌽𐍉 𐌳𐌿 𐌰𐌽𐌳𐌷𐌰𐍆𐌾𐌰𐌽 𐌸𐌹𐌶𐌰𐌹 𐌱𐌹𐌳𐌰𐌹.</string>
|
||||||
|
<string name="user_not_logged_in">𐌰𐍄𐌲𐌰𐌲𐌲 𐌿𐍃𐍄𐌰𐌿𐌷. 𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌰𐍆𐍄𐍂𐌰 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽.</string>
|
||||||
|
<string name="quiz_result_share_message">𐌵𐌿𐌹𐌶 𐌸𐌴𐌹𐌽 𐌲𐌰𐌳𐌰𐌹𐌻𐌾𐌰𐌽 𐍆𐍂𐌹𐌾𐍉𐌽𐌳𐌰𐌼!</string>
|
||||||
|
<string name="continue_message">𐌸𐌰𐌹𐍂𐌷𐍅𐌹𐍃𐌰𐌽</string>
|
||||||
|
<string name="correct">𐌰𐌽𐌳𐌰𐌷𐌰𐍆𐍄𐍃 𐍂𐌰𐌹𐌷𐍄𐌰</string>
|
||||||
|
<string name="wrong">𐌰𐌽𐌳𐌰𐌷𐌰𐍆𐍄𐍃 𐌿𐌽𐍂𐌰𐌹𐌷𐍄𐌰</string>
|
||||||
|
<string name="quiz_screenshot_question">𐍃𐌰 𐍃𐌺𐌰𐌹𐍂𐌼𐌰𐍃𐌺𐌰𐌿𐍄𐍃 𐌲𐍉𐌸𐍃 𐌹𐍃𐍄 𐌳𐌿 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽?</string>
|
||||||
|
<string name="share_app_title">𐌰𐍀𐍀 𐌳𐌰𐌹𐌻𐌾𐌰𐌽</string>
|
||||||
|
<string name="error_fetching_nearby_places">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽 𐍃𐍄𐌰𐌳𐌹𐌽𐍃 𐌽𐌴𐍈𐌰</string>
|
||||||
|
<string name="no_pictures_in_this_area">𐌽𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌹𐌽 𐌸𐌰𐌼𐌼𐌰 𐍃𐍄𐌰𐌳𐌰</string>
|
||||||
|
<string name="no_nearby_places_around">𐌽𐌹 𐍃𐌹𐌽𐌳 𐍃𐍄𐌰𐌳𐌴𐌹𐍃 𐌽𐌴𐍈𐌰 𐌱𐌹𐍃𐌿𐌽𐌾𐌰𐌽𐌴</string>
|
||||||
|
<string name="error_fetching_nearby_monuments">𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸 𐌽𐌹𐌼𐌰𐌽 𐌰𐌿𐍂𐌰𐌷𐌾𐍉𐍃 𐌽𐌴𐍈𐌰.</string>
|
||||||
|
<string name="no_recent_searches">𐌽𐌹 𐍃𐍉𐌺𐌽𐌴𐌹𐍃 𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐍉𐍃</string>
|
||||||
|
<string name="delete_recent_searches_dialog">𐌱𐌹 𐍃𐌿𐌽𐌾𐌰𐌹 𐍅𐌹𐌻𐌴𐌹𐌶𐌿 𐍃𐍉𐌺𐌽𐌰𐌹𐍃 𐍃𐍀𐌹𐌻𐌻 𐌰𐍆𐌷𐍂𐌰𐌹𐌽𐌾𐌰𐌽?</string>
|
||||||
|
<string name="search_history_deleted">𐍃𐍉𐌺𐌽𐌰𐌹𐍃 𐍃𐍀𐌹𐌻𐌻𐌰𐍅𐌹𐍄𐌿𐌱𐌽𐌹 𐌿𐍃𐌵𐌹𐍃𐍄𐌹𐌸</string>
|
||||||
|
<string name="delete">𐌿𐍃𐌵𐌹𐍃𐍄𐌾𐌰𐌽</string>
|
||||||
|
<string name="statistics">𐍂𐌰𐌸𐌾𐍉𐌽𐍃</string>
|
||||||
|
<string name="statistics_thanks">𐌰𐍅𐌹𐌻𐌹𐌿𐌸 𐌰𐌽𐌳𐌽𐌿𐌼𐌰𐌽</string>
|
||||||
|
<string name="statistics_featured">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐍅𐌰𐌹𐌻𐌰𐌼𐌴𐍂𐌾𐍉𐍃</string>
|
||||||
|
<string name="statistics_wikidata_edits">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌸𐌰𐌹𐍂𐌷 \"𐍃𐍄𐌰𐌳𐌹𐌽𐍃 𐌽𐌴𐍈𐌰\"</string>
|
||||||
|
<string name="level">𐌷𐌰𐌿𐌷𐌹𐌸𐌰 %d</string>
|
||||||
|
<string name="profile_withLevel">%s (𐌷𐌰𐌿𐌷𐌹𐌸𐌰 %s)</string>
|
||||||
|
<string name="images_uploaded">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰𐌽𐍉𐍃</string>
|
||||||
|
<string name="images_used_by_wiki">𐌱𐍂𐌿𐌷𐍄𐍉𐍃 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃</string>
|
||||||
|
<string name="achievements_revert_limit_message">𐌸𐌰𐍄𐌰 𐌼𐌹𐌽𐌽𐌹𐍃𐍄𐍉 𐌽𐌰𐌿𐌳𐌹𐌸𐌰𐌿𐍂𐍆𐍄𐌰𐌹:</string>
|
||||||
|
<string name="images_uploaded_explanation">𐍂𐌰𐌸𐌾𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴 𐌸𐍉𐌶𐌴𐌹 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐍂𐍄 𐌳𐌿 𐌲𐌰𐌼𐌰𐌹𐌽𐌰𐌼, 𐌸𐌰𐌹𐍂𐌷 𐌷𐌽𐌰𐍃𐌵𐌿𐍅𐌰𐍂𐌰 𐌳𐌿 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽</string>
|
||||||
|
<string name="images_used_explanation">𐍂𐌰𐌸𐌾𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰𐌽𐌰𐌹𐌶𐍉 𐌳𐌿 𐌲𐌰𐌼𐌰𐌹𐌽𐌰𐌹𐌼 𐌸𐍉𐌶𐌴𐌹 𐌱𐍂𐌿𐌷𐍄𐍉𐍃 𐍃𐌹𐌽𐌳 𐌹𐌽 𐌻𐌰𐌿𐌱𐌰𐌼 𐍅𐌹𐌺𐌹𐌼𐌰𐌹𐌳𐌾𐌴</string>
|
||||||
|
<string name="error_occurred">𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸!</string>
|
||||||
|
<string name="nearby_fragment">𐌽𐌴𐍈𐌰</string>
|
||||||
|
<string name="list_sheet">𐍅𐌹𐌺𐍉</string>
|
||||||
|
<string name="next">𐌹𐍆𐍄𐌿𐌼</string>
|
||||||
|
<string name="previous">𐍃𐍀𐌴𐌳𐌹𐍃𐍄</string>
|
||||||
|
<string name="title_page_bookmarks_pictures">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃</string>
|
||||||
|
<string name="title_page_bookmarks_locations">𐍃𐍄𐌰𐌳𐌴𐌹𐍃</string>
|
||||||
|
<string name="title_page_bookmarks_categories">𐌺𐌿𐌽𐌾𐌰</string>
|
||||||
|
<string name="deletion_reason_publicly_visible">𐌽𐌹 𐍅𐌹𐍃𐍃𐌰 𐌸𐌰𐍄𐌴𐌹 𐌰𐌽𐌳𐌰𐌿𐌲𐌾𐍉 𐌰𐌽𐌰𐍃𐌹𐌿𐌽 𐍅𐌴𐍃𐌹</string>
|
||||||
|
<string name="deletion_reason_bad_for_my_privacy">𐌿𐍆𐌺𐌿𐌽𐌸𐌰 𐌸𐌰𐍄𐌴𐌹 𐌲𐍉𐌸 𐌽𐌹𐍃𐍄 𐍃𐌿𐌽𐌳𐍂𐌰𐌻𐌴𐌹𐌺𐌴𐌹𐌽 𐌼𐌴𐌹𐌽𐌰𐌹</string>
|
||||||
|
<string name="deletion_reason_not_interesting">𐌷𐌰𐌱𐌰𐌹 𐌿𐌽𐍃 𐍆𐌰𐌿𐍂𐌵𐌹𐌸𐌰𐌽𐌰𐌹, 𐍃𐍅𐌰𐌻𐌴𐌹𐌺𐌰 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌰𐌹𐌲𐌺𐌴𐌹𐌺𐌻𐌰𐌿𐍀𐌰𐌹𐌳𐌾𐌰𐌹 𐌲𐌰𐍄𐌹𐌻𐌰 𐌽𐌹𐍃𐍄</string>
|
||||||
|
<string name="no_uploads">𐍅𐌹𐌻𐌾𐌰𐌵𐌿𐌼𐌰 𐌳𐌿 𐌲𐌰𐌼𐌰𐌹𐌽𐌰𐌼!\n\n𐌼𐌰𐌲𐍄 𐌼𐌰𐌹𐌳𐌾𐌰 𐍆𐍂𐌿𐌼𐌹𐍃𐍄𐌰 𐌸𐌴𐌹𐌽𐌰 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽 𐌸𐍂𐌿𐌺𐌾𐌰𐌽𐌳𐍃 𐌰𐌽𐌰 𐌷𐌰𐌿𐌱𐌹𐌳𐌹𐌻𐍉𐌽 𐌱𐌹𐌰𐌹𐌺𐌰𐌽.</string>
|
||||||
|
<string name="no_categories_selected">𐌽𐌹 𐌺𐌿𐌽𐌾𐌰 𐌲𐌰𐍅𐌰𐌻𐌹𐌳𐌰</string>
|
||||||
|
<string name="no_categories_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="search_this_area">𐌹𐌽 𐌸𐌰𐌼𐌼𐌰 𐌲𐌰𐌿𐌾𐌰 𐍃𐍉𐌺𐌾𐌰𐌽</string>
|
||||||
|
<string name="never_ask_again">𐌸𐌰𐍄𐌰 𐌽𐌹 𐍆𐍂𐌰𐌹𐌷𐌽𐌰𐌽 𐌰𐍆𐍄𐍂𐌰 𐌰𐌹𐍅</string>
|
||||||
|
<string name="display_location_permission_title">𐍆𐍂𐌰𐌹𐌷𐌽𐌰𐌽 𐌰𐌽𐌳𐌻𐌴𐍄 𐍃𐍄𐌰𐌳𐌹𐍃</string>
|
||||||
|
<string name="ends_on">𐌿𐍃𐍄𐌹𐌿𐌷𐌹𐌸:</string>
|
||||||
|
<string name="option_allow">𐌰𐌽𐌳𐌻𐌴𐍄𐌰𐌽</string>
|
||||||
|
<string name="error_processing_image">𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸 𐍅𐌰𐌿𐍂𐌺𐌾𐌰𐌽 𐌸𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄. 𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺, 𐍃𐍉𐌺𐌴𐌹 𐌰𐍆𐍄𐍂𐌰!</string>
|
||||||
|
<string name="nominate_for_deletion_done">𐌲𐌰𐍄𐌰𐍅𐌹𐌸</string>
|
||||||
|
<string name="send_thank_success_title">𐍃𐌰𐌽𐌳𐌾𐌰𐌽𐌳𐌰 𐌰𐍅𐌹𐌻𐌹𐌿𐌳𐌰: 𐍅𐌰𐌿𐍂𐌷𐍄</string>
|
||||||
|
<string name="send_thank_failure_message">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐍃𐌰𐌽𐌳𐌾𐌰𐌽 𐌰𐍅𐌹𐌻𐌹𐌿𐌳𐌰 %1$s</string>
|
||||||
|
<string name="send_thank_failure_title">𐍃𐌰𐌽𐌳𐌾𐌰𐌽𐌳𐌰 𐌰𐍅𐌹𐌻𐌹𐌿𐌳𐌰: 𐌽𐌹 𐍅𐌰𐌿𐍂𐌷𐍄𐌰</string>
|
||||||
|
<string name="send_thank_toast">𐌰𐍅𐌹𐌻𐌹𐌿𐌳 𐍃𐌰𐌽𐌳𐌾𐌰𐌳𐌰 𐍆𐌰𐌿𐍂 %1$s</string>
|
||||||
|
<string name="review_category">𐌹𐍃𐍄 𐌸𐌰𐍄𐌰 𐌹𐌽 𐌺𐌿𐌽𐌾𐌰 𐍂𐌰𐌹𐌷𐍄𐌰𐌼𐌼𐌰?</string>
|
||||||
|
<string name="review_thanks">𐍅𐌹𐌻𐌴𐌹𐌶𐌿 𐌰𐍅𐌹𐌻𐌹𐌿𐌳𐍉 𐌸𐌰𐌼𐌼𐌰 𐌱𐌹𐌰𐌿𐌺𐌰𐌽𐌳?</string>
|
||||||
|
<string name="review_spam_explanation">𐌰𐍄𐍄𐌴𐌺 \'𐌽𐌴\' 𐌳𐌿 𐌳𐍉𐌼𐌾𐌰𐌽 𐌸𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄 𐍆𐍂𐌰𐌵𐌹𐍃𐍄𐌴𐌹𐌽𐌰𐌹 𐌾𐌰𐌱𐌰𐌹 𐌽𐌹𐍃𐍄 𐌰𐌻𐌻𐌹𐍃 𐌱𐍂𐌿𐌺𐌰.</string>
|
||||||
|
<string name="review_no_category">𐍉, 𐌸𐌰𐍄𐌰 𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐌸 𐌺𐌿𐌽𐌹!</string>
|
||||||
|
<string name="review_category_explanation">𐍃𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌷𐌰𐌱𐌰𐌹𐌸 %1$s 𐌺𐌿𐌽𐌾𐌰.</string>
|
||||||
|
<string name="review_thanks_yes_button_text">𐌹𐍆𐍄𐌿𐌼𐌰 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃</string>
|
||||||
|
<string name="review_thanks_no_button_text">𐌾𐌰𐌹, 𐌳𐌿𐍈𐌴 𐌽𐌹</string>
|
||||||
|
<string name="no_image">𐌽𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐌱𐍂𐌿𐌷𐍄𐍉𐍃</string>
|
||||||
|
<string name="menu_option_read">𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌽 𐍃𐌰𐌹𐍈𐌰𐌽</string>
|
||||||
|
<string name="menu_option_unread">𐌿𐌽𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌽 𐍃𐌰𐌹𐍈𐌰𐌽</string>
|
||||||
|
<string name="error_occurred_in_picking_images">𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸 𐌽𐌿𐌼𐍄𐌰𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴</string>
|
||||||
|
<string name="please_wait">𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌱𐌴𐌹𐌳𐌰𐌽...</string>
|
||||||
|
<string name="manage_exif_tags">EXIF 𐍃𐍉𐌺𐌽𐌹𐍅𐌰𐌿𐍂𐌳𐌰 𐌰𐍄𐌲𐌰𐍂𐌰𐌹𐌷𐍄𐌾𐌰𐌽</string>
|
||||||
|
<string name="exif_tag_name_author">𐌱𐍉𐌺𐌰𐍂𐌴𐌹𐍃</string>
|
||||||
|
<string name="exif_tag_name_location">𐍃𐍄𐌰𐌸𐍃</string>
|
||||||
|
<string name="exif_tag_name_software">𐌷𐌽𐌰𐍃𐌵𐌿𐍅𐌰𐍂𐌰</string>
|
||||||
|
<string name="media_location_permission_denied">𐌰𐍄𐌲𐌰𐌲𐌲 𐌳𐌿 𐍃𐍄𐌰𐌳𐌰 𐌼𐌰𐌹𐌳𐌾𐌹𐍃 𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃</string>
|
||||||
|
<string name="share_via">𐌰𐍀𐍀 𐌳𐌰𐌹𐌻𐌾𐌰𐌽 𐌸𐌰𐌹𐍂𐌷...</string>
|
||||||
|
<string name="image_info">𐌺𐌿𐌽𐌸𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌰𐌹𐍃</string>
|
||||||
|
<string name="no_categories_found">𐌽𐌹 𐌺𐌿𐌽𐌾𐌰 𐌱𐌹𐌲𐌹𐍄𐌰𐌽𐌰</string>
|
||||||
|
<string name="previous_image_title_description_not_found">𐌳𐌰𐍄𐌰 𐌽𐌹 𐍃𐌹𐌽𐌳 𐍃𐍀𐌴𐌳𐌹𐍃𐍄𐌰𐌹𐌶𐍉𐍃 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌰𐌹𐍃 𐌿𐍆𐌰𐍂𐌼𐌴𐌻𐌾𐌰 𐌸𐌰𐌿 𐌲𐌰𐍃𐌺𐌴𐌹𐍂𐌴𐌹𐌽𐌹𐌼</string>
|
||||||
|
<string name="dialog_box_text_nomination">𐌳𐌿𐍈𐌴 𐍃𐌺𐌿𐌻𐌳 𐌹𐍃𐍄 %1$s 𐌿𐍃𐌵𐌹𐍃𐍄𐌾𐌰𐌽?</string>
|
||||||
|
<string name="delete_helper_show_deletion_title_success">𐍅𐌰𐌹𐌻𐌰 𐌲𐌰𐍄𐌰𐍅𐌹𐌸</string>
|
||||||
|
<string name="delete_helper_show_deletion_message_if">𐌲𐌰𐌳𐍉𐌼𐌹𐌳𐌰 %1$s 𐍆𐍂𐌰𐌵𐌹𐍃𐍄𐌴𐌹𐌽𐌰𐌹.</string>
|
||||||
|
<string name="delete_helper_show_deletion_title_failed">𐌱𐍂𐌰𐌺</string>
|
||||||
|
<string name="delete_helper_show_deletion_message_else">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌱𐌹𐌳𐌾𐌰𐌽 𐍆𐍂𐌰𐌵𐌹𐍃𐍄𐌴𐌹𐌽𐌰𐌹𐍃.</string>
|
||||||
|
<string name="delete_helper_ask_spam_nonsense">𐌳𐍅𐌰𐌻𐌰𐍅𐌰𐌿𐍂𐌳𐌴𐌹, 𐌱𐌹 𐍃𐌿𐌽𐌾𐌰𐌹 𐌿𐌽𐌱𐍂𐌿𐌺 𐌹𐍃𐍄 𐌻𐌰𐌿𐌱𐌰</string>
|
||||||
|
<string name="delete_helper_ask_reason_copyright_logo">𐌻𐍉𐌲𐍉</string>
|
||||||
|
<string name="delete_helper_ask_alert_set_positive_button_reason">𐌿𐌽𐍄𐌴 𐌹𐍃𐍄</string>
|
||||||
|
<string name="category_edit_helper_edit_message_else">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌺𐌿𐌽𐌾𐌰 𐌱𐌹𐌰𐌹𐌺𐌰𐌽.</string>
|
||||||
|
<string name="category_edit_button_text">𐌺𐌿𐌽𐌾𐌰 𐌰𐌽𐌰𐌽𐌹𐌿𐌾𐌰𐌽</string>
|
||||||
|
<string name="share_image_via">𐍆𐍂𐌹𐍃𐌰𐌷𐍄 𐌳𐌰𐌹𐌻𐌾𐌰𐌽 𐌸𐌰𐌹𐍂𐌷</string>
|
||||||
|
<string name="account_created">𐌰𐌺𐌰𐍅𐌽𐍄 𐌲𐌰𐍃𐌺𐌰𐍀𐌰𐌽!</string>
|
||||||
|
<string name="some_error">𐍃𐌿𐌼𐌰 𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸!</string>
|
||||||
|
<string name="place_state_exists">𐌹𐍃𐍄</string>
|
||||||
|
<string name="place_state_needs_photo">𐌸𐌰𐍂𐍆 𐌻𐌹𐌿𐌷𐌰𐌳𐌰𐌼𐌴𐌻𐌾𐌹𐍃</string>
|
||||||
|
<string name="nearby_search_hint">𐌱𐍂𐌿𐌳𐌳𐌹, 𐌼𐌿𐍃𐌴𐌹𐍉, 𐍃𐌰𐌻𐌹𐌸𐍅𐍉𐍃 𐌾𐌰𐌷 𐍃𐍅𐌴 𐍆𐍂𐌰𐌼𐍅𐌹𐌲𐌹𐍃</string>
|
||||||
|
<string name="title_for_media">𐌼𐌰𐌹𐌳𐌾𐌰</string>
|
||||||
|
<string name="title_for_subcategories">𐌿𐍆𐌺𐌿𐌽𐌾𐌰</string>
|
||||||
|
<string name="upload_nearby_place_found_title">𐍃𐍄𐌰𐌸𐍃 𐌽𐌴𐍈𐌰 𐌱𐌹𐌲𐌰𐍄</string>
|
||||||
|
<string name="upload_nearby_place_found_description_plural">𐍃𐌹𐌽𐌳𐌿 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃 𐍅𐌰𐌹𐌷𐍄𐌰𐌹𐍃 %1$s?</string>
|
||||||
|
<string name="upload_nearby_place_found_description_singular">𐌹𐍃𐍄𐌿 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐍅𐌰𐌹𐌷𐍄𐌰𐌹𐍃 %1$s?</string>
|
||||||
|
<string name="title_app_shortcut_setting">𐍃𐌰𐍄𐌴𐌹𐌽𐍉𐍃</string>
|
||||||
|
<string name="theme_dark_name">𐍂𐌹𐌵𐌹𐍃</string>
|
||||||
|
<string name="theme_light_name">𐌻𐌹𐌿𐌷𐌰𐌸</string>
|
||||||
|
<string name="recommend_high_accuracy_mode">𐌱𐌰𐍃𐍄𐌹𐍃𐍄𐍉𐌽𐌰𐌼 𐍄𐍉𐌾𐌰𐌼, 𐌱𐍂𐌿𐌺𐌴𐌹 𐌼𐍉𐌳𐌰𐌿𐍃 𐌷𐌰𐌿𐌷𐌲𐌻𐌰𐌲𐌲𐍅𐌹𐍃.</string>
|
||||||
|
<string name="load_more">𐌼𐌰𐌹𐍃 𐌰𐍄𐌱𐍂𐌹𐌲𐌲𐌰𐌽</string>
|
||||||
|
<string name="nearby_no_results">𐌽𐌹 𐍃𐍄𐌰𐌳𐌴𐌹𐍃 𐌱𐌹𐌲𐌹𐍄𐌰𐌽𐌰𐌹, 𐌲𐌰𐌺𐌰𐌿𐍃𐌴𐌹 𐌼𐌹𐍄𐌰𐌳𐌾𐍉𐌽𐍃 𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌰𐌹𐍃 𐍃𐍉𐌺𐌽𐌰𐌹𐍃.</string>
|
||||||
|
<string name="todo_improve">𐌲𐌰𐌱𐍉𐍄𐌴𐌹𐌽𐍉𐍃 𐌰𐌽𐌰𐍆𐌹𐌻𐌷𐌰𐌽𐍉𐍃:</string>
|
||||||
|
<string name="missing_category">- 𐌺𐌿𐌽𐌾𐌰 𐌱𐌹𐌰𐌿𐌺𐌰𐌽 𐌳𐌿 𐌸𐌹𐌶𐌰𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌰𐌹 𐌲𐌰𐌱𐍉𐍄𐌾𐌰𐌽 𐌱𐍂𐌿𐌺𐌴𐌹𐌽.</string>
|
||||||
|
<string name="add_picture_to_wikipedia_article_title">𐍆𐍂𐌹𐍃𐌰𐌷𐍄 𐌱𐌹𐌰𐌿𐌺𐌰𐌽 𐌳𐌿 𐍅𐌹𐌺𐌹𐍀𐌰𐌹𐌳𐌾𐌰𐌹</string>
|
||||||
|
<string name="confirm">𐌲𐌰𐍄𐌿𐌻𐌲𐌾𐌰𐌽</string>
|
||||||
|
<string name="resume">𐌸𐌰𐌹𐍂𐌷𐍅𐌹𐍃𐌰𐌽</string>
|
||||||
|
<string name="more">𐌼𐌰𐌹𐍃</string>
|
||||||
|
<string name="leaderboard_tab_title">𐍃𐌹𐌲𐌹𐍃𐌱𐌰𐌿𐍂𐌳</string>
|
||||||
|
<string name="count_prefix">𐍂𐌰𐌸𐌾𐍉:</string>
|
||||||
|
<string name="leaderboard_column_user">𐌱𐍂𐌿𐌺𐌾𐌰</string>
|
||||||
|
<string name="leaderboard_column_count">𐍂𐌰𐌸𐌾𐍉</string>
|
||||||
|
<string name="leaderboard_yearly">𐌹𐌽 𐌾𐌴𐍂𐌰𐌼</string>
|
||||||
|
<string name="leaderboard_weekly">𐌹𐌽 𐍅𐌹𐌺𐍉𐌼</string>
|
||||||
|
<string name="leaderboard_all_time">𐍃𐌹𐌽𐍄𐌴𐌹𐌽𐍉</string>
|
||||||
|
<string name="leaderboard_nearby">𐌽𐌴𐍈𐌰</string>
|
||||||
|
<string name="leaderboard_used">𐌱𐍂𐌿𐌷𐍄</string>
|
||||||
|
<string name="menu_view_category_page">𐌺𐌿𐌽𐌾𐌹𐍃 𐌻𐌰𐌿𐍆 𐍃𐌰𐌹𐍈𐌰𐌽</string>
|
||||||
|
<string name="menu_view_item_page">𐍅𐌰𐌹𐌷𐍄𐌰𐌹𐍃 𐌻𐌰𐌿𐍆 𐍃𐌰𐌹𐍈𐌰𐌽</string>
|
||||||
|
<string name="app_ui_language">𐍂𐌰𐌶𐌳𐌰 𐌰𐍀𐍀𐌻𐌴𐌹𐌺𐌰𐍄𐍃𐌾𐍉𐌽𐍃 𐌱𐍂𐌿𐌺𐌾𐌹𐌽𐍃 𐌹𐌽𐍄𐌰𐌹𐍂𐍆𐌰𐌺𐌹𐍉𐍃</string>
|
||||||
|
<string name="read_help_link">𐌼𐌰𐌹𐍃 𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌽</string>
|
||||||
|
<string name="media_detail_in_all_languages">𐌹𐌽 𐌰𐌻𐌻𐌰𐌹𐌼 𐍂𐌰𐌶𐌳𐍉𐌼</string>
|
||||||
|
<string name="choose_a_location">𐍃𐍄𐌰𐌸 𐍅𐌰𐌻𐌾𐌰𐌽</string>
|
||||||
|
<string name="select_location_location_picker">𐍃𐍄𐌰𐌸 𐍅𐌰𐌻𐌾𐌰𐌽</string>
|
||||||
|
<string name="show_in_map_app">𐌹𐌽 𐌻𐌰𐌽𐌳𐌰𐍇𐌰𐍂𐍄𐍉𐍃 𐌰𐍀𐍀 𐌱𐌰𐌽𐌳𐍅𐌾𐌰𐌽</string>
|
||||||
|
<string name="modify_location">𐍃𐍄𐌰𐌸 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽</string>
|
||||||
|
<string name="custom_selector_empty_text">𐌽𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐌴𐌹𐍃</string>
|
||||||
|
<string name="done">𐌲𐌰𐍄𐌰𐍅𐌹𐌸</string>
|
||||||
|
<string name="back">𐌲𐌰𐍅𐌰𐌽𐌳𐌾𐌰𐌽 𐌸𐌿𐌺</string>
|
||||||
|
<string name="learn_more">𐌻𐌰𐌹𐍃𐌾𐌰𐌽 𐌸𐌿𐌺 𐌼𐌰𐌹𐍃</string>
|
||||||
|
<string name="need_permission">𐌸𐌰𐌿𐍂𐌱𐌰𐌽𐌳 𐌰𐌽𐌳𐌻𐌴𐍄𐌰𐌹𐍃</string>
|
||||||
|
<string name="reset">𐌰𐍆𐍄𐍂𐌰𐌻𐌰𐌲𐌾𐌰𐌽</string>
|
||||||
|
<string name="add_location">𐍃𐍄𐌰𐌸 𐌱𐌹𐌰𐌿𐌺𐌰𐌽</string>
|
||||||
|
<string name="android_version">𐌿𐍃𐌼𐌴𐍂𐌹 𐌰𐌽𐌳𐍂𐌰𐌿𐌴𐌹𐌳𐍃</string>
|
||||||
|
<string name="can_not_select_this_image_for_upload">𐌼𐌰𐌷𐍄𐌴𐌹𐌲 𐌽𐌹𐍃𐍄 𐍅𐌰𐌻𐌾𐌰𐌽 𐌸𐍉 𐍆𐍂𐌹𐍃𐌰𐌷𐍄 𐌳𐌿 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌽</string>
|
||||||
|
<string name="image_selected">𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌲𐌰𐍅𐌰𐌻𐌹𐌳𐌰</string>
|
||||||
|
<string name="unable_to_share_upload_item">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌳𐌰𐌹𐌻𐌾𐌰𐌽 𐌸𐍉 𐍅𐌰𐌹𐌷𐍄</string>
|
||||||
|
<string name="edit_image">𐍆𐍂𐌹𐍃𐌰𐌷𐍄 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽</string>
|
||||||
|
<string name="edit_location">𐍃𐍄𐌰𐌸 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽</string>
|
||||||
|
<string name="location_updated">𐍃𐍄𐌰𐌸𐍃 𐌰𐍆𐍄𐍂𐌰𐌰𐌽𐌰𐌽𐌹𐌿𐌾𐌹𐌸!</string>
|
||||||
|
<string name="remove_location">𐌻𐍉𐌲 𐌿𐍃𐌽𐌹𐌼𐌰𐌽</string>
|
||||||
|
<string name="remove_location_warning_title">𐌻𐍉𐌲𐌹𐍃 𐍈𐍉𐍄𐌰 𐌿𐍃𐌽𐌹𐌼𐌰𐌽</string>
|
||||||
|
<string name="location_removed">𐌻𐍉𐌲 𐌿𐍃𐌽𐌿𐌼𐌰𐌽!</string>
|
||||||
|
<string name="send_thanks_to_author">𐌱𐍉𐌺𐌰𐍂𐌾𐌰 𐌰𐍅𐌹𐌻𐌹𐌿𐌳𐍉𐌽</string>
|
||||||
|
<string name="error_sending_thanks">𐌰𐌹𐍂𐌶𐌴𐌹 𐍅𐌰𐍂𐌸 𐌹𐌽 𐍃𐌰𐌽𐌳𐌴𐌹𐌽𐌰𐌹 𐌰𐍅𐌹𐌻𐌹𐌿𐌳𐌹𐍃 𐌳𐌿 𐌱𐍉𐌺𐌰𐍂𐌾𐌰.</string>
|
||||||
|
<string name="invalid_login_message">𐌰𐍄𐌲𐌰𐌲𐌲 𐌿𐍃𐍄𐌰𐌿𐌷. 𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺 𐌰𐍆𐍄𐍂𐌰 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽.</string>
|
||||||
|
<string name="do_you_want_to_open_gpx_file">𐍅𐌹𐌻𐌴𐌹𐌶𐌿 𐌲𐍀𐍇 𐍆𐌰𐌾𐌻 𐌿𐍃𐌻𐌿𐌺𐌰𐌽?</string>
|
||||||
|
<string name="do_you_want_to_open_kml_file">𐍅𐌹𐌻𐌴𐌹𐌶𐌿 𐌺𐌼𐌻 𐍆𐌰𐌾𐌻 𐌿𐍃𐌻𐌿𐌺𐌰𐌽?</string>
|
||||||
|
<string name="failed_to_save_kml_file">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌺𐌼𐌻 𐍆𐌰𐌾𐌻 𐌲𐌰𐍆𐌰𐍃𐍄𐌰𐌽.</string>
|
||||||
|
<string name="failed_to_save_gpx_file">𐌽𐌹 𐌼𐌰𐌷𐍄𐌰 𐌲𐍀𐍇 𐍆𐌰𐌾𐌻 𐌲𐌰𐍆𐌰𐍃𐍄𐌰𐌽.</string>
|
||||||
|
<string name="please_enter_some_comments">𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺, 𐌼𐌴𐌻𐌴𐌹 𐍅𐌰𐌿𐍂𐌳𐌰 𐍃𐌿𐌼𐌰</string>
|
||||||
|
<string name="talk">𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌹</string>
|
||||||
|
<string name="does_not_exist_anymore_no_picture_can_ever_be_taken_of_it">\'%1$s\' 𐌸𐌰𐌽𐌰𐍃𐌴𐌹𐌸𐍃 𐌽𐌹𐍃𐍄, 𐌽𐌹 𐍆𐍂𐌹𐍃𐌰𐌷𐍄𐍃 𐌸𐌹𐌶𐌴𐌹 𐌼𐌰𐌷𐍄𐌴𐌹𐌲 𐌹𐍃𐍄 𐌰𐌹𐍅 𐌽𐌹𐌼𐌰𐌽.</string>
|
||||||
|
<string name="is_at_a_different_place_wikidata">\'%1$s\' 𐌹𐍃𐍄 𐌹𐌽 𐍃𐍄𐌰𐌳𐌰 𐌰𐌽𐌸𐌰𐍂𐌰𐌼𐌼𐌰.</string>
|
||||||
|
<string name="are_you_sure_that_you_want_cancel_all_the_uploads">𐌱𐌹 𐍃𐌿𐌽𐌾𐌰𐌹 𐍅𐌹𐌻𐌴𐌹𐌶𐌿 𐍃𐍅𐌴𐌹𐌱𐌰𐌽 𐌰𐌻𐌻 𐌸𐌰𐍄𐌴𐌹 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌹𐍂𐌰𐌳𐌰?</string>
|
||||||
|
<string name="custom_selector_confirm_deletion_title">𐌿𐍃𐌵𐌹𐍃𐍄𐌴𐌹𐌽 𐌲𐌰𐍄𐌿𐌻𐌲𐌾𐌰𐌽</string>
|
||||||
|
<string name="custom_selector_delete">𐌿𐍃𐌵𐌹𐍃𐍄𐌾𐌰𐌽</string>
|
||||||
|
<string name="custom_selector_cancel">𐍃𐍅𐌴𐌹𐌱𐌰𐌽</string>
|
||||||
|
<string name="red_pin">𐍃𐌰 𐍃𐍄𐌰𐌸𐍃 𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐌸 𐌽𐌰𐌿𐌷 𐍆𐍂𐌹𐍃𐌰𐌷𐍄, 𐌽𐌹𐌼 𐍃𐌿𐌼𐌰!</string>
|
||||||
|
<string name="green_pin">𐍃𐌰 𐍃𐍄𐌰𐌸𐍃 𐌾𐌿 𐍆𐍂𐌹𐍃𐌰𐌷𐍄 𐌷𐌰𐌱𐌰𐌹𐌸.</string>
|
||||||
|
<string name="grey_pin">𐌽𐌿 𐍃𐌰𐌹𐍈𐌰𐌳𐌰 𐌾𐌰𐌱𐌰𐌹 𐍃𐌰 𐍃𐍄𐌰𐌸𐍃 𐌷𐌰𐌱𐌰𐌹𐌸 𐍆𐍂𐌹𐍃𐌰𐌷𐍄.</string>
|
||||||
|
<string name="no_usages_found">𐌱𐍂𐌿𐌺𐌴𐌹𐌽𐍉𐍃 𐌽𐌹 𐌱𐌹𐌲𐌹𐍄𐌰𐌽𐍉𐍃</string>
|
||||||
|
<string name="usages_on_commons_heading">𐌲𐌰𐌼𐌰𐌹𐌽𐌰</string>
|
||||||
|
<string name="usages_on_other_wikis_heading">𐌰𐌽𐌸𐌰𐍂𐌰 𐍅𐌹𐌺𐌾𐌰</string>
|
||||||
|
<string name="file_usages_container_heading">𐌱𐍂𐌿𐌺𐌴𐌹𐌽𐍉𐍃 𐍆𐌰𐌾𐌻𐌹𐍃</string>
|
||||||
|
<string name="account">𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐍃</string>
|
||||||
|
<string name="show_in_nearby">𐌹𐌽 𐌽𐌴𐍈𐌰 𐌱𐌰𐌽𐌳𐍅𐌾𐌰𐌽</string>
|
||||||
|
<string name="image_tag_line_created_by_and_uploaded_by">𐌲𐌰𐍃𐌺𐌰𐍀𐌰𐌽 𐍆𐍂𐌰𐌼 %1$s 𐌾𐌰𐌷 𐌹𐌽𐌽𐌰𐍄𐌱𐌰𐌿𐍂𐌰𐌽 𐍆𐍂𐌰𐌼 %2$s</string>
|
||||||
|
</resources>
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
* Dream Indigo
|
* Dream Indigo
|
||||||
* Emabarto01
|
* Emabarto01
|
||||||
* Gianfranco
|
* Gianfranco
|
||||||
|
* Giorgx12
|
||||||
* Lorelai87
|
* Lorelai87
|
||||||
* Lorem Ipsum
|
* Lorem Ipsum
|
||||||
* Luca.favorido
|
* Luca.favorido
|
||||||
|
|
@ -143,7 +144,7 @@
|
||||||
<string name="categories_search_text_hint">Cerca categorie</string>
|
<string name="categories_search_text_hint">Cerca categorie</string>
|
||||||
<string name="depicts_search_text_hint">Cerca elementi che il tuo file rappresenta (montagna, Taj Mahal, ecc.)</string>
|
<string name="depicts_search_text_hint">Cerca elementi che il tuo file rappresenta (montagna, Taj Mahal, ecc.)</string>
|
||||||
<string name="menu_save_categories">Salva</string>
|
<string name="menu_save_categories">Salva</string>
|
||||||
<string name="menu_overflow_desc">Menu overflow</string>
|
<string name="menu_overflow_desc">Menu di overflow</string>
|
||||||
<string name="refresh_button">Aggiorna</string>
|
<string name="refresh_button">Aggiorna</string>
|
||||||
<string name="display_list_button">Elenco</string>
|
<string name="display_list_button">Elenco</string>
|
||||||
<string name="contributions_subtitle_zero">(Non è stato ancora caricato niente)</string>
|
<string name="contributions_subtitle_zero">(Non è stato ancora caricato niente)</string>
|
||||||
|
|
@ -233,6 +234,7 @@
|
||||||
<string name="media_detail_description">Descrizione</string>
|
<string name="media_detail_description">Descrizione</string>
|
||||||
<string name="media_detail_discussion">Discussione</string>
|
<string name="media_detail_discussion">Discussione</string>
|
||||||
<string name="media_detail_author">Autore</string>
|
<string name="media_detail_author">Autore</string>
|
||||||
|
<string name="media_detail_uploader">Caricato da</string>
|
||||||
<string name="media_detail_uploaded_date">Data di caricamento</string>
|
<string name="media_detail_uploaded_date">Data di caricamento</string>
|
||||||
<string name="media_detail_license">Licenza</string>
|
<string name="media_detail_license">Licenza</string>
|
||||||
<string name="media_detail_coordinates">Coordinate</string>
|
<string name="media_detail_coordinates">Coordinate</string>
|
||||||
|
|
@ -564,6 +566,10 @@
|
||||||
<string name="category_edit_button_text">Aggiorna le categorie</string>
|
<string name="category_edit_button_text">Aggiorna le categorie</string>
|
||||||
<string name="depictions_edit_helper_make_edit_toast">Tentativo di aggiornare le rappresentazioni.</string>
|
<string name="depictions_edit_helper_make_edit_toast">Tentativo di aggiornare le rappresentazioni.</string>
|
||||||
<string name="depictions_edit_helper_show_edit_title">Modifica le raffigurazioni</string>
|
<string name="depictions_edit_helper_show_edit_title">Modifica le raffigurazioni</string>
|
||||||
|
<plurals name="depictions_edit_helper_show_edit_message_if">
|
||||||
|
<item quantity="one">Viene aggiunta la raffigurazione %1$s.</item>
|
||||||
|
<item quantity="other">Vengono aggiunte le raffigurazioni %1$s.</item>
|
||||||
|
</plurals>
|
||||||
<string name="depictions_edit_helper_edit_message_else">Non è stato possibile aggiungere descrizioni.</string>
|
<string name="depictions_edit_helper_edit_message_else">Non è stato possibile aggiungere descrizioni.</string>
|
||||||
<string name="coordinates_edit_helper_make_edit_toast">Tentativo di aggiornare le coordinate.</string>
|
<string name="coordinates_edit_helper_make_edit_toast">Tentativo di aggiornare le coordinate.</string>
|
||||||
<string name="coordinates_edit_helper_show_edit_title">Coordinate aggiornate</string>
|
<string name="coordinates_edit_helper_show_edit_title">Coordinate aggiornate</string>
|
||||||
|
|
@ -596,6 +602,7 @@
|
||||||
<string name="title_for_child_classes">CLASSI FIGLIE</string>
|
<string name="title_for_child_classes">CLASSI FIGLIE</string>
|
||||||
<string name="title_for_parent_classes">CLASSI SUPERIORI</string>
|
<string name="title_for_parent_classes">CLASSI SUPERIORI</string>
|
||||||
<string name="title_for_subcategories">Sottocategorie</string>
|
<string name="title_for_subcategories">Sottocategorie</string>
|
||||||
|
<string name="title_for_parent_categories">CATEGORIE SUPERIORI</string>
|
||||||
<string name="upload_nearby_place_found_title">Rinvenuto luogo nei pressi</string>
|
<string name="upload_nearby_place_found_title">Rinvenuto luogo nei pressi</string>
|
||||||
<string name="upload_nearby_place_found_description_plural">Queste sono immagini di %1$s?</string>
|
<string name="upload_nearby_place_found_description_plural">Queste sono immagini di %1$s?</string>
|
||||||
<string name="upload_nearby_place_found_description_singular">Questa è un\'immagine di %1$s?</string>
|
<string name="upload_nearby_place_found_description_singular">Questa è un\'immagine di %1$s?</string>
|
||||||
|
|
@ -819,10 +826,12 @@
|
||||||
<string name="custom_selector_folder_deleted_success">Cartella %1$s cancellata correttamente</string>
|
<string name="custom_selector_folder_deleted_success">Cartella %1$s cancellata correttamente</string>
|
||||||
<string name="custom_selector_folder_deleted_failure">Impossibile eliminare la cartella %1$s</string>
|
<string name="custom_selector_folder_deleted_failure">Impossibile eliminare la cartella %1$s</string>
|
||||||
<string name="custom_selector_error_trashing_folder_contents">Impossibile eliminare i contenuti nella cartella: %1$s</string>
|
<string name="custom_selector_error_trashing_folder_contents">Impossibile eliminare i contenuti nella cartella: %1$s</string>
|
||||||
|
<string name="custom_selector_folder_not_found_error">Impossibile recuperare il percorso della cartella per l\'ID bucket: %1$d</string>
|
||||||
<string name="red_pin">Questo posto non ha ancora una foto, scattane una!</string>
|
<string name="red_pin">Questo posto non ha ancora una foto, scattane una!</string>
|
||||||
<string name="green_pin">Questo posto ha già una foto.</string>
|
<string name="green_pin">Questo posto ha già una foto.</string>
|
||||||
<string name="grey_pin">Ora controlliamo se questo posto ha una foto.</string>
|
<string name="grey_pin">Ora controlliamo se questo posto ha una foto.</string>
|
||||||
<string name="error_while_loading">Errore durante il caricamento</string>
|
<string name="error_while_loading">Errore durante il caricamento</string>
|
||||||
|
<string name="no_usages_found">Nessun uso trovato</string>
|
||||||
<string name="usages_on_commons_heading">Commons</string>
|
<string name="usages_on_commons_heading">Commons</string>
|
||||||
<string name="usages_on_other_wikis_heading">Altri wiki</string>
|
<string name="usages_on_other_wikis_heading">Altri wiki</string>
|
||||||
<string name="file_usages_container_heading">Utilizzi del file</string>
|
<string name="file_usages_container_heading">Utilizzi del file</string>
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
* 아라
|
* 아라
|
||||||
-->
|
-->
|
||||||
<resources>
|
<resources>
|
||||||
<string name="commons_facebook">공용 페이스북 페이지</string>
|
<string name="commons_facebook">공용 페이스북 문서</string>
|
||||||
<string name="commons_github">공용 GitHub 소스 코드</string>
|
<string name="commons_github">공용 GitHub 소스 코드</string>
|
||||||
<string name="commons_logo">공용 로고</string>
|
<string name="commons_logo">공용 로고</string>
|
||||||
<string name="commons_website">공용 웹사이트</string>
|
<string name="commons_website">공용 웹사이트</string>
|
||||||
|
|
@ -35,11 +35,11 @@
|
||||||
<string name="add_contribution_from_camera">카메라에서 기여 참가</string>
|
<string name="add_contribution_from_camera">카메라에서 기여 참가</string>
|
||||||
<string name="add_contribution_from_photos">사진에서 기여 참가</string>
|
<string name="add_contribution_from_photos">사진에서 기여 참가</string>
|
||||||
<string name="add_contribution_from_contributions_gallery">이전 기여 갤러리에서 기여 참가</string>
|
<string name="add_contribution_from_contributions_gallery">이전 기여 갤러리에서 기여 참가</string>
|
||||||
<string name="show_captions">캡션</string>
|
<string name="show_captions">설명</string>
|
||||||
<string name="row_item_language_description">언어 설명</string>
|
<string name="row_item_language_description">언어 설명</string>
|
||||||
<string name="row_item_caption">캡션</string>
|
<string name="row_item_caption">캡션</string>
|
||||||
<string name="show_captions_description">설명</string>
|
<string name="show_captions_description">설명</string>
|
||||||
<string name="nearby_row_image">이미지</string>
|
<string name="nearby_row_image">그림</string>
|
||||||
<string name="nearby_all">모두</string>
|
<string name="nearby_all">모두</string>
|
||||||
<string name="nearby_filter_toggle">위로 전환</string>
|
<string name="nearby_filter_toggle">위로 전환</string>
|
||||||
<string name="nearby_filter_search">검색 뷰</string>
|
<string name="nearby_filter_search">검색 뷰</string>
|
||||||
|
|
@ -141,7 +141,7 @@
|
||||||
<string name="categories_not_found">%1$s와(과) 일치하는 분류를 찾을 수 없습니다</string>
|
<string name="categories_not_found">%1$s와(과) 일치하는 분류를 찾을 수 없습니다</string>
|
||||||
<string name="depictions_not_found">%1$s에 대한 위키데이터 검색 결과가 없습니다</string>
|
<string name="depictions_not_found">%1$s에 대한 위키데이터 검색 결과가 없습니다</string>
|
||||||
<string name="no_child_classes">%1$s에 자식 클래스가 없습니다</string>
|
<string name="no_child_classes">%1$s에 자식 클래스가 없습니다</string>
|
||||||
<string name="no_parent_classes">%1$s에 부모 클래스가 없습니다</string>
|
<string name="no_parent_classes">%1$s에 상위 클래스가 없습니다</string>
|
||||||
<string name="categories_skip_explanation">위키미디어 공용에서 그림을 더 찾기 쉽게 만들기 위해 분류를 추가합니다.\n분류를 추가하려면 입력을 시작하세요.</string>
|
<string name="categories_skip_explanation">위키미디어 공용에서 그림을 더 찾기 쉽게 만들기 위해 분류를 추가합니다.\n분류를 추가하려면 입력을 시작하세요.</string>
|
||||||
<string name="categories_activity_title">분류</string>
|
<string name="categories_activity_title">분류</string>
|
||||||
<string name="title_activity_settings">설정</string>
|
<string name="title_activity_settings">설정</string>
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,17 @@
|
||||||
* Askar Nazyrov
|
* Askar Nazyrov
|
||||||
* Baydastann
|
* Baydastann
|
||||||
* Bosogo
|
* Bosogo
|
||||||
|
* Incall
|
||||||
* Kotormochu
|
* Kotormochu
|
||||||
* Maksat
|
* Maksat
|
||||||
* NR Deblocked
|
* NR Deblocked
|
||||||
-->
|
-->
|
||||||
<resources>
|
<resources>
|
||||||
<string name="commons_facebook">Викиказынанын Facebook баракчасы</string>
|
<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="commons_website">Викиказынанын сайты</string>
|
||||||
|
<string name="exit_location_picker">Жайгашкан жер тандоодон чыгуу</string>
|
||||||
<string name="submit">Жөнөтүү</string>
|
<string name="submit">Жөнөтүү</string>
|
||||||
<string name="add_another_description">Башка сүрөттөмө кошуу</string>
|
<string name="add_another_description">Башка сүрөттөмө кошуу</string>
|
||||||
<string name="add_new_contribution">Жаңы салым кошуу</string>
|
<string name="add_new_contribution">Жаңы салым кошуу</string>
|
||||||
|
|
@ -23,28 +26,39 @@
|
||||||
<string name="show_captions_description">Сыпаттама</string>
|
<string name="show_captions_description">Сыпаттама</string>
|
||||||
<string name="nearby_row_image">Сүрөт</string>
|
<string name="nearby_row_image">Сүрөт</string>
|
||||||
<string name="nearby_all">Баары</string>
|
<string name="nearby_all">Баары</string>
|
||||||
|
<string name="nearby_filter_toggle">Жогоруну которуу</string>
|
||||||
<string name="nearby_filter_search">Кызыктуу жерди издөө</string>
|
<string name="nearby_filter_search">Кызыктуу жерди издөө</string>
|
||||||
<string name="nearby_filter_state">Жердин абалы</string>
|
<string name="nearby_filter_state">Жердин абалы</string>
|
||||||
<string name="appwidget_img">Күндүн сүрөтү</string>
|
<string name="appwidget_img">Күндүн сүрөтү</string>
|
||||||
<plurals name="uploads_pending_notification_indicator" fuzzy="true">
|
<plurals name="uploads_pending_notification_indicator">
|
||||||
<item quantity="one">1 файл жүктөлүүдө</item>
|
<item quantity="one">%1$d файл жүктөлүүдө</item>
|
||||||
<item quantity="other">%1$d файл жүктөлүүдө</item>
|
<item quantity="other">%1$d файлдар жүктөлүүдө</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="contributions_subtitle" fuzzy="true">
|
<plurals name="contributions_subtitle">
|
||||||
<item quantity="zero">Азырынча жүктөөлөр жок</item>
|
<item quantity="one">(%1$d)</item>
|
||||||
<item quantity="one">1 жүктөө</item>
|
<item quantity="other">(%1$d)</item>
|
||||||
<item quantity="other">%1$d жүктөө</item>
|
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="starting_uploads">Жүктөө башталууда</string>
|
<string name="starting_uploads">Жүктөө башталууда</string>
|
||||||
<plurals name="starting_multiple_uploads" fuzzy="true">
|
<plurals name="starting_multiple_uploads">
|
||||||
<item quantity="one">1 жүктөө башталды</item>
|
<item quantity="one">%d файл жүктөлүүдө</item>
|
||||||
<item quantity="other">%1$d жүктөө башталды</item>
|
<item quantity="other">%d файлдар жүктөлүүдө</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="multiple_uploads_title">
|
<plurals name="multiple_uploads_title">
|
||||||
<item quantity="one">%d жүктөө</item>
|
<item quantity="one">%d жүктөө</item>
|
||||||
<item quantity="other">%d жүктөө</item>
|
<item quantity="other">%d жүктөө</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="share_license_summary" fuzzy="true">Бул сүрөт %1$s лицензияланат</string>
|
<plurals name="share_license_summary">
|
||||||
|
<item quantity="one">Бул сүрөт %1$s лицензиясы астында берилет</item>
|
||||||
|
<item quantity="other">Бул сүрөттөр %1$s лицензиясы астында берилет</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="upload_count_title">
|
||||||
|
<item quantity="one">%1$d файл жүктөлдү</item>
|
||||||
|
<item quantity="other">%1$d файлдар жүктөлдү</item>
|
||||||
|
</plurals>
|
||||||
|
<plurals name="receiving_shared_content">
|
||||||
|
<item quantity="one">Бөлүшүлгөн контент алынып жатат. Сүрөттү иштетүү бир аз убакыт талап кылынышы мүмкүн, сүрөттүн көлөмүнө жана түзмөгүңүзгө жараша</item>
|
||||||
|
<item quantity="other">Бөлүшүлгөн контент алынып жатат. Сүрөттөрдү иштетүү бир аз убакыт талап кылынышы мүмкүн, сүрөттөрдүн көлөмүнө жана түзмөгүңүзгө жараша</item>
|
||||||
|
</plurals>
|
||||||
<string name="navigation_item_explore">Изилдөө</string>
|
<string name="navigation_item_explore">Изилдөө</string>
|
||||||
<string name="preference_category_appearance">Көрүнүш</string>
|
<string name="preference_category_appearance">Көрүнүш</string>
|
||||||
<string name="preference_category_general">Жалпы</string>
|
<string name="preference_category_general">Жалпы</string>
|
||||||
|
|
@ -67,8 +81,12 @@
|
||||||
<string name="login_success">Ийгиликтүү кирдиңиз!</string>
|
<string name="login_success">Ийгиликтүү кирдиңиз!</string>
|
||||||
<string name="login_failed">Системага кирүүдө катачылык бар!</string>
|
<string name="login_failed">Системага кирүүдө катачылык бар!</string>
|
||||||
<string name="upload_failed">Файл табылган жок. Башка файлды издеп көрүңүз.</string>
|
<string name="upload_failed">Файл табылган жок. Башка файлды издеп көрүңүз.</string>
|
||||||
|
<string name="retry_limit_reached">Максималдуу аракеттердин саны жетти! Жүктөөнү токтотуп, кайра аракет кылыңыз.</string>
|
||||||
|
<string name="unrestricted_battery_mode">Батарейка оптимизациясын өчүрүү керекпи?</string>
|
||||||
|
<string name="suggest_unrestricted_mode">3дөн ашык сүрөттү жүктөө батарейка оптимизациясы өчүрүлгөндө туруктуу иштейт. Жакшы жүктөө үчүн Викиказына тиркемесинде батарейка оптимизациясын өчүрүңүз. \n\nБатарейка оптимизациясын өчүрүү үчүн мүмкүн болгон кадамдар:\n\nКадам 1: Төмөндөгү «Настройкалар» баскычын таптаңыз.\n\nКадам 2: «Оптимизацияланбаган»дан «Бардык тиркемелер»ге которуңуз.\n\nКадам 3: \"Викиказына\" же \"fr.free.nrw.commons\" издеңиз.\n\nКадам 4: Тиркемени таптап, «Оптимизациялобо» деп тандаңыз.\n\nКадам 5: «Аяктоо» баскычын басыңыз.</string>
|
||||||
<string name="authentication_failed">Аутентификация ишке ашкан жок. Кайра кириңиз.</string>
|
<string name="authentication_failed">Аутентификация ишке ашкан жок. Кайра кириңиз.</string>
|
||||||
<string name="uploading_started">Жүктөө башталды!</string>
|
<string name="uploading_started">Жүктөө башталды!</string>
|
||||||
|
<string name="uploading_queued">Жүктөө кезекке коюлду (чектелген байланыш режими иштетилди)</string>
|
||||||
<string name="upload_completed_notification_title">%1$s жүктөлдү !</string>
|
<string name="upload_completed_notification_title">%1$s жүктөлдү !</string>
|
||||||
<string name="upload_completed_notification_text">Жүктөлгөн файлды көрүү үчүн басыңыз</string>
|
<string name="upload_completed_notification_text">Жүктөлгөн файлды көрүү үчүн басыңыз</string>
|
||||||
<string name="upload_progress_notification_title_start">Файл жүктөлүүдө: %s</string>
|
<string name="upload_progress_notification_title_start">Файл жүктөлүүдө: %s</string>
|
||||||
|
|
@ -88,7 +106,9 @@
|
||||||
<string name="menu_nearby">Жакынкы</string>
|
<string name="menu_nearby">Жакынкы</string>
|
||||||
<string name="provider_contributions">Жүктөөлөрүм</string>
|
<string name="provider_contributions">Жүктөөлөрүм</string>
|
||||||
<string name="menu_copy_link">Шилтемени көчүрүү</string>
|
<string name="menu_copy_link">Шилтемени көчүрүү</string>
|
||||||
|
<string name="menu_link_copied">Ссылка клипбордго көчүрүлдү</string>
|
||||||
<string name="menu_share">Бөлүшүү</string>
|
<string name="menu_share">Бөлүшүү</string>
|
||||||
|
<string name="menu_view_file_page">Файл барагын көрүү</string>
|
||||||
<string name="share_title_hint">Коштомо жазуу (талап кылынат)</string>
|
<string name="share_title_hint">Коштомо жазуу (талап кылынат)</string>
|
||||||
<string name="add_caption_toast">Бул файлга коштомо жазуу бериңиз</string>
|
<string name="add_caption_toast">Бул файлга коштомо жазуу бериңиз</string>
|
||||||
<string name="share_description_hint">Сыпаттама</string>
|
<string name="share_description_hint">Сыпаттама</string>
|
||||||
|
|
@ -106,58 +126,114 @@
|
||||||
<string name="categories_search_text_hint">Түрмөктөрдү издөө</string>
|
<string name="categories_search_text_hint">Түрмөктөрдү издөө</string>
|
||||||
<string name="depicts_search_text_hint">Файлдагы элементтерди издөө (тоо, Таж-Махал ж.б.)</string>
|
<string name="depicts_search_text_hint">Файлдагы элементтерди издөө (тоо, Таж-Махал ж.б.)</string>
|
||||||
<string name="menu_save_categories">Сактоо</string>
|
<string name="menu_save_categories">Сактоо</string>
|
||||||
|
<string name="menu_overflow_desc">Кошумча меню</string>
|
||||||
<string name="refresh_button">Жаңылоо</string>
|
<string name="refresh_button">Жаңылоо</string>
|
||||||
<string name="display_list_button">Тизме</string>
|
<string name="display_list_button">Тизме</string>
|
||||||
<string name="contributions_subtitle_zero">(Азырынча жүктөөлөр жок)</string>
|
<string name="contributions_subtitle_zero">(Азырынча жүктөөлөр жок)</string>
|
||||||
<string name="categories_not_found">%1$s түрмөктөрү табылган жок</string>
|
<string name="categories_not_found">%1$s түрмөктөрү табылган жок</string>
|
||||||
<string name="categories_skip_explanation" fuzzy="true">Уикиказынада Сиздин сүрөттөрдү жеңил табуу үчүн түрмөктөрдү кошуңуз.\n\nТүрмөктөрдү жазууну баштаңыз.\nБул кадамды аттап өтүү үчүн, бул билдирүүнү (же кийинкини) басыңыз.</string>
|
<string name="depictions_not_found">%1$s менен дал келген Викимаалымат элементтери табылган жок</string>
|
||||||
|
<string name="no_child_classes">%1$s балалык класстарга ээ эмес</string>
|
||||||
|
<string name="no_parent_classes">%1$s ата-энелик класстарга ээ эмес</string>
|
||||||
|
<string name="categories_skip_explanation">Сүрөттөрүңүздү Викиказына сайтында оңой табылат кылуу үчүн категорияларды кошуңуз.\nКатегорияларды кошуу үчүн жазууну баштаңыз.</string>
|
||||||
<string name="categories_activity_title">Категориялар</string>
|
<string name="categories_activity_title">Категориялар</string>
|
||||||
<string name="title_activity_settings">Параметрлер</string>
|
<string name="title_activity_settings">Параметрлер</string>
|
||||||
<string name="title_activity_signup">Катталуу</string>
|
<string name="title_activity_signup">Катталуу</string>
|
||||||
|
<string name="title_activity_featured_images">Тандалган сүрөттөр</string>
|
||||||
|
<string name="title_activity_custom_selector">Ыңгайлаштырылган тандоочу»</string>
|
||||||
<string name="title_activity_category_details">Категория</string>
|
<string name="title_activity_category_details">Категория</string>
|
||||||
|
<string name="title_activity_review">Көрүшүүчүлөрдүн баасы</string>
|
||||||
<string name="menu_about">Колдонмо тууралуу</string>
|
<string name="menu_about">Колдонмо тууралуу</string>
|
||||||
<string name="about_license" fuzzy="true">баштапкы коду ачык тиркемелер, <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\">Apache License v2</a> лицензиясынын негизинде чыгарылган</string>
|
<string name="about_license">Викиказына тиркемеси — бул ачык булактуу тиркеме, Викимедиа коомчулугунун грант алгандары жана волонтерлери тарабынан түзүлүп, тейленет. Викимедиа Фонду тиркемени түзүүгө, өнүктүрүүгө же тейлөөгө катышкан эмес.</string>
|
||||||
<string name="about_improve" fuzzy="true"><a href=\"https://github.com/commons-app/apps-android-commons\">GitHub</a> шилтемесине баштапкы код. <a href=\" https://github.com/commons-app/apps-android-commons/issues\">Github</a> шилтемесиндеги катачылык.</string>
|
<string name="about_improve">Жаңы <a href=\"%1$s\">GitHub маселесин</a> түзүңүз, ката тууралуу билдирүүлөр жана сунуштар үчүн.</string>
|
||||||
<string name="about_privacy_policy">Купуялык саясаты</string>
|
<string name="about_privacy_policy">Купуялык саясаты</string>
|
||||||
|
<string name="about_credits">Ыраазычылык</string>
|
||||||
<string name="title_activity_about">Колдонмо тууралуу</string>
|
<string name="title_activity_about">Колдонмо тууралуу</string>
|
||||||
<string name="menu_feedback">Шарттуу жооп жөнөтүү (Email)</string>
|
<string name="menu_feedback">Шарттуу жооп жөнөтүү (Email)</string>
|
||||||
|
<string name="no_email_client">Электрондук почта кардары орнотулбаган</string>
|
||||||
<string name="provider_categories">Жакында колдонулган түрмөктөр</string>
|
<string name="provider_categories">Жакында колдонулган түрмөктөр</string>
|
||||||
<string name="waiting_first_sync">Алгачкы мезгилдештирүүнү күтүү…</string>
|
<string name="waiting_first_sync">Алгачкы мезгилдештирүүнү күтүү…</string>
|
||||||
<string name="no_uploads_yet">Сиз бир дагы сүрөт жүктөй элексиз.</string>
|
<string name="no_uploads_yet">Сиз бир дагы сүрөт жүктөй элексиз.</string>
|
||||||
<string name="menu_retry_upload">Кайра аракет кылуу</string>
|
<string name="menu_retry_upload">Кайра аракет кылуу</string>
|
||||||
<string name="menu_cancel_upload">Жокко чыгаруу</string>
|
<string name="menu_cancel_upload">Жокко чыгаруу</string>
|
||||||
|
<string name="media_upload_policy">Бул сүрөттү жөнөтүп жатканым менен, мен анын менин жеке эмгегим экенин, анда автордук укук менен корголгон материалдар же селфилер жок экенин жана башкача айтканда <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">Викиказына саясатына</a> ылайык экенин билдирем.</string>
|
||||||
<string name="menu_download">Жүктөп алуу</string>
|
<string name="menu_download">Жүктөп алуу</string>
|
||||||
<string name="preference_license" fuzzy="true">Лицензия</string>
|
<string name="preference_license">Стандарттык лицензия</string>
|
||||||
|
<string name="use_previous">Мурунку аталыш жана сүрөттөмөнү колдонуу</string>
|
||||||
<string name="preference_theme">Тема</string>
|
<string name="preference_theme">Тема</string>
|
||||||
<string name="license_name_cc_by_sa" fuzzy="true">CC Attribution-ShareAlike 3.0</string>
|
<string name="license_name_cc_by_sa_four"> Attribution-ShareAlike 4.0</string>
|
||||||
<string name="license_name_cc_by" fuzzy="true">CC Attribution 3.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_cc0">CC0</string>
|
||||||
<string name="license_name_cc_by_sa_3_0">CC BY-SA 3.0</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>
|
<string name="license_name_cc_by_3_0">CC BY 3.0</string>
|
||||||
|
<string name="tutorial_1_text">Викиказына Википедияда колдонулган сүрөттөрдүн көбүн жайгаштырат.</string>
|
||||||
|
<string name="tutorial_1_subtext">Сиздин сүрөттөрүңүз дүйнө жүзү боюнча адамдарды окутууга жардам берет!</string>
|
||||||
|
<string name="tutorial_2_text">Сураныч, толугу менен өзүңүз тарткан же түзгөн сүрөттөрдү жүктөңүз:</string>
|
||||||
|
<string name="tutorial_2_subtext_1">Табигый объекттер (гүлдөр, жаныбарлар, тоолор)</string>
|
||||||
|
<string name="tutorial_2_subtext_2">Пайдалы объекттер (велосипеддер, темир жол станциялары)</string>
|
||||||
|
<string name="tutorial_2_subtext_3">Белгилүү адамдар (шаарыңыздын мэри, жолугушкан Олимпиадалык спортчулар)</string>
|
||||||
|
<string name="tutorial_3_text">Сураныч, ЖҮКТӨБӨҢҮЗ:</string>
|
||||||
|
<string name="tutorial_3_subtext_1">Селфилер же досторуңуздун сүрөттөрү</string>
|
||||||
|
<string name="tutorial_3_subtext_2">Интернеттен жүктөп алган сүрөттөр</string>
|
||||||
|
<string name="tutorial_3_subtext_3">Закрытылган тиркемелердин скриншоттору</string>
|
||||||
|
<string name="tutorial_4_text">Мисал катары жүктөө:</string>
|
||||||
|
<string name="tutorial_4_subtext_1">Аталышы: Сидней опера театры</string>
|
||||||
|
<string name="tutorial_4_subtext_2">Сүрөттөмө: Сидней опера театры булуңдун боюнан караганда</string>
|
||||||
|
<string name="tutorial_4_subtext_3">Категориялар: Сидней опера театрынын батыштан көрүнүшү, Сидней опера театрынын алыстан көрүнүшү</string>
|
||||||
<string name="welcome_wikipedia_text">Жеке сүрөттөрүңүздү жүктөңүз. Уикипедияда макалаларды жандандырууга салымыңызды кошуңуз!</string>
|
<string name="welcome_wikipedia_text">Жеке сүрөттөрүңүздү жүктөңүз. Уикипедияда макалаларды жандандырууга салымыңызды кошуңуз!</string>
|
||||||
<string name="welcome_wikipedia_subtext">Уикипедиядагы сүрөттөр Уикиказынада жеткиликтүү</string>
|
<string name="welcome_wikipedia_subtext">Уикипедиядагы сүрөттөр Уикиказынада жеткиликтүү</string>
|
||||||
<string name="welcome_copyright_text">Сиздин сүрөттөр дүйнө жүзүндөгү адамдардын билим алышына өбөлгө түзүүдө.</string>
|
<string name="welcome_copyright_text">Сиздин сүрөттөр дүйнө жүзүндөгү адамдардын билим алышына өбөлгө түзүүдө.</string>
|
||||||
<string name="welcome_copyright_subtext">Интернетте жарыяланган автордук укукка ээ сүрөттөрдөн, ошондой эле плакаттардан жана китептердин мукабасынан ж.б. четтеңиз.</string>
|
<string name="welcome_copyright_subtext">Интернетте жарыяланган автордук укукка ээ сүрөттөрдөн, ошондой эле плакаттардан жана китептердин мукабасынан ж.б. четтеңиз.</string>
|
||||||
<string name="welcome_final_text">Сизге бул түшүнүктүүбү?</string>
|
<string name="welcome_final_text">Сизге бул түшүнүктүүбү?</string>
|
||||||
<string name="welcome_final_button_text">Ооба!</string>
|
<string name="welcome_final_button_text">Ооба!</string>
|
||||||
|
<string name="welcome_help_button_text">Кошумча маалымат</string>
|
||||||
<string name="detail_panel_cats_label">Категориялар</string>
|
<string name="detail_panel_cats_label">Категориялар</string>
|
||||||
<string name="detail_panel_cats_loading">Жүктөлүүдө…</string>
|
<string name="detail_panel_cats_loading">Жүктөлүүдө…</string>
|
||||||
<string name="detail_panel_cats_none">Тандалган жок</string>
|
<string name="detail_panel_cats_none">Тандалган жок</string>
|
||||||
|
<string name="detail_caption_empty">Сүрөттөмө жок</string>
|
||||||
<string name="detail_description_empty">Сыпаттама жок</string>
|
<string name="detail_description_empty">Сыпаттама жок</string>
|
||||||
|
<string name="detail_discussion_empty">Талкуу жок</string>
|
||||||
|
<string name="detail_license_empty">Белгисиз лицензия</string>
|
||||||
<string name="menu_refresh">Жаңылоо</string>
|
<string name="menu_refresh">Жаңылоо</string>
|
||||||
|
<string name="storage_permission_title">Сактоо уруксатын сурап жатабыз</string>
|
||||||
|
<string name="read_storage_permission_rationale">Талап кылынган уруксат: Сырттан сактоону окуу. Бул уруксаты жок тиркеме галереяңызды көрө албайт.</string>
|
||||||
|
<string name="write_storage_permission_rationale">Талап кылынган уруксат: Сырттан сактоого жазуу. Бул уруксаты жок тиркеме камераңызды/галереяңызды колдоно албайт.</string>
|
||||||
|
<string name="location_permission_title">Жайгашкан жерди аныктоо уруксатын сурап жатабыз</string>
|
||||||
|
<string name="in_app_camera_location_permission_title">Тиркеме ичинде тартылган сүрөттөр үчүн жайгашкан жерди сактоо</string>
|
||||||
|
<string name="in_app_camera_location_switch_pref_summary">Эгерде түзмөк камерасы жайгашкан жерди сактамаса, тиркеме ичиндеги сүрөттөр менен жайгашкан жерди жазуу үчүн бул параметрди күйгүзүңүз.</string>
|
||||||
<string name="ok">Макул</string>
|
<string name="ok">Макул</string>
|
||||||
|
<string name="warning">Эскертүү</string>
|
||||||
|
<string name="duplicate_file_name">Кайталанган файл аталышы табылды</string>
|
||||||
<string name="upload">Жүктөө</string>
|
<string name="upload">Жүктөө</string>
|
||||||
<string name="yes">Ооба</string>
|
<string name="yes">Ооба</string>
|
||||||
<string name="no">Жок</string>
|
<string name="no">Жок</string>
|
||||||
<string name="media_detail_caption">Коштомо жазуу</string>
|
<string name="media_detail_caption">Коштомо жазуу</string>
|
||||||
<string name="media_detail_title">Аталыш</string>
|
<string name="media_detail_title">Аталыш</string>
|
||||||
|
<string name="media_detail_depiction">Сүрөттөмөлөр</string>
|
||||||
<string name="media_detail_description">Сыпаттама</string>
|
<string name="media_detail_description">Сыпаттама</string>
|
||||||
<string name="media_detail_discussion">Талкуу</string>
|
<string name="media_detail_discussion">Талкуу</string>
|
||||||
<string name="media_detail_author">Автор</string>
|
<string name="media_detail_author">Автор</string>
|
||||||
|
<string name="media_detail_uploader">Жүктөөчү</string>
|
||||||
<string name="media_detail_uploaded_date">Жүктөлгөн датасы</string>
|
<string name="media_detail_uploaded_date">Жүктөлгөн датасы</string>
|
||||||
<string name="media_detail_license">Лицензия</string>
|
<string name="media_detail_license">Лицензия</string>
|
||||||
<string name="media_detail_coordinates">Координаттар</string>
|
<string name="media_detail_coordinates">Координаттар</string>
|
||||||
|
<string name="media_detail_coordinates_empty">Берилген жок</string>
|
||||||
|
<string name="become_a_tester_title">Бета-тестирлөөчү болуңуз</string>
|
||||||
|
<string name="become_a_tester_description">Google Play\'деги бета-каналыбызга кошулуп, жаңы функцияларга жана каталарды оңдоолорго эрте жеткиликтүүлүк алыңыз</string>
|
||||||
|
<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">Википедияга кош келиңиз</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="cancel">Жокко чыгаруу</string>
|
||||||
<string name="navigation_drawer_open">Ачуу</string>
|
<string name="navigation_drawer_open">Ачуу</string>
|
||||||
<string name="navigation_drawer_close">Жабуу</string>
|
<string name="navigation_drawer_close">Жабуу</string>
|
||||||
|
|
@ -176,6 +252,25 @@
|
||||||
<string name="nearby_info_menu_commons_article">Файлдын Викиказынадагы барагы</string>
|
<string name="nearby_info_menu_commons_article">Файлдын Викиказынадагы барагы</string>
|
||||||
<string name="nearby_info_menu_wikidata_article">Викимаалыматтын элементи</string>
|
<string name="nearby_info_menu_wikidata_article">Викимаалыматтын элементи</string>
|
||||||
<string name="nearby_info_menu_wikipedia_article">Википедия макаласы</string>
|
<string name="nearby_info_menu_wikipedia_article">Википедия макаласы</string>
|
||||||
|
<string name="description_info">Сүрөттөмөнү мүмкүн болушунча кенен бериңиз: Бул сүрөт кайда тартылган? Эмне көрсөтөт? Контекст кандай? Объекттерди же адамдарды сүрөттөп бериңиз. Жөнөкөй жол менен болжолдоого болбогон маалыматтарды кошуңуз, мисалы, пейзаж болсо күндүн кайсы учурунда тартылганын. Эгер сүрөттөгү нерсе өзгөчө болсо, эмне үчүн өзгөчө экенин түшүндүрүңүз.</string>
|
||||||
|
<string name="caption_info">Сүрөттүн кыскача сүрөттөмөсүн жазыңыз. Биринчи сүрөттөмө сүрөттүн Аталышы катары колдонулат. 255 белгиден ашпасын.</string>
|
||||||
|
<string name="upload_problem_exist">Бул сүрөт менен мүмкүн болгон көйгөйлөр:</string>
|
||||||
|
<string name="upload_problem_image_dark">Сүрөт өтө караңгы.</string>
|
||||||
|
<string name="upload_problem_image_blurry">Сүрөт булуттуу.</string>
|
||||||
|
<string name="upload_problem_image_duplicate">Сүрөт мурунтан эле Викиказынада бар</string>
|
||||||
|
<string name="upload_problem_different_geolocation">Бул сүрөт башка жерде тартылган.</string>
|
||||||
|
<string name="upload_problem_fbmd">Сураныч, жөн гана өзүңүз тарткан сүрөттөрдү жүктөңүз. Башкалардын Facebook баракчаларынан тапкан сүрөттөрдү жүктөбөңүз.</string>
|
||||||
|
<string name="upload_problem_do_you_continue">Бул сүрөттү дагы деле жүктөп койгуңуз келеби?</string>
|
||||||
|
<string name="upload_connection_error_alert_title">Байланыш катасы</string>
|
||||||
|
<string name="upload_connection_error_alert_detail">Файлды жүктөө үчүн интернетке туташуу керек. Тармагыңызды текшериңиз.</string>
|
||||||
|
<string name="upload_problem_image">Сүрөттө табылган көйгөйлөр</string>
|
||||||
|
<string name="internet_downloaded">Сураныч, жөн гана өзүңүз тарткан сүрөттөрдү жүктөңүз. Интернеттен жүктөлгөн сүрөттөрдү жүктөбөңүз.</string>
|
||||||
|
<string name="use_external_storage">Тиркеме ичиндеги сүрөттөрдү сактоо</string>
|
||||||
|
<string name="use_external_storage_summary">Тиркеме ичиндеги камера менен тартылган сүрөттөрдү түзмөгүңүздүн сактоосуна сактоо</string>
|
||||||
|
<string name="login_to_your_account">Эсеп жазууга кирүү</string>
|
||||||
|
<string name="send_log_file">Лог файлын жөнөтүү</string>
|
||||||
|
<string name="send_log_file_description">Тиркеме менен байланышкан көйгөйлөрдү талдоо үчүн лог файлын электрондук почта аркылуу иштеп чыгуучуларга жөнөтүңүз. Эскертүү: логдордо жеке маалымат болушу мүмкүн.</string>
|
||||||
|
<string name="no_web_browser">URL ачуу үчүн веб-браузер табылган жок</string>
|
||||||
<string name="null_url">Ката! URL табылган жок</string>
|
<string name="null_url">Ката! URL табылган жок</string>
|
||||||
<string name="nominate_deletion">Өчүрүүгө сунуштоо</string>
|
<string name="nominate_deletion">Өчүрүүгө сунуштоо</string>
|
||||||
<string name="nominated_for_deletion">Бул файлды өчүрүү сунушталган.</string>
|
<string name="nominated_for_deletion">Бул файлды өчүрүү сунушталган.</string>
|
||||||
|
|
@ -185,16 +280,112 @@
|
||||||
<string name="skip_login_title">Аккаунтка кирүүнү чындап эле өткөрүп жибергиңиз келеби?</string>
|
<string name="skip_login_title">Аккаунтка кирүүнү чындап эле өткөрүп жибергиңиз келеби?</string>
|
||||||
<string name="skip_login_message">Кийин файлдарды жүктөө үчүн аккаунтка кирген болгонуңуз керек болот.</string>
|
<string name="skip_login_message">Кийин файлдарды жүктөө үчүн аккаунтка кирген болгонуңуз керек болот.</string>
|
||||||
<string name="login_alert_message">Бул функцияны колдонуу үчүн аккаунтка кириңиз</string>
|
<string name="login_alert_message">Бул функцияны колдонуу үчүн аккаунтка кириңиз</string>
|
||||||
|
<string name="copy_wikicode">Викитекстти клипбордго көчүрүү</string>
|
||||||
|
<string name="wikicode_copied">Викитекст клипбордго көчүрүлдү</string>
|
||||||
|
<string name="nearby_location_not_available">Жакынкы объекттер туура иштебеши мүмкүн, жайгашкан жер жеткиликсиз.</string>
|
||||||
|
<string name="nearby_showing_pins_offline">Интернет жеткиликсиз. Тек гана кэштелген жерлер көрсөтүлөт.</string>
|
||||||
|
<string name="upload_location_access_denied">Жайгашкан жерге уруксат берилген жок. Бул функцияны колдонуу үчүн жайгашкан жерди кол менен орнотуңуз.</string>
|
||||||
|
<string name="location_permission_rationale_nearby">Жакынкы жерлердин тизмесин көрсөтүү үчүн уруксат керек</string>
|
||||||
|
<string name="location_permission_rationale_explore">Жакынкы сүрөттөрдүн тизмесин көрсөтүү үчүн уруксат керек</string>
|
||||||
|
<string name="nearby_directions">Жол көрсөтмөлөрү</string>
|
||||||
<string name="nearby_wikidata">Викимаалымат</string>
|
<string name="nearby_wikidata">Викимаалымат</string>
|
||||||
<string name="nearby_wikipedia">Википедия</string>
|
<string name="nearby_wikipedia">Википедия</string>
|
||||||
|
<string name="nearby_commons">Викиказына</string>
|
||||||
|
<string name="about_rate_us">Баа бериңиз</string>
|
||||||
<string name="about_faq">КБС</string>
|
<string name="about_faq">КБС</string>
|
||||||
|
<string name="user_guide">Колдонуучунун нускамасы</string>
|
||||||
|
<string name="welcome_skip_button">Окуу куралын өткөрүп жиберүү</string>
|
||||||
|
<string name="no_internet">Интернет жеткиликсиз</string>
|
||||||
|
<string name="error_notifications">Билдирүүлөрдү алуу катасы</string>
|
||||||
|
<string name="error_review">Сын үчүн сүрөттү алуу катасы. Кайра аракет кылуу үчүн жаңылоону басыңыз.</string>
|
||||||
|
<string name="no_notifications">Билдирүүлөр табылган жок</string>
|
||||||
<string name="about_translate">Которуу</string>
|
<string name="about_translate">Которуу</string>
|
||||||
<string name="about_translate_title">Тилдер</string>
|
<string name="about_translate_title">Тилдер</string>
|
||||||
|
<string name="about_translate_message">Кайсы тил үчүн котормолорду жөнөтүүнү каалай турганыңызды тандаңыз</string>
|
||||||
|
<string name="about_translate_proceed">Улантуу</string>
|
||||||
<string name="about_translate_cancel">Жокко чыгаруу</string>
|
<string name="about_translate_cancel">Жокко чыгаруу</string>
|
||||||
|
<string name="retry">Кайра аракет кылуу</string>
|
||||||
|
<string name="showcase_view_whole_nearby_activity">Бул жерлер сизге жакын, алар үчүн Википедия макалаларын сүрөттөр менен иллюстрациялоо керек.\n\n«БУУ ЖЕРДИ ИЗДӨӨ» баскычын чыкылдатуу картага бекитип, ошол жердин айланасында жакынкы издөө жүргүзөт.</string>
|
||||||
|
<string name="showcase_view_needs_photo">Бул жер үчүн сүрөт керек.</string>
|
||||||
|
<string name="showcase_view_has_photo">Бул жердин сүрөтү мурунтан эле бар.</string>
|
||||||
|
<string name="showcase_view_no_longer_exists">Бул жер эми жок.</string>
|
||||||
|
<string name="no_images_found">Сүрөттөр табылган жок!</string>
|
||||||
|
<string name="error_loading_images">Сүрөттөрдү жүктөөдө ката кетти.</string>
|
||||||
|
<string name="image_uploaded_by">Жүктөгөн: %1$s</string>
|
||||||
|
<string name="block_notification_title">Бөгөттөлдү</string>
|
||||||
|
<string name="block_notification">Сизге Викиказынага түзөтүүгө бөгөт коюлган.</string>
|
||||||
|
<string name="app_widget_heading">Күндүн сүрөтү</string>
|
||||||
|
<string name="menu_search_button">Издөө</string>
|
||||||
|
<string name="search_commons">Викиказынада издөө</string>
|
||||||
|
<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>
|
<string name="search_tab_title_media">Медиа</string>
|
||||||
<string name="search_tab_title_categories">Категориялар</string>
|
<string name="search_tab_title_categories">Категориялар</string>
|
||||||
|
<string name="search_tab_title_depictions">Элементтер</string>
|
||||||
|
<string name="explore_tab_title_featured">Тандалма</string>
|
||||||
<string name="explore_tab_title_mobile">Уюлдук телефон аркылуу жүктөлгөн</string>
|
<string name="explore_tab_title_mobile">Уюлдук телефон аркылуу жүктөлгөн</string>
|
||||||
<string name="explore_tab_title_map">Карта</string>
|
<string name="explore_tab_title_map">Карта</string>
|
||||||
|
<string name="successful_wikidata_edit">%1$s\'ке Викимаалыматтарда сүрөт кошулду!</string>
|
||||||
|
<string name="wikidata_edit_failure">Тиешелүү Викимаалымат элементинин жаңыртылышы ишке ашкан жок!</string>
|
||||||
|
<string name="menu_set_wallpaper">Обои катары коюу</string>
|
||||||
|
<string name="wallpaper_set_successfully">Обои ийгиликтүү коюлду!</string>
|
||||||
|
<string name="quiz">Тест</string>
|
||||||
|
<string name="quiz_question_string">Бул сүрөттү жүктөөгө болобу?</string>
|
||||||
|
<string name="question">Суроо</string>
|
||||||
|
<string name="result">Жыйынтык</string>
|
||||||
|
<string name="quiz_back_button">Өчүрүү керек болгон сүрөттөрдү жүктөөнү уланта берсеңиз, аккаунтуңуз бөгөттөлүшү мүмкүн. Тестти токтоткуңуз келеби?</string>
|
||||||
|
<string name="quiz_alert_message">Сиз жүктөгөн сүрөттөрдүн %1$s%дан көбү өчүрүлгөн. Эгер өчүрүлүшү керек болгон сүрөттөрдү жүктөөнү уланта берсеңиз, аккаунтуңуз бөгөттөлүшү мүмкүн.\nОкутуу сабактарын кайра көрүп, кайсы сүрөттөрдү жүктөш керек, кайсынысы керек эмес экенин үйрөнүү үчүн тесттен өтөсүзбү?</string>
|
||||||
|
<string name="selfie_answer">Селфилердин энциклопедикалык мааниси аз. Эгер сиз жөнүндө Википедияда макала жок болсо, өзүңүздүн сүрөтүңүздү жүктөөдөн алыс болуңуз.</string>
|
||||||
|
<string name="taj_mahal_answer">Айрым өлкөлөрдө эстеликтердин жана сырттагы көрүнүштөрдүн сүрөттөрүн жүктөө көбүнчө уруксат берилет. Бирок, сыртта коюлган убактылуу көркөм инсталляциялар көбүнчө автордук укукка ээ болуп, жүктөөгө болбойт.</string>
|
||||||
|
<string name="screenshot_answer">Веб-сайттардын скриншоттору деривативдик (жөндөлгөн) чыгармалар болуп саналат жана сайттагы автордук укуктарга ылайык келет. Муну колдонуу үчүн автордон уруксат алуу керек. Андай уруксат болбосо, алардын ишине негизделген бардык чыгармаңыз мыйзам боюнча уруксатсыз көчүрмө катары эсептелип, оригинал авторго таандык.</string>
|
||||||
|
<string name="blurry_image_answer">Виктказынанын максаттарынын бири — сапаттуу сүрөттөрдү чогултуу. Ошондуктан, тайгалак сүрөттөрдү жүктөөгө болбойт. Ар дайым жакшы жарыкта ачык жана сапаттуу сүрөттөрдү тартууга аракет кылыңыз.</string>
|
||||||
|
<string name="construction_event_answer">Технологияны же маданиятты чагылдырган сүрөттөр Викиказынада абдан куттукталат.</string>
|
||||||
|
<string name="congratulatory_message_quiz">Сиз %1$s суроого туура жооп бердиңиз. Куттуктайбыз!</string>
|
||||||
|
<string name="warning_for_no_answer">Суроого жооп берүү үчүн эки варианттын бирин тандаңыз.</string>
|
||||||
|
<string name="user_not_logged_in">Кирүү мөөнөтү бүттү. Кайра кириңиз, сураныч.</string>
|
||||||
|
<string name="quiz_result_share_message">Тестиңизди досторуңуз менен бөлүшүңүз!</string>
|
||||||
|
<string name="continue_message">Улантуу</string>
|
||||||
|
<string name="correct">Туура жооп</string>
|
||||||
|
<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_pictures_in_this_area">Бул аймакта сүрөттөр жок.</string>
|
||||||
|
<string name="no_nearby_places_around">Жакын жерде эч кандай жайлар жок.</string>
|
||||||
|
<string name="error_fetching_nearby_monuments">Жакынкы эстеликтерди алуудө ката кетти.</string>
|
||||||
|
<string name="no_recent_searches">Жакында издөө болгон жок.</string>
|
||||||
|
<string name="delete_recent_searches_dialog">Издөө тарыхыңызды тазалоону каалайсызбы?</string>
|
||||||
|
<string name="cancel_upload_dialog">Бул жүктөөнү токтоткуңуз келетпи?</string>
|
||||||
|
<string name="delete_search_dialog">Бул издөөнү өчүргүңүз келеби?</string>
|
||||||
|
<string name="search_history_deleted">Издөө тарыхы өчүрүлдү</string>
|
||||||
|
<string name="nominate_delete">Өчүрүү үчүн сунуштоо</string>
|
||||||
|
<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">Деңгээл %d</string>
|
||||||
|
<string name="profile_withLevel">%s (Деңгээл %s)</string>
|
||||||
|
<string name="images_uploaded">Жүктөлгөн сүрөттөр</string>
|
||||||
|
<string name="image_reverts">Сүрөттөр кайра алынган жок</string>
|
||||||
|
<string name="images_used_by_wiki">Колдонулган сүрөттөр</string>
|
||||||
|
<string name="achievements_share_message">Жетишкендиктериңизди досторуңуз менен бөлүшүңүз!</string>
|
||||||
|
<string name="achievements_info_message">Сиз ушул талаптарды аткарган сайын деңгээлиңиз көтөрүлөт. «Статистика» бөлүмүндөгү элементтер деңгээлиңизге эсептелбейт.</string>
|
||||||
|
<string name="achievements_revert_limit_message">минималдуу талап:</string>
|
||||||
|
<string name="images_uploaded_explanation">Викиказынага ар кандай жүктөө программалары аркылуу жүктөгөн сүрөттөрдүн саны</string>
|
||||||
|
<string name="images_reverted_explanation">Викиказынага жүктөгөн сүрөттөрүңүздүн өчүрүлбөгөн пайызы</string>
|
||||||
|
<string name="images_used_explanation">Викиказынага жүктөгөн жана Викимедиа макалаларында колдонулган сүрөттөрдүн саны</string>
|
||||||
|
<string name="error_occurred">Ката кетти!</string>
|
||||||
|
<string name="notifications_channel_name_all">Викиказына билдирүүсү</string>
|
||||||
|
<string name="preference_author_name_toggle">Ыңгайлаштырылган автордун атын колдонуу</string>
|
||||||
<string name="back_button_warning">Жүктөөнү жокко чыгаруу</string>
|
<string name="back_button_warning">Жүктөөнү жокко чыгаруу</string>
|
||||||
<string name="back_button_warning_desc">Артка баскычын колдонуу менен бул жүктөө жокко чыгарылат жана сиз ийгиликти жоготосуз</string>
|
<string name="back_button_warning_desc">Артка баскычын колдонуу менен бул жүктөө жокко чыгарылат жана сиз ийгиликти жоготосуз</string>
|
||||||
<string name="back_button_continue">Жүктөөнү улантуу</string>
|
<string name="back_button_continue">Жүктөөнү улантуу</string>
|
||||||
|
|
|
||||||
|
|
@ -483,7 +483,7 @@
|
||||||
<string name="title_page_bookmarks_items">Elementer</string>
|
<string name="title_page_bookmarks_items">Elementer</string>
|
||||||
<string name="custom_selector_empty_text">Keng Biller</string>
|
<string name="custom_selector_empty_text">Keng Biller</string>
|
||||||
<string name="done">Fäerdeg</string>
|
<string name="done">Fäerdeg</string>
|
||||||
<string name="back">Zréck</string>
|
<string name="back">Zeréck</string>
|
||||||
<string name="welcome_custom_selector_ok">Genial</string>
|
<string name="welcome_custom_selector_ok">Genial</string>
|
||||||
<string name="custom_selector_already_uploaded_image_text">Dëst Bild gouf schonn op Commons eropgelueden.</string>
|
<string name="custom_selector_already_uploaded_image_text">Dëst Bild gouf schonn op Commons eropgelueden.</string>
|
||||||
<string name="wlm_upload_info">Dëst Bild wäert beim Concours Wiki Loves Monuments agereecht ginn.</string>
|
<string name="wlm_upload_info">Dëst Bild wäert beim Concours Wiki Loves Monuments agereecht ginn.</string>
|
||||||
|
|
|
||||||
|
|
@ -226,7 +226,7 @@
|
||||||
<string name="nearby_location_not_available">ဗဒင်ဏအ် ဟွံကၠောန်ကမၠောန် ဗွဲဓမ္မတာ၊ ဒၞာဲဒတန် ဟွံသၟဟ်အစောမ်။</string>
|
<string name="nearby_location_not_available">ဗဒင်ဏအ် ဟွံကၠောန်ကမၠောန် ဗွဲဓမ္မတာ၊ ဒၞာဲဒတန် ဟွံသၟဟ်အစောမ်။</string>
|
||||||
<string name="location_permission_rationale_nearby">အာတ်မိက်ဒၟံင် အခေါင် သွက်ဂွံထ္ၜး စရင်ဒၞာဲဒတန် ဗဒင်ဗဒင်</string>
|
<string name="location_permission_rationale_nearby">အာတ်မိက်ဒၟံင် အခေါင် သွက်ဂွံထ္ၜး စရင်ဒၞာဲဒတန် ဗဒင်ဗဒင်</string>
|
||||||
<string name="nearby_directions">စမၞောန်ဂမၠိုင်</string>
|
<string name="nearby_directions">စမၞောန်ဂမၠိုင်</string>
|
||||||
<string name="nearby_wikidata">ဝဳကဳဒါတာ</string>
|
<string name="nearby_wikidata">ဝဳကဳတင်ဂၞင်</string>
|
||||||
<string name="nearby_wikipedia" fuzzy="true">ဝဳကဳပဳဒဳယာ</string>
|
<string name="nearby_wikipedia" fuzzy="true">ဝဳကဳပဳဒဳယာ</string>
|
||||||
<string name="nearby_commons">ခမ်မောန်</string>
|
<string name="nearby_commons">ခမ်မောန်</string>
|
||||||
<string name="about_rate_us">ကဵုင္ၚုဟ် ကုပိုယ်</string>
|
<string name="about_rate_us">ကဵုင္ၚုဟ် ကုပိုယ်</string>
|
||||||
|
|
|
||||||
|
|
@ -322,6 +322,7 @@
|
||||||
<string name="statistics_featured">ߖߌ߬ߦߊ߬ߓߍ߫ ߟߊߓߊ߯ߙߕߊ ߟߎ߬</string>
|
<string name="statistics_featured">ߖߌ߬ߦߊ߬ߓߍ߫ ߟߊߓߊ߯ߙߕߊ ߟߎ߬</string>
|
||||||
<string name="statistics_wikidata_edits">ߖߌ߬ߦߊ߬ߓߍ ߞߊߕߙߍ߬ \"ߛߌ߰ߢߐ߲߰ ߦߙߐ\" ߡߊ߬</string>
|
<string name="statistics_wikidata_edits">ߖߌ߬ߦߊ߬ߓߍ ߞߊߕߙߍ߬ \"ߛߌ߰ߢߐ߲߰ ߦߙߐ\" ߡߊ߬</string>
|
||||||
<string name="level" fuzzy="true">ߞߊߓߋ</string>
|
<string name="level" fuzzy="true">ߞߊߓߋ</string>
|
||||||
|
<string name="profile_withLevel">%s (ߞߊߓߋ %s)</string>
|
||||||
<string name="images_uploaded">ߖߌ߬ߦߊ߬ߓߍ ߓߘߊ߫ ߟߊߦߟߍ߬</string>
|
<string name="images_uploaded">ߖߌ߬ߦߊ߬ߓߍ ߓߘߊ߫ ߟߊߦߟߍ߬</string>
|
||||||
<string name="image_reverts">ߖߌ߬ߦߊ߬ߓߍ ߡߊ߫ ߖߏ߰ߛߌ߬</string>
|
<string name="image_reverts">ߖߌ߬ߦߊ߬ߓߍ ߡߊ߫ ߖߏ߰ߛߌ߬</string>
|
||||||
<string name="images_used_by_wiki">ߖߌ߬ߦߊ߬ߓߍ߬ ߟߊߓߊ߯ߙߊߣߍ߲ ߠߎ߬</string>
|
<string name="images_used_by_wiki">ߖߌ߬ߦߊ߬ߓߍ߬ ߟߊߓߊ߯ߙߊߣߍ߲ ߠߎ߬</string>
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,7 @@
|
||||||
<string name="navigation_item_info">لارښوونيزې</string>
|
<string name="navigation_item_info">لارښوونيزې</string>
|
||||||
<string name="navigation_item_notification">خبرتياوې</string>
|
<string name="navigation_item_notification">خبرتياوې</string>
|
||||||
<string name="navigation_item_review">بياکتنه</string>
|
<string name="navigation_item_review">بياکتنه</string>
|
||||||
<string name="no_description_found">هيڅ څرگنداوی ونهٔ موندل شو</string>
|
<string name="no_description_found">هېڅ څرگنداوی ونه موندل شو</string>
|
||||||
<string name="nearby_info_menu_commons_article">ټولگړې دوتنې مخ</string>
|
<string name="nearby_info_menu_commons_article">ټولگړې دوتنې مخ</string>
|
||||||
<string name="nearby_info_menu_wikidata_article">ويکياومتوک توکی</string>
|
<string name="nearby_info_menu_wikidata_article">ويکياومتوک توکی</string>
|
||||||
<string name="nearby_info_menu_wikipedia_article">ويکيپېډيا ليکنه</string>
|
<string name="nearby_info_menu_wikipedia_article">ويکيپېډيا ليکنه</string>
|
||||||
|
|
@ -302,14 +302,29 @@
|
||||||
<string name="image_reverts">انځورونه په څټگرځولشوي نه دي</string>
|
<string name="image_reverts">انځورونه په څټگرځولشوي نه دي</string>
|
||||||
<string name="images_used_by_wiki">کارولشوي انځورونه</string>
|
<string name="images_used_by_wiki">کارولشوي انځورونه</string>
|
||||||
<string name="error_occurred">تېروتنه رامنځته شوه!</string>
|
<string name="error_occurred">تېروتنه رامنځته شوه!</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="list_sheet">لړليک</string>
|
||||||
|
<string name="storage_permission">زخيره کولو اجازه</string>
|
||||||
<string name="next">راتلونکی</string>
|
<string name="next">راتلونکی</string>
|
||||||
<string name="previous">مخکنی</string>
|
<string name="previous">مخکنی</string>
|
||||||
<string name="title_page_bookmarks_pictures">انځورونه</string>
|
<string name="title_page_bookmarks_pictures">انځورونه</string>
|
||||||
|
<string name="title_page_bookmarks_locations">ځايونه</string>
|
||||||
<string name="title_page_bookmarks_categories">وېشنيزې</string>
|
<string name="title_page_bookmarks_categories">وېشنيزې</string>
|
||||||
<string name="menu_bookmark">په کتابنښو کې ورگډول/لرېکول</string>
|
<string name="menu_bookmark">په کتابنښو کې ورگډول/لرېکول</string>
|
||||||
<string name="provider_bookmarks">کتابنښې</string>
|
<string name="provider_bookmarks">کتابنښې</string>
|
||||||
<string name="bookmark_empty">تاسو هېڅ کتابنښې نه دې ورگډېکړې</string>
|
<string name="bookmark_empty">تاسو هېڅ کتابنښې نه دې ورگډېکړې</string>
|
||||||
<string name="provider_bookmarks_location">کتابنښې</string>
|
<string name="provider_bookmarks_location">کتابنښې</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="no_categories_selected">هېڅ وېشنيزې نه دې ټاکل شوې</string>
|
||||||
<string name="ends_on">پای ته رسېږي په:</string>
|
<string name="ends_on">پای ته رسېږي په:</string>
|
||||||
<string name="display_campaigns">ټاکنيزېسيالۍ ښکارهکول</string>
|
<string name="display_campaigns">ټاکنيزېسيالۍ ښکارهکول</string>
|
||||||
<string name="display_campaigns_explanation">روانې ټاکنيزېسيالۍ وگورئ</string>
|
<string name="display_campaigns_explanation">روانې ټاکنيزېسيالۍ وگورئ</string>
|
||||||
|
|
@ -337,6 +352,8 @@
|
||||||
<string name="review_spam">ايا دا د منلو وړ دي؟</string>
|
<string name="review_spam">ايا دا د منلو وړ دي؟</string>
|
||||||
<string name="review_thanks">ايا تاسو غواړئ له ونډهوال نه مننه وکړئ؟</string>
|
<string name="review_thanks">ايا تاسو غواړئ له ونډهوال نه مننه وکړئ؟</string>
|
||||||
<string name="review_spam_explanation">که دا انځور ټولگټی نه وي؛ نو ړنگېدو ته د نوماندولو لپاره يې په نه کليک وکړئ.</string>
|
<string name="review_spam_explanation">که دا انځور ټولگټی نه وي؛ نو ړنگېدو ته د نوماندولو لپاره يې په نه کليک وکړئ.</string>
|
||||||
|
<string name="review_thanks_yes_button_text">بل انځور</string>
|
||||||
|
<string name="review_thanks_no_button_text">هو، ولې نه</string>
|
||||||
<string name="exif_tag_name_author">ليکوال</string>
|
<string name="exif_tag_name_author">ليکوال</string>
|
||||||
<string name="exif_tag_name_copyright">لمېسلرېښتې</string>
|
<string name="exif_tag_name_copyright">لمېسلرېښتې</string>
|
||||||
<string name="exif_tag_name_location">ځای</string>
|
<string name="exif_tag_name_location">ځای</string>
|
||||||
|
|
@ -348,7 +365,22 @@
|
||||||
<string name="image_info">انځور مالومات</string>
|
<string name="image_info">انځور مالومات</string>
|
||||||
<string name="no_categories_found">هېڅ وېشنيزې ونه موندل شوې</string>
|
<string name="no_categories_found">هېڅ وېشنيزې ونه موندل شوې</string>
|
||||||
<string name="delete_helper_ask_reason_copyright_logo">نښان</string>
|
<string name="delete_helper_ask_reason_copyright_logo">نښان</string>
|
||||||
|
<string name="delete_helper_ask_alert_set_positive_button_reason">ځکه چې دا</string>
|
||||||
|
<string name="category_edit_helper_make_edit_toast">د وېشنيزو هممهالولو هڅهکول.</string>
|
||||||
|
<string name="category_edit_helper_show_edit_title">وېشنيزه هممهالول</string>
|
||||||
|
<string name="category_edit_helper_show_edit_title_success">بریالیتوب</string>
|
||||||
|
<string name="category_edit_helper_edit_message_else">وېشنيزې نشي ورگډېدای.</string>
|
||||||
|
<string name="category_edit_button_text">وېشنيزې هممهالول</string>
|
||||||
|
<string name="depictions_edit_helper_make_edit_toast">د ښودنو هممهالولو هڅهکول.</string>
|
||||||
|
<string name="depictions_edit_helper_show_edit_title">ښودنې سمول</string>
|
||||||
|
<string name="description_edit_helper_show_edit_title">څرگنداوی هممهالول</string>
|
||||||
|
<string name="caption_edit_helper_show_edit_title">نيونگ هممهالول</string>
|
||||||
<string name="coordinates_edit_helper_show_edit_title_success">بریالیتوب</string>
|
<string name="coordinates_edit_helper_show_edit_title_success">بریالیتوب</string>
|
||||||
|
<string name="coordinates_edit_helper_show_edit_message">همغږيتوبونه %1$s ورگډ شول.</string>
|
||||||
|
<string name="description_edit_helper_show_edit_message">څرگنداوي ورگډل شول.</string>
|
||||||
|
<string name="caption_edit_helper_show_edit_message">نيونگ ورگډ شو.</string>
|
||||||
|
<string name="coordinates_edit_helper_edit_message_else">همغږيتوبونه نشي ورگډېدای.</string>
|
||||||
|
<string name="description_edit_helper_edit_message_else">څرگنداوی نشي ورگډېدای.</string>
|
||||||
<string name="share_image_via">انځور وېشل په وسيله د</string>
|
<string name="share_image_via">انځور وېشل په وسيله د</string>
|
||||||
<string name="theme_dark_name">تياره</string>
|
<string name="theme_dark_name">تياره</string>
|
||||||
<string name="theme_light_name">روښانه</string>
|
<string name="theme_light_name">روښانه</string>
|
||||||
|
|
@ -426,6 +458,7 @@
|
||||||
<string name="account">گڼون</string>
|
<string name="account">گڼون</string>
|
||||||
<string name="vanish_account">گڼون له منځه وړل</string>
|
<string name="vanish_account">گڼون له منځه وړل</string>
|
||||||
<string name="account_vanish_request_confirm_title">د گڼون له منځه وړلو گواښنه</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">نيونگ</string>
|
||||||
<string name="caption_copied_to_clipboard">نيونگ ټينگدړې ته ولمېسل شو</string>
|
<string name="caption_copied_to_clipboard">نيونگ ټينگدړې ته ولمېسل شو</string>
|
||||||
<string name="nominated_for_deletion_btn">ړنگولو ته نومولشوې</string>
|
<string name="nominated_for_deletion_btn">ړنگولو ته نومولشوې</string>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- Authors:
|
<!-- Authors:
|
||||||
|
* Albertoleoncio
|
||||||
* Athena in Wonderland
|
* Athena in Wonderland
|
||||||
* B3rnas
|
* B3rnas
|
||||||
* Caiofernandes
|
* Caiofernandes
|
||||||
|
|
@ -44,29 +45,29 @@
|
||||||
<string name="nearby_filter_state">Estado do Local</string>
|
<string name="nearby_filter_state">Estado do Local</string>
|
||||||
<string name="appwidget_img">Imagem do Dia</string>
|
<string name="appwidget_img">Imagem do Dia</string>
|
||||||
<plurals name="uploads_pending_notification_indicator">
|
<plurals name="uploads_pending_notification_indicator">
|
||||||
<item quantity="one">a carregar %1$d ficheiro</item>
|
<item quantity="one">a enviar %1$d ficheiro</item>
|
||||||
<item quantity="other">a carregar %1$d ficheiros</item>
|
<item quantity="other">a enviar %1$d ficheiros</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="contributions_subtitle">
|
<plurals name="contributions_subtitle">
|
||||||
<item quantity="one">(%1$d)</item>
|
<item quantity="one">(%1$d)</item>
|
||||||
<item quantity="other">(%1$d)</item>
|
<item quantity="other">(%1$d)</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="starting_uploads">A iniciar carregamentos</string>
|
<string name="starting_uploads">A iniciar envios</string>
|
||||||
<plurals name="starting_multiple_uploads">
|
<plurals name="starting_multiple_uploads">
|
||||||
<item quantity="one">A processar %d carregamento</item>
|
<item quantity="one">A processar %d envio</item>
|
||||||
<item quantity="other">A processar %d carregamentos</item>
|
<item quantity="other">A processar %d envios</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="multiple_uploads_title">
|
<plurals name="multiple_uploads_title">
|
||||||
<item quantity="one">%d carregamento</item>
|
<item quantity="one">%d envio</item>
|
||||||
<item quantity="other">%d carregamentos</item>
|
<item quantity="other">%d envios</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="share_license_summary">
|
<plurals name="share_license_summary">
|
||||||
<item quantity="one">Esta imagem será licenciada com a %1$s</item>
|
<item quantity="one">Esta imagem será licenciada com a %1$s</item>
|
||||||
<item quantity="other">Estas imagens serão licenciadas com a %1$s</item>
|
<item quantity="other">Estas imagens serão licenciadas com a %1$s</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="upload_count_title">
|
<plurals name="upload_count_title">
|
||||||
<item quantity="one">%1$d carregamento</item>
|
<item quantity="one">%1$d envio</item>
|
||||||
<item quantity="other">%1$d carregamentos</item>
|
<item quantity="other">%1$d envios</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="receiving_shared_content">
|
<plurals name="receiving_shared_content">
|
||||||
<item quantity="one">A receber conteúdo partilhado. O processamento da imagem pode demorar algum tempo, dependendo do tamanho da mesma e do seu dispositivo</item>
|
<item quantity="one">A receber conteúdo partilhado. O processamento da imagem pode demorar algum tempo, dependendo do tamanho da mesma e do seu dispositivo</item>
|
||||||
|
|
@ -83,8 +84,8 @@
|
||||||
<string name="upload_in_progress">Envio em progresso</string>
|
<string name="upload_in_progress">Envio em progresso</string>
|
||||||
<string name="username">Nome de utilizador</string>
|
<string name="username">Nome de utilizador</string>
|
||||||
<string name="password">Palavra-passe</string>
|
<string name="password">Palavra-passe</string>
|
||||||
<string name="login_credential">Entrar na sua conta da wiki Commons Beta</string>
|
<string name="login_credential">Inicie a sessão na sua conta de Commons Beta</string>
|
||||||
<string name="login">Entrar</string>
|
<string name="login">Iniciar sessão</string>
|
||||||
<string name="forgot_password">Esqueceu-se da palavra-passe?</string>
|
<string name="forgot_password">Esqueceu-se da palavra-passe?</string>
|
||||||
<string name="signup">Registar-se</string>
|
<string name="signup">Registar-se</string>
|
||||||
<string name="logging_in_title">A iniciar sessão</string>
|
<string name="logging_in_title">A iniciar sessão</string>
|
||||||
|
|
@ -99,27 +100,27 @@
|
||||||
<string name="suggest_unrestricted_mode">O carregamento de mais de três imagens funciona de maneira mais fiável quando a otimização da bateria está desligada. Desligue a otimização da bateria para a aplicação Commons nas configurações, de forma a ter uma experiência de carregamento mais fluida. \n\nPossíveis passos para desativar a otimização da bateria:\n\nEtapa 1: premir o botão \'Configurações\' abaixo.\n\nEtapa 2: mudar de \'Não otimizado\' para \'Todas as aplicações\'.\n\nEtapa 3: pesquisar \"Commons\" ou \"fr.free.nrw.commons\".\n\nEtapa 4: premir esta e selecionar \'Não otimizar\'.\n\nEtapa 5: pressionar \'Concluído\'.</string>
|
<string name="suggest_unrestricted_mode">O carregamento de mais de três imagens funciona de maneira mais fiável quando a otimização da bateria está desligada. Desligue a otimização da bateria para a aplicação Commons nas configurações, de forma a ter uma experiência de carregamento mais fluida. \n\nPossíveis passos para desativar a otimização da bateria:\n\nEtapa 1: premir o botão \'Configurações\' abaixo.\n\nEtapa 2: mudar de \'Não otimizado\' para \'Todas as aplicações\'.\n\nEtapa 3: pesquisar \"Commons\" ou \"fr.free.nrw.commons\".\n\nEtapa 4: premir esta e selecionar \'Não otimizar\'.\n\nEtapa 5: pressionar \'Concluído\'.</string>
|
||||||
<string name="authentication_failed">Falha na autenticação. Por favor faça login novamente.</string>
|
<string name="authentication_failed">Falha na autenticação. Por favor faça login novamente.</string>
|
||||||
<string name="uploading_started">Carregamento iniciado!</string>
|
<string name="uploading_started">Carregamento iniciado!</string>
|
||||||
<string name="uploading_queued">Fila de carregamento (modo de ligação limitada ativado)</string>
|
<string name="uploading_queued">Envio em fila (modo de ligação limitada ativado)</string>
|
||||||
<string name="upload_completed_notification_title">%1$s carregado!</string>
|
<string name="upload_completed_notification_title">%1$s enviado!</string>
|
||||||
<string name="upload_completed_notification_text">Toque para ver o seu carregamento</string>
|
<string name="upload_completed_notification_text">Toque para ver o seu envio</string>
|
||||||
<string name="upload_progress_notification_title_start">A carregar o ficheiro %s</string>
|
<string name="upload_progress_notification_title_start">A enviar o ficheiro %s</string>
|
||||||
<string name="upload_progress_notification_title_in_progress">A carregar %1$s</string>
|
<string name="upload_progress_notification_title_in_progress">A enviar %1$s</string>
|
||||||
<string name="upload_progress_notification_title_finishing">A terminar o carregamento de %1$s</string>
|
<string name="upload_progress_notification_title_finishing">A terminar o envio de %1$s</string>
|
||||||
<string name="upload_failed_notification_title">O carregamento de %1$s falhou</string>
|
<string name="upload_failed_notification_title">O envio de %1$s falhou</string>
|
||||||
<string name="upload_paused_notification_title">Carregamento de %1$s em pausa</string>
|
<string name="upload_paused_notification_title">Envio de %1$s pausado</string>
|
||||||
<string name="upload_failed_notification_subtitle">Tocar para ver</string>
|
<string name="upload_failed_notification_subtitle">Tocar para ver</string>
|
||||||
<string name="upload_paused_notification_subtitle">Tocar para ver</string>
|
<string name="upload_paused_notification_subtitle">Tocar para ver</string>
|
||||||
<string name="title_activity_contributions">Carregamentos recentes</string>
|
<string name="title_activity_contributions">Meus Envios Recentes</string>
|
||||||
<string name="contribution_state_queued">Em espera</string>
|
<string name="contribution_state_queued">Em fila</string>
|
||||||
<string name="contribution_state_failed">Falhado</string>
|
<string name="contribution_state_failed">Falhou</string>
|
||||||
<string name="contribution_state_in_progress">%1$d%% transferido</string>
|
<string name="contribution_state_in_progress">%1$d%% concluído</string>
|
||||||
<string name="contribution_state_starting">A carregar</string>
|
<string name="contribution_state_starting">A enviar</string>
|
||||||
<string name="menu_from_gallery">Da galeria</string>
|
<string name="menu_from_gallery">Da galeria</string>
|
||||||
<string name="menu_from_camera">Tirar foto</string>
|
<string name="menu_from_camera">Tirar fotografia</string>
|
||||||
<string name="menu_nearby">Nas redondezas</string>
|
<string name="menu_nearby">Nas redondezas</string>
|
||||||
<string name="provider_contributions">Carregamentos</string>
|
<string name="provider_contributions">Meus envios</string>
|
||||||
<string name="menu_copy_link">Copiar ligação</string>
|
<string name="menu_copy_link">Copiar hiperligação</string>
|
||||||
<string name="menu_link_copied">A ligação foi copiada para a área de transferência</string>
|
<string name="menu_link_copied">A hiperligação foi copiada para a área de transferência</string>
|
||||||
<string name="menu_share">Partilhar</string>
|
<string name="menu_share">Partilhar</string>
|
||||||
<string name="menu_view_file_page">Ver página do ficheiro</string>
|
<string name="menu_view_file_page">Ver página do ficheiro</string>
|
||||||
<string name="share_title_hint">Legenda (obrigatória)</string>
|
<string name="share_title_hint">Legenda (obrigatória)</string>
|
||||||
|
|
@ -132,13 +133,14 @@
|
||||||
<string name="login_failed_2fa_needed">Tem de fornecer o seu código de autenticação de dois fatores.</string>
|
<string name="login_failed_2fa_needed">Tem de fornecer o seu código de autenticação de dois fatores.</string>
|
||||||
<string name="login_failed_email_auth_needed">Foi enviado um código de verificação de autenticação para o seu endereço de correio eletrónico. Por favor, forneça o código para iniciar a sessão.</string>
|
<string name="login_failed_email_auth_needed">Foi enviado um código de verificação de autenticação para o seu endereço de correio eletrónico. Por favor, forneça o código para iniciar a sessão.</string>
|
||||||
<string name="login_failed_generic">O início de sessão falhou</string>
|
<string name="login_failed_generic">O início de sessão falhou</string>
|
||||||
<string name="share_upload_button">Carregar</string>
|
<string name="share_upload_button">Enviar</string>
|
||||||
<string name="multiple_share_base_title">Dê um nome a este conjunto</string>
|
<string name="multiple_share_base_title">Dê um nome a este conjunto</string>
|
||||||
<string name="provider_modifications">Modificações</string>
|
<string name="provider_modifications">Modificações</string>
|
||||||
<string name="menu_upload_single">Carregar</string>
|
<string name="menu_upload_single">Carregar</string>
|
||||||
<string name="categories_search_text_hint">Pesquisar categorias</string>
|
<string name="categories_search_text_hint">Pesquisar categorias</string>
|
||||||
<string name="depicts_search_text_hint">Procurar elementos que o seu conteúdo multimédia retrata (montanha, o Taj Mahal, etc.)</string>
|
<string name="depicts_search_text_hint">Procurar elementos que o seu conteúdo multimédia retrata (montanha, o Taj Mahal, etc.)</string>
|
||||||
<string name="menu_save_categories">Gravar</string>
|
<string name="menu_save_categories">Gravar</string>
|
||||||
|
<string name="menu_overflow_desc">Menu de fluxo</string>
|
||||||
<string name="refresh_button">Atualizar</string>
|
<string name="refresh_button">Atualizar</string>
|
||||||
<string name="display_list_button">Lista</string>
|
<string name="display_list_button">Lista</string>
|
||||||
<string name="contributions_subtitle_zero">(Ainda não foi carregado nenhum ficheiro)</string>
|
<string name="contributions_subtitle_zero">(Ainda não foi carregado nenhum ficheiro)</string>
|
||||||
|
|
@ -148,7 +150,7 @@
|
||||||
<string name="no_parent_classes">%1$s não tem nenhuma classe progenitora</string>
|
<string name="no_parent_classes">%1$s não tem nenhuma classe progenitora</string>
|
||||||
<string name="categories_skip_explanation">Adicione categorias para tornar as suas imagens mais fáceis de encontrar na wiki Wikimedia Commons.\nComece a escrever para adicionar categorias.</string>
|
<string name="categories_skip_explanation">Adicione categorias para tornar as suas imagens mais fáceis de encontrar na wiki Wikimedia Commons.\nComece a escrever para adicionar categorias.</string>
|
||||||
<string name="categories_activity_title">Categorias</string>
|
<string name="categories_activity_title">Categorias</string>
|
||||||
<string name="title_activity_settings">Configurações</string>
|
<string name="title_activity_settings">Definições</string>
|
||||||
<string name="title_activity_signup">Registar-se</string>
|
<string name="title_activity_signup">Registar-se</string>
|
||||||
<string name="title_activity_featured_images">Imagens destacadas</string>
|
<string name="title_activity_featured_images">Imagens destacadas</string>
|
||||||
<string name="title_activity_custom_selector">Seletor personalizado</string>
|
<string name="title_activity_custom_selector">Seletor personalizado</string>
|
||||||
|
|
@ -784,17 +786,21 @@
|
||||||
<string name="file_saved_successfully">Ficheiro guardado com sucesso</string>
|
<string name="file_saved_successfully">Ficheiro guardado com sucesso</string>
|
||||||
<string name="do_you_want_to_open_gpx_file">Deseja abrir o ficheiro GPX?</string>
|
<string name="do_you_want_to_open_gpx_file">Deseja abrir o ficheiro GPX?</string>
|
||||||
<string name="do_you_want_to_open_kml_file">Deseja abrir o ficheiro KML?</string>
|
<string name="do_you_want_to_open_kml_file">Deseja abrir o ficheiro KML?</string>
|
||||||
|
<string name="failed_to_save_kml_file">Não foi possível guardar o ficheiro KML.</string>
|
||||||
|
<string name="failed_to_save_gpx_file">Não foi possível guardar o ficheiro GPX.</string>
|
||||||
<string name="saving_kml_file">Guardar Ficheiro KML</string>
|
<string name="saving_kml_file">Guardar Ficheiro KML</string>
|
||||||
<string name="saving_gpx_file">Guardar Ficheiro GPX</string>
|
<string name="saving_gpx_file">Guardar Ficheiro GPX</string>
|
||||||
<plurals name="custom_picker_images_selected_title_appendix">
|
<plurals name="custom_picker_images_selected_title_appendix">
|
||||||
<item quantity="one">%d imagem selecionada</item>
|
<item quantity="one">%d imagem selecionada</item>
|
||||||
<item quantity="other">%d imagens selecionadas</item>
|
<item quantity="other">%d imagens selecionadas</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="nearby_wikitalk">Reporte um problema sobre este item na Wikidados</string>
|
<string name="multiple_files_depiction_header">Nota sobre múltiplos envios</string>
|
||||||
|
<string name="nearby_wikitalk">Reporte um problema sobre este item no Wikidata</string>
|
||||||
<string name="please_enter_some_comments">Por favor, insira alguns comentários</string>
|
<string name="please_enter_some_comments">Por favor, insira alguns comentários</string>
|
||||||
<string name="talk">Discussão</string>
|
<string name="talk">Discussão</string>
|
||||||
<string name="other_problem_or_information_please_explain_below">Outro problema ou informação (por favor, explique em baixo).</string>
|
<string name="other_problem_or_information_please_explain_below">Outro problema ou informação (por favor, explique em baixo).</string>
|
||||||
<string name="feedback_destination_note">O seu comentário é publicado na seguinte página da wiki: <a href=\"https://commons.wikimedia.org/wiki/Commons:Mobile_app/Feedback\">Commons:Mobile app/Feedback</a></string>
|
<string name="feedback_destination_note">O seu comentário é publicado na seguinte página da wiki: <a href=\"https://commons.wikimedia.org/wiki/Commons:Mobile_app/Feedback\">Commons:Mobile app/Feedback</a></string>
|
||||||
|
<string name="cancelling_all_the_uploads">A cancelar todos os envios...</string>
|
||||||
<string name="uploads">Envios</string>
|
<string name="uploads">Envios</string>
|
||||||
<string name="pending">Pendente</string>
|
<string name="pending">Pendente</string>
|
||||||
<string name="failed">Falhou</string>
|
<string name="failed">Falhou</string>
|
||||||
|
|
@ -803,6 +809,8 @@
|
||||||
<string name="custom_selector_confirm_deletion_title">Confirmar Eliminação</string>
|
<string name="custom_selector_confirm_deletion_title">Confirmar Eliminação</string>
|
||||||
<string name="custom_selector_delete">Eliminar</string>
|
<string name="custom_selector_delete">Eliminar</string>
|
||||||
<string name="custom_selector_cancel">Cancelar</string>
|
<string name="custom_selector_cancel">Cancelar</string>
|
||||||
|
<string name="error_while_loading">Erro ao carregar</string>
|
||||||
|
<string name="no_usages_found">Não foram encontradas utilizações</string>
|
||||||
<string name="usages_on_commons_heading">Commons</string>
|
<string name="usages_on_commons_heading">Commons</string>
|
||||||
<string name="usages_on_other_wikis_heading">Outras wikis</string>
|
<string name="usages_on_other_wikis_heading">Outras wikis</string>
|
||||||
<string name="file_usages_container_heading">Utilização de ficheiro</string>
|
<string name="file_usages_container_heading">Utilização de ficheiro</string>
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="all">
|
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="all">
|
||||||
<string name="submit">{{Identical|Submit}}</string>
|
<string name="submit">{{Identical|Submit}}</string>
|
||||||
<string name="nearby_all">{{identical|All}}</string>
|
<string name="nearby_all">{{identical|All}}</string>
|
||||||
<string name="nearby_filter_search"/>
|
|
||||||
<string name="uploads_pending_notification_indicator">Status text about number of uploads left.\n* %1$d represents number of uploads left, including current one</string>
|
<string name="uploads_pending_notification_indicator">Status text about number of uploads left.\n* %1$d represents number of uploads left, including current one</string>
|
||||||
<string name="contributions_subtitle">See the current issue [https://phabricator.wikimedia.org/T267142 T267142] tracked in Phabricator about the <code><nowiki>|zero=</nowiki></code> option currently not supported on Translatewiki.net with the custom <code><nowiki>{{PLURAL}}</nowiki></code> rules used by this project for Android, using a non-MediaWiki syntax.</string>
|
<string name="contributions_subtitle">See the current issue [https://phabricator.wikimedia.org/T267142 T267142] tracked in Phabricator about the <code><nowiki>|zero=</nowiki></code> option currently not supported on Translatewiki.net with the custom <code><nowiki>{{PLURAL}}</nowiki></code> rules used by this project for Android, using a non-MediaWiki syntax.</string>
|
||||||
<string name="multiple_uploads_title">{{Identical|Upload}}</string>
|
<string name="multiple_uploads_title">{{Identical|Upload}}</string>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- Authors:
|
<!-- Authors:
|
||||||
|
* Bapham123
|
||||||
* Bluetpp
|
* Bluetpp
|
||||||
* Băng Tỏa
|
* Băng Tỏa
|
||||||
* Caden99
|
* Caden99
|
||||||
|
|
@ -25,7 +26,13 @@
|
||||||
<string name="commons_github">Mã nguồn Commons tại GitHub</string>
|
<string name="commons_github">Mã nguồn Commons tại GitHub</string>
|
||||||
<string name="commons_logo">Biểu trưng Commons</string>
|
<string name="commons_logo">Biểu trưng Commons</string>
|
||||||
<string name="commons_website">Trang Web Commons</string>
|
<string name="commons_website">Trang Web Commons</string>
|
||||||
|
<string name="submit">Gửi</string>
|
||||||
<string name="add_another_description">Thêm mô tả</string>
|
<string name="add_another_description">Thêm mô tả</string>
|
||||||
|
<string name="add_new_contribution">Thêm đóng góp mới</string>
|
||||||
|
<string name="add_contribution_from_camera">Thêm đóng góp từ máy ảnh</string>
|
||||||
|
<string name="show_captions_description">Miêu tả</string>
|
||||||
|
<string name="nearby_row_image">Hình ảnh</string>
|
||||||
|
<string name="nearby_all">Tất cả</string>
|
||||||
<plurals name="uploads_pending_notification_indicator">
|
<plurals name="uploads_pending_notification_indicator">
|
||||||
<item quantity="one">%1$d tập tin đang được tải lên</item>
|
<item quantity="one">%1$d tập tin đang được tải lên</item>
|
||||||
<item quantity="other">%1$d tập tin đang được tải lên</item>
|
<item quantity="other">%1$d tập tin đang được tải lên</item>
|
||||||
|
|
@ -52,6 +59,7 @@
|
||||||
<string name="app_name">Commons</string>
|
<string name="app_name">Commons</string>
|
||||||
<string name="menu_settings">Thiết lập</string>
|
<string name="menu_settings">Thiết lập</string>
|
||||||
<string name="intent_share_upload_label">Đăng tải lên Commons</string>
|
<string name="intent_share_upload_label">Đăng tải lên Commons</string>
|
||||||
|
<string name="upload_in_progress">Đang tải lên</string>
|
||||||
<string name="username">Tên người dùng</string>
|
<string name="username">Tên người dùng</string>
|
||||||
<string name="password">Mật khẩu</string>
|
<string name="password">Mật khẩu</string>
|
||||||
<string name="login_credential">Đăng nhập vào tài khoản Commons Beta của bạn</string>
|
<string name="login_credential">Đăng nhập vào tài khoản Commons Beta của bạn</string>
|
||||||
|
|
@ -61,18 +69,22 @@
|
||||||
<string name="logging_in_title">Đang đăng nhập</string>
|
<string name="logging_in_title">Đang đăng nhập</string>
|
||||||
<string name="logging_in_message">Vui lòng chờ…</string>
|
<string name="logging_in_message">Vui lòng chờ…</string>
|
||||||
<string name="updating_caption_message">Vui lòng chờ…</string>
|
<string name="updating_caption_message">Vui lòng chờ…</string>
|
||||||
<string name="login_success" fuzzy="true">Đã đăng nhập thành công!</string>
|
<string name="login_success">Đã đăng nhập thành công!</string>
|
||||||
<string name="login_failed" fuzzy="true">Đăng nhập thất bại!</string>
|
<string name="login_failed">Đăng nhập thất bại!</string>
|
||||||
<string name="upload_failed">Không tìm thấy tập tin. Xin vui lòng thử tập tin khác.</string>
|
<string name="upload_failed">Không tìm thấy tập tin. Xin vui lòng thử tập tin khác.</string>
|
||||||
<string name="authentication_failed" fuzzy="true">Xác thực thất bại, vui lòng đăng nhập lại</string>
|
<string name="retry_limit_reached">Đã đạt đến giới hạn thử lại tối đa! Vui lòng hủy bỏ tải lên và thử lại</string>
|
||||||
|
<string name="unrestricted_battery_mode">Tắt tính năng tối ưu hóa pin?</string>
|
||||||
|
<string name="authentication_failed">Xác thực thất bại, vui lòng đăng nhập lại</string>
|
||||||
<string name="uploading_started">Đã bắt đầu tải lên!</string>
|
<string name="uploading_started">Đã bắt đầu tải lên!</string>
|
||||||
<string name="upload_completed_notification_title">Đã tải lên %1$s!</string>
|
<string name="upload_completed_notification_title">Đã tải lên %1$s!</string>
|
||||||
<string name="upload_completed_notification_text">Chạm để xem những tập tin tải lên của bạn</string>
|
<string name="upload_completed_notification_text">Chạm để xem những tập tin tải lên của bạn</string>
|
||||||
<string name="upload_progress_notification_title_start" fuzzy="true">Đang bắt đầu tải lên tập tin %1$s</string>
|
<string name="upload_progress_notification_title_start">Đang tải tập tin lên: %s</string>
|
||||||
<string name="upload_progress_notification_title_in_progress">Đang tải lên tập tin %1$s</string>
|
<string name="upload_progress_notification_title_in_progress">Đang tải lên tập tin %1$s</string>
|
||||||
<string name="upload_progress_notification_title_finishing">Đang hoàn thành việc tải lên tập tin %1$s</string>
|
<string name="upload_progress_notification_title_finishing">Đang hoàn thành việc tải lên tập tin %1$s</string>
|
||||||
<string name="upload_failed_notification_title" fuzzy="true">Tải lên tập tin %1$s thất bại</string>
|
<string name="upload_failed_notification_title">Tải lên tập tin %1$s thất bại</string>
|
||||||
|
<string name="upload_paused_notification_title">Tải lên %1$s đã tạm dừng</string>
|
||||||
<string name="upload_failed_notification_subtitle">Chạm để xem</string>
|
<string name="upload_failed_notification_subtitle">Chạm để xem</string>
|
||||||
|
<string name="upload_paused_notification_subtitle">Chạm để xem</string>
|
||||||
<string name="title_activity_contributions">Tập tin Tôi đã Tải lên Gần đây</string>
|
<string name="title_activity_contributions">Tập tin Tôi đã Tải lên Gần đây</string>
|
||||||
<string name="contribution_state_queued">Đang chờ</string>
|
<string name="contribution_state_queued">Đang chờ</string>
|
||||||
<string name="contribution_state_failed">Thất bại</string>
|
<string name="contribution_state_failed">Thất bại</string>
|
||||||
|
|
@ -82,14 +94,20 @@
|
||||||
<string name="menu_from_camera">Chụp ảnh</string>
|
<string name="menu_from_camera">Chụp ảnh</string>
|
||||||
<string name="menu_nearby">Lân cận</string>
|
<string name="menu_nearby">Lân cận</string>
|
||||||
<string name="provider_contributions">Tập tin tôi tải lên</string>
|
<string name="provider_contributions">Tập tin tôi tải lên</string>
|
||||||
|
<string name="menu_copy_link">Sao chép địa chỉ liên kết</string>
|
||||||
|
<string name="menu_link_copied">Liên kết đã được sao chép vào bảng tạm</string>
|
||||||
<string name="menu_share">Chia sẻ</string>
|
<string name="menu_share">Chia sẻ</string>
|
||||||
<string name="share_title_hint" fuzzy="true">Tựa đề (Yêu cầu)</string>
|
<string name="menu_view_file_page">Xem trang tập tin</string>
|
||||||
|
<string name="share_title_hint">Chú thích (Yêu cầu)</string>
|
||||||
|
<string name="add_caption_toast">Xin hãy cung cấp một chú thích cho tập tin này</string>
|
||||||
<string name="share_description_hint">Miêu tả</string>
|
<string name="share_description_hint">Miêu tả</string>
|
||||||
<string name="login_failed_network" fuzzy="true">Không thể đăng nhập – có lỗi mạng</string>
|
<string name="share_caption_hint">Chú thích</string>
|
||||||
|
<string name="login_failed_network">Không thể đăng nhập – có lỗi mạng</string>
|
||||||
<string name="login_failed_throttled">Đã đăng nhập thất bại quá nhiều lần. Xin vui lòng thử lại trong vòng vài phút.</string>
|
<string name="login_failed_throttled">Đã đăng nhập thất bại quá nhiều lần. Xin vui lòng thử lại trong vòng vài phút.</string>
|
||||||
<string name="login_failed_blocked">Rất tiếc, người dùng này đã bị cấm tại Commons</string>
|
<string name="login_failed_blocked">Rất tiếc, người dùng này đã bị cấm tại Commons</string>
|
||||||
<string name="login_failed_2fa_needed">Bạn phải cung cấp mã xác thực dùng hai nhân tố.</string>
|
<string name="login_failed_2fa_needed">Bạn phải cung cấp mã xác thực dùng hai nhân tố.</string>
|
||||||
<string name="login_failed_generic" fuzzy="true">Đăng nhập thất bại</string>
|
<string name="login_failed_email_auth_needed">Một mã xác minh đăng nhập đã được gửi đến địa chỉ thư điện tử của bạn. Xin hãy cung cấp mã để đăng nhập.</string>
|
||||||
|
<string name="login_failed_generic">Đăng nhập thất bại</string>
|
||||||
<string name="share_upload_button">Tải lên</string>
|
<string name="share_upload_button">Tải lên</string>
|
||||||
<string name="multiple_share_base_title">Đặt tên nhóm này</string>
|
<string name="multiple_share_base_title">Đặt tên nhóm này</string>
|
||||||
<string name="provider_modifications">Sửa đổi</string>
|
<string name="provider_modifications">Sửa đổi</string>
|
||||||
|
|
@ -98,7 +116,7 @@
|
||||||
<string name="menu_save_categories">Lưu</string>
|
<string name="menu_save_categories">Lưu</string>
|
||||||
<string name="refresh_button">Làm mới</string>
|
<string name="refresh_button">Làm mới</string>
|
||||||
<string name="display_list_button">Danh sách</string>
|
<string name="display_list_button">Danh sách</string>
|
||||||
<string name="contributions_subtitle_zero" fuzzy="true">Chưa có tập tin tải lên</string>
|
<string name="contributions_subtitle_zero">(Chưa có tập tin tải lên)</string>
|
||||||
<string name="categories_not_found">Không tìm thấy thể loại khớp với %1$s</string>
|
<string name="categories_not_found">Không tìm thấy thể loại khớp với %1$s</string>
|
||||||
<string name="categories_skip_explanation">Xếp các hình ảnh vào thể loại để giúp chúng dễ tìm kiếm hơn trên Wikimedia Commons.\nHãy bắt đầu nhập để thêm thể loại.</string>
|
<string name="categories_skip_explanation">Xếp các hình ảnh vào thể loại để giúp chúng dễ tìm kiếm hơn trên Wikimedia Commons.\nHãy bắt đầu nhập để thêm thể loại.</string>
|
||||||
<string name="categories_activity_title">Thể loại</string>
|
<string name="categories_activity_title">Thể loại</string>
|
||||||
|
|
@ -157,21 +175,29 @@
|
||||||
<string name="detail_panel_cats_label">Thể loại</string>
|
<string name="detail_panel_cats_label">Thể loại</string>
|
||||||
<string name="detail_panel_cats_loading">Đang tải…</string>
|
<string name="detail_panel_cats_loading">Đang tải…</string>
|
||||||
<string name="detail_panel_cats_none">Chưa chọn</string>
|
<string name="detail_panel_cats_none">Chưa chọn</string>
|
||||||
|
<string name="detail_caption_empty">Không có chú thích</string>
|
||||||
<string name="detail_description_empty">Không miêu tả</string>
|
<string name="detail_description_empty">Không miêu tả</string>
|
||||||
|
<string name="detail_discussion_empty">Không có thảo luận</string>
|
||||||
<string name="detail_license_empty">Giấy phép không rõ</string>
|
<string name="detail_license_empty">Giấy phép không rõ</string>
|
||||||
<string name="menu_refresh">Làm mới</string>
|
<string name="menu_refresh">Làm mới</string>
|
||||||
<string name="storage_permission_title">Yêu cầu Quyền Lưu trữ</string>
|
<string name="storage_permission_title">Yêu cầu Quyền Lưu trữ</string>
|
||||||
<string name="read_storage_permission_rationale">Yêu cầu cấp phép: Đọc thiết bị lưu trữ bên ngoài. Ứng dụng cần được phép đọc thiết bị lưu trữ bên ngoài để truy cập kho ảnh của bạn.</string>
|
<string name="read_storage_permission_rationale">Yêu cầu cấp phép: Đọc thiết bị lưu trữ bên ngoài. Ứng dụng cần được phép đọc thiết bị lưu trữ bên ngoài để truy cập kho ảnh của bạn.</string>
|
||||||
<string name="write_storage_permission_rationale" fuzzy="true">Yêu cầu cấp phép: Ghi vào thiết bị lưu trữ bên ngoài. Ứng dụng cần được phép ghi vào thiết bị lưu trữ bên ngoài để truy cập máy chụp hình của bạn.</string>
|
<string name="write_storage_permission_rationale">Yêu cầu cấp phép: Ghi vào thiết bị lưu trữ bên ngoài. Ứng dụng cần được phép ghi vào thiết bị lưu trữ bên ngoài để truy cập máy chụp hình/thư viện ảnh của bạn.</string>
|
||||||
|
<string name="location_permission_title">Yêu cầu quyền truy cập vị trí</string>
|
||||||
|
<string name="in_app_camera_location_permission_title">Ghi lại vị trí để chụp ảnh trong ứng dụng</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="warning">Cảnh báo</string>
|
<string name="warning">Cảnh báo</string>
|
||||||
|
<string name="duplicate_file_name">Đã tìm thấy tên tập tin bị trùng lặp</string>
|
||||||
<string name="upload">Tải lên</string>
|
<string name="upload">Tải lên</string>
|
||||||
<string name="yes">Có</string>
|
<string name="yes">Có</string>
|
||||||
<string name="no">Không</string>
|
<string name="no">Không</string>
|
||||||
|
<string name="media_detail_caption">Chú thích</string>
|
||||||
<string name="media_detail_title">Tiêu đề</string>
|
<string name="media_detail_title">Tiêu đề</string>
|
||||||
|
<string name="media_detail_depiction">Miêu tả</string>
|
||||||
<string name="media_detail_description">Mô tả</string>
|
<string name="media_detail_description">Mô tả</string>
|
||||||
<string name="media_detail_discussion">Thảo luận</string>
|
<string name="media_detail_discussion">Thảo luận</string>
|
||||||
<string name="media_detail_author">Tác giả</string>
|
<string name="media_detail_author">Tác giả</string>
|
||||||
|
<string name="media_detail_uploader">Người tải lên</string>
|
||||||
<string name="media_detail_uploaded_date">Ngày tải lên</string>
|
<string name="media_detail_uploaded_date">Ngày tải lên</string>
|
||||||
<string name="media_detail_license">Giấy phép</string>
|
<string name="media_detail_license">Giấy phép</string>
|
||||||
<string name="media_detail_coordinates">Tọa độ</string>
|
<string name="media_detail_coordinates">Tọa độ</string>
|
||||||
|
|
@ -179,8 +205,11 @@
|
||||||
<string name="become_a_tester_title">Trở thành người dùng thử nghiệm</string>
|
<string name="become_a_tester_title">Trở thành người dùng thử nghiệm</string>
|
||||||
<string name="become_a_tester_description">Tham gia kênh thử nghiệm của chúng tôi trên Google Play và nhận các tính năng mới cùng những bản sửa lỗi sớm hơn</string>
|
<string name="become_a_tester_description">Tham gia kênh thử nghiệm của chúng tôi trên Google Play và nhận các tính năng mới cùng những bản sửa lỗi sớm hơn</string>
|
||||||
<string name="_2fa_code">Mã Hai Nhân tố</string>
|
<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="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="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>
|
<string name="welcome_image_mount_zao">Núi Zaō</string>
|
||||||
<string name="welcome_image_llamas">Lạc đà không bướu</string>
|
<string name="welcome_image_llamas">Lạc đà không bướu</string>
|
||||||
<string name="welcome_image_rainbow_bridge">Cầu Cầu vồng</string>
|
<string name="welcome_image_rainbow_bridge">Cầu Cầu vồng</string>
|
||||||
|
|
@ -197,21 +226,26 @@
|
||||||
<string name="navigation_item_about">Giới thiệu</string>
|
<string name="navigation_item_about">Giới thiệu</string>
|
||||||
<string name="navigation_item_settings">Thiết lập</string>
|
<string name="navigation_item_settings">Thiết lập</string>
|
||||||
<string name="navigation_item_feedback">Phản hồi</string>
|
<string name="navigation_item_feedback">Phản hồi</string>
|
||||||
|
<string name="navigation_item_feedback_github">Phản hồi qua Github</string>
|
||||||
<string name="navigation_item_logout">Đăng xuất</string>
|
<string name="navigation_item_logout">Đăng xuất</string>
|
||||||
<string name="navigation_item_info">Hướng dẫn</string>
|
<string name="navigation_item_info">Hướng dẫn</string>
|
||||||
<string name="navigation_item_notification">Thông báo</string>
|
<string name="navigation_item_notification">Thông báo</string>
|
||||||
|
<string name="navigation_item_review">Duyệt</string>
|
||||||
<string name="no_description_found">không tìm thấy miêu tả</string>
|
<string name="no_description_found">không tìm thấy miêu tả</string>
|
||||||
<string name="nearby_info_menu_commons_article">Trang tập tin Commons</string>
|
<string name="nearby_info_menu_commons_article">Trang tập tin Commons</string>
|
||||||
<string name="nearby_info_menu_wikidata_article">Khoản mục Wikidata</string>
|
<string name="nearby_info_menu_wikidata_article">Khoản mục Wikidata</string>
|
||||||
<string name="nearby_info_menu_wikipedia_article">Bài Wikipedia</string>
|
<string name="nearby_info_menu_wikipedia_article">Bài Wikipedia</string>
|
||||||
<string name="description_info">Xin vui lòng miêu tả phương tiện càng đầy đủ càng tốt: Chụp ở đâu? Trong hình có gì? Bối cảnh làm sao? Xin vui lòng miêu tả các đối tượng và người trong hình. Cho biết những thông tin khó đoán ra, chẳng hạn giờ trong ngày nếu là phong cảnh. Nếu phương tiện có gì kỳ lạ, xin vui lòng giải thích tại sao nó kỳ lạ.</string>
|
<string name="description_info">Xin vui lòng miêu tả phương tiện càng đầy đủ càng tốt: Chụp ở đâu? Trong hình có gì? Bối cảnh làm sao? Xin vui lòng miêu tả các đối tượng và người trong hình. Cho biết những thông tin khó đoán ra, chẳng hạn giờ trong ngày nếu là phong cảnh. Nếu phương tiện có gì kỳ lạ, xin vui lòng giải thích tại sao nó kỳ lạ.</string>
|
||||||
|
<string name="upload_problem_exist">Có vấn đề tiềm ẩn với hình ảnh này:</string>
|
||||||
<string name="upload_problem_image_dark">Hình ảnh quá tối.</string>
|
<string name="upload_problem_image_dark">Hình ảnh quá tối.</string>
|
||||||
<string name="upload_problem_image_blurry">Hình ảnh bị nhòe.</string>
|
<string name="upload_problem_image_blurry">Hình ảnh bị nhòe.</string>
|
||||||
<string name="upload_problem_image_duplicate">Hình ảnh đã có trên Commons.</string>
|
<string name="upload_problem_image_duplicate">Hình ảnh đã có trên Commons.</string>
|
||||||
<string name="upload_problem_different_geolocation">Bức ảnh này được chụp ở một địa điểm khác.</string>
|
<string name="upload_problem_different_geolocation">Bức ảnh này được chụp ở một địa điểm khác.</string>
|
||||||
<string name="upload_problem_fbmd">Vui lòng chỉ đăng tải hình ảnh bạn đã tự chụp. Xin đừng đăng tải hình ảnh bạn tìm thấy trên tài không Facebook của người khác.</string>
|
<string name="upload_problem_fbmd">Vui lòng chỉ đăng tải hình ảnh bạn đã tự chụp. Xin đừng đăng tải hình ảnh bạn tìm thấy trên tài không Facebook của người khác.</string>
|
||||||
<string name="upload_problem_do_you_continue">Bạn vẫn muốn đăng tải bức ảnh này?</string>
|
<string name="upload_problem_do_you_continue">Bạn vẫn muốn đăng tải bức ảnh này?</string>
|
||||||
<string name="use_external_storage" fuzzy="true">Sử dụng thiết bị lưu trữ bên ngoài</string>
|
<string name="upload_connection_error_alert_title">Lỗi kết nối</string>
|
||||||
|
<string name="upload_connection_error_alert_detail">Quá trình tải lên yêu cầu phải có kết nối internet. Vui lòng kiểm tra kết nối mạng của bạn.</string>
|
||||||
|
<string name="use_external_storage">Lưu ảnh trong ứng dụng</string>
|
||||||
<string name="use_external_storage_summary" fuzzy="true">Lưu các hình ảnh được chụp bằng máy chụp hình trong ứng dụng vào thiết bị của bạn</string>
|
<string name="use_external_storage_summary" fuzzy="true">Lưu các hình ảnh được chụp bằng máy chụp hình trong ứng dụng vào thiết bị của bạn</string>
|
||||||
<string name="login_to_your_account">Đăng nhập vào tài khoản của bạn</string>
|
<string name="login_to_your_account">Đăng nhập vào tài khoản của bạn</string>
|
||||||
<string name="send_log_file">Gửi tập tin nhật trình</string>
|
<string name="send_log_file">Gửi tập tin nhật trình</string>
|
||||||
|
|
@ -222,14 +256,20 @@
|
||||||
<string name="nominated_for_deletion">Có đề nghị xóa hình này.</string>
|
<string name="nominated_for_deletion">Có đề nghị xóa hình này.</string>
|
||||||
<string name="skip_login">Bỏ qua</string>
|
<string name="skip_login">Bỏ qua</string>
|
||||||
<string name="navigation_item_login">Đăng nhập</string>
|
<string name="navigation_item_login">Đăng nhập</string>
|
||||||
<string name="nearby_location_not_available" fuzzy="true">Vị trí không có sẵn.</string>
|
<string name="login_alert_message">Vui lòng đăng nhập để sử dụng được tính năng này</string>
|
||||||
|
<string name="copy_wikicode">Sao chép wikitext vào bảng tạm</string>
|
||||||
|
<string name="wikicode_copied">Wikitext đã được sao chép vào bảng tạm</string>
|
||||||
|
<string name="nearby_location_not_available">Gần đó có thể hoạt động không đúng. Vị trí không có sẵn.</string>
|
||||||
|
<string name="nearby_showing_pins_offline">Không có kết nối mạng. Chỉ hiển thị các địa điểm được lưu trong bộ nhớ đệm.</string>
|
||||||
|
<string name="upload_location_access_denied">Quyền truy cập vị trí bị từ chối. Vui lòng thiết lập vị trí thủ công để sử dụng được tính năng này.</string>
|
||||||
<string name="location_permission_rationale_nearby">Bạn cần cho phép để hiển thị danh sách nơi lân cận</string>
|
<string name="location_permission_rationale_nearby">Bạn cần cho phép để hiển thị danh sách nơi lân cận</string>
|
||||||
<string name="nearby_directions">Hướng dẫn</string>
|
<string name="nearby_directions">Hướng dẫn</string>
|
||||||
<string name="nearby_wikidata">Wikidata</string>
|
<string name="nearby_wikidata">Wikidata</string>
|
||||||
<string name="nearby_wikipedia">Wikipedia</string>
|
<string name="nearby_wikipedia">Wikipedia</string>
|
||||||
<string name="nearby_commons">Commons</string>
|
<string name="nearby_commons">Commons</string>
|
||||||
<string name="about_rate_us" fuzzy="true"><u>Đánh giá chúng tôi</u></string>
|
<string name="about_rate_us">Đánh giá chúng tôi</string>
|
||||||
<string name="about_faq">Câu thường hỏi</string>
|
<string name="about_faq">Câu thường hỏi</string>
|
||||||
|
<string name="user_guide">Hướng dẫn người dùng</string>
|
||||||
<string name="welcome_skip_button">Bỏ qua Hướng dẫn</string>
|
<string name="welcome_skip_button">Bỏ qua Hướng dẫn</string>
|
||||||
<string name="no_internet">Internet không có sẵn</string>
|
<string name="no_internet">Internet không có sẵn</string>
|
||||||
<string name="error_notifications">Lỗi khi lấy thông báo</string>
|
<string name="error_notifications">Lỗi khi lấy thông báo</string>
|
||||||
|
|
@ -243,21 +283,165 @@
|
||||||
<string name="no_images_found">Không tìm thấy hình ảnh!</string>
|
<string name="no_images_found">Không tìm thấy hình ảnh!</string>
|
||||||
<string name="error_loading_images">Đã xuất hiện lỗi khi tải hình ảnh.</string>
|
<string name="error_loading_images">Đã xuất hiện lỗi khi tải hình ảnh.</string>
|
||||||
<string name="image_uploaded_by">Tải lên bởi: %1$s</string>
|
<string name="image_uploaded_by">Tải lên bởi: %1$s</string>
|
||||||
|
<string name="block_notification_title">Đã bị cấm</string>
|
||||||
|
<string name="app_widget_heading">Bức ảnh trong ngày</string>
|
||||||
|
<string name="menu_search_button">Tìm kiếm</string>
|
||||||
|
<string name="search_commons">Tìm kiếm Commons</string>
|
||||||
|
<string name="title_activity_search">Tìm kiếm</string>
|
||||||
|
<string name="search_recent_header">Tìm kiếm gần đây:</string>
|
||||||
|
<string name="search_tab_title_media">Phương tiện</string>
|
||||||
|
<string name="search_tab_title_categories">Thể loại</string>
|
||||||
|
<string name="search_tab_title_depictions">Khoản mục</string>
|
||||||
|
<string name="explore_tab_title_featured">Chọn lọc</string>
|
||||||
|
<string name="explore_tab_title_mobile">Đã tải lên qua thiết bị di động</string>
|
||||||
|
<string name="explore_tab_title_map">Bản đồ</string>
|
||||||
|
<string name="successful_wikidata_edit">Hình ảnh đã được thêm vào %1$s trên Wikidata!</string>
|
||||||
<string name="menu_set_wallpaper">Đặt làm hình nền</string>
|
<string name="menu_set_wallpaper">Đặt làm hình nền</string>
|
||||||
|
<string name="wallpaper_set_successfully">Đã thiết lập hình nền thành công!</string>
|
||||||
|
<string name="quiz">Thách đố</string>
|
||||||
|
<string name="question">Câu hỏi</string>
|
||||||
|
<string name="result">Kết quả</string>
|
||||||
<string name="taj_mahal_answer">Hình chứa di tích và cảnh vật thiên nhiên thường được chấp nhận tải lên ở hầu hết các quốc gia. Xin lưu ý rằng các công trình nghệ thuật được trưng bày tạm thời thường có bản quyền và không được chấp nhận tải lên.</string>
|
<string name="taj_mahal_answer">Hình chứa di tích và cảnh vật thiên nhiên thường được chấp nhận tải lên ở hầu hết các quốc gia. Xin lưu ý rằng các công trình nghệ thuật được trưng bày tạm thời thường có bản quyền và không được chấp nhận tải lên.</string>
|
||||||
|
<string name="user_not_logged_in">Lượt đăng nhập đã hết hạn. Vui lòng đăng nhập lại</string>
|
||||||
|
<string name="continue_message">Tiếp tục</string>
|
||||||
|
<string name="correct">Câu trả lời chính xác</string>
|
||||||
|
<string name="wrong">Câu trả lời sai</string>
|
||||||
<string name="share_app_title">Chia sẻ Ứng dụng</string>
|
<string name="share_app_title">Chia sẻ Ứng dụng</string>
|
||||||
<string name="error_fetching_nearby_places" fuzzy="true">Lỗi khi lấy các nơi lân cận.</string>
|
<string name="error_fetching_nearby_places">Không thể tải các nơi lân cận.</string>
|
||||||
|
<string name="no_pictures_in_this_area">Không có hình ảnh trong khu vực này</string>
|
||||||
|
<string name="no_recent_searches">Không có kết quả tìm kiếm gần đây</string>
|
||||||
|
<string name="delete_recent_searches_dialog">Bạn có chắc chắn muốn xóa lịch sử tìm kiếm của bạn không?</string>
|
||||||
|
<string name="delete_search_dialog">Bạn có muốn xóa kết quả tìm kiếm này không?</string>
|
||||||
|
<string name="search_history_deleted">Lịch sử tìm kiếm đã bị xóa</string>
|
||||||
|
<string name="nominate_delete">Đề nghị xóa</string>
|
||||||
|
<string name="delete">Xóa</string>
|
||||||
|
<string name="Achievements">Thành tích</string>
|
||||||
|
<string name="Profile">Hồ sơ</string>
|
||||||
|
<string name="badges">Huy chương</string>
|
||||||
|
<string name="statistics">Thống kê</string>
|
||||||
|
<string name="statistics_thanks">Cảm ơn đã nhận</string>
|
||||||
|
<string name="statistics_featured">Hình ảnh chọn lọc</string>
|
||||||
|
<string name="images_uploaded">Hình ảnh đã được tải lên</string>
|
||||||
|
<string name="image_reverts">Hình ảnh không được lùi lại</string>
|
||||||
|
<string name="images_used_by_wiki">Hình ảnh đã được sử dụng</string>
|
||||||
|
<string name="achievements_share_message">Chia sẻ thành tích của bạn đến bạn bè!</string>
|
||||||
|
<string name="achievements_revert_limit_message">yêu cầu tối thiểu:</string>
|
||||||
|
<string name="notifications_channel_name_all">Thông báo Commons</string>
|
||||||
|
<string name="preference_author_name_toggle">Sử dụng tên tác giả tùy chỉnh</string>
|
||||||
|
<string name="preference_author_name">Tên tác giả tùy chỉnh</string>
|
||||||
|
<string name="contributions_fragment">Đóng góp</string>
|
||||||
|
<string name="nearby_fragment">Lân cận</string>
|
||||||
|
<string name="notifications">Thông báo</string>
|
||||||
|
<string name="read_notifications">Thông báo (đọc)</string>
|
||||||
|
<string name="display_nearby_notification">Hiển thị thông báo gần đây</string>
|
||||||
|
<string name="list_sheet">Danh sách</string>
|
||||||
|
<string name="storage_permission">Quyền lưu trữ</string>
|
||||||
|
<string name="write_storage_permission_rationale_for_image_share">Chúng tôi cần sự cho phép của bạn để truy cập vào bộ nhớ ngoài của thiết bị nhằm mục đích tải hình ảnh lên.</string>
|
||||||
|
<string name="step_count">Bước %1$d của %2$d : %3$s</string>
|
||||||
|
<string name="next">Tiếp</string>
|
||||||
|
<string name="previous">Trước</string>
|
||||||
|
<string name="title_page_bookmarks_pictures">Các hình ảnh</string>
|
||||||
|
<string name="title_page_bookmarks_locations">Các vị trí</string>
|
||||||
|
<string name="title_page_bookmarks_categories">Thể loại</string>
|
||||||
|
<string name="menu_bookmark">Thêm/Xóa vào dấu trang</string>
|
||||||
|
<string name="provider_bookmarks">Dấu trang</string>
|
||||||
|
<string name="bookmark_empty">Bạn không hề thêm bất kỳ dấu trang nào</string>
|
||||||
|
<string name="provider_bookmarks_location">Dấu trang</string>
|
||||||
|
<string name="no_categories_selected">Không có thể loại nào được chọn</string>
|
||||||
|
<string name="no_depictions_selected">Không có miêu tả nào được chọn</string>
|
||||||
|
<string name="back_button_warning">Hủy bỏ tải lên</string>
|
||||||
|
<string name="back_button_continue">Tiếp tục tải lên</string>
|
||||||
<string name="search_this_area">Tìm kiếm khu vực này</string>
|
<string name="search_this_area">Tìm kiếm khu vực này</string>
|
||||||
|
<string name="nearby_card_permission_title">Yêu cầu quyền</string>
|
||||||
|
<string name="option_allow">Cho phép</string>
|
||||||
|
<string name="option_dismiss">Bỏ qua</string>
|
||||||
|
<string name="nominate_for_deletion_done">Xong</string>
|
||||||
|
<string name="send_thank_success_title">Gửi lời cảm ơn: Thành công</string>
|
||||||
|
<string name="send_thank_failure_title">Gửi lời cảm ơn: Thất bại</string>
|
||||||
|
<string name="review_thanks_yes_button_text">Hình ảnh sau</string>
|
||||||
|
<string name="review_thanks_no_button_text">Vâng, tại sao không?</string>
|
||||||
|
<string name="please_wait">Vui lòng chờ...</string>
|
||||||
|
<string name="copied_successfully">Đã sao chép</string>
|
||||||
|
<string name="skip_image">Bỏ qua hình ảnh này</string>
|
||||||
|
<string name="exif_tag_name_author">Tác giả</string>
|
||||||
|
<string name="exif_tag_name_copyright">Bản quyền</string>
|
||||||
|
<string name="exif_tag_name_location">Vị trí</string>
|
||||||
|
<string name="exif_tag_name_cameraModel">Dòng máy ảnh</string>
|
||||||
|
<string name="exif_tag_name_software">Phần mềm</string>
|
||||||
|
<string name="media_location_permission_denied">Quyền truy cập vị trí phương tiện bị từ chối</string>
|
||||||
|
<string name="delete_helper_show_deletion_title_success">Thành công</string>
|
||||||
|
<string name="delete_helper_show_deletion_title_failed">Thất bại</string>
|
||||||
|
<string name="delete_helper_ask_reason_copyright_logo">Logo</string>
|
||||||
<string name="category_edit_helper_make_edit_toast">Đang cố gắng cập nhật danh mục.</string>
|
<string name="category_edit_helper_make_edit_toast">Đang cố gắng cập nhật danh mục.</string>
|
||||||
<string name="category_edit_helper_show_edit_title">Cập nhật danh mục</string>
|
<string name="category_edit_helper_show_edit_title">Cập nhật danh mục</string>
|
||||||
<string name="category_edit_helper_show_edit_title_success">Thành công</string>
|
<string name="category_edit_helper_show_edit_title_success">Thành công</string>
|
||||||
<string name="category_edit_helper_edit_message_else">Không thể thêm danh mục.</string>
|
<string name="category_edit_helper_edit_message_else">Không thể thêm danh mục.</string>
|
||||||
<string name="category_edit_button_text">Cập nhật danh mục</string>
|
<string name="category_edit_button_text">Cập nhật danh mục</string>
|
||||||
<string name="description_edit_helper_edit_message_else">Không thể thêm mô tả.</string>
|
<string name="description_edit_helper_edit_message_else">Không thể thêm mô tả.</string>
|
||||||
|
<string name="title_app_shortcut_setting">Tùy chọn</string>
|
||||||
|
<string name="load_more">Tải thêm</string>
|
||||||
|
<string name="nearby_no_results">Không tìm thấy địa điểm nào, hãy thử thay đổi tiêu chí tìm kiếm.</string>
|
||||||
<string name="todo_improve">Các cải thiện được đề xuất:</string>
|
<string name="todo_improve">Các cải thiện được đề xuất:</string>
|
||||||
<string name="missing_category">- Thêm danh mục vào hình ảnh này để cải thiện khả năng sử dụng.</string>
|
<string name="missing_category">- Thêm danh mục vào hình ảnh này để cải thiện khả năng sử dụng.</string>
|
||||||
<string name="missing_article">- Thêm hình ảnh này vào bài viết Wikipedia được liên kết không có hình ảnh.</string>
|
<string name="missing_article">- Thêm hình ảnh này vào bài viết Wikipedia được liên kết không có hình ảnh.</string>
|
||||||
|
<string name="add_picture_to_wikipedia_article_title">Thêm hình ảnh vào Wikipedia</string>
|
||||||
|
<string name="add_picture_to_wikipedia_article_desc">Bạn có muốn thêm hình ảnh này vào bài viết Wikipedia ngôn ngữ %1$s không?</string>
|
||||||
|
<string name="confirm">Xác nhận</string>
|
||||||
|
<string name="wikipedia_instructions_step_1">1. Sử dụng wikitext sau:</string>
|
||||||
|
<string name="wikipedia_instructions_step_2">2. Nhấp vào Xác nhận sẽ mở bài viết Wikipedia</string>
|
||||||
|
<string name="wikipedia_instructions_step_3">Tìm một đề mục thích hợp trong bài viết cho hình ảnh của bạn</string>
|
||||||
|
<string name="wikipedia_instructions_step_4">4. Nhấp vào biểu tượng Sửa đổi (biểu tượng hình cây bút chì) cho đề mục đó.</string>
|
||||||
|
<string name="wikipedia_instructions_step_5">5. Dán wikitext vào đúng vị trí.</string>
|
||||||
|
<string name="wikipedia_instructions_step_6">6. Chỉnh sửa wikitext cho phù hợp nếu cần. Để biết thêm thông tin, xem <a href=\"https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Images#How_to_place_an_image\">tại đây</a> .</string>
|
||||||
|
<string name="wikipedia_instructions_step_7">7. Xuất bản bài viết</string>
|
||||||
|
<string name="copy_wikicode_to_clipboard">Sao chép wikicode vào bảng tạm</string>
|
||||||
|
<string name="pause">tạm ngừng</string>
|
||||||
|
<string name="resume">tiếp tục</string>
|
||||||
|
<string name="paused">Đã tạm ngừng</string>
|
||||||
|
<string name="more">Thêm</string>
|
||||||
<string name="bookmarks">Dấu trang</string>
|
<string name="bookmarks">Dấu trang</string>
|
||||||
|
<string name="achievements_tab_title">Thành tích</string>
|
||||||
|
<string name="leaderboard_tab_title">Bảng xếp hạng</string>
|
||||||
|
<string name="rank_prefix">Hạng</string>
|
||||||
|
<string name="count_prefix">Tổng số:</string>
|
||||||
|
<string name="leaderboard_column_rank">Hạng</string>
|
||||||
|
<string name="leaderboard_column_user">Thành viên</string>
|
||||||
|
<string name="avatar_set_successfully">Đặt ảnh đại diện</string>
|
||||||
|
<string name="avatar_set_unsuccessfully">Lỗi khi đặt ảnh đại diện mới, vui lòng thử lại</string>
|
||||||
|
<string name="menu_set_avatar">Đặt làm ảnh đại diện</string>
|
||||||
|
<string name="leaderboard_yearly">Hàng năm</string>
|
||||||
|
<string name="leaderboard_weekly">Hàng tuần</string>
|
||||||
|
<string name="leaderboard_all_time">Từ trước đến nay</string>
|
||||||
|
<string name="leaderboard_upload">Tải lên</string>
|
||||||
|
<string name="leaderboard_nearby">Lân cận</string>
|
||||||
|
<string name="leaderboard_my_rank_button_text">Hạng của tôi</string>
|
||||||
|
<string name="statistics_quality">Hình ảnh chất lượng</string>
|
||||||
|
<string name="license_step_title">Giấy phép Phương tiện</string>
|
||||||
|
<string name="modify_location">Sửa đổi vị trí</string>
|
||||||
|
<string name="image_location">Vị trí hình</string>
|
||||||
|
<string name="label">Nhãn</string>
|
||||||
|
<string name="description">Miêu tả</string>
|
||||||
|
<string name="title_page_bookmarks_items">Khoản mục</string>
|
||||||
|
<string name="custom_selector_empty_text">Không có hình ảnh</string>
|
||||||
|
<string name="done">Xong</string>
|
||||||
|
<string name="back">Trở lại</string>
|
||||||
|
<string name="custom_selector_dismiss_limit_warning_button_text">Bỏ qua</string>
|
||||||
|
<string name="custom_selector_button_limit_text">Tối đa: %1$d</string>
|
||||||
|
<string name="apply">Áp dụng</string>
|
||||||
|
<string name="reset">Mặc định lại</string>
|
||||||
<string name="android_version">Phiên bản Android</string>
|
<string name="android_version">Phiên bản Android</string>
|
||||||
|
<string name="device_manufacturer">Nhà sản xuất thiết bị</string>
|
||||||
|
<string name="device_model">Mẫu thiết bị</string>
|
||||||
|
<string name="device_name">Tên thiết bị</string>
|
||||||
|
<string name="image_selected">Hình ảnh đã chọn</string>
|
||||||
|
<string name="menu_view_report">Báo cáo</string>
|
||||||
|
<string name="report_user">Báo cáo thành viên này</string>
|
||||||
|
<string name="report_content">Báo cáo nội dung này</string>
|
||||||
<string name="full_screen_mode_features_info">Vuốt nhanh và lâu để thực hiện các thao tác sau: - Trái/Phải: Đi tới trước/tiếp theo - Lên: Chọn - Xuống: Đánh dấu là không tải lên.</string>
|
<string name="full_screen_mode_features_info">Vuốt nhanh và lâu để thực hiện các thao tác sau: - Trái/Phải: Đi tới trước/tiếp theo - Lên: Chọn - Xuống: Đánh dấu là không tải lên.</string>
|
||||||
|
<string name="see_your_achievements">Xem thành tích của bạn</string>
|
||||||
|
<string name="edit_image">Sửa đổi hình ảnh</string>
|
||||||
|
<string name="edit_location">Sửa đổi Vị trí</string>
|
||||||
|
<string name="location_updated">Vị trí đã được cập nhật!</string>
|
||||||
|
<string name="remove_location">Xóa vị trí</string>
|
||||||
|
<string name="send_thanks_to_author">Cảm ơn tác giả</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@
|
||||||
<dimen name="achievements_activity_margin_vertical">8dp</dimen>
|
<dimen name="achievements_activity_margin_vertical">8dp</dimen>
|
||||||
<dimen name="medium_height">12dp</dimen>
|
<dimen name="medium_height">12dp</dimen>
|
||||||
<dimen name="medium_width">12dp</dimen>
|
<dimen name="medium_width">12dp</dimen>
|
||||||
|
<dimen name="small_padding">8dp</dimen>
|
||||||
|
<dimen name="medium_padding">16dp</dimen>
|
||||||
|
<dimen name="large_padding">24dp</dimen>
|
||||||
|
|
||||||
<!-- Standard margins / padding -->
|
<!-- Standard margins / padding -->
|
||||||
<dimen name="login_padding">30dp</dimen>
|
<dimen name="login_padding">30dp</dimen>
|
||||||
|
|
|
||||||
7
app/src/main/res/values/ids.xml
Normal file
7
app/src/main/res/values/ids.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<item name="initial_margin_top" type="id" />
|
||||||
|
<item name="initial_margin_bottom" type="id" />
|
||||||
|
<item name="initial_margin_left" type="id" />
|
||||||
|
<item name="initial_margin_right" type="id" />
|
||||||
|
</resources>
|
||||||
|
|
@ -123,6 +123,9 @@
|
||||||
<item name="custom_selector_back">@drawable/ic_arrow_back_black</item>
|
<item name="custom_selector_back">@drawable/ic_arrow_back_black</item>
|
||||||
<item name="android:windowEnableSplitTouch">false</item>
|
<item name="android:windowEnableSplitTouch">false</item>
|
||||||
<item name="android:splitMotionEvents">false</item>
|
<item name="android:splitMotionEvents">false</item>
|
||||||
|
<!--For edge to edge backward compatibility-->
|
||||||
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="LightMoreBottomSheetStyle" parent="LightAppTheme">
|
<style name="LightMoreBottomSheetStyle" parent="LightAppTheme">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
[versions]
|
[versions]
|
||||||
agp = "8.9.1"
|
agp = "8.12.0"
|
||||||
acra = "5.8.4"
|
acra = "5.8.4"
|
||||||
activityCompose = "1.9.3"
|
activityCompose = "1.9.3"
|
||||||
adapterdelegates = "4.3.0"
|
adapterdelegates = "4.3.0"
|
||||||
|
|
@ -19,7 +19,7 @@ githubTripletPlay = "2.7.2"
|
||||||
kotlinxCoroutinesRx2 = "1.8.0"
|
kotlinxCoroutinesRx2 = "1.8.0"
|
||||||
osmdroidAndroid = "6.1.17"
|
osmdroidAndroid = "6.1.17"
|
||||||
testCore = "1.4.0"
|
testCore = "1.4.0"
|
||||||
coreKtx = "1.9.0"
|
coreKtx = "1.16.0"
|
||||||
coreTesting = "2.2.0"
|
coreTesting = "2.2.0"
|
||||||
dagger = "2.23"
|
dagger = "2.23"
|
||||||
databindingCompiler = "8.0.2"
|
databindingCompiler = "8.0.2"
|
||||||
|
|
@ -57,7 +57,7 @@ preference = "1.2.1"
|
||||||
recyclerview = "1.2.0-alpha02"
|
recyclerview = "1.2.0-alpha02"
|
||||||
recyclerviewFastscroll = "2.0.1"
|
recyclerviewFastscroll = "2.0.1"
|
||||||
retrofit = "2.8.1"
|
retrofit = "2.8.1"
|
||||||
robolectric = "4.11.1"
|
robolectric = "4.14.1"
|
||||||
room = "2.6.1"
|
room = "2.6.1"
|
||||||
rules = "1.5.0"
|
rules = "1.5.0"
|
||||||
runner = "1.5.2"
|
runner = "1.5.2"
|
||||||
|
|
|
||||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
#Sun Apr 23 18:22:54 IST 2023
|
#Sun Apr 23 18:22:54 IST 2023
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
Loading…
Add table
Add a link
Reference in a new issue