Commit ff9b4366 authored by wanglei's avatar wanglei

...

parent 52d971a7
...@@ -23,9 +23,6 @@ ...@@ -23,9 +23,6 @@
<activity <activity
android:name=".ui.set.SetLanguageActivity" android:name=".ui.set.SetLanguageActivity"
android:exported="false" /> android:exported="false" />
<activity
android:name=".ui.splash.LanguageActivity"
android:exported="false" />
<meta-data <meta-data
android:name="com.google.android.gms.version" android:name="com.google.android.gms.version"
...@@ -36,6 +33,7 @@ ...@@ -36,6 +33,7 @@
<activity <activity
android:name=".ui.splash.SplashActivity" android:name=".ui.splash.SplashActivity"
android:configChanges="locale"
android:exported="true" android:exported="true"
android:launchMode="singleTask" android:launchMode="singleTask"
android:screenOrientation="portrait" android:screenOrientation="portrait"
......
package com.base.pdfviewerscannerwhite.bean package com.base.pdfviewerscannerwhite.bean
import com.base.pdfviewerscannerwhite.utils.AppPreferences import com.base.pdfviewerscannerwhite.utils.AppPreferences
import java.util.Locale
object ConstObject { object ConstObject {
...@@ -69,7 +70,7 @@ object ConstObject { ...@@ -69,7 +70,7 @@ object ConstObject {
AppPreferences.getInstance().put("haveGuideGesture", value, true) AppPreferences.getInstance().put("haveGuideGesture", value, true)
} }
var languageSp = LanguageBean.English var currentLanguageSp = Locale.ENGLISH.language
get() { get() {
return AppPreferences.getInstance().getString("languageSp", field) return AppPreferences.getInstance().getString("languageSp", field)
} }
...@@ -78,4 +79,30 @@ object ConstObject { ...@@ -78,4 +79,30 @@ object ConstObject {
AppPreferences.getInstance().put("languageSp", value, true) AppPreferences.getInstance().put("languageSp", value, true)
} }
var appLanguageSp = Locale.ENGLISH.language
get() {
return AppPreferences.getInstance().getString("appLanguageSp", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("appLanguageSp", value, true)
}
var changeLanguageSp = Locale.ENGLISH.language
get() {
return AppPreferences.getInstance().getString("changeLanguageSp", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("changeLanguageSp", value, true)
}
var haveSelectLanguage = false
get() {
return AppPreferences.getInstance().getBoolean("haveSelectLanguage", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("haveSelectLanguage", value, true)
}
} }
\ No newline at end of file
package com.base.pdfviewerscannerwhite.bean package com.base.pdfviewerscannerwhite.bean
data class LanguageBean( data class LanguageBean(
val key: String val key: String,
val language: String
) { ) {
var isSelect: Boolean = false var isSelect: Boolean = false
......
package com.base.pdfviewerscannerwhite.helper package com.base.pdfviewerscannerwhite.helper
import android.app.Dialog import android.app.Dialog
import android.content.ComponentCallbacks
import android.content.Intent import android.content.Intent
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.LocaleList
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
import com.base.pdfviewerscannerwhite.bean.ConstObject.appLanguageSp
import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp
import com.base.pdfviewerscannerwhite.ui.main.MainActivity import com.base.pdfviewerscannerwhite.ui.main.MainActivity
import com.base.pdfviewerscannerwhite.utils.ActivityLauncher import com.base.pdfviewerscannerwhite.utils.ActivityLauncher
import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils
import com.base.pdfviewerscannerwhite.utils.LogEx
import java.util.Locale
abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
private val TAG = "BaseActivity"
protected abstract val binding: T protected abstract val binding: T
lateinit var launcher: ActivityLauncher lateinit var launcher: ActivityLauncher
...@@ -49,4 +56,39 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -49,4 +56,39 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
} }
} }
override fun onResume() {
super.onResume()
}
fun updateAppLanguage(
activityLanguage: String,
activityTag: String? = null,
callback: ((language: String) -> Unit)? = null
) {
LogEx.logDebug(
TAG,
"activityTag=$activityTag " +
"appLanguageSp=$appLanguageSp " +
"changeLanguageSp=$changeLanguageSp " +
"activityLanguage=$activityLanguage"
)
if (appLanguageSp != changeLanguageSp || appLanguageSp != activityLanguage) {
val config = resources.configuration
val locale = Locale(changeLanguageSp)
config.setLocale(locale)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
createConfigurationContext(config)
} else {
resources.updateConfiguration(config, resources.displayMetrics)
}
// Restart the app
appLanguageSp = changeLanguageSp
callback?.invoke(changeLanguageSp)
this.recreate()
}
}
} }
\ No newline at end of file
...@@ -6,16 +6,22 @@ import android.view.View ...@@ -6,16 +6,22 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
import com.base.pdfviewerscannerwhite.bean.ConstObject.appLanguageSp
import com.base.pdfviewerscannerwhite.utils.LogEx
import java.util.Locale
abstract class BaseFragment<T : ViewBinding> : Fragment() { abstract class BaseFragment<T : ViewBinding> : Fragment() {
protected var isInitialized = false protected var isInitialized = false
protected abstract val binding: T protected abstract val binding: T
private val TAG = "BaseFragment"
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ): View? {
return binding.root return binding.root
} }
......
...@@ -7,6 +7,7 @@ import com.base.pdfviewerscannerwhite.utils.AppPreferences ...@@ -7,6 +7,7 @@ import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.facebook.FacebookSdk import com.facebook.FacebookSdk
import com.tom_roush.pdfbox.android.PDFBoxResourceLoader import com.tom_roush.pdfbox.android.PDFBoxResourceLoader
import java.util.Locale
import java.util.UUID import java.util.UUID
...@@ -17,6 +18,9 @@ class MyApplication : Application() { ...@@ -17,6 +18,9 @@ class MyApplication : Application() {
companion object { companion object {
lateinit var context: MyApplication lateinit var context: MyApplication
var mainLanguage: String = Locale.ENGLISH.language
var setLanguage: String = Locale.ENGLISH.language
@JvmField @JvmField
var PAUSED_VALUE = 0 var PAUSED_VALUE = 0
} }
......
...@@ -5,6 +5,7 @@ import android.content.Intent ...@@ -5,6 +5,7 @@ import android.content.Intent
import android.view.View import android.view.View
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_LOCK_PDF import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_LOCK_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SPLIT_PDF import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SPLIT_PDF
...@@ -31,7 +32,6 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView ...@@ -31,7 +32,6 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
ActivityPdfSelectBinding.inflate(layoutInflater) ActivityPdfSelectBinding.inflate(layoutInflater)
} }
@SuppressLint("SetTextI18n")
override fun initView() { override fun initView() {
doWhat = intent.extras?.getString("doWhat", "") ?: "" doWhat = intent.extras?.getString("doWhat", "") ?: ""
documentPresenter = DocumentPresenter(this, this, DocumentBean.TYPE_PDF, lifecycleScope) documentPresenter = DocumentPresenter(this, this, DocumentBean.TYPE_PDF, lifecycleScope)
...@@ -41,24 +41,25 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView ...@@ -41,24 +41,25 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
when (doWhat) { when (doWhat) {
DO_SPLIT_PDF -> { DO_SPLIT_PDF -> {
binding.tvBtnNext.visibility = View.GONE binding.tvBtnNext.visibility = View.GONE
binding.tvSelectTip.text = "Select a project" binding.tvSelectTip.text = getString(R.string.select_a_project)
documentPresenter.initData() documentPresenter.initData()
} }
DO_MERGE_PDF -> { DO_MERGE_PDF -> {
binding.tvSelectTip.text = "Select a project" binding.tvSelectTip.text = getString(R.string.select_a_project)
documentPresenter.initData() documentPresenter.initData()
} }
DO_LOCK_PDF -> { DO_LOCK_PDF -> {
binding.tvBtnNext.visibility = View.GONE binding.tvBtnNext.visibility = View.GONE
binding.tvSelectTip.text = "Select a project" binding.tvSelectTip.text = getString(R.string.select_a_project)
documentPresenter.initUnLoadData() documentPresenter.initUnLoadData()
} }
DO_UNLOCK_PDF -> { DO_UNLOCK_PDF -> {
binding.tvBtnNext.visibility = View.GONE binding.tvBtnNext.visibility = View.GONE
binding.tvSelectTip.text = "Select a project" binding.tvSelectTip.text = getString(R.string.select_a_project)
documentPresenter.initLoadData() documentPresenter.initLoadData()
} }
...@@ -86,7 +87,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView ...@@ -86,7 +87,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
} }
} }
@SuppressLint("SetTextI18n") @SuppressLint("StringFormatMatches")
private fun initAdapter() { private fun initAdapter() {
adapter = DocumentAdapter() adapter = DocumentAdapter()
adapter.itemClick = { adapter.itemClick = {
...@@ -114,7 +115,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView ...@@ -114,7 +115,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
} else { } else {
binding.tvBtnNext.isEnabled = true binding.tvBtnNext.isEnabled = true
binding.tvSelectTip.visibility = View.VISIBLE binding.tvSelectTip.visibility = View.VISIBLE
binding.tvSelectTip.text = "$it items has been selected" binding.tvSelectTip.text = getString(R.string.items_has_been_selected, it)
} }
} }
binding.rv.adapter = adapter binding.rv.adapter = adapter
......
package com.base.pdfviewerscannerwhite.ui.main package com.base.pdfviewerscannerwhite.ui.main
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo
...@@ -11,6 +12,7 @@ import androidx.viewpager2.widget.ViewPager2 ...@@ -11,6 +12,7 @@ import androidx.viewpager2.widget.ViewPager2
import com.angcyo.tablayout.DslTabIndicator import com.angcyo.tablayout.DslTabIndicator
import com.angcyo.tablayout.delegate2.ViewPager2Delegate import com.angcyo.tablayout.delegate2.ViewPager2Delegate
import com.base.pdfviewerscannerwhite.R import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
...@@ -25,6 +27,7 @@ import com.base.pdfviewerscannerwhite.ui.view.DialogView.showSortDialog ...@@ -25,6 +27,7 @@ import com.base.pdfviewerscannerwhite.ui.view.DialogView.showSortDialog
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.hideKeyboard import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.hideKeyboard
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import java.util.Locale
class DocumentFragment( class DocumentFragment(
val dataType: String = "" val dataType: String = ""
...@@ -56,21 +59,23 @@ class DocumentFragment( ...@@ -56,21 +59,23 @@ class DocumentFragment(
var uiMode = UI_MODE_NORMAL var uiMode = UI_MODE_NORMAL
private lateinit var pageAdapter: FragmentStateAdapter
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun setView() { override fun setView() {
when (dataType) { when (dataType) {
DOCUMENT_DATA_TYPE -> { DOCUMENT_DATA_TYPE -> {
binding.tvTittle.text = "Document" binding.tvTittle.text = this.resources.getString(R.string.document)
} }
RECENT_DATA_TYPE -> { RECENT_DATA_TYPE -> {
binding.tvTittle.text = "Recent" binding.tvTittle.text = this.resources.getString(R.string.recent)
binding.ivPaixu.visibility = View.INVISIBLE binding.ivPaixu.visibility = View.INVISIBLE
} }
BOOKMARK_DATA_TYPE -> { BOOKMARK_DATA_TYPE -> {
binding.tvTittle.text = "Bookmark" binding.tvTittle.text = this.resources.getString(R.string.bookmark)
} }
} }
...@@ -82,8 +87,8 @@ class DocumentFragment( ...@@ -82,8 +87,8 @@ class DocumentFragment(
override fun onHiddenChanged(hidden: Boolean) { override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden) super.onHiddenChanged(hidden)
if(hidden){ if (hidden) {
return return
} }
currentPage.refreshData() currentPage.refreshData()
} }
...@@ -131,19 +136,21 @@ class DocumentFragment( ...@@ -131,19 +136,21 @@ class DocumentFragment(
} }
private fun initPageViewer() { private fun initPageViewer() {
LogEx.logDebug(TAG, "initPageViewer dataType=$dataType")
pageAdapter = object : FragmentStateAdapter(this@DocumentFragment) {
override fun getItemCount(): Int {
return fragments.size
}
override fun createFragment(position: Int): Fragment {
return fragments[position]
}
}
binding.viewPager2.run { binding.viewPager2.run {
isUserInputEnabled = true isUserInputEnabled = true
//https://www.jianshu.com/p/f69bd30cf5b0 //https://www.jianshu.com/p/f69bd30cf5b0
//FragmentStateAdapter 这里必须传人fragment //FragmentStateAdapter 这里必须传人fragment
adapter = object : FragmentStateAdapter(this@DocumentFragment) { adapter = pageAdapter
override fun getItemCount(): Int {
return fragments.size
}
override fun createFragment(position: Int): Fragment {
return fragments[position]
}
}
} }
binding.viewPager2.registerOnPageChangeCallback(object : binding.viewPager2.registerOnPageChangeCallback(object :
ViewPager2.OnPageChangeCallback() { ViewPager2.OnPageChangeCallback() {
...@@ -313,4 +320,15 @@ class DocumentFragment( ...@@ -313,4 +320,15 @@ class DocumentFragment(
searchAdapter.remove(item) searchAdapter.remove(item)
} }
override fun onDestroyView() {
super.onDestroyView()
LogEx.logDebug(TAG, "onDestroyView")
binding.viewPager2.removeAllViews()
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
LogEx.logDebug(TAG, "onSaveInstanceState")
}
} }
\ No newline at end of file
...@@ -22,7 +22,6 @@ import com.base.pdfviewerscannerwhite.ui.main.MainActivity.Companion.jumpDocumen ...@@ -22,7 +22,6 @@ import com.base.pdfviewerscannerwhite.ui.main.MainActivity.Companion.jumpDocumen
import com.base.pdfviewerscannerwhite.ui.view.DialogView.SortMode import com.base.pdfviewerscannerwhite.ui.view.DialogView.SortMode
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentHomeMoreDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentHomeMoreDialog
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfHomeMoreDialog import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfHomeMoreDialog
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime3
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
......
...@@ -16,6 +16,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE ...@@ -16,6 +16,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding import com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.helper.MyApplication
import com.base.pdfviewerscannerwhite.ui.document.excel.ExcelActivity import com.base.pdfviewerscannerwhite.ui.document.excel.ExcelActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity
import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity
...@@ -32,6 +33,7 @@ import java.io.File ...@@ -32,6 +33,7 @@ import java.io.File
class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
private val TAG = "MainActivity" private val TAG = "MainActivity"
lateinit var mainPresenter: MainPresenter lateinit var mainPresenter: MainPresenter
override val binding: ActivityMain2Binding by lazy { override val binding: ActivityMain2Binding by lazy {
...@@ -57,12 +59,22 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -57,12 +59,22 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
mainPresenter = MainPresenter(this, this, lifecycleScope) mainPresenter = MainPresenter(this, this, lifecycleScope)
mainPresenter.initScannerLauncher(this) mainPresenter.initScannerLauncher(this)
} }
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
updateAppLanguage(MyApplication.mainLanguage, TAG) {
supportFragmentManager.beginTransaction().apply {
remove(documentFragment)
remove(recentFragment)
remove(bookmarkFragment)
remove(toolFragment)
commit()
}
MyApplication.mainLanguage = it
}
if (checkStorePermission() && needRefresh) { if (checkStorePermission() && needRefresh) {
mainPresenter.initAllDocumentData() mainPresenter.initAllDocumentData()
// Log.d("glc","我被调用了A") // Log.d("glc","我被调用了A")
...@@ -74,9 +86,15 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -74,9 +86,15 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
} }
} }
override fun onDestroy() {
super.onDestroy()
LogEx.logDebug(TAG, "onDestroy")
}
override fun onSaveInstanceState(outState: Bundle) { override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState) super.onSaveInstanceState(outState)
LogEx.logDebug(TAG, "onSaveInstanceState") LogEx.logDebug(TAG, "onSaveInstanceState")
} }
var isDocumentAdd: Boolean = false var isDocumentAdd: Boolean = false
...@@ -273,6 +291,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -273,6 +291,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
} }
companion object { companion object {
var needRefresh: Boolean = true var needRefresh: Boolean = true
fun Activity.jumpDocument(item: DocumentBean) { fun Activity.jumpDocument(item: DocumentBean) {
if (item.type == DocumentBean.TYPE_PDF) { if (item.type == DocumentBean.TYPE_PDF) {
......
package com.base.pdfviewerscannerwhite.ui.set package com.base.pdfviewerscannerwhite.ui.set
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
...@@ -14,10 +15,17 @@ class LanguageAdapter : BaseQuickAdapter<LanguageBean, LanguageAdapter.LanguageV ...@@ -14,10 +15,17 @@ class LanguageAdapter : BaseQuickAdapter<LanguageBean, LanguageAdapter.LanguageV
inner class LanguageViewHolder(view: View) : ViewHolder(view) inner class LanguageViewHolder(view: View) : ViewHolder(view)
@SuppressLint("NotifyDataSetChanged")
override fun onBindViewHolder(holder: LanguageViewHolder, position: Int, item: LanguageBean?) { override fun onBindViewHolder(holder: LanguageViewHolder, position: Int, item: LanguageBean?) {
item ?: return item ?: return
val binding = ItemLanguageSetBinding.bind(holder.itemView) val binding = ItemLanguageSetBinding.bind(holder.itemView)
binding.ivSelector.isSelected = item.isSelect binding.ivSelector.isSelected = item.isSelect
binding.tvLanguage.text = item.key
binding.root.setOnClickListener {
items.find { it.isSelect }?.isSelect = false
item.isSelect = true
notifyDataSetChanged()
}
} }
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): LanguageViewHolder { override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): LanguageViewHolder {
......
...@@ -48,7 +48,9 @@ class SetActivity : BaseActivity<ActivitySetBinding>() { ...@@ -48,7 +48,9 @@ class SetActivity : BaseActivity<ActivitySetBinding>() {
startActivity(intent) startActivity(intent)
} }
binding.llLanguage.setOnClickListener { binding.llLanguage.setOnClickListener {
startActivity(Intent(this, SetLanguageActivity::class.java)) startActivity(Intent(this, SetLanguageActivity::class.java).apply {
putExtra("from", "Set")
})
} }
} }
......
package com.base.pdfviewerscannerwhite.ui.set package com.base.pdfviewerscannerwhite.ui.set
import com.base.pdfviewerscannerwhite.bean.ConstObject.languageSp import androidx.activity.addCallback
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.appLanguageSp
import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp
import com.base.pdfviewerscannerwhite.bean.LanguageBean import com.base.pdfviewerscannerwhite.bean.LanguageBean
import com.base.pdfviewerscannerwhite.databinding.ActivitySetLanguageBinding import com.base.pdfviewerscannerwhite.databinding.ActivitySetLanguageBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.helper.MyApplication
import java.util.Locale
class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
...@@ -11,35 +16,60 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { ...@@ -11,35 +16,60 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
ActivitySetLanguageBinding.inflate(layoutInflater) ActivitySetLanguageBinding.inflate(layoutInflater)
} }
private lateinit var adapter: LanguageAdapter private lateinit var adapter: LanguageAdapter
private var from: String = ""
override fun initView() { override fun initView() {
ConstObject.haveSelectLanguage = true
from = intent.extras?.getString("from", "") ?: ""
adapter = LanguageAdapter() adapter = LanguageAdapter()
binding.rv.adapter = adapter binding.rv.adapter = adapter
initData() initData()
} }
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
if (from == "Set") {
finish()
} else {
finishToMain()
}
}
binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.tvOk.setOnClickListener {
val selectLanguage = adapter.items.find { it.isSelect }?.language ?: Locale.ENGLISH.language
if (changeLanguageSp != selectLanguage) {
changeLanguageSp = selectLanguage
updateAppLanguage(MyApplication.setLanguage, "Set") { language ->
MyApplication.setLanguage = language
}
}
onBackPressedDispatcher.onBackPressed()
}
}
private fun initData() { private fun initData() {
val list = listOf( val list = listOf(
LanguageBean(LanguageBean.English), LanguageBean(LanguageBean.English, Locale.ENGLISH.language),
LanguageBean(LanguageBean.简体中文), LanguageBean(LanguageBean.简体中文, Locale.PRC.language),
LanguageBean(LanguageBean.português), LanguageBean(LanguageBean.português, Locale("pt", "BR").language),
LanguageBean(LanguageBean.Español), LanguageBean(LanguageBean.Español, Locale("es").language),
LanguageBean(LanguageBean.Français), LanguageBean(LanguageBean.Français, Locale.FRENCH.language),
LanguageBean(LanguageBean.Deutsch), LanguageBean(LanguageBean.Deutsch, Locale("de").language),
LanguageBean(LanguageBean.ไทย), LanguageBean(LanguageBean.ไทย, Locale("th", "TH").language),
LanguageBean(LanguageBean.Bahasa_Indonesia), LanguageBean(LanguageBean.Bahasa_Indonesia, Locale("in", "ID").language),
LanguageBean(LanguageBean.Melayu), LanguageBean(LanguageBean.Melayu, Locale("ms", "MY").language),
LanguageBean(LanguageBean.Tiếng_Việt), LanguageBean(LanguageBean.Tiếng_Việt, Locale("vi", "VN").language),
LanguageBean(LanguageBean.日本語), LanguageBean(LanguageBean.日本語, Locale("ja", "JP").language),
LanguageBean(LanguageBean.Italiano), LanguageBean(LanguageBean.Italiano, Locale("it", "IT").language),
LanguageBean(LanguageBean.한국인), LanguageBean(LanguageBean.한국인, Locale("ko", "KR").language),
LanguageBean(LanguageBean.Nederlands), LanguageBean(LanguageBean.Nederlands, Locale("nl", "NL").language),
LanguageBean(LanguageBean.繁體中文), LanguageBean(LanguageBean.繁體中文, Locale("zh", "TW").language),
LanguageBean(LanguageBean.Türk), LanguageBean(LanguageBean.Türk, Locale("tr", "TR").language),
) )
list.find { it.key == languageSp }?.isSelect = true list.find { it.key == appLanguageSp }?.isSelect = true
adapter.submitList(list) adapter.submitList(list)
} }
......
...@@ -9,11 +9,13 @@ import androidx.activity.result.contract.ActivityResultContracts ...@@ -9,11 +9,13 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd import com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd
import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject.haveSelectLanguage
import com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy import com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import com.base.pdfviewerscannerwhite.databinding.ActivitySplashBinding import com.base.pdfviewerscannerwhite.databinding.ActivitySplashBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.service.StayNotificationService.Companion.startStayNotification import com.base.pdfviewerscannerwhite.service.StayNotificationService.Companion.startStayNotification
import com.base.pdfviewerscannerwhite.ui.main.MainActivity import com.base.pdfviewerscannerwhite.ui.main.MainActivity
import com.base.pdfviewerscannerwhite.ui.set.SetLanguageActivity
import com.base.pdfviewerscannerwhite.utils.BarUtils import com.base.pdfviewerscannerwhite.utils.BarUtils
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
...@@ -127,6 +129,12 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView { ...@@ -127,6 +129,12 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
binding.progressBar.progress = 100 binding.progressBar.progress = 100
binding.root.postDelayed({ binding.root.postDelayed({
if (!haveSelectLanguage) {
startActivity(Intent(this, SetLanguageActivity::class.java))
finish()
return@postDelayed
}
val actionId = intent.extras?.getString("actionId") val actionId = intent.extras?.getString("actionId")
LogEx.logDebug(TAG, "") LogEx.logDebug(TAG, "")
startActivity(Intent(this, MainActivity::class.java).apply { startActivity(Intent(this, MainActivity::class.java).apply {
...@@ -134,7 +142,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView { ...@@ -134,7 +142,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
}) })
finish() finish()
intent.extras?.clear() intent.extras?.clear()
}, 200)
}, 100)
} }
......
...@@ -36,7 +36,7 @@ import java.io.File ...@@ -36,7 +36,7 @@ import java.io.File
object PdfDialog { object PdfDialog {
//pdf首页弹窗 //pdf首页弹窗
@SuppressLint("SetTextI18n", "NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
fun Context.showPdfHomeMoreDialog( fun Context.showPdfHomeMoreDialog(
item: DocumentBean, item: DocumentBean,
mainActivity: MainActivity, mainActivity: MainActivity,
...@@ -111,15 +111,15 @@ object PdfDialog { ...@@ -111,15 +111,15 @@ object PdfDialog {
} }
} }
if (item.state == 1) { if (item.state == 1) {
binding.tvLock.text = "Unlock PDF" binding.tvLock.text = getString(R.string.unlock_pdf)
} }
if (item.state == 0) { if (item.state == 0) {
binding.tvLock.text = "Lock PDF" binding.tvLock.text = getString(R.string.lock_pdf)
} }
binding.llLock.setOnClickListener { binding.llLock.setOnClickListener {
showPdfPwdDialog(state = item.state, path = item.path, firstDialog = dialog, encryptionAction = { showPdfPwdDialog(state = item.state, path = item.path, firstDialog = dialog, encryptionAction = {
dialog.dismiss() dialog.dismiss()
mainActivity.mainPresenter.changePdfLock(item,documentPageFragment) mainActivity.mainPresenter.changePdfLock(item, documentPageFragment)
}) })
} }
dialog.setOnDismissListener { dialog.setOnDismissListener {
...@@ -203,18 +203,18 @@ object PdfDialog { ...@@ -203,18 +203,18 @@ object PdfDialog {
if (!isCheckPwd) { if (!isCheckPwd) {
if (state == 1) { if (state == 1) {
binding.tvTittle.text = "Delete Password" binding.tvTittle.text = getString(R.string.delete_password)
binding.tvTip.text = "Delete password, the file is not password protected" binding.tvTip.text = getString(R.string.delete_password_the_file_is_not_password_protected)
} }
if (state == 0) { if (state == 0) {
binding.tvTittle.text = "Set Password" binding.tvTittle.text = getString(R.string.set_password)
binding.tvTip.text = "Set password protection pdf" binding.tvTip.text = getString(R.string.set_password_protection_pdf)
} }
} else { } else {
binding.tvTittle.text = "Input Password" binding.tvTittle.text = getString(R.string.input_password)
val file = File(path) val file = File(path)
binding.tvTip.text = "${file.name} password protected" binding.tvTip.text = getString(R.string.password_protected, file.name)
binding.tvInputTip.visibility = View.VISIBLE binding.tvInputTip.visibility = View.VISIBLE
} }
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
app:layout_constraintTop_toTopOf="@id/fl_fanhui" /> app:layout_constraintTop_toTopOf="@id/fl_fanhui" />
<TextView <TextView
android:id="@+id/tv_ok"
android:layout_width="58dp" android:layout_width="58dp"
android:layout_height="28dp" android:layout_height="28dp"
android:layout_marginEnd="18dp" android:layout_marginEnd="18dp"
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<TextView <TextView
android:id="@+id/tv_language"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="18dp" android:layout_marginStart="18dp"
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation">Nächste</string>
<string name="previous" tools:ignore="MissingTranslation">Vorherige</string>
<string name="merge_pdf">PDF zusammenführen</string>
<string name="document">dokumentieren</string>
<string name="add">Hinzufügen</string>
<string name="recent">Jüngste</string>
<string name="rename">Umbenennen</string>
<string name="bookmark">Lesezeichen</string>
<string name="merge">Verschmelzen</string>
<string name="feedback">Rückmeldung</string>
<string name="tool">Werkzeug</string>
<string name="delete">Löschen</string>
<string name="share">Aktie</string>
<string name="save">Speichern</string>
<string name="highlight">Hervorheben</string>
<string name="glide_line">Gleitlinie</string>
<string name="split_pdf">PDF teilen</string>
<string name="send">Schicken</string>
<string name="set">Satz</string>
<string name="painting_brush">Malpinsel</string>
<string name="cancel">Stornieren</string>
<string name="strikethrough">Durchgestrichen</string>
<string name="are_you_sure_you_want_to_delete_it">Sind Sie sicher, dass Sie es löschen möchten?</string>
<string name="evaluate_us">Bewerten Sie uns</string>
<string name="splitting_pdf_please_wait">PDF wird geteilt, bitte warten.</string>
<string name="detail">Detail</string>
<string name="split">Teilt</string>
<string name="lock_pdf">PDF sperren</string>
<string name="unlock_pdf">PDF entsperren</string>
<string name="scan_pdf">PDF scannen</string>
<string name="privacy_policy">Datenschutzrichtlinie</string>
<string name="term_of_service">Dienstzeit</string>
<string name="empty">Leer</string>
<string name="start">Start</string>
<string name="file_manager">Dateimanager</string>
<string name="more">Mehr</string>
<string name="ok">OK</string>
<string name="page_number">Seitenzahl</string>
<string name="jump_to_the_specified_page">Springen Sie zur angegebenen Seite</string>
<string name="set_password">Passwort festlegen</string>
<string name="set_password_protection_pdf">Passwortschutz festlegen pdf</string>
<string name="enter_the_password_to_open_the_file">Geben Sie das Passwort ein, um die Datei zu öffnen</string>
<string name="password_error">Passwortfehler</string>
<string name="confirm">Bestätigen</string>
<string name="thank_you_for_your_support">Vielen Dank für Ihre Unterstützung!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">Ihre Fünf-Sterne-Bewertung wird uns dazu inspirieren, weiterzumachen</string>
<string name="print">Drucken</string>
<string name="evaluate">Auswerten</string>
<string name="sort_order">Sortierreihenfolge</string>
<string name="last_modification_from_new_to_1st">Letzte Änderung (von neu auf 1.)</string>
<string name="final_modification_from_old_to_new">Letzte Änderung (Von alt zu neu)</string>
<string name="name_a_z">Name (A-Z)</string>
<string name="name_z_a">Name (Z-A)</string>
<string name="language">Sprache</string>
<string name="select_language">Sprache auswählen</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation">Próximo</string>
<string name="previous" tools:ignore="MissingTranslation">Anterior</string>
<string name="merge_pdf">Fusionar PDF</string>
<string name="document">documento</string>
<string name="add">Agregar</string>
<string name="recent">Reciente</string>
<string name="rename">Rebautizar</string>
<string name="bookmark">Marcador</string>
<string name="merge">Unir</string>
<string name="feedback">Comentario</string>
<string name="tool">Herramienta</string>
<string name="delete">Borrar</string>
<string name="share">Compartir</string>
<string name="save">Ahorrar</string>
<string name="highlight">Destacar</string>
<string name="glide_line">Línea de planeo</string>
<string name="split_pdf">Dividir PDF</string>
<string name="send">Enviar</string>
<string name="set">Colocar</string>
<string name="painting_brush">Pincel de pintura</string>
<string name="cancel">Cancelar</string>
<string name="strikethrough">Tachado</string>
<string name="are_you_sure_you_want_to_delete_it">¿Estás seguro de que quieres eliminarlo?</string>
<string name="evaluate_us">Evalúanos</string>
<string name="splitting_pdf_please_wait">Dividiendo PDF, espere.</string>
<string name="detail">Detalle</string>
<string name="split">Dividir</string>
<string name="lock_pdf">Bloquear PDF</string>
<string name="unlock_pdf">Desbloquear PDF</string>
<string name="scan_pdf">Escanear PDF</string>
<string name="privacy_policy">política de privacidad</string>
<string name="term_of_service">Término de servicio</string>
<string name="empty">Vacío</string>
<string name="start">Comenzar</string>
<string name="file_manager">Gestor de archivos</string>
<string name="more">Más</string>
<string name="ok">De acuerdo</string>
<string name="page_number">Número de página</string>
<string name="jump_to_the_specified_page">Saltar a la página especificada</string>
<string name="set_password">Establecer contraseña</string>
<string name="set_password_protection_pdf">Establecer protección con contraseña pdf</string>
<string name="enter_the_password_to_open_the_file">Ingrese la contraseña para abrir el archivo</string>
<string name="password_error">Error de contraseña</string>
<string name="confirm">Confirmar</string>
<string name="thank_you_for_your_support">¡Gracias por su apoyo!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">Tu calificación de cinco estrellas nos inspirará a seguir\navanzando</string>
<string name="print">Imprimir</string>
<string name="evaluate">Evaluar</string>
<string name="sort_order">Orden de clasificación</string>
<string name="last_modification_from_new_to_1st">Última modificación (De nueva a 1ª)</string>
<string name="final_modification_from_old_to_new">Modificación final (De viejo a nuevo)</string>
<string name="name_a_z">Nombre (A-Z)</string>
<string name="name_z_a">Nombre (Z-A)</string>
<string name="language">Idioma</string>
<string name="select_language">Seleccionar idioma</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation">Berikutnya</string>
<string name="previous" tools:ignore="MissingTranslation">Sebelumnya</string>
<string name="merge_pdf">Gabungkan PDF</string>
<string name="document">dokumen</string>
<string name="add">Menambahkan</string>
<string name="recent">Terkini</string>
<string name="rename">Ganti nama</string>
<string name="bookmark">Penanda buku</string>
<string name="merge">Menggabungkan</string>
<string name="feedback">Masukan</string>
<string name="tool">Alat</string>
<string name="delete">Menghapus</string>
<string name="share">Membagikan</string>
<string name="save">Menyimpan</string>
<string name="highlight">Menyorot</string>
<string name="glide_line">Garis Meluncur</string>
<string name="split_pdf">Pisahkan PDF</string>
<string name="send">Mengirim</string>
<string name="set">Mengatur</string>
<string name="painting_brush">Kuas Lukisan</string>
<string name="cancel">Membatalkan</string>
<string name="strikethrough">Dicoret</string>
<string name="are_you_sure_you_want_to_delete_it">Apakah Anda yakin ingin menghapusnya?</string>
<string name="evaluate_us">Evaluasi Kami</string>
<string name="splitting_pdf_please_wait">Memisahkan PDF, harap tunggu.</string>
<string name="detail">Detil</string>
<string name="split">Membelah</string>
<string name="lock_pdf">Kunci PDF</string>
<string name="unlock_pdf">Buka kunci PDF</string>
<string name="scan_pdf">Pindai PDF</string>
<string name="privacy_policy">Kebijakan Privasi</string>
<string name="term_of_service">Jangka waktu layanan</string>
<string name="empty">Kosong</string>
<string name="start">Awal</string>
<string name="file_manager">Manajer File</string>
<string name="more">Lagi</string>
<string name="ok">Oke</string>
<string name="page_number">Nomor Halaman</string>
<string name="jump_to_the_specified_page">Lompat ke halaman yang ditentukan</string>
<string name="set_password">Tetapkan Kata Sandi</string>
<string name="set_password_protection_pdf">Tetapkan perlindungan kata sandi pdf</string>
<string name="enter_the_password_to_open_the_file">Masukkan kata sandi untuk membuka file</string>
<string name="password_error">Kesalahan Kata Sandi</string>
<string name="confirm">Mengonfirmasi</string>
<string name="thank_you_for_your_support">Terima kasih atas dukungan Anda!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">Peringkat bintang lima Anda akan menginspirasi kami untuk terus\nmelangkah maju</string>
<string name="print">Mencetak</string>
<string name="evaluate">Mengevaluasi</string>
<string name="sort_order">Urutkan Urutan</string>
<string name="last_modification_from_new_to_1st">Modifikasi terakhir (Dari baru ke pertama)</string>
<string name="final_modification_from_old_to_new">Modifikasi akhir (Dari lama ke baru)</string>
<string name="name_a_z">Nama (A-Z)</string>
<string name="name_z_a">Nama (Z-A)</string>
<string name="language">Bahasa</string>
<string name="select_language">Pilih bahasa</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation">Prossimo</string>
<string name="previous" tools:ignore="MissingTranslation">Precedente</string>
<string name="merge_pdf">Unisci PDF</string>
<string name="document">documento</string>
<string name="add">Aggiungere</string>
<string name="recent">Recente</string>
<string name="rename">Rinominare</string>
<string name="bookmark">Segnalibro</string>
<string name="merge">Unisci</string>
<string name="feedback">Feedback</string>
<string name="tool">Attrezzo</string>
<string name="delete">Eliminare</string>
<string name="share">Condividere</string>
<string name="save">Salva</string>
<string name="highlight">Evidenziare</string>
<string name="glide_line">Linea di planata</string>
<string name="split_pdf">PDF diviso</string>
<string name="send">Inviare</string>
<string name="set">Impostato</string>
<string name="painting_brush">Pennello per pittura</string>
<string name="cancel">Cancellare</string>
<string name="strikethrough">Barrato</string>
<string name="are_you_sure_you_want_to_delete_it">Sei sicuro di volerlo eliminare?</string>
<string name="evaluate_us">Valutaci</string>
<string name="splitting_pdf_please_wait">Divisione PDF, attendere per favore.</string>
<string name="detail">Dettaglio</string>
<string name="split">Diviso</string>
<string name="lock_pdf">Blocca PDF</string>
<string name="unlock_pdf">Sblocca PDF</string>
<string name="scan_pdf">Scansione PDF</string>
<string name="privacy_policy">politica sulla riservatezza</string>
<string name="term_of_service">Durata del servizio</string>
<string name="empty">Vuoto</string>
<string name="start">Inizio</string>
<string name="file_manager">Gestore file</string>
<string name="more">Di più</string>
<string name="ok">OK</string>
<string name="page_number">Numero di pagina</string>
<string name="jump_to_the_specified_page">Passa alla pagina specificata</string>
<string name="set_password">Imposta password</string>
<string name="set_password_protection_pdf">Imposta la protezione tramite password pdf</string>
<string name="enter_the_password_to_open_the_file">Immettere la password per aprire il file</string>
<string name="password_error">Errore della password</string>
<string name="confirm">Confermare</string>
<string name="thank_you_for_your_support">Grazie per il vostro supporto!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">La tua valutazione a cinque stelle ci ispirerà a continuare\nandare avanti</string>
<string name="print">Stampa</string>
<string name="evaluate">Valutare</string>
<string name="sort_order">Ordinamento</string>
<string name="last_modification_from_new_to_1st">Ultima modifica (Dalla nuova alla prima)</string>
<string name="final_modification_from_old_to_new">Modifica finale (dal vecchio al nuovo)</string>
<string name="name_a_z">Nome (A-Z)</string>
<string name="name_z_a">Nome (Z-A)</string>
<string name="language">Lingua</string>
<string name="select_language">Seleziona la lingua</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation"></string>
<string name="previous" tools:ignore="MissingTranslation">前の</string>
<string name="merge_pdf">PDFを結合</string>
<string name="document">書類</string>
<string name="add">追加</string>
<string name="recent">最近の</string>
<string name="rename">名前の変更</string>
<string name="bookmark">ブックマーク</string>
<string name="merge">マージ</string>
<string name="feedback">フィードバック</string>
<string name="tool">道具</string>
<string name="delete">消去</string>
<string name="share">共有</string>
<string name="save">保存</string>
<string name="highlight">ハイライト</string>
<string name="glide_line">グライドライン</string>
<string name="split_pdf">PDFの分割</string>
<string name="send">送信</string>
<string name="set">セット</string>
<string name="painting_brush">ペイントブラシ</string>
<string name="cancel">キャンセル</string>
<string name="strikethrough">取り消し線</string>
<string name="are_you_sure_you_want_to_delete_it">削除してもよろしいですか?</string>
<string name="evaluate_us">私たちを評価してください</string>
<string name="splitting_pdf_please_wait">PDFを分割しています。お待ちください。</string>
<string name="detail">詳細</string>
<string name="split">スプリット</string>
<string name="lock_pdf">PDFをロックする</string>
<string name="unlock_pdf">PDFのロックを解除する</string>
<string name="scan_pdf">PDFをスキャン</string>
<string name="privacy_policy">プライバシーポリシー</string>
<string name="term_of_service">利用期間</string>
<string name="empty">空の</string>
<string name="start">始める</string>
<string name="file_manager">ファイルマネージャー</string>
<string name="more">もっと</string>
<string name="ok">わかりました</string>
<string name="page_number">ページ番号</string>
<string name="jump_to_the_specified_page">指定したページにジャンプします</string>
<string name="set_password">パスワードを設定する</string>
<string name="set_password_protection_pdf">PDF のパスワード保護を設定する</string>
<string name="enter_the_password_to_open_the_file">ファイルを開くためのパスワードを入力してください</string>
<string name="password_error">パスワードエラー</string>
<string name="confirm">確認する</string>
<string name="thank_you_for_your_support">ご支援ありがとうございます!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">あなたの 5 つ星の評価は、\n前進し続けるための励みになります</string>
<string name="print">印刷する</string>
<string name="evaluate">評価する</string>
<string name="sort_order">並べ替え順序</string>
<string name="last_modification_from_new_to_1st">最終変更 (新規から最初まで)</string>
<string name="final_modification_from_old_to_new">最終修正(古いものから新しいものへ)</string>
<string name="name_a_z">名前 (A-Z)</string>
<string name="name_z_a">名前 (Z-A)</string>
<string name="language">言語</string>
<string name="select_language">言語を選択してください</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources>
<string name="next">다음</string>
<string name="previous">이전의</string>
<string name="merge_pdf">PDF 병합</string>
<string name="document">문서</string>
<string name="add">추가하다</string>
<string name="recent">최근의</string>
<string name="rename">이름 바꾸기</string>
<string name="bookmark">서표</string>
<string name="merge">병합</string>
<string name="feedback">피드백</string>
<string name="tool">도구</string>
<string name="delete">삭제</string>
<string name="share">공유하다</string>
<string name="save">구하다</string>
<string name="highlight">가장 밝은 부분</string>
<string name="glide_line">글라이드 라인</string>
<string name="split_pdf">PDF 분할</string>
<string name="send">보내다</string>
<string name="set">세트</string>
<string name="painting_brush">페인팅 브러쉬</string>
<string name="cancel">취소</string>
<string name="strikethrough">취소선</string>
<string name="are_you_sure_you_want_to_delete_it">삭제하시겠습니까?</string>
<string name="evaluate_us">우리를 평가해 보세요</string>
<string name="splitting_pdf_please_wait">PDF를 분할하는 중입니다. 잠시 기다려 주세요.</string>
<string name="detail">세부 사항</string>
<string name="split">나뉘다</string>
<string name="lock_pdf">PDF 잠금</string>
<string name="unlock_pdf">PDF 잠금해제</string>
<string name="scan_pdf">PDF 스캔</string>
<string name="privacy_policy">개인 정보 보호 정책</string>
<string name="term_of_service">서비스 기간</string>
<string name="empty">비어 있는</string>
<string name="start">시작</string>
<string name="file_manager">파일 관리자</string>
<string name="more"></string>
<string name="ok">좋아요</string>
<string name="page_number">페이지 번호</string>
<string name="jump_to_the_specified_page">지정된 페이지로 이동</string>
<string name="set_password">비밀번호 설정</string>
<string name="set_password_protection_pdf">비밀번호 보호 설정 PDF</string>
<string name="enter_the_password_to_open_the_file">파일을 열려면 비밀번호를 입력하세요</string>
<string name="password_error">비밀번호 오류</string>
<string name="confirm">확인하다</string>
<string name="thank_you_for_your_support">귀하의 지원에 감사드립니다!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">귀하의 별 5개 평가는 우리가\n앞으로 계속 나아갈 수 있도록 영감을 줄 것입니다</string>
<string name="print">인쇄</string>
<string name="evaluate">평가하다</string>
<string name="sort_order">정렬 순서</string>
<string name="last_modification_from_new_to_1st">마지막 수정(신규부터 1차까지)</string>
<string name="final_modification_from_old_to_new">최종 수정(기존에서 신형으로)</string>
<string name="name_a_z">이름(A-Z)</string>
<string name="name_z_a">이름(Z-A)</string>
<string name="language">언어</string>
<string name="select_language">언어 선택</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources>
<string name="next">Seterusnya</string>
<string name="previous">Sebelumnya</string>
<string name="merge_pdf">Gabungkan PDF</string>
<string name="document">dokumen</string>
<string name="add">Tambah</string>
<string name="recent">Baru-baru ini</string>
<string name="rename">Namakan semula</string>
<string name="bookmark">Penanda buku</string>
<string name="merge">Bercantum</string>
<string name="feedback">Maklum balas</string>
<string name="tool">alat</string>
<string name="delete">Padam</string>
<string name="share">Kongsi</string>
<string name="save">Jimat</string>
<string name="highlight">Serlahkan</string>
<string name="glide_line">Garisan Meluncur</string>
<string name="split_pdf">Pisahkan PDF</string>
<string name="send">Hantar</string>
<string name="set">Tetapkan</string>
<string name="painting_brush">Berus Lukisan</string>
<string name="cancel">Batal</string>
<string name="strikethrough">Strikethrough</string>
<string name="are_you_sure_you_want_to_delete_it">Adakah anda pasti mahu memadamkannya?</string>
<string name="evaluate_us">Nilailah Kami</string>
<string name="splitting_pdf_please_wait">Membahagikan PDF, sila tunggu.</string>
<string name="detail">Perincian</string>
<string name="split">Berpisah</string>
<string name="lock_pdf">Kunci PDF</string>
<string name="unlock_pdf">Buka kunci PDF</string>
<string name="scan_pdf">Imbas PDF</string>
<string name="privacy_policy">Dasar Privasi</string>
<string name="term_of_service">Tempoh perkhidmatan</string>
<string name="empty">kosong</string>
<string name="start">Mulakan</string>
<string name="file_manager">Pengurus Fail</string>
<string name="more">Lagi</string>
<string name="ok">Ok</string>
<string name="page_number">Nombor Halaman</string>
<string name="jump_to_the_specified_page">Lompat ke halaman yang ditentukan</string>
<string name="set_password">Tetapkan Kata Laluan</string>
<string name="set_password_protection_pdf">Tetapkan perlindungan kata laluan pdf</string>
<string name="enter_the_password_to_open_the_file">Masukkan kata laluan untuk membuka fail</string>
<string name="password_error">Ralat Kata Laluan</string>
<string name="confirm">sahkan</string>
<string name="thank_you_for_your_support">Terima kasih atas sokongan anda!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">Penilaian lima bintang anda akan memberi inspirasi kepada kami untuk terus\nbergerak ke hadapan</string>
<string name="print">Cetak</string>
<string name="evaluate">nilaikan</string>
<string name="sort_order">Susun Susunan</string>
<string name="last_modification_from_new_to_1st">Pengubahsuaian terakhir (Daripada baharu kepada 1)</string>
<string name="final_modification_from_old_to_new">Pengubahsuaian akhir (Daripada lama kepada baharu)</string>
<string name="name_a_z">Nama (A-Z)</string>
<string name="name_z_a">Nama (Z-A)</string>
<string name="language">Bahasa</string>
<string name="select_language">Pilih bahasa</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources>
<string name="next">Próximo</string>
<string name="previous">Anterior</string>
<string name="merge_pdf">Mesclar PDF</string>
<string name="document">documento</string>
<string name="add">Adicionar</string>
<string name="recent">Recente</string>
<string name="rename">Renomear</string>
<string name="bookmark">Marcador</string>
<string name="merge">Mesclar</string>
<string name="feedback">Opinião</string>
<string name="tool">Ferramenta</string>
<string name="delete">Excluir</string>
<string name="share">Compartilhar</string>
<string name="save">Salvar</string>
<string name="highlight">Destaque</string>
<string name="glide_line">Linha de deslizamento</string>
<string name="split_pdf">Dividir PDF</string>
<string name="send">Enviar</string>
<string name="set">Definir</string>
<string name="painting_brush">Pincel de pintura</string>
<string name="cancel">Cancelar</string>
<string name="strikethrough">Tachado</string>
<string name="are_you_sure_you_want_to_delete_it">Tem certeza de que deseja excluí-lo?</string>
<string name="evaluate_us">Avalie-nos</string>
<string name="splitting_pdf_please_wait">Dividindo PDF, aguarde.</string>
<string name="detail">Detalhe</string>
<string name="split">Dividir</string>
<string name="lock_pdf">Bloquear PDF</string>
<string name="unlock_pdf">Desbloquear PDF</string>
<string name="scan_pdf">Digitalizar PDF</string>
<string name="privacy_policy">política de Privacidade</string>
<string name="term_of_service">Termo de serviço</string>
<string name="empty">Vazio</string>
<string name="start">Começar</string>
<string name="file_manager">Gerenciador de arquivos</string>
<string name="more">Mais</string>
<string name="ok">OK</string>
<string name="page_number">Número da página</string>
<string name="jump_to_the_specified_page">Ir para a página especificada</string>
<string name="set_password">Definir senha</string>
<string name="set_password_protection_pdf">Definir proteção por senha pdf</string>
<string name="enter_the_password_to_open_the_file">Digite a senha para abrir o arquivo</string>
<string name="password_error">Erro de senha</string>
<string name="confirm">Confirmar</string>
<string name="thank_you_for_your_support">Obrigado pelo seu apoio!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">Sua avaliação de cinco estrelas nos inspirará a continuar\navançando</string>
<string name="print">Imprimir</string>
<string name="evaluate">Avaliar</string>
<string name="sort_order">Ordem de classificação</string>
<string name="last_modification_from_new_to_1st">Última modificação (do novo para o 1º)</string>
<string name="final_modification_from_old_to_new">Modificação final (do antigo para o novo)</string>
<string name="name_a_z">Nome (A-Z)</string>
<string name="name_z_a">Nome (Z-A)</string>
<string name="language">Linguagem</string>
<string name="select_language">Selecione o idioma</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation">ต่อไป</string>
<string name="previous" tools:ignore="MissingTranslation">ก่อนหน้า</string>
<string name="merge_pdf">รวม PDF</string>
<string name="document">เอกสาร</string>
<string name="add">เพิ่ม</string>
<string name="recent">ล่าสุด</string>
<string name="rename">เปลี่ยนชื่อ</string>
<string name="bookmark">บุ๊กมาร์ก</string>
<string name="merge">ผสาน</string>
<string name="feedback">ข้อเสนอแนะ</string>
<string name="tool">เครื่องมือ</string>
<string name="delete">ลบ</string>
<string name="share">แบ่งปัน</string>
<string name="save">บันทึก</string>
<string name="highlight">ไฮไลท์</string>
<string name="glide_line">เส้นร่อน</string>
<string name="split_pdf">แยก PDF</string>
<string name="send">ส่ง</string>
<string name="set">ชุด</string>
<string name="painting_brush">แปรงทาสี</string>
<string name="cancel">ยกเลิก</string>
<string name="strikethrough">ขีดทับ</string>
<string name="are_you_sure_you_want_to_delete_it">คุณแน่ใจหรือไม่ว่าต้องการลบมัน?</string>
<string name="evaluate_us">ประเมินเรา</string>
<string name="splitting_pdf_please_wait">กำลังแยก PDF โปรดรอสักครู่</string>
<string name="detail">รายละเอียด</string>
<string name="split">แยก</string>
<string name="lock_pdf">ล็อค PDF</string>
<string name="unlock_pdf">ปลดล็อค PDF</string>
<string name="scan_pdf">สแกน PDF</string>
<string name="privacy_policy">นโยบายความเป็นส่วนตัว</string>
<string name="term_of_service">ระยะเวลาการให้บริการ</string>
<string name="empty">ว่างเปล่า</string>
<string name="start">เริ่ม</string>
<string name="file_manager">ตัวจัดการไฟล์</string>
<string name="more">มากกว่า</string>
<string name="ok">ตกลง</string>
<string name="page_number">หมายเลขหน้า</string>
<string name="jump_to_the_specified_page">ข้ามไปยังหน้าที่ระบุ</string>
<string name="set_password">ตั้งรหัสผ่าน</string>
<string name="set_password_protection_pdf">ตั้งค่าการป้องกันด้วยรหัสผ่าน.pdf</string>
<string name="enter_the_password_to_open_the_file">ป้อนรหัสผ่านเพื่อเปิดไฟล์</string>
<string name="password_error">รหัสผ่านผิดพลาด</string>
<string name="confirm">ยืนยัน</string>
<string name="thank_you_for_your_support">ขอบคุณสำหรับการสนับสนุนของคุณ!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">การให้คะแนนระดับห้าดาวของคุณจะเป็นแรงบันดาลใจให้เรา\nก้าวไปข้างหน้าต่อไป</string>
<string name="print">พิมพ์</string>
<string name="evaluate">ประเมิน</string>
<string name="sort_order">เรียงลำดับ</string>
<string name="last_modification_from_new_to_1st">การแก้ไขครั้งล่าสุด (จากใหม่ไปครั้งที่ 1)</string>
<string name="final_modification_from_old_to_new">การปรับเปลี่ยนขั้นสุดท้าย (จากเก่าไปหาใหม่)</string>
<string name="name_a_z">ชื่อ (ก-ฮ)</string>
<string name="name_z_a">ชื่อ (ศ-ก)</string>
<string name="language">ภาษา</string>
<string name="select_language">เลือกภาษา</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation">Kế tiếp</string>
<string name="previous" tools:ignore="MissingTranslation">Trước</string>
<string name="merge_pdf">Hợp nhất PDF</string>
<string name="document">tài liệu</string>
<string name="add">Thêm vào</string>
<string name="recent">Gần đây</string>
<string name="rename">Đổi tên</string>
<string name="bookmark">Đánh dấu</string>
<string name="merge">Hợp nhất</string>
<string name="feedback">Nhận xét</string>
<string name="tool">Dụng cụ</string>
<string name="delete">Xóa bỏ</string>
<string name="share">Chia sẻ</string>
<string name="save">Cứu</string>
<string name="highlight">Điểm nổi bật</string>
<string name="glide_line">Đường trượt</string>
<string name="split_pdf">Tách PDF</string>
<string name="send">Gửi</string>
<string name="set">Bộ</string>
<string name="painting_brush">Cọ vẽ tranh</string>
<string name="cancel">Hủy bỏ</string>
<string name="strikethrough">Gạch ngang</string>
<string name="are_you_sure_you_want_to_delete_it">Bạn có chắc chắn muốn xóa nó?</string>
<string name="evaluate_us">Đánh giá chúng tôi</string>
<string name="splitting_pdf_please_wait">Đang tách PDF, vui lòng đợi.</string>
<string name="detail">Chi tiết</string>
<string name="split">Tách ra</string>
<string name="lock_pdf">Khóa PDF</string>
<string name="unlock_pdf">Mở khóa PDF</string>
<string name="scan_pdf">Quét PDF</string>
<string name="privacy_policy">Chính sách bảo mật</string>
<string name="term_of_service">Thời hạn dịch vụ</string>
<string name="empty">Trống</string>
<string name="start">Bắt đầu</string>
<string name="file_manager">Trình quản lý tệp</string>
<string name="more">Hơn</string>
<string name="ok">Được rồi</string>
<string name="page_number">Số trang</string>
<string name="jump_to_the_specified_page">Chuyển đến trang được chỉ định</string>
<string name="set_password">Đặt mật khẩu</string>
<string name="set_password_protection_pdf">Đặt mật khẩu bảo vệ pdf</string>
<string name="enter_the_password_to_open_the_file">Nhập mật khẩu để mở file</string>
<string name="password_error">Lỗi mật khẩu</string>
<string name="confirm">Xác nhận</string>
<string name="thank_you_for_your_support">Cảm ơn sự hỗ trợ của bạn!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">Xếp hạng năm sao của bạn sẽ truyền cảm hứng cho chúng tôi tiếp tục\ntiến về phía trước</string>
<string name="print">In</string>
<string name="evaluate">Đánh giá</string>
<string name="sort_order">Sắp xếp thứ tự</string>
<string name="last_modification_from_new_to_1st">Sửa đổi lần cuối (Từ mới đến 1)</string>
<string name="final_modification_from_old_to_new">Sửa đổi cuối cùng (Từ cũ sang mới)</string>
<string name="name_a_z">Tên (A-Z)</string>
<string name="name_z_a">Tên (Z-A)</string>
<string name="language">Ngôn ngữ</string>
<string name="select_language">Chọn ngôn ngữ</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources>
<string name="next">下一個</string>
<string name="previous">以前的</string>
<string name="merge_pdf">合併PDF</string>
<string name="document">文件</string>
<string name="add">添加</string>
<string name="recent">最近的</string>
<string name="rename">重新命名</string>
<string name="bookmark">書籤</string>
<string name="merge">合併</string>
<string name="feedback">回饋</string>
<string name="tool">工具</string>
<string name="delete">刪除</string>
<string name="share">分享</string>
<string name="save">節省</string>
<string name="highlight">強調</string>
<string name="glide_line">滑行線</string>
<string name="split_pdf">分割PDF</string>
<string name="send">傳送</string>
<string name="set"></string>
<string name="painting_brush">畫筆</string>
<string name="cancel">取消</string>
<string name="strikethrough">刪除線</string>
<string name="are_you_sure_you_want_to_delete_it">您確定要刪除它嗎?</string>
<string name="evaluate_us">評價我們</string>
<string name="splitting_pdf_please_wait">正在分割 PDF,請稍候。</string>
<string name="detail">細節</string>
<string name="split">分裂</string>
<string name="lock_pdf">鎖定PDF</string>
<string name="unlock_pdf">解鎖 PDF</string>
<string name="scan_pdf">掃描PDF</string>
<string name="privacy_policy">隱私權政策</string>
<string name="term_of_service">服務期限</string>
<string name="empty">空的</string>
<string name="start">開始</string>
<string name="file_manager">文件管理器</string>
<string name="more">更多的</string>
<string name="ok">好的</string>
<string name="page_number">頁碼</string>
<string name="jump_to_the_specified_page">跳到指定頁面</string>
<string name="set_password">設定密碼</string>
<string name="set_password_protection_pdf">設定密碼保護.pdf</string>
<string name="enter_the_password_to_open_the_file">輸入密碼開啟文件</string>
<string name="password_error">密碼錯誤</string>
<string name="confirm">確認</string>
<string name="thank_you_for_your_support">感謝您的支持!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">您的五星級評價將激勵我們繼續前進\n</string>
<string name="print">列印</string>
<string name="evaluate">評價</string>
<string name="sort_order">排序順序</string>
<string name="last_modification_from_new_to_1st">最後一次修改(從新到第一次)</string>
<string name="final_modification_from_old_to_new">最終修改(從舊到新)</string>
<string name="name_a_z">姓名(A-Z)</string>
<string name="name_z_a">姓名(Z-A)</string>
<string name="language">語言</string>
<string name="select_language">選擇語言</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="next" tools:ignore="MissingTranslation">下一个</string>
<string name="previous" tools:ignore="MissingTranslation">以前的</string>
<string name="merge_pdf">合并PDF</string>
<string name="document">文档</string>
<string name="add">添加</string>
<string name="recent">最近的</string>
<string name="rename">重命名</string>
<string name="bookmark">书签</string>
<string name="merge">合并</string>
<string name="feedback">反馈</string>
<string name="tool">工具</string>
<string name="delete">删除</string>
<string name="share">分享</string>
<string name="save">节省</string>
<string name="highlight">强调</string>
<string name="glide_line">滑行线</string>
<string name="split_pdf">分割PDF</string>
<string name="send">发送</string>
<string name="set"></string>
<string name="painting_brush">画笔</string>
<string name="cancel">取消</string>
<string name="strikethrough">删除线</string>
<string name="are_you_sure_you_want_to_delete_it">您确定要删除它吗?</string>
<string name="evaluate_us">评价我们</string>
<string name="splitting_pdf_please_wait">正在分割 PDF,请稍候。</string>
<string name="detail">细节</string>
<string name="split">分裂</string>
<string name="lock_pdf">锁定PDF</string>
<string name="unlock_pdf">解锁 PDF</string>
<string name="scan_pdf">扫描PDF</string>
<string name="privacy_policy">隐私政策</string>
<string name="term_of_service">服务期限</string>
<string name="empty">空的</string>
<string name="start">开始</string>
<string name="file_manager">文件管理器</string>
<string name="more">更多的</string>
<string name="ok">好的</string>
<string name="page_number">页码</string>
<string name="jump_to_the_specified_page">跳转到指定页面</string>
<string name="set_password">设置密码</string>
<string name="set_password_protection_pdf">设置密码保护.pdf</string>
<string name="enter_the_password_to_open_the_file">输入密码打开文件</string>
<string name="password_error">密码错误</string>
<string name="confirm">确认</string>
<string name="thank_you_for_your_support">感谢您的支持!</string>
<string name="your_five_star_rating_will_inspire_us_to_keep_moving_forward">您的五星级评价将激励我们继续前进\n</string>
<string name="print">打印</string>
<string name="evaluate">评价</string>
<string name="sort_order">排序顺序</string>
<string name="last_modification_from_new_to_1st">最后一次修改(从新到第一次)</string>
<string name="final_modification_from_old_to_new">最终修改(从旧到新)</string>
<string name="name_a_z">姓名(A-Z)</string>
<string name="name_z_a">姓名(Z-A)</string>
<string name="language">语言</string>
<string name="select_language">选择语言</string>
</resources>
\ No newline at end of file
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<string name="app_name" tools:ignore="MissingTranslation">PDF Reader &amp; Scanner</string> <string name="app_name" tools:ignore="MissingTranslation">PDF Reader &amp; Scanner</string>
<string name="facebook_app_id" tools:ignore="MissingTranslation">939938294571154</string> <string name="facebook_app_id" tools:ignore="MissingTranslation">939938294571154</string>
<string name="next" tools:ignore="MissingTranslation">Next</string> <string name="next">Next</string>
<string name="previous" tools:ignore="MissingTranslation">Previous</string> <string name="previous">Previous</string>
<string name="merge_pdf">Merge PDF</string> <string name="merge_pdf">Merge PDF</string>
<string name="document">document</string> <string name="document">document</string>
<string name="add">Add</string> <string name="add">Add</string>
...@@ -57,4 +57,11 @@ ...@@ -57,4 +57,11 @@
<string name="language">Language</string> <string name="language">Language</string>
<string name="select_language">Select language</string> <string name="select_language">Select language</string>
<string name="select_a_project">Select a project</string>
<string name="items_has_been_selected">%1$s items has been selected</string>
<string name="delete_password">Delete Password</string>
<string name="delete_password_the_file_is_not_password_protected">Delete password, the file is not password protected</string>
<string name="input_password">Input Password</string>
<string name="password_protected">%1$s password protected</string>
</resources> </resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="accept">接受</string>
<string name="cancel">取消</string>
<string name="cannot_open_buffer">无法打开缓冲器</string>
<string name="cannot_open_document">无法打开文档</string>
<string name="cannot_open_document_Reason">无法打开文档: %1$s</string>
<string name="cannot_open_file_Path">无法打开文件:%1$s</string>
<string name="choose_value">选择值</string>
<string name="copied_to_clipboard">已复制到剪贴板</string>
<string name="copy">复制</string>
<string name="copy_text">复制文本</string>
<string name="copy_text_to_the_clipboard">将文本复制到剪贴板</string>
<string name="delete">删除</string>
<string name="dismiss">解除</string>
<string name="document_has_changes_save_them_">文档已变更,保存变更吗?</string>
<string name="draw_annotation">作批注</string>
<string name="edit_annotations">编辑批注</string>
<string name="enter_password">输入密码</string>
<string name="entering_reflow_mode">输入重排模式</string>
<string name="fill_out_text_field">填充文本字段</string>
<string name="format_currently_not_supported">当前不支持此格式</string>
<string name="highlight">高亮</string>
<string name="ink">墨迹</string>
<string name="leaving_reflow_mode">正在离开重排模式</string>
<string name="more">更多</string>
<string name="no"></string>
<string name="no_further_occurrences_found">未发现更多实例。</string>
<string name="no_media_hint">存储介质在设备和 PC 上共同使用,会导致该存储介质在设备上无法被访问</string>
<string name="no_media_warning">没有存储介质</string>
<string name="no_text_selected">未选择文本</string>
<string name="not_supported">不被支持</string>
<string name="nothing_to_save">没有要保存的内容</string>
<string name="okay">确定</string>
<string name="outline_title">目录</string>
<string name="parent_directory">[向上一级]</string>
<string name="picker_title_App_Ver_Dir">%1$s%2$s:%3$s</string>
<string name="print">打印</string>
<string name="print_failed">未能打印</string>
<string name="save">保存</string>
<string name="search">搜索</string>
<string name="search_backwards">向后搜索</string>
<string name="search_document">搜索文档</string>
<string name="search_forwards">向前搜索</string>
<string name="searching_">正在搜索…</string>
<string name="select">选择</string>
<string name="select_text">选择文本</string>
<string name="strike_out">删除线</string>
<string name="text_not_found">未发现文本</string>
<string name="toggle_links">高亮并启用墨迹</string>
<string name="underline">下划线</string>
<string name="yes"></string>
<string name="select_certificate_and_sign">选择证书并签名?</string>
<string name="signature_checked">签名已检查</string>
</resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment