Compare commits

...

10 Commits

28 changed files with 729 additions and 273 deletions

View File

@ -1,6 +1,16 @@
### 铁锈助手 - Rust Assistant
安卓端铁锈战争游戏编码辅助工具。
#### 代码编辑器
支持中文和英文的代码联想,自动补全。
Support Chinese and English code association, automatic completion.
![](screenshots/editor.png)
#### 源码运行问题解决:
###### 1.打包时报错缺少SDK路径

View File

@ -24,15 +24,15 @@ android {
keyAlias 'coldmint'
}
}
compileSdkVersion 32
compileSdkVersion 33
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.coldmint.rust.pro"
minSdkVersion 21
minSdkVersion 23
targetSdkVersion 33
versionCode 27
versionName "2.1 Bata5(2023-4-21)"
versionCode 28
versionName "2.1 Bata6(2023-7-20)"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@ -72,6 +72,13 @@ android {
dependencies {
configurations.all {
exclude group: 'androidx.appcompat', module: 'appcompat'
}
implementation('org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0') {
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib'
}
implementation platform('com.google.firebase:firebase-bom:31.1.1')
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.google.firebase:firebase-crashlytics-ktx'
@ -92,6 +99,7 @@ dependencies {
kapt "androidx.room:room-compiler:2.4.0"
implementation "dev.rikka.rikkax.preference:simplemenu-preference:1.0.3"
implementation "dev.rikka.rikkax.material:material-preference:2.0.0"
//
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
@ -113,8 +121,9 @@ dependencies {
implementation 'com.github.florent37:glidepalette:2.1.2'
implementation 'cat.ereza:customactivityoncrash:2.3.0'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'com.google.android.material:material:1.9.0-beta01'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'dev.rikka.rikkax.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

View File

@ -15,6 +15,7 @@
<application
android:name=".RustApplication"
android:localeConfig="@xml/locale_config"
android:hasFragileUserData="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"

View File

@ -106,59 +106,6 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
// EditEndBinding.bind(viewBinding.root)
// }
fun showRenewalTip() {
val debugKey = "续费提示"
val account = AppSettings.getValue(AppSettings.Setting.Account, "")
val time = AppSettings.getValue(AppSettings.Setting.ExpirationTime, 0.toLong())
if (time == 0.toLong() || account.isBlank()) {
DebugHelper.printLog(debugKey, "没有账号或续费信息,关闭界面。")
Toast.makeText(this, "请先登录", Toast.LENGTH_SHORT).show()
finish()
} else {
val stringTime = ServerConfiguration.toStringTime(time)
if (stringTime == ServerConfiguration.ForeverTime) {
DebugHelper.printLog(debugKey, "永久用户无需处理续费提示。")
} else {
val difference = time - System.currentTimeMillis()
if (difference < 0) {
//已经过期
DebugHelper.printLog(debugKey, "此用户的助手已经过期。")
MaterialAlertDialogBuilder(this).setTitle(R.string.activation_app)
.setMessage(
R.string.activation_app_tip
).setPositiveButton(R.string.activate) { i, i2 ->
finish()
val intent = Intent(this, ActivateActivity::class.java)
startActivity(intent)
}.setNegativeButton(R.string.dialog_cancel) { i, i2 ->
finish()
}.setCancelable(false).show()
} else if (difference < 604800000) {
//如果在7天内到期
val day = difference / 86400000 + 1
DebugHelper.printLog(
debugKey,
"显示续费提醒(" + difference + "/86400000)" + day + "天。"
)
MaterialAlertDialogBuilder(this).setTitle(R.string.renewal_tip_title)
.setMessage(
String.format(
getString(R.string.renewal_tip_msg),
account,
day
)
).setPositiveButton(R.string.renewal) { i, i2 ->
val intent = Intent(this, ActivateActivity::class.java)
startActivity(intent)
}.setNegativeButton(R.string.dialog_cancel) { i, i2 ->
}.setCancelable(false).show()
} else {
DebugHelper.printLog(debugKey, "还剩余7天以上无需提示。")
}
}
}
}
/**
* 加载主要的观察者
@ -496,7 +443,6 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
initCodeEditor()
initStartView()
// initEndView()
showRenewalTip()
loadCustomStyle()
loadSearchLayout()
turretCoordinateResults =

View File

@ -638,11 +638,11 @@ class FileManagerActivity : BaseActivity<ActivityFileBinding>() {
*/
fun loadMineBookmarksMenu() {
if (this::menuBinding.isInitialized) {
menuBinding.mineBookmarksMenu.subMenu.clear()
menuBinding.mineBookmarksMenu.subMenu?.clear()
viewModel.getBookmarkManager().fromList(object : BookmarkListener {
override fun find(path: String, name: String) {
val item = menuBinding.mineBookmarksMenu.subMenu.add(name)
item.setOnMenuItemClickListener {
val item = menuBinding.mineBookmarksMenu.subMenu?.add(name)
item?.setOnMenuItemClickListener {
viewModel.currentPathLiveData.value = path
true
}

View File

@ -136,7 +136,8 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
AppSettings.Setting.Token,
userData.data.token
)
GlobalMethod.isActive = userData.data.activation
//从服务器获取用户的激活信息。
// GlobalMethod.isActive = userData.data.activation
//更新本地激活时间
val expirationTime = userData.data.expirationTime
val time = ServerConfiguration.toLongTime(expirationTime)
@ -181,6 +182,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
}.show()
}
"找不到用户" -> {
setErrorAndInput(
viewBinding.accountView,
@ -189,6 +191,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
)
}
"找不到邮箱" -> {
setErrorAndInput(
viewBinding.accountView,
@ -197,6 +200,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
)
}
"密码错误" -> {
setErrorAndInput(
viewBinding.passwordView,
@ -204,6 +208,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
viewBinding.passwordInputLayout
)
}
"请更改登录设备" -> {
viewBinding.button.isEnabled = false
verification(
@ -274,6 +279,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
})
}
else -> {
Snackbar.make(
viewBinding.button,

View File

@ -41,6 +41,7 @@ import com.coldmint.rust.pro.databinding.HeadLayoutBinding
import com.coldmint.rust.pro.fragments.UserGroupFragment
import com.coldmint.rust.pro.tool.EventRecord
import com.coldmint.rust.pro.viewmodel.StartViewModel
import com.google.android.material.color.DynamicColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.tabs.TabLayout
import com.google.gson.Gson
@ -56,6 +57,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
private lateinit var appBarConfiguration: AppBarConfiguration
private var oldLanguage: String? = null
private var first = true
var oldDynamicColor = false
var tabLayout: TabLayout? = null
val headLayout by lazy {
HeadLayoutBinding.inflate(layoutInflater)
@ -238,6 +240,14 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
if (first) {
first = false
} else {
val newDynamicColor = AppSettings.getValue(
AppSettings.Setting.DynamicColor,
DynamicColors.isDynamicColorAvailable()
);
if (oldDynamicColor != newDynamicColor) {
recreate()
return
}
val newLanguage = AppSettings.getValue(AppSettings.Setting.AppLanguage, "en")
if (oldLanguage != newLanguage) {
recreate()
@ -269,7 +279,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
// }
val gitHub = menu.findItem(R.id.github)
gitHub.setOnMenuItemClickListener {
AppOperator.useBrowserAccessWebPage(this,"https://github.com/Cold-Mint/RustAssistant")
AppOperator.useBrowserAccessWebPage(this, "https://github.com/Cold-Mint/RustAssistant")
false
}
// val help = menu.findItem(R.id.help)
@ -315,11 +325,13 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
intent.putExtra("type", "mod")
startActivity(intent)
}
templateItem -> {
val intent = Intent(this, CreationWizardActivity::class.java)
intent.putExtra("type", "template")
startActivity(intent)
}
else -> {
}
}
@ -695,8 +707,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
startViewModel.isActivationLiveData.observe(this) {
GlobalMethod.isActive = it
initNavigationMenu(it)
// GlobalMethod.isActive = it
initNavigationMenu(GlobalMethod.isActive)
}
startViewModel.verifyErrorMsgLiveData.observe(this) {
@ -721,6 +733,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
override fun whenCreateActivity(savedInstanceState: Bundle?, canUseView: Boolean) {
if (canUseView) {
oldLanguage = AppSettings.getValue(AppSettings.Setting.AppLanguage, "en")
oldDynamicColor = AppSettings.getValue(
AppSettings.Setting.DynamicColor,
DynamicColors.isDynamicColorAvailable()
);
useToolbarSetSupportActionBar()
initNav()
observeStartViewModel()

View File

@ -774,7 +774,7 @@ class ReleaseModActivity : BaseActivity<ActivityReleaseModBinding>() {
if (isUpdateMode) {
updateModWork(
modId,
account,
AppSettings.getValue(AppSettings.Setting.Token, ""),
modName,
modDescribe,
updateLog,
@ -795,7 +795,7 @@ class ReleaseModActivity : BaseActivity<ActivityReleaseModBinding>() {
if (isUpdateMode) {
updateModWork(
modId,
account,
AppSettings.getValue(AppSettings.Setting.Token, ""),
modName,
modDescribe,
updateLog,
@ -814,7 +814,7 @@ class ReleaseModActivity : BaseActivity<ActivityReleaseModBinding>() {
if (isUpdateMode) {
updateModWork(
modId,
account,
AppSettings.getValue(AppSettings.Setting.Token, ""),
modName,
modDescribe,
updateLog,
@ -837,7 +837,7 @@ class ReleaseModActivity : BaseActivity<ActivityReleaseModBinding>() {
if (isUpdateMode) {
updateModWork(
modId,
account,
AppSettings.getValue(AppSettings.Setting.Token, ""),
modName,
modDescribe,
updateLog,
@ -964,7 +964,7 @@ class ReleaseModActivity : BaseActivity<ActivityReleaseModBinding>() {
*/
fun updateModWork(
modId: String,
account: String,
token: String,
modName: String,
modDescribe: String,
updateLog: String,
@ -980,7 +980,7 @@ class ReleaseModActivity : BaseActivity<ActivityReleaseModBinding>() {
WebMod.instance.updateMod(AppSettings.getValue(AppSettings.Setting.AppID, ""), modId,
account,
token,
modName,
modDescribe,
updateLog,

View File

@ -18,9 +18,11 @@ import com.coldmint.rust.pro.databinding.ActivitySettingsBinding
import com.coldmint.rust.pro.tool.GlobalMethod
import com.google.android.material.color.DynamicColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import rikka.material.preference.MaterialSwitchPreference
import java.io.File
import java.util.*
import kotlin.collections.ArrayList
@ -53,49 +55,58 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
}
val english_editing_mode =
manager.findPreference<SwitchPreference>(requireContext().getString(R.string.setting_english_editing_mode))
manager.findPreference<MaterialSwitchPreference>(requireContext().getString(R.string.setting_english_editing_mode))
val customizeEdit = manager.findPreference<PreferenceScreen>("customize_edit")
val customizeEdit = manager.findPreference<Preference>("customize_edit")
customizeEdit!!.onPreferenceClickListener = Preference.OnPreferenceClickListener {
val intent = Intent(requireContext(), CustomizeEditTextActivity::class.java)
startActivity(intent)
true
}
val clipboardCue = manager.findPreference<SwitchPreference>(requireContext().getString(R.string.setting_clipboard_cue))
val clipboardCue =
manager.findPreference<MaterialSwitchPreference>(requireContext().getString(R.string.setting_clipboard_cue))
// Only show a toast for Android 12 and lower.
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S_V2){
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S_V2) {
//如果是安卓12或更低
clipboardCue?.isEnabled = false
}
val dynamicColor =
manager.findPreference<SwitchPreference>(requireContext().getString(R.string.setting_dynamic_color))
manager.findPreference<MaterialSwitchPreference>(requireContext().getString(R.string.setting_dynamic_color))
if (!DynamicColors.isDynamicColorAvailable()) {
//动态颜色不可用
dynamicColor?.summary = getString(R.string.dynamic_color_disabled)
dynamicColor?.isEnabled = false
}
dynamicColor?.setOnPreferenceChangeListener { preference, newValue ->
if (newValue is Boolean) {
if (AppSettings.getValue(AppSettings.Setting.DynamicColor, DynamicColors.isDynamicColorAvailable()) != newValue) {
activity?.recreate()
}
}
true
}
val errorInfo =
manager.findPreference<PreferenceScreen>(requireContext().getString(R.string.setting_see_error_info))
manager.findPreference<Preference>(requireContext().getString(R.string.setting_see_error_info))
errorInfo!!.onPreferenceClickListener = Preference.OnPreferenceClickListener {
startActivity(Intent(context, ErrorInfoActivity::class.java))
true
}
// val obtainSourceCode = manager.findPreference<PreferenceScreen>(requireContext().getString(R.string.setting_obtain_source_code))
// val obtainSourceCode = manager.findPreference<Preference>(requireContext().getString(R.string.setting_obtain_source_code))
// obtainSourceCode!!.onPreferenceClickListener = Preference.OnPreferenceClickListener {
// AppOperator.useBrowserAccessWebPage(requireContext(),"https://github.com/Cold-Mint/RustAssistant")
// true
// }
val game = manager.findPreference<PreferenceScreen>("set_game_pack")
val game = manager.findPreference<Preference>("set_game_pack")
game!!.onPreferenceClickListener = Preference.OnPreferenceClickListener {
startActivity(Intent(context, ApplicationListActivity::class.java))
true
}
val valueTypeManager =
manager.findPreference<PreferenceScreen>("value_type_manager")
manager.findPreference<Preference>("value_type_manager")
valueTypeManager!!.onPreferenceClickListener =
Preference.OnPreferenceClickListener {
val intent = Intent(context, ValueTypeActivity::class.java)
@ -103,7 +114,7 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
true
}
val openRecoveryStation =
manager.findPreference<PreferenceScreen>("open_recovery_station")
manager.findPreference<Preference>("open_recovery_station")
openRecoveryStation!!.onPreferenceClickListener =
Preference.OnPreferenceClickListener {
startActivity(Intent(context, RecyclingStationActivity::class.java))
@ -111,7 +122,7 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
}
val clearCache =
manager.findPreference<PreferenceScreen>(getString(R.string.setting_clear_cache))
manager.findPreference<Preference>(getString(R.string.setting_clear_cache))
clearCache!!.onPreferenceClickListener =
Preference.OnPreferenceClickListener {
val items = ArrayList<String>()
@ -143,10 +154,12 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
Glide.get(requireContext()).clearMemory()
}
}
getString(R.string.code_cache) -> {
FileOperator.delete_files(requireContext().codeCacheDir)
FileOperator.delete_files(requireContext().cacheDir)
}
getString(R.string.history_cache) -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
FileOperator.delete_files(File(requireActivity().applicationContext.dataDir.absolutePath + "/databases"))
@ -179,8 +192,8 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
true
}
val nightMode: SwitchPreference? =
manager.findPreference<SwitchPreference>(getString(R.string.setting_night_mode))
val nightMode: MaterialSwitchPreference? =
manager.findPreference<MaterialSwitchPreference>(getString(R.string.setting_night_mode))
nightMode?.setOnPreferenceChangeListener { preference, newValue ->
val booleanValue = newValue as Boolean
if (booleanValue) {
@ -192,8 +205,8 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
}
val nightModeFollowSystem: SwitchPreference? =
manager.findPreference<SwitchPreference>(getString(R.string.setting_night_mode_follow_system))
val nightModeFollowSystem: MaterialSwitchPreference? =
manager.findPreference<MaterialSwitchPreference>(getString(R.string.setting_night_mode_follow_system))
nightModeFollowSystem?.setOnPreferenceChangeListener { preference, newValue ->
if (nightMode != null) {
val useValue = newValue as Boolean
@ -232,7 +245,7 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
}
val useCommunity =
manager.findPreference<SwitchPreference>(getString(R.string.setting_use_the_community_as_the_launch_page))
manager.findPreference<MaterialSwitchPreference>(getString(R.string.setting_use_the_community_as_the_launch_page))
if (useCommunity != null) {
useCommunity.isVisible = false
}
@ -252,6 +265,10 @@ class SettingsActivity : BaseActivity<ActivitySettingsBinding>() {
override fun whenCreateActivity(savedInstanceState: Bundle?, canUseView: Boolean) {
if (canUseView) {
this.getTheme().applyStyle(
rikka.material.preference.R.style.ThemeOverlay_Rikka_Material3_Preference,
true
);
title = getString(R.string.set_up)
setReturnButton()
val settingsFragment = SettingsFragment()

View File

@ -14,11 +14,7 @@ import com.google.firebase.ktx.Firebase
abstract class BaseFragment<T : ViewBinding> : Fragment() {
protected lateinit var firebaseAnalytics: FirebaseAnalytics
val viewBinding: T by lazy {
val layoutInflater = LayoutInflater.from(requireActivity())
getViewBindingObject(layoutInflater)
}
protected lateinit var viewBinding: T
/**
@ -52,6 +48,7 @@ abstract class BaseFragment<T : ViewBinding> : Fragment() {
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
viewBinding = getViewBindingObject(inflater)
return viewBinding.root
}

View File

@ -81,15 +81,20 @@ class AllUnitsFragment(
fun openEditActivity(file: SourceFile) {
val handler = Handler(Looper.getMainLooper())
executorService.submit {
val bundle = Bundle()
val path = file.file.absolutePath
bundle.putString("path", path)
bundle.putString("modPath", modClass!!.modFile.absolutePath)
addFileToHistory(file, handler = handler, whenAddComplete = {
val intent = Intent(requireContext(), EditActivity::class.java)
intent.putExtra("data", bundle)
requireActivity().startActivity(intent)
})
if (modClass == null) {
Snackbar.make(viewBinding.unitList, R.string.file_not_exist, Snackbar.LENGTH_SHORT)
.show()
} else {
val bundle = Bundle()
val path = file.file.absolutePath
bundle.putString("path", path)
bundle.putString("modPath", modClass?.modFile?.absolutePath)
addFileToHistory(file, handler = handler, whenAddComplete = {
val intent = Intent(requireContext(), EditActivity::class.java)
intent.putExtra("data", bundle)
requireActivity().startActivity(intent)
})
}
}
}
@ -148,8 +153,9 @@ class AllUnitsFragment(
*/
fun loadFiles(file: File? = modClass?.modFile) {
if (file == null) {
Snackbar.make(viewBinding.unitList, R.string.file_not_exist, Snackbar.LENGTH_SHORT)
.show()
if (isAdded) {
Toast.makeText(requireContext(), R.string.file_not_exist, Toast.LENGTH_SHORT).show()
}
return
}
val handler = Handler(Looper.getMainLooper())

View File

@ -17,11 +17,7 @@ import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
class CommunityFragment : BaseFragment<FragmentCommunityBinding>() {
// 当请求时,此适配器返回一个
// representing an object in the collection.
private val communityAdapter: CommunityAdapter by lazy {
CommunityAdapter(this)
}
fun loadTab() {
@ -60,7 +56,7 @@ class CommunityFragment : BaseFragment<FragmentCommunityBinding>() {
}
override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) {
viewBinding.pager.adapter = communityAdapter
viewBinding.pager.adapter = CommunityAdapter(this)
viewBinding.pager.isSaveEnabled = false
loadTab()
}

View File

@ -30,12 +30,11 @@ class RankingFragment : BaseFragment<FragmentRankingBinding>() {
var webModAdapter: WebModAdapter? = null
var lastOffset = 0
var lastPosition = 0
val linearLayoutManager by lazy {
StableLinearLayoutManager(requireContext())
}
var linearLayoutManager: StableLinearLayoutManager? = null
private var sortMode: WebMod.SortMode = WebMod.SortMode.Download_Number
override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) {
linearLayoutManager = StableLinearLayoutManager(requireContext())
viewBinding.recyclerView.layoutManager = linearLayoutManager
viewBinding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
@ -100,7 +99,7 @@ class RankingFragment : BaseFragment<FragmentRankingBinding>() {
viewBinding.swipeRefreshLayout.isVisible = true
val adapter = createAdapter(list)
viewBinding.recyclerView.adapter = adapter
linearLayoutManager.scrollToPositionWithOffset(
linearLayoutManager?.scrollToPositionWithOffset(
lastPosition,
lastOffset
)

View File

@ -45,7 +45,7 @@ object GlobalMethod {
/**
* 是否为激活状态
*/
var isActive = false
var isActive = true
const val DEFAULT_GAME_PACKAGE = "com.corrodinggames.rts"
const val DEBUG_SIGN = "963dfd616924b27f9247a35e45bc130a"
const val RELEASE_SIGN = "5320b24894fe7ed449842a81a2dfceda"

View File

@ -1,74 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:viewportHeight="108"
android:height="108dp"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@color/icon_color"
android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
android:viewportHeight="108">
<path
android:fillColor="@color/icon_color"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View File

@ -1,15 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:tint="#FFFFFF"
android:viewportWidth="108"
android:viewportHeight="108"
android:tint="#FFFFFF">
<group android:scaleX="1.69128"
android:scaleY="1.69128"
android:translateX="33.89256"
android:translateY="33.70464">
<path
android:fillColor="@android:color/white"
android:pathData="M22.61,18.99l-9.08,-9.08c0.93,-2.34 0.45,-5.1 -1.44,-7C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11 6.08,7.52 2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11c1.86,1.86 4.57,2.35 6.89,1.48l9.11,9.11c0.39,0.39 1.02,0.39 1.41,0l2.3,-2.3c0.4,-0.38 0.4,-1.01 0,-1.41zM19.61,20.59l-9.46,-9.46c-0.61,0.45 -1.29,0.72 -2,0.82 -1.36,0.2 -2.79,-0.21 -3.83,-1.25C3.37,9.76 2.93,8.5 3,7.26l3.09,3.09 4.24,-4.24 -3.09,-3.09c1.24,-0.07 2.49,0.37 3.44,1.31 1.08,1.08 1.49,2.57 1.24,3.96 -0.12,0.71 -0.42,1.37 -0.88,1.96l9.45,9.45 -0.88,0.89z"/>
</group>
android:viewportHeight="108">
<group
android:scaleX="1.69128"
android:scaleY="1.69128"
android:translateX="33.89256"
android:translateY="33.70464">
<path
android:fillColor="@android:color/white"
android:pathData="M22.61,18.99l-9.08,-9.08c0.93,-2.34 0.45,-5.1 -1.44,-7C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11 6.08,7.52 2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11c1.86,1.86 4.57,2.35 6.89,1.48l9.11,9.11c0.39,0.39 1.02,0.39 1.41,0l2.3,-2.3c0.4,-0.38 0.4,-1.01 0,-1.41zM19.61,20.59l-9.46,-9.46c-0.61,0.45 -1.29,0.72 -2,0.82 -1.36,0.2 -2.79,-0.21 -3.83,-1.25C3.37,9.76 2.93,8.5 3,7.26l3.09,3.09 4.24,-4.24 -3.09,-3.09c1.24,-0.07 2.49,0.37 3.44,1.31 1.08,1.08 1.49,2.57 1.24,3.96 -0.12,0.71 -0.42,1.37 -0.88,1.96l9.45,9.45 -0.88,0.89z" />
</group>
</vector>

View File

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawerlayout"
android:layout_width="match_parent"
android:fitsSystemWindows="false"
android:layout_height="match_parent">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:visibility="gone">
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="已安装" />
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模板社区" />
</com.google.android.material.tabs.TabLayout>
</com.google.android.material.appbar.AppBarLayout>
<fragment
android:id="@+id/baseFragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/mainButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
android:fitsSystemWindows="true"
android:src="@drawable/add" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/navaiagtion"
android:fitsSystemWindows="true"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:elevation="2dp"
app:menu="@menu/menu_drawer_left" />
</androidx.drawerlayout.widget.DrawerLayout>

View File

@ -35,13 +35,12 @@
android:animateLayoutChanges="true"
android:orientation="vertical">
<androidx.cardview.widget.CardView
<com.google.android.material.card.MaterialCardView
android:id="@+id/packCard"
style="@style/Widget.Material3.CardView.Elevated"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:cardElevation="2dp"
card_view:cardCornerRadius="2dp">
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
@ -51,13 +50,14 @@
<TextView
android:id="@+id/packingTitle"
style="@style/TextAppearance.Material3.HeadlineSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/packmod"
android:textSize="16sp" />
android:text="@string/packmod" />
<TextView
android:id="@+id/packingState"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
@ -65,7 +65,7 @@
</LinearLayout>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

View File

@ -42,6 +42,7 @@
<string name="navigation_tip">A total of %1$d items support quick navigation.</string>
<string name="qq_pay">QQ wallet</string>
<string name="wechat_pay">WeChat Pay</string>
<string name="paypal">PayPal</string>
<string name="alipay">Alipay</string>
<string name="dialog_title2">decompress</string>
<string name="dialog_title3">repair</string>
@ -62,6 +63,10 @@
<string name="menu_title3">data set</string>
<string name="data_array">Data array (separated by \\"|\\"):</string>
<string name="delete_title">delete</string>
<string name="delete_comment">Delete a comment</string>
<string name="delete_dynamic">Deletion dynamic</string>
<string name="delete_dynamic_tip">Are you sure to delete this post\?</string>
<string name="delete_comment_tip">Are you sure to delete the comment \\"%1$s\\"\?</string>
<string name="del_moding">deleting…</string>
<string name="del_moding_tip">Deleting "%1$s"…</string>
<string name="restoreing">Restoring…</string>
@ -139,15 +144,15 @@
<string name="not_find_code_name">No code found with name containing %1$s, unfilter</string>
<string name="not_find_section_name">Code for section %1$s not found, unfilter</string>
<string name="not_find_units_action">Cancellation filter</string>
<string name="filtering">In the filter...</string>
<string name="filtering">In the filter</string>
<string name="unable_open_database">Unable to open dataset</string>
<string name="enable_loop">Enable loop play</string>
<string name="disabled_loop">Disable looping</string>
<string name="noloop">[no loop]%1$s</string>
<string name="loading_units">Loading units...</string>
<string name="loading_files">Loading files...</string>
<string name="loading_bookmarks">Loading bookmarks...</string>
<string name="calculating">Calculating...</string>
<string name="loading_units">Loading units</string>
<string name="loading_files">Loading files</string>
<string name="loading_bookmarks">Loading bookmarks</string>
<string name="calculating">Calculating</string>
<string name="no_bookmark">No bookmark</string>
<string name="filenum">Total %1$s items</string>
<string name="not_find_database">No data set was found</string>
@ -236,7 +241,7 @@
<string name="not_save_exit">Exit without saving</string>
<string name="save_settings">Check for configuration updates. Do you want to save the changes\?</string>
<string name="saveing">Saving %1$s...</string>
<string name="saveing">Saving %1$s</string>
<string name="save_complete">%1$s saved.</string>
<string name="save_complete2">The save is complete.</string>
@ -253,7 +258,7 @@
<string name="delete_unit">Remove the unit</string>
<string name="delete_prompt">Delete %1$s?</string>
<!--导入-->
<string name="importing">In the import...</string>
<string name="importing">In the import</string>
<string name="import_name">The import</string>
<string name="import_complete">%1$s import succeeded.</string>
<string name="import_failed">%1$s import failed.</string>
@ -276,8 +281,8 @@
<string name="empty_line_prompt">Find %1$d blank lines to view details</string>
<string name="note_prompt">Find %1$d comments to see the details</string>
<string name="no_optimized_content">There are no projects to optimize.</string>
<string name="load_optimized_item">Load optimization projects...</string>
<string name="optimizationing">In the optimization...</string>
<string name="load_optimized_item">Load optimization projects</string>
<string name="optimizationing">In the optimization</string>
<string name="code_tip">Code hinting</string>
<string name="code_tip_error1">Unable to prompt code, please place cursor in any section.</string>
<string name="code_tip_error2">Move the cursor to the next line to prompt this section of code.</string>
@ -285,6 +290,7 @@
<string name="create_new_section">Create a section</string>
<string name="subtitle">Hello world! | new beginning, a new experience. | | reset version 2.0 to mint farm ~</string>
<string name="web_link">Web link</string>
<string name="parsing_picture_error">Error parsing picture.</string>
<!-- Preference Titles -->
<string name="sync_header">Developer options</string>
@ -301,7 +307,7 @@
<!-- Messages Preferences -->
<string name="reply_title">language</string>
<string name="load_database">Load the data set...</string>
<string name="load_database">Load the data set</string>
<string name="load_database_failed">Failed to load dataset</string>
<!-- Sync Preferences -->
<string name="developers_mode">Developer mode</string>
@ -319,7 +325,7 @@
<string name="application_information">The application of information</string>
<string name="set_up">SetUp</string>
<string name="only_load_coniant_language_template">Load only templates that match the language</string>
<string name="load_application">Loading the app list...</string>
<string name="load_application">Loading the app list</string>
<string name="return_directents">return</string>
<string name="template_info">Template information</string>
<string name="add_file">Add files</string>
@ -343,11 +349,11 @@
<string name="dialog_close_tip2">It has been switched to background repair.</string>
<string name="dialog_close_tip3">It\'s been switched to backstage packaging.</string>
<string name="compilation_prompt">Compile the log</string>
<string name="compilationing">Compile...</string>
<string name="compilationing">Compile</string>
<string name="section">section</string>
<string name="update_database">Update the dataset using existing mod data.</string>
<string name="update_off">update</string>
<string name="update_on">Update in the...</string>
<string name="update_on">Update in the</string>
<string name="update_num">%1$s records have been updated.</string>
<string name="clean_up_code_cache_complete">Code cache cleanup complete.</string>
<string name="clean">empty</string>
@ -392,13 +398,30 @@
<string name="keep_rwmod_file_description">When unpacking the mod, keep the source files.</string>
<string name="keep_rwmod_file">Keep source files</string>
<string name="clear_recovery_station">Empty the recycle bin</string>
<string name="setting_database_path" translatable="false">DatabasePath</string>
<string name="setting_app_language" translatable="false">AppLanguage</string>
<string name="setting_database_directory" translatable="false">DatabaseDirectory</string>
<string name="setting_developer_mode" translatable="false">DeveloperMode</string>
<string name="setting_custom_symbol" translatable="false">CustomSymbol</string>
<string name="setting_template_directory" translatable="false">TemplateDirectory</string>
<string name="setting_auto_create_nomedia" translatable="false">AutoCreateNomedia</string>
<string name="setting_only_load_conant_language_temple" translatable="false">OnlyLoadConantLanguageTemple</string>
<string name="setting_night_mode" translatable="false">NightMode</string>
<string name="setting_independent_folder" translatable="false">IndependentFolder</string>
<string name="setting_app_version" translatable="false">AppVersion</string>
<string name="setting_game_package" translatable="false">GamePackage</string>
<string name="setting_keep_rwmod_file" translatable="false">KeepRwmodFile</string>
<string name="setting_enable_recovery_station" translatable="false">EnableRecoveryStation</string>
<string name="setting_recovery_station_file_save_days" translatable="false">RecoveryStationFileSaveDays</string>
<string name="setting_recovery_station_folder" translatable="false">RecoveryStationFolder</string>
<string name="independent_folder_description">Create a separate folder for each unit.</string>
<string name="independent_folder">Create a separate folder</string>
<string name="unable_rename">Cannot rename this folder because it contains files in use.</string>
<string name="unable_cut">Unable to cut this folder because it has files in use.</string>
<string name="unable_del">Unable to delete this folder because it contains files in use.</string>
<string name="recovery_prompt">"%1$s" has been moved to the recycle bin.</string>
<string name="recoverying_prompt">Moving "%1$s"...</string>
<string name="temporarily_unavailable">Not available, please wait for the next version!</string>
<string name="recoverying_prompt">Moving "%1$s"…</string>
<string name="open_directory_of_file">Open the file directory</string>
<string name="unable_to_detect">Your mods may not be checked by the game.</string>
<string name="failed_to_check_descripiton">For 1.15 and later, set the storage to Internal(read/write) and External. The game reads and writes internal mods, while external mods are managed by assistants.</string>
@ -410,16 +433,20 @@
<string name="no_app_installed">%1$s is not installed.</string>
<string name="restore_all">All reduction</string>
<string name="all_saves_are_completed">%1$d files saved.</string>
<string name="copyright" translatable="false">Copyright ©coldmint 2020-%1$d All Rights Reserved.</string>
<string name="about">About</string>
<string name="libs">Open source license</string>
<string name="additional_selection">Additional items</string>
<string name="delete_source_file">Delete the source file after the package is complete</string>
<string name="packmod">packaging</string>
<string name="open_tip">Open immediately with %1$.2f yuan</string>
<string name="packing">In the packaging...</string>
<string name="packing">In the packaging</string>
<string name="share_mod">share</string>
<string name="share_message">Share</string>
<string name="setting_pack_directory" translatable="false">PackDirectory</string>
<string name="clear_code_cache">Clean up the code cache</string>
<string name="custom_symbol">Custom symbol bar</string>
<string name="setting_identifiers_prompt_number" translatable="false">IdentifiersPromptNumber</string>
<string name="identifiers_prompt_number">Number of identifier prompts</string>
<string name="recovery_file">reduction</string>
<string name="pack_directory">Package directory</string>
@ -436,6 +463,7 @@
<string name="add_bookmark_fail">Failed to add bookmark.</string>
<string name="bookmark_jump_failed">The file the bookmark points to does not exist.</string>
<string name="unit_directory">The unit directory</string>
<string name="setting_user_name" translatable="false">UserName</string>
<string name="user_name">The user name</string>
<string name="report_mod">Report mod</string>
<string name="report_user">To report the user</string>
@ -443,6 +471,7 @@
<string name="bookmark_already_exists">The book label already exists. Please change the path.</string>
<string name="feedback">feedback</string>
<string name="please_set_main_image">Please set the main image.</string>
<string name="setting_use_jetBrains_mono_font" translatable="false">UseJetBrainsMonoFont</string>
<string name="use_jetBrains_mono_font">Use the JetBrains Mono font</string>
<string name="use_jetBrains_mono_font_describe">Assistant built-in font, highly recommended.</string>
<string name="directory_does_not_exist">The directory does not exist.</string>
@ -457,16 +486,18 @@
<string name="register_successed">Registered successfully</string>
<string name="registration_success_message">The account activation code has been sent to your email address. If not, the mailbox may be considered spam. Please check your dustbin.</string>
<string name="please_login_first">Please log in first.</string>
<string name="tourist_pattern">Tourist pattern</string>
<string name="network_error">Network error.</string>
<string name="check_update_failure">Failed to check the update.</string>
<string name="setting_check_beta_update" translatable="false">CheckBetaUpdate</string>
<string name="check_beta_update">Check for Beta updates</string>
<string name="check_beta_update_describe">Only available in Release, Beta, forced update.</string>
<string name="loading_values">Loading value...</string>
<string name="loading_values">Loading value</string>
<string name="value_type_manager_describe">Customize the value type and add it to the prompt.</string>
<string name="value_type_manager">Value type manager</string>
<string name="share_tip">The sharing function uses the normal packaging mode. To use the advanced packaging function (such as automatically adding Chinese annotations, removing empty files, etc.), please click \\" packaging \".</string>
<string name="packaged_mod">Packaged mods</string>
<string name="loading_data">Loading in...</string>
<string name="loading_data">Loading in</string>
<string name="advanced_search">Advanced search</string>
<string name="remove_empty_file_and_folder">Remove empty files and folders</string>
<string name="remove_annotation">Remove annotation</string>
@ -499,7 +530,7 @@
<string name="value_data_error2">This rule cannot be added because the helper automatically associates section data in the file scope.</string>
<string name="release">release</string>
<string name="release_ok">Release success</string>
<string name="releaseing">Release...</string>
<string name="releaseing">Release</string>
<string name="scope_global">global</string>
<string name="scope_filePath">directory</string>
<string name="scope_thisfile">document</string>
@ -514,7 +545,7 @@
<string name="read_value_tip">This method reads values in the source file in the format \@method readValue. For example, \@method readValue(name) reads the unit name.</string>
<string name="absolute_section_name">This method reads the absolute name of the section in the source file in the format \@method absoluteSectionName. For example \@method absoluteSectionName(turret) reads the name of the turret.</string>
<string name="method_file_name">This method returns the file name.</string>
<string name="build_database">Build projects...</string>
<string name="build_database">Build projects</string>
<string name="build_database_complete">Build project complete.</string>
<string name="rebuild_project">Reconstruction project</string>
<string name="rebuild_project_tip">Do you want to clean up the cached data and rebuild the index\?</string>
@ -525,7 +556,6 @@
<string name="location_info">In line %1$s %2$d:</string>
<string name="covers_the_import">You are trying to import the lower version of the template package (%1$s), the current version (%2$s), which will overwrite the updated content. Do you want to continue\?</string>
<string name="covers_the_import_mod">%1$s already exists, this will overwrite the old content. Do you want to continue\?</string>
<string name="help">Using document</string>
<string name="empty_text">Unable to create templates for empty files.</string>
<string name="value_selector_array_describe">Use \\",\\" to split parameters. You can also use \\"[\\" and \\"]\\" to annotate parameters. For example :[like :like], the like will be displayed to the user, after selected, write like.</string>
<string name="template_save_complete">Templates have been added. Would you please exit the template maker now\?</string>
@ -534,6 +564,7 @@
<string name="file_type_define">Ini files are created by default.</string>
<string name="file_type_tip2">You might want to type "%1$s"?</string>
<string name="is_building">Unit data is being loaded. Try using this feature after loading.</string>
<string name="setting_english_editing_mode" translatable="false">EnglishEditingMode</string>
<string name="english_editing_mode_describe">Write your mods in English, with Chinese tips and syntax highlighting.</string>
<string name="english_editing_mode">Native development model</string>
<string name="mt_installed">Do you use English as your development language\? Instead of working on \\"MT manager \\", the assistant has English code hints, as well as intelligent hints for the mod environment.</string>
@ -565,7 +596,7 @@
<string name="default_tags">Assistant exclusive,%1$S creation</string>
<string name="mod_id_error2">The mod Id can contain only letters and digits and underscores (_).</string>
<string name="installation">The installation</string>
<string name="installation_ing">In the installation...</string>
<string name="installation_ing">In the installation</string>
<string name="installated">Has been installed</string>
<string name="template_community">Template community</string>
<string name="work_of_home_page">Check the work</string>
@ -574,7 +605,7 @@
<string name="infinite">infinite</string>
<string name="transition_cover">cover</string>
<string name="fans">fans</string>
<string name="not_audit">Pending approval...</string>
<string name="not_audit">Pending approval</string>
<string name="fans_information">Fans: %1$s| attention:%2$s | praise:%3$s</string>
<string name="praise_number">praise</string>
<string name="no_content">No content</string>
@ -617,7 +648,7 @@
<string name="database_error">The length of json result set is 0</string>
<string name="mod_icon_transition">ModIconTransition</string>
<string name="file_upload_progress">Uploading %1$S %%</string>
<string name="file_upload_ok">The file is uploaded and waiting for the processing result...</string>
<string name="file_upload_ok">The file is uploaded and waiting for the processing result</string>
<string name="file_download_ok">File download completed</string>
<string name="file_download_fail">File download failure</string>
<string name="tag_title">Works containing "%1$s"</string>
@ -637,6 +668,7 @@
<string name="activate">Activation</string>
<string name="money">¥%1$.2f</string>
<string name="discount_prompt">%1$s has saved %2$.2f</string>
<string name="setting_night_mode_follow_system" translatable="false">NightModeFollowSystem</string>
<string name="night_mode_follow_system">Follow the system to turn on the dark mode</string>
<string name="night_mode_follow_system_tip">Follow the system to turn on or off the dark mode</string>
<string name="downlod">download</string>
@ -645,6 +677,7 @@
<string name="using_mobile_networks">Data network is allowed</string>
<string name="using_mobile_networks_tip">Uploading and downloading mods over a mobile network may incur additional data charges.</string>
<string name="using_mobile_networks_msg">Uploading and downloading mods over a mobile network may incur additional data charges. Still going\?</string>
<string name="setting_use_mobile_network" translatable="false">usingMobileNetwork</string>
<string name="no_followers">Please follow your favorite author first</string>
<string name="my_follow">My attention</string>
<string name="no_dynamic">There is no dynamic</string>
@ -662,11 +695,14 @@
<string name="warehouse">warehouse</string>
<string name="not_find_map">No map found</string>
<string name="del_map">delete</string>
<string name="setting_map_folder" translatable="false">MapFolder</string>
<string name="map_folder">Map directory</string>
<string name="setting_mod_folder" translatable="false">ModFolder</string>
<string name="mod_folder">Mod directory</string>
<string name="edit_map">Map editor</string>
<string name="edit_map_tip">We recommend NotTiled as a map editing tool.</string>
<string name="downlod_nottiled">Download NotTiled</string>
<string name="setting_use_the_community_as_the_launch_page" translatable="false">UseTheCommunityAsTheLaunchPage</string>
<string name="use_the_community_as_the_launch_page">Use the community as the launch page</string>
<string name="use_the_community_as_the_launch_page_tip">Enabled by default</string>
<string name="renewal">renewal</string>
@ -687,6 +723,7 @@
<string name="girl">female</string>
<string name="search_hint">Please enter your search content</string>
<string name="report_to_deal">To report to deal with</string>
<string name="banned_mod">It was removed by the administrator for reporting</string>
<string name="unable_to_report">This mod is hidden and cannot be reported.</string>
<string name="unable_to_report2">You cannot report your own mods. If you want to remove a mod, please go to \"Work Management\".</string>
<string name="admin">The administrator</string>
@ -701,8 +738,11 @@
<string name="payment_reminders">We will charge your order to your account within 24 hours after receiving it, please wait patiently. If your order is not processed within 24 hours, please submit your order number to us for processing.</string>
<string name="pay">pay</string>
<string name="pay_type">Payment method:</string>
<string name="next">next</string>
<string name="last">last</string>
<string name="pay_tip">Please pay %2$S within %1$s</string>
<string name="sava_code_and_copy_id">Save the payment code and copy the remarks</string>
<string name="paypal_payment">Pay with PayPal</string>
<string name="pay_tip2">We have stored the QR code image on your device. Would you like to jump to %1$s payment now\?</string>
<string name="qq">QQ</string>
<string name="wechat">WeChat</string>
@ -716,8 +756,9 @@
<string name="recently_opened">History</string>
<string name="not_find_history">No historical record was found</string>
<string name="delete_source_file_check">Deleting source Files</string>
<string name="init_all_units">Initialize the unit list...</string>
<string name="init_all_units">Initialize the unit list</string>
<string name="clear_cache">Clear the cache</string>
<string name="setting_clear_cache" translatable="false">ClearCache</string>
<string name="clear_cache_description">The cache is generated during application use and the helper is accelerated by reading the cache.</string>
<string name="cache">Cache and storage space</string>
<string name="history_cache">File opening record</string>
@ -731,6 +772,7 @@
<string name="search_unit_name">You want to search by name</string>
<string name="auto_save_describe">Automatically save the code when you switch to another program.</string>
<string name="auto_save">Automatically saved</string>
<string name="setting_auto_save" translatable="false">AutoSave</string>
<string name="auto_save_toast">It has been automatically saved.</string>
<string name="is_code">Is the code</string>
<string name="search_tip">Cancel the search</string>
@ -747,15 +789,17 @@
<string name="export_apk_title">Export the Apk</string>
<string name="export_apk_failure">Failed to export. Procedure</string>
<string name="export_apk_path">Exported to %1$s.</string>
<string name="export_apk_load">Exporting...</string>
<string name="export_apk_load">Exporting</string>
<string name="synchronous_ok">The synchronization succeeded. Procedure</string>
<string name="synchronous_failure">Synchronization failed. Procedure</string>
<string name="synchronous_ing">Synchronizing...</string>
<string name="synchronous_ing">Synchronizing…</string>
<string name="setting_server_address" translatable="false">ServerAddress</string>
<string name="server_address_configuration">Server Address Configuration</string>
<string name="associated_tip">Correlation hint from %1$s</string>
<string name="login_tip">After login, you can :\n- upload, download mods. \n- Chatting with friends in the community. \n- Edit your mods in Chinese! \n- Follow your favorite creators</string>
<string name="error_description">What were you doing at that time\?</string>
<string name="no_error">There is no error</string>
<string name="setting_see_error_info" translatable="false">SeeErrorInfo</string>
<string name="see_error_info">Crash logs</string>
<string name="see_error_info_tip">View crash logs on this device.</string>
<string name="can_not_tip_value">Sorry, cannot prompt value at present.</string>
@ -765,6 +809,7 @@
<string name="version_name_error2">A commit with version number %1$s already exists.</string>
<string name="update_tip">Write your update log.</string>
<string name="update_log">Update log</string>
<string name="recent_update">Lowest version :%1$s Last updated :%2$s</string>
<string name="update_record">Update record</string>
<string name="search_mod_key">Search results for "%1$s"</string>
<string name="result">The results of</string>
@ -779,7 +824,7 @@
<string name="read_mode_append_or_update_tip">If the target has a record, update it, otherwise add it.</string>
<string name="read_mode_delete_tip">Delete the record that matches the source record</string>
<string name="read_mode_copy_tip">Empty the database and re-import from the source</string>
<string name="reading">Reading...</string>
<string name="reading">Reading</string>
<string name="read_the_complete">The database has been updated successfully.</string>
<string name="read_the_fail">Database update failed. Procedure</string>
<string name="changing_the_server">Changing the server</string>
@ -787,6 +832,7 @@
<string name="change_server_complete">The server has changed.</string>
<string name="order_manager">The order management</string>
<string name="log_out">logout</string>
<string name="user_info">Last login :%1$s ip Home :%2$s</string>
<string name="use_coupon">Will use coupons to create orders, still continue\? (After creating the order, use the coupon)</string>
<string name="use">use</string>
<string name="account_or_email">Account/email</string>
@ -818,6 +864,8 @@
<string name="experience_the_plan_describe">Send software crash message anonymously .</string>
<string name="anonymous_send_completed">An error has been sent anonymously</string>
<string name="update_and_iteration">Version update and user experience planning</string>
<string name="setting_experience_the_plan" translatable="false">experiencePlan</string>
<string name="order_timeout" translatable="false">订单超时,无法支付。</string>
<string name="is_paid">Have you paid yet\? (Unpaid orders will expire and can no longer be paid for).</string>
<string name="paid_yes">Yes, I did</string>
<string name="paid_no">Give up the order</string>
@ -831,6 +879,8 @@
<string name="confirm_password_error">The passwords are inconsistent.</string>
<string name="display_source_code">Display source code</string>
<string name="dynamic_color">Dynamic color</string>
<string name="setting_dynamic_color" translatable="false">DynamicColor</string>
<string name="setting_clipboard_cue" translatable="false">ClipboardCue</string>
<string name="dynamic_color_tip">Follow the device wallpaper to change the theme color.</string>
<string name="dynamic_color_disabled">Dynamic colors are not supported on this device.</string>
<string name="an_unsupported_file_type">Unsupported file format %1$s.</string>
@ -848,7 +898,13 @@
<string name="file_list_action_sort_by_type">type</string>
<string name="file_list_action_sort_by_size">The size of the</string>
<string name="file_list_action_sort_by_last_modified">Modify the time</string>
<string name="setting_file_list_action_sort_by_name" translatable="false">ByName</string>
<string name="setting_file_list_action_sort_by_type" translatable="false">ByType</string>
<string name="setting_file_list_action_sort_by_size" translatable="false">BySize</string>
<string name="setting_file_list_action_sort_by_last_modified" translatable="false">ByLastModified</string>
<string name="file_sort_type">File sorting Mode</string>
<string name="setting_file_sort_type" translatable="false">FileSortType</string>
<string name="setting_simple_display_of_auto_complete_menu" translatable="false">SimpleDisplayOfAutoCompleteMenu</string>
<string name="template_id">Template id</string>
<string name="customize_edit_text">Custom edit box</string>
<string name="subscription">To subscribe to</string>
@ -879,7 +935,40 @@
<string name="user_group">The user group</string>
<string name="discord_group">Discord server</string>
<string name="search_suggestions_null">No search suggestion.</string>
<string name="search_suggestions_loading">Get search suggestions...</string>
<string name="search_suggestions_loading">Get search suggestions</string>
<string name="search_suggestions_number">Total %1$d search suggestions.</string>
<string name="simple_display_of_auto_complete_menu_describe">Hide descriptions and images in the Autocomplete menu.</string>
<string name="simple_display_of_auto_complete_menu">Short version autocomplete menu</string>
<string name="search_key">Search keyword</string>
<string name="share_mod_msg">I share the module %1$s, download link: %2$s\n Download Rust assistant to participate in the review, to the work coin. App download link: %3$s</string>
<string name="setting_source_file_type" translatable="false">sourceFileType</string>
<string name="setting_source_file_type_title">Source file type</string>
<string name="setting_source_file_type_describe">Configure the source file type. Files that match the configuration format will be opened in text edit form. Separate different formats with commas.</string>
<string name="download_num">Downloads</string>
<string name="coin_num">Number of coins</string>
<string name="unit_number">One unit number</string>
<string name="update_number">Number of updates</string>
<string name="click_profile_picture_login">Click avatar to log in</string>
<string name="log_in_discover_more">Log in to discover more!</string>
<string name="compile_error">Compilation error</string>
<string name="compile_error_message">Sorry, the source file failed to compile. The error message is: \n%1$s</string>
<string name="follow_introduction">After logging in, you can unlock the attention system</string>
<string name="help">Using document</string>
<string name="template_help_message">The helper creates units using a template, which is essentially a json description. The helper template parser parses json to build the user interface. You can subscribe to the template you are interested in at \\" Template Community \\". It will be updated at any time after subscribing.</string>
<string name="obtain_source_code_msg">Check out the source code of Rust Assistant on Github, Assistant has been open source, welcome secondary development.</string>
<string name="obtain_source_code">Get source code</string>
<string name="setting_obtain_source_code" translatable="false">ObtainSourceCode</string>
<string name="rust_api">Rust Api-Code</string>
<string name="search_type_template_package">Template package</string>
<string name="public_mod">publicity</string>
<string name="private_mod">Privately owned</string>
<string name="minVersion">Minimum game version</string>
<string name="minVersion_tip">Select the lowest version of the game and leave it blank.</string>
<string name="thumbs_up">give a like</string>
<string name="github">GitHub</string>
<string name="dataset_not_exist">DataBaseManifest.json does not exist and the information cannot be loaded.</string>
<string name="dataset_minversion_low">This data set applies only to older versions of the assistant.</string>
<string name="code_demo">Sample code</string>
<string name="clipboard_cue">Clipboard cue</string>
<string name="clipboard_cue_tip">On Android 13 and above, a prompt pops up when the app copies content to the clipboard.</string>
</resources>

View File

@ -42,6 +42,7 @@
<string name="navigation_tip">全%1$d項目でクイックナビゲーションに対応。</string>
<string name="qq_pay">QQ財布</string>
<string name="wechat_pay">ウィーチャットペイ</string>
<string name="paypal">PayPal</string>
<string name="alipay">アリペイ</string>
<string name="dialog_title2">だしぬけ</string>
<string name="dialog_title3">復旧</string>
@ -62,6 +63,10 @@
<string name="menu_title3">データセット</string>
<string name="data_array">データの配列(\ \" | \分割で):</string>
<string name="delete_title">削除</string>
<string name="delete_comment">コメントを削除します</string>
<string name="delete_dynamic">削除の動きです</string>
<string name="delete_dynamic_tip">この記事を削除することを確認しますか\?</string>
<string name="delete_comment_tip">\\"%1$s\\"のコメントを削除することを確認しますか\?</string>
<string name="del_moding">削除中…</string>
<string name="del_moding_tip">\\"%1$s\\"を削除中…</string>
<string name="restoreing">還元しています…</string>
@ -285,6 +290,7 @@
<string name="create_new_section">創建節</string>
<string name="subtitle">こんにちは、世界!|新しいから、新しい体験。2.0にリセット版| |ミント打钱~</string>
<string name="web_link">ウェブページへのリンク</string>
<string name="parsing_picture_error">画像解析が間違っています。</string>
<!-- Preference Titles -->
<string name="sync_header">開発者オプション</string>
@ -392,12 +398,29 @@
<string name="keep_rwmod_file_description">モジュールを伸張する際、ソースファイルを保持する。</string>
<string name="keep_rwmod_file">ソースファイルを保存する</string>
<string name="clear_recovery_station">ごみ箱を空にする</string>
<string name="setting_database_path" translatable="false">DatabasePath</string>
<string name="setting_app_language" translatable="false">AppLanguage</string>
<string name="setting_database_directory" translatable="false">DatabaseDirectory</string>
<string name="setting_developer_mode" translatable="false">DeveloperMode</string>
<string name="setting_custom_symbol" translatable="false">CustomSymbol</string>
<string name="setting_template_directory" translatable="false">TemplateDirectory</string>
<string name="setting_auto_create_nomedia" translatable="false">AutoCreateNomedia</string>
<string name="setting_only_load_conant_language_temple" translatable="false">OnlyLoadConantLanguageTemple</string>
<string name="setting_night_mode" translatable="false">NightMode</string>
<string name="setting_independent_folder" translatable="false">IndependentFolder</string>
<string name="setting_app_version" translatable="false">AppVersion</string>
<string name="setting_game_package" translatable="false">GamePackage</string>
<string name="setting_keep_rwmod_file" translatable="false">KeepRwmodFile</string>
<string name="setting_enable_recovery_station" translatable="false">EnableRecoveryStation</string>
<string name="setting_recovery_station_file_save_days" translatable="false">RecoveryStationFileSaveDays</string>
<string name="setting_recovery_station_folder" translatable="false">RecoveryStationFolder</string>
<string name="independent_folder_description">ユニットごとに独立したフォルダを作成する。</string>
<string name="independent_folder">独立フォルダを作成する</string>
<string name="unable_rename">ファイルを使用しているフォルダの名前を変更することはできません。</string>
<string name="unable_cut">使用中のファイルが入ったフォルダを切り取ることはできません。</string>
<string name="unable_del">ファイルが使用中のこのフォルダを削除することはできません。</string>
<string name="recovery_prompt">\\"%1$s\\"をごみ箱に移動しました。</string>
<string name="temporarily_unavailable">しばらく利用できません、次のバージョンを待ってください!</string>
<string name="recoverying_prompt">\\"%1$s\\"移働しています…</string>
<string name="open_directory_of_file">ファイルがあるディレクトリを開く</string>
<string name="unable_to_detect">あなたのモジュールはゲームでチェックできないかもしれません。</string>
@ -410,6 +433,7 @@
<string name="no_app_installed">%1$sはインストールされていません。</string>
<string name="restore_all">全部還元する</string>
<string name="all_saves_are_completed">%1$dファイルを保存しました。</string>
<string name="copyright" translatable="false">Copyright ©coldmint 2020-%1$d All Rights Reserved.</string>
<string name="about">について</string>
<string name="libs">オープンソース・ライセンス</string>
<string name="additional_selection">付加項</string>
@ -418,8 +442,11 @@
<string name="open_tip">直ちに%1$.2f元で開通する</string>
<string name="packing">お持ち帰り中…</string>
<string name="share_mod">分かち合い</string>
<string name="share_message">分かち合います</string>
<string name="setting_pack_directory" translatable="false">PackDirectory</string>
<string name="clear_code_cache">コードキャッシュのクリーンアップ</string>
<string name="custom_symbol">カスタム記号バー</string>
<string name="setting_identifiers_prompt_number" translatable="false">IdentifiersPromptNumber</string>
<string name="identifiers_prompt_number">識別子が数を示す</string>
<string name="recovery_file">还元</string>
<string name="pack_directory">カタログを梱包する</string>
@ -436,6 +463,7 @@
<string name="add_bookmark_fail">しおりを付けるのに失敗します。</string>
<string name="bookmark_jump_failed">しおりが指し示す書類は存在しない。</string>
<string name="unit_directory">単位目録。</string>
<string name="setting_user_name" translatable="false">UserName</string>
<string name="user_name">ユーザー名</string>
<string name="report_mod">通報モジュール</string>
<string name="report_user">ユーザーを通報する</string>
@ -443,6 +471,7 @@
<string name="bookmark_already_exists">サインがありますので、パスを変更してください。</string>
<string name="feedback">意見のフィードバック</string>
<string name="please_set_main_image">本体画像を設定してください。</string>
<string name="setting_use_jetBrains_mono_font" translatable="false">UseJetBrainsMonoFont</string>
<string name="use_jetBrains_mono_font">JetBrains Monoフォントを使う</string>
<string name="use_jetBrains_mono_font_describe">アシスタントに内蔵されているフォントは、強くお勧めします。</string>
<string name="directory_does_not_exist">目次は存在しない。</string>
@ -457,8 +486,10 @@
<string name="register_successed">登録に成功する</string>
<string name="registration_success_message">アカウントのアクティベーションコードをメールアドレスに送信しました。受信していない場合、メールボックスは迷惑メールと見なされる可能性があります。ごみ箱をチェックしてください。</string>
<string name="please_login_first">まず登録してください。</string>
<string name="tourist_pattern">ビジターモードです</string>
<string name="network_error">ネットワークエラー。</string>
<string name="check_update_failure">アップデートの失敗をチェックする。</string>
<string name="setting_check_beta_update" translatable="false">CheckBetaUpdate</string>
<string name="check_beta_update">ベータアップデートをチェックする</string>
<string name="check_beta_update_describe">Releaseバージョンでのみ有効となり、ベータバージョンでは、強制アップデートが采用されます。</string>
<string name="loading_values">数値を載せる…</string>
@ -490,7 +521,7 @@
<string name="not_found_data2">このテンプレートには静的なデータはありません。</string>
<string name="remove_empty_lines">空行を除去する</string>
<string name="recycle_source_file">梱包完了後ソースファイルを回収</string>
<string name="error_title">\\"%1$s\\"が意図せずアウトしたことを検出する。</string>
<string name="error_title">%1$s が意図せずアウトしたことを検出する。</string>
<string name="error_content">クラッシュレポートが作成されました。開発者はこの奔砕報告書を利用して、この問題の将来の解決策を見出す。</string>
<string name="share_log">ミスレポートを共有する</string>
<string name="restart">プログラムを再起動する</string>
@ -525,7 +556,6 @@
<string name="location_info">%1$sの%2$d行に位置する:</string>
<string name="covers_the_import">テンプレートパッケージの下位バージョン(%1$s)、現在のバージョン(%2$s)の導入を試みています。これにより、更新された内容がカバーされます。続けるの\?</string>
<string name="covers_the_import_mod">%1$sが存在し、これは古いコンテンツを上書きします。続けるの\?</string>
<string name="help">ドキュメントを使う</string>
<string name="empty_text">空のファイルにテンプレートを作ることはできません。</string>
<string name="value_selector_array_describe">\\"、\\"分割パラメータを使用し、\\"[\\"と\\"]\\"注釈パラメータを使用することもできます。例えば、[好き:like]は、好きがユーザに表示され、選択した後、likeを書き込む。</string>
<string name="template_save_complete">テンプレート作成器は完成して、今退出してくださいテンプレートを追加しますか\?</string>
@ -534,6 +564,7 @@
<string name="file_type_define">iniファイルをデフォルトで作成する。</string>
<string name="file_type_tip2">「%1$s\」と入力したいかもしれません。</string>
<string name="is_building">単位データをロードしているので、ロードしてからこの机能を使ってみてください。</string>
<string name="setting_english_editing_mode" translatable="false">EnglishEditingMode</string>
<string name="english_editing_mode_describe">英語を使用してあなたのモジュールを書いて、そして中国語のヒントを持って、文法はすばらしいです。</string>
<string name="english_editing_mode">ネイティブ開発モデル</string>
<string name="mt_installed">開発言語として英語を使用していますか\?\\"MTマネージャ\\"上で仕事をするより、ヘルパーは英文コードのヒント机能と、モジュール環境のインテリジェントなヒントがあります。</string>
@ -637,6 +668,7 @@
<string name="activate">活性化</string>
<string name="money">¥% 1ドル.2f</string>
<string name="discount_prompt">%1$s省%2$.2f元</string>
<string name="setting_night_mode_follow_system" translatable="false">NightModeFollowSystem</string>
<string name="night_mode_follow_system">システム追従ダークモード</string>
<string name="night_mode_follow_system_tip">ダークモードをオンまたはオフします</string>
<string name="downlod">ダウンロード</string>
@ -645,6 +677,7 @@
<string name="using_mobile_networks">データネットワークを使って</string>
<string name="using_mobile_networks_tip">モバイルネットワークを使用してモジュールをアップロードすると、追加の通信料金が発生する可能性があります。</string>
<string name="using_mobile_networks_msg">モバイルネットワークを使用してモジュールをアップロードすると、追加の通信料金が発生する可能性があります。続けますか\?</string>
<string name="setting_use_mobile_network" translatable="false">usingMobileNetwork</string>
<string name="no_followers">まずは好きな著者に注目してください</string>
<string name="my_follow">私の関心は</string>
<string name="no_dynamic">動きがない</string>
@ -662,11 +695,14 @@
<string name="warehouse">倉庫</string>
<string name="not_find_map">地図が見つからない</string>
<string name="del_map">削除</string>
<string name="setting_map_folder" translatable="false">MapFolder</string>
<string name="map_folder">地図目次</string>
<string name="setting_mod_folder" translatable="false">ModFolder</string>
<string name="mod_folder">モジュールカタログ</string>
<string name="edit_map">地図を編集する</string>
<string name="edit_map_tip">地図編集ツールとしてNotTiledをお勧めします。</string>
<string name="downlod_nottiled">NotTiledをダウンロードする</string>
<string name="setting_use_the_community_as_the_launch_page" translatable="false">UseTheCommunityAsTheLaunchPage</string>
<string name="use_the_community_as_the_launch_page">コミュニティを立ち上げページとして使う</string>
<string name="use_the_community_as_the_launch_page_tip">デフォルトの有効化</string>
<string name="renewal">続料</string>
@ -687,6 +723,7 @@
<string name="girl"></string>
<string name="search_hint">検索内容を入力してください</string>
<string name="report_to_deal">通報処理</string>
<string name="banned_mod">通報して管理人に撤去されました</string>
<string name="unable_to_report">このモジュールは隠れていて、通報することができません。</string>
<string name="unable_to_report2">自分のモジュールを通報することはできません、もしモジュールを降ろすことを希望するならば\「作品管理\」に行ってください。</string>
<string name="admin">管理人</string>
@ -701,8 +738,11 @@
<string name="payment_reminders">私達はあなたの注文を受け取ってから24時間以内にあなたの口座にチャージして、辛抱強く待ってください。ご注文が24時間以内に処理されない場合は、ご注文番号をご提出ください。</string>
<string name="pay">支給</string>
<string name="pay_type">支払い方法:</string>
<string name="next">次です</string>
<string name="last">前です</string>
<string name="pay_tip">%1$s内で,%2$s元を支払ってください</string>
<string name="sava_code_and_copy_id">入金コードを保存し備考をコピーする</string>
<string name="paypal_payment">ペイパルで支払います。</string>
<string name="pay_tip2">qrコード画像をあなたのデバイスに保存しました。今、%1$s支払いにジャンプしますか\?</string>
<string name="qq">ティッカー</string>
<string name="wechat">wechat</string>
@ -718,6 +758,7 @@
<string name="delete_source_file_check">ソースファイルを削除する</string>
<string name="init_all_units">初期化ユニットの一覧</string>
<string name="clear_cache">キャッシュの清算</string>
<string name="setting_clear_cache" translatable="false">ClearCache</string>
<string name="clear_cache_description">キャッシュはアプリケーションの使用中に生成され、ヘルパーはキャッシュを読み取って加速する。</string>
<string name="cache">キャッシュとストレージ</string>
<string name="history_cache">ファイル開封記録</string>
@ -731,6 +772,7 @@
<string name="search_unit_name">単位名を検索したい</string>
<string name="auto_save_describe">他のプログラムに切り替えると、自動的にコードが保存されます。</string>
<string name="auto_save">自動保存</string>
<string name="setting_auto_save" translatable="false">AutoSave</string>
<string name="auto_save_toast">自動保存されています。</string>
<string name="is_code">コードだ</string>
<string name="search_tip">検索を取り消す</string>
@ -751,11 +793,13 @@
<string name="synchronous_ok">シンクロ成功。</string>
<string name="synchronous_failure">シンクロ失敗。</string>
<string name="synchronous_ing">シンクロしてる…</string>
<string name="setting_server_address" translatable="false">ServerAddress</string>
<string name="server_address_configuration">サーバアドレス構成</string>
<string name="associated_tip">%1$sからの関連性のヒント</string>
<string name="login_tip">ログイン后、あなたは:\n-アップロード、モジュールをダウンロードすることができます。\n-コミュニティ内で友達とおしゃべりをする。\n-使用中文編集你的模組!\n-好きなクリエイターに注目</string>
<string name="error_description">何をなさっていたのですか。</string>
<string name="no_error">まちがいはない</string>
<string name="setting_see_error_info" translatable="false">SeeErrorInfo</string>
<string name="see_error_info">クラッシュログ</string>
<string name="see_error_info_tip">このデバイスのクラッシュ記録を確認します。</string>
<string name="can_not_tip_value">申し訳ありませんが、現時点で値を提示できません。</string>
@ -765,6 +809,7 @@
<string name="version_name_error2">バージョン番号名が%1$sのコミットが存在する。</string>
<string name="update_tip">更新履歴を作成します。</string>
<string name="update_log">日誌を更新する</string>
<string name="recent_update">最低バージョン:%1$s最近の更新:%2$sです</string>
<string name="update_record">記録を更新する</string>
<string name="search_mod_key">\\"%1$s\\"に関する検索結果</string>
<string name="result">結果</string>
@ -787,6 +832,7 @@
<string name="change_server_complete">サーバーを変更しました。</string>
<string name="order_manager">注文管理</string>
<string name="log_out">掲載</string>
<string name="user_info">最近登録:%1$s ip帰属地:%2$sです</string>
<string name="use_coupon">クーポンを使った注文を作成しますが、継続しますか\?(注文作成完了後、クーポンを消費)</string>
<string name="use">使用</string>
<string name="account_or_email">アカウント/ eメール</string>
@ -818,6 +864,8 @@
<string name="experience_the_plan_describe">匿名送信ソフト奔砕情報。</string>
<string name="anonymous_send_completed">匿名送信済みエラー</string>
<string name="update_and_iteration">アップデートとユーザー体験プログラム</string>
<string name="setting_experience_the_plan" translatable="false">experiencePlan</string>
<string name="order_timeout" translatable="false">订单超时,无法支付。</string>
<string name="is_paid">お支払いはされましたか\?未払いの注文は期限が切れ、支払いができなくなります。</string>
<string name="paid_yes">はい、支払いました</string>
<string name="paid_no">注文を放棄する</string>
@ -831,6 +879,8 @@
<string name="confirm_password_error">パスワードが二度一致しなかった。</string>
<string name="display_source_code">ソースコードを表示する</string>
<string name="dynamic_color">ダイナミックカラー</string>
<string name="setting_dynamic_color" translatable="false">DynamicColor</string>
<string name="setting_clipboard_cue" translatable="false">ClipboardCue</string>
<string name="dynamic_color_tip">壁紙に合わせてテーマカラーを変更します。</string>
<string name="dynamic_color_disabled">この装置は動的色をサポートしない。</string>
<string name="an_unsupported_file_type">サポートされていないファイルフォーマット%1$s。</string>
@ -848,7 +898,13 @@
<string name="file_list_action_sort_by_type">タイプ</string>
<string name="file_list_action_sort_by_size">大きさ</string>
<string name="file_list_action_sort_by_last_modified">時間を修正する</string>
<string name="setting_file_list_action_sort_by_name" translatable="false">ByName</string>
<string name="setting_file_list_action_sort_by_type" translatable="false">ByType</string>
<string name="setting_file_list_action_sort_by_size" translatable="false">BySize</string>
<string name="setting_file_list_action_sort_by_last_modified" translatable="false">ByLastModified</string>
<string name="file_sort_type">書類並べ替え方式</string>
<string name="setting_file_sort_type" translatable="false">FileSortType</string>
<string name="setting_simple_display_of_auto_complete_menu" translatable="false">SimpleDisplayOfAutoCompleteMenu</string>
<string name="template_id">テンプレートid</string>
<string name="customize_edit_text">カスタマイズ編集ボックス</string>
<string name="subscription">購読</string>
@ -881,5 +937,38 @@
<string name="search_suggestions_null">検索の提案はない。</string>
<string name="search_suggestions_loading">検索の提案を得る…</string>
<string name="search_suggestions_number">合計%1$dの検索提案。</string>
<string name="simple_display_of_auto_complete_menu_describe">自動完了メニュー内の記述や画像を非表示にします。</string>
<string name="simple_display_of_auto_complete_menu">簡易メニューです</string>
<string name="search_key">検索キーワードです</string>
<string name="share_mod_msg">私はモジュールを共有しました%1$s,ダウンロードリンク:%2$s\n鉄錆助手をダウンロードして参加する評論、作品にコインを投入します。Appダウンロードリンク:%3$sです</string>
<string name="setting_source_file_type" translatable="false">sourceFileType</string>
<string name="setting_source_file_type_title">ソースファイルタイプ</string>
<string name="setting_source_file_type_describe">設定元ファイルタイプは、設定形式に準拠したファイルをテキスト編集形式で開きます。コンマでフォーマットを分割します。</string>
<string name="download_num">ダウンロードします</string>
<string name="coin_num">コイン投入数です</string>
<string name="unit_number">単位の数です</string>
<string name="update_number">更新回数です</string>
<string name="click_profile_picture_login">プロフィール画像をクリックしてログインします。</string>
<string name="log_in_discover_more">登録してもっと内容を発見します!</string>
<string name="compile_error">コンパイルエラーです</string>
<string name="compile_error_message">申し訳ありませんが、ソースファイルのコンパイルに失敗しました。エラーメッセージは\n%1$sです</string>
<string name="follow_introduction">ログインするとフォローシステムが解除されます</string>
<string name="help">ドキュメントを使う</string>
<string name="template_help_message">アシスタントはテンプレートを使用してユニットを作成します。テンプレートの本質はjson記述です。ヘルパーテンプレートパーサーがjsonを解析し、ユーザーインターフェースを構築します。興味のあるテンプレートは\\"テンプレートコミュニティ\\"で登録できます。購読後は随時更新されます。</string>
<string name="obtain_source_code_msg">Githubで錆びたヘルパーのソースコードを見ると、ヘルパーはオープンソース化されており、再開発を歓迎しています。</string>
<string name="obtain_source_code">ソースコードを取得します</string>
<string name="setting_obtain_source_code" translatable="false">ObtainSourceCode</string>
<string name="rust_api">サビape-codeです</string>
<string name="search_type_template_package">テンプレートパッケージです</string>
<string name="public_mod">公開します</string>
<string name="private_mod">プライベートです</string>
<string name="minVersion">ゲームの最低バージョンです</string>
<string name="minVersion_tip">ゲームの最低バージョンを選択して、残すことができます。</string>
<string name="thumbs_up">いいですね</string>
<string name="github">GitHub</string>
<string name="dataset_not_exist">databasemanifest.jsonは存在せず、情報をロードできません。</string>
<string name="dataset_minversion_low">このデータセットは古いバージョンのアシスタントにのみ適用されます。</string>
<string name="code_demo">コード例です</string>
<string name="clipboard_cue">クリップボードのヒントです</string>
<string name="clipboard_cue_tip">android 13以降では、アプリがクリップボードにコンテンツをコピーすると表示されます。</string>
</resources>

View File

@ -11,19 +11,20 @@
<string name="parse_file_exception">Файл анализирует аномалию</string>
<string name="select_directents">Выбирать каталог</string>
<string name="select_file">Выбери файл.</string>
<string name="select_file_ok">%1$s</string>
<string name="root_path">Корневой каталог</string>
<string name="select_image">Выбери образ.</string>
<string name="change_image">Смени изображение.</string>
<string name="del_image">Удалите изображение.</string>
<string name="remove">удал</string>
<string name="remove_image_item">Удаление изображения, расположенного в \ % $\ \\?</string>
<string name="remove_image_item">Удаление изображения, расположенного в \%1$s\\?</string>
<string name="open">откр</string>
<string name="open_public">публичн</string>
<string name="open_private">частн</string>
<string name="open_nottiled">откройте</string>
<string name="create_unit_complete">Создание единицы завершено</string>
<string name="create_unit_failed">Ошибка создания единицы</string>
<string name="create_uniting">Создаем единицу...</string>
<string name="create_uniting">Создаем единицу</string>
<string name="build_unit">Строительная единица</string>
<string name="dialog_ok">увер</string>
<string name="activation_app">Активировать помощника ржавчины</string>
@ -41,6 +42,7 @@
<string name="navigation_tip">В общей сложности 1 % проектов поддерживают быструю навигацию.</string>
<string name="qq_pay">Кошелек кью.</string>
<string name="wechat_pay">Микровера.</string>
<string name="paypal">Через 2co</string>
<string name="alipay">Плати.</string>
<string name="dialog_title2">декомпресс</string>
<string name="dialog_title3">восстанов</string>
@ -61,6 +63,10 @@
<string name="menu_title3">Набор данных</string>
<string name="data_array">Массив Дан (\ \"- да \\" раздел) :</string>
<string name="delete_title">удал</string>
<string name="delete_comment">Удали комментарии.</string>
<string name="delete_dynamic">Удаление динамики</string>
<string name="delete_dynamic_tip">Подтвердите удаление этого сообщения\?</string>
<string name="delete_comment_tip">Подтверждаю ли комментарий, удаляющий \ % $\ \\?</string>
<string name="del_moding">Удаляется...</string>
<string name="del_moding_tip">Удаляет \ % $\</string>
<string name="restoreing">Восстанавливается...</string>
@ -284,6 +290,7 @@
<string name="create_new_section">Фестиваль создания</string>
<string name="subtitle">Привет, мир! - да нов начинан, нов оп. - да 2.0 перезагрузк-да для мятн кстат\"</string>
<string name="web_link">Ссылка на веб-страницу</string>
<string name="parsing_picture_error">Анализ снимков дал сбой.</string>
<!-- Preference Titles -->
<string name="sync_header">Опция разработчика</string>
@ -391,12 +398,29 @@
<string name="keep_rwmod_file_description">Когда распакуете модуль, сохраните исходный файл.</string>
<string name="keep_rwmod_file">Сохранять исходный файл</string>
<string name="clear_recovery_station">Очистите место сброса</string>
<string name="setting_database_path" translatable="false">DatabasePath</string>
<string name="setting_app_language" translatable="false">AppLanguage</string>
<string name="setting_database_directory" translatable="false">DatabaseDirectory</string>
<string name="setting_developer_mode" translatable="false">DeveloperMode</string>
<string name="setting_custom_symbol" translatable="false">CustomSymbol</string>
<string name="setting_template_directory" translatable="false">TemplateDirectory</string>
<string name="setting_auto_create_nomedia" translatable="false">AutoCreateNomedia</string>
<string name="setting_only_load_conant_language_temple" translatable="false">OnlyLoadConantLanguageTemple</string>
<string name="setting_night_mode" translatable="false">NightMode</string>
<string name="setting_independent_folder" translatable="false">IndependentFolder</string>
<string name="setting_app_version" translatable="false">AppVersion</string>
<string name="setting_game_package" translatable="false">GamePackage</string>
<string name="setting_keep_rwmod_file" translatable="false">KeepRwmodFile</string>
<string name="setting_enable_recovery_station" translatable="false">EnableRecoveryStation</string>
<string name="setting_recovery_station_file_save_days" translatable="false">RecoveryStationFileSaveDays</string>
<string name="setting_recovery_station_folder" translatable="false">RecoveryStationFolder</string>
<string name="independent_folder_description">Создать независимые папки для каждой единицы.</string>
<string name="independent_folder">Создание независимой папки</string>
<string name="unable_rename">Эту папку нельзя переименовать, в ней используются файлы.</string>
<string name="unable_cut">Невозможно разрезать эту папку, в которой используются файлы.</string>
<string name="unable_del">Невозможно удалить эту папку, в которой используются файлы.</string>
<string name="recovery_prompt">Переместил \ % \ \ \ \ \ в утилизацию.</string>
<string name="temporarily_unavailable">Временно недоступна, пожалуйста, дождитесь следующей версии!</string>
<string name="recoverying_prompt">♪ в движении / / % $/</string>
<string name="open_directory_of_file">Откройте каталог, в котором хранятся файлы</string>
<string name="unable_to_detect">Ваши модели могут не быть проверены игрой.</string>
@ -409,6 +433,7 @@
<string name="no_app_installed">Не было установлено никаких $%.</string>
<string name="restore_all">Полное восстановление.</string>
<string name="all_saves_are_completed">Сохранились документы на сумму $1 %.</string>
<string name="copyright" translatable="false">Copyright ©coldmint 2020-%1$d All Rights Reserved.</string>
<string name="about">о</string>
<string name="libs">Открытый исходный код</string>
<string name="additional_selection">Дополнительный член</string>
@ -417,8 +442,11 @@
<string name="open_tip">Немедленное открытие на сумму $1.2f</string>
<string name="packing">В упаковке...</string>
<string name="share_mod">подел</string>
<string name="share_message">подел</string>
<string name="setting_pack_directory" translatable="false">PackDirectory</string>
<string name="clear_code_cache">Очистить кэш кода</string>
<string name="custom_symbol">Самоопределение колонки символов</string>
<string name="setting_identifiers_prompt_number" translatable="false">IdentifiersPromptNumber</string>
<string name="identifiers_prompt_number">Идентификатор указывает на количество</string>
<string name="recovery_file">восстановлен</string>
<string name="pack_directory">Паковать каталог</string>
@ -435,6 +463,7 @@
<string name="add_bookmark_fail">Закладка не удалась.</string>
<string name="bookmark_jump_failed">Бумаги, на которые указывает закладка, не существуют.</string>
<string name="unit_directory">Единичный каталог</string>
<string name="setting_user_name" translatable="false">UserName</string>
<string name="user_name">Имя пользователя.</string>
<string name="report_mod">Группа доноров</string>
<string name="report_user">Сообщать о потребителе</string>
@ -442,6 +471,7 @@
<string name="bookmark_already_exists">Подписание книги уже существует.</string>
<string name="feedback">Обратная связь мнений</string>
<string name="please_set_main_image">Пожалуйста, установите основные изображения.</string>
<string name="setting_use_jetBrains_mono_font" translatable="false">UseJetBrainsMonoFont</string>
<string name="use_jetBrains_mono_font">Используйте шрифт JetBrains Mono</string>
<string name="use_jetBrains_mono_font_describe">Шрифт, встроенный в ассистентку, настоятельно рекомендуется использовать.</string>
<string name="directory_does_not_exist">Каталога не существует.</string>
@ -456,8 +486,10 @@
<string name="register_successed">Регистрация прошла успешно.</string>
<string name="registration_success_message">Код активации аккаунта был отправлен на ваш почтовый ящик. Если письмо не было получено, почтовый ящик можно рассматривать как спам. Пожалуйста, проверьте мусорные баки.</string>
<string name="please_login_first">Заходите, пожалуйста.</string>
<string name="tourist_pattern">Туристский режим</string>
<string name="network_error">Интернет-ошибка.</string>
<string name="check_update_failure">Проверка не удалась.</string>
<string name="setting_check_beta_update" translatable="false">CheckBetaUpdate</string>
<string name="check_beta_update">Проверь бета-обновления</string>
<string name="check_beta_update_describe">Введена в действие только в версии Release, бета-версии, с обязательным обновлением.</string>
<string name="loading_values">Количество загрузки...</string>
@ -489,7 +521,7 @@
<string name="not_found_data2">В этом шаблоне нет статических данных.</string>
<string name="remove_empty_lines">Убрать пустые строки.</string>
<string name="recycle_source_file">Упакуйте исходные документы, когда закончите</string>
<string name="error_title">Обнаружилось, что \"% \ $\ \ \ \ \ \ \ \ \\" был неожиданно удален.</string>
<string name="error_title">Обнаружилось, что %1$s был неожиданно удален.</string>
<string name="error_content">Получено сообщение о повреждениях. Разработчики найдут решение этой проблемы с помощью этого доклада о разбивании.</string>
<string name="share_log">Делиться сообщениями об ошибках</string>
<string name="restart">Перезагрузка.</string>
@ -524,7 +556,6 @@
<string name="location_info">Он находится в строке 1-2 доллара США:</string>
<string name="covers_the_import">Вы пытаетесь импортировать в низкобюджетную версию шаблона (% $), существующую версию (% $2$), которая покроет обновление. Хочешь продолжить\?</string>
<string name="covers_the_import_mod">10% уже существуют, и это покроет старые расходы. Хочешь продолжить\?</string>
<string name="help">Используй документы.</string>
<string name="empty_text">Не могу сделать шаблон для пустых файлов.</string>
<string name="value_selector_array_describe">Используя \"\ \ \ \\" для сегментации параметров, можно также использовать\" \ \ \ \ \ \ \ \ \ \ \ \\" для выявления параметров. Например :[нравится :like], нравится, чтобы его показали пользователям, а после отбора записывают в like.</string>
<string name="template_save_complete">Вы закончили\?</string>
@ -533,6 +564,7 @@
<string name="file_type_define">По умолчанию создаётся файл ini.</string>
<string name="file_type_tip2">Вы, наверное, хотите напечатать \"% $\"\?</string>
<string name="is_building">Загружаю единицу данных, пожалуйста, попробуйте использовать эту функцию после загрузки.</string>
<string name="setting_english_editing_mode" translatable="false">EnglishEditingMode</string>
<string name="english_editing_mode_describe">Напишите свою моду на английском языке, с китайской подсказок и грамматикой.</string>
<string name="english_editing_mode">Модель развития прототипа</string>
<string name="mt_installed">Вы используете английский в качестве языка разработки\? В отличие от работы в \ \\"MT management \", ассистенты имеют возможность давать советы по английскому коду, а также умные советы, направленные на окружающую среду модуля.</string>
@ -636,6 +668,7 @@
<string name="activate">активирова</string>
<string name="money">1$.2f</string>
<string name="discount_prompt">$1 % сэкономлено $2%2f</string>
<string name="setting_night_mode_follow_system" translatable="false">NightModeFollowSystem</string>
<string name="night_mode_follow_system">Следуйте за системой в темном режиме</string>
<string name="night_mode_follow_system_tip">Следуйте за системой включения или выключения темного режима</string>
<string name="downlod">загрузк</string>
@ -644,6 +677,7 @@
<string name="using_mobile_networks">Разрешите использовать сеть данных</string>
<string name="using_mobile_networks_tip">Использование мобильной сети для загрузки модулей может привести к дополнительным расходам.</string>
<string name="using_mobile_networks_msg">Использование мобильной сети для загрузки модулей может привести к дополнительным расходам. Все еще\?</string>
<string name="setting_use_mobile_network" translatable="false">usingMobileNetwork</string>
<string name="no_followers">Сосредоточьтесь на авторе, который вам нравится</string>
<string name="my_follow">Мое внимание.</string>
<string name="no_dynamic">Ничего.</string>
@ -661,11 +695,14 @@
<string name="warehouse">склад</string>
<string name="not_find_map">Карты нет.</string>
<string name="del_map">удал</string>
<string name="setting_map_folder" translatable="false">MapFolder</string>
<string name="map_folder">Каталог карт</string>
<string name="setting_mod_folder" translatable="false">ModFolder</string>
<string name="mod_folder">Групповой каталог</string>
<string name="edit_map">Редактировать карту</string>
<string name="edit_map_tip">Мы рекомендуем NotTiled в качестве инструмента редактирования карт.</string>
<string name="downlod_nottiled">загрузка</string>
<string name="setting_use_the_community_as_the_launch_page" translatable="false">UseTheCommunityAsTheLaunchPage</string>
<string name="use_the_community_as_the_launch_page">Используйте сообщество в качестве стартовой страницы</string>
<string name="use_the_community_as_the_launch_page_tip">По умолчанию.</string>
<string name="renewal">продлен</string>
@ -686,6 +723,7 @@
<string name="girl">женщин</string>
<string name="search_hint">Введите, пожалуйста, содержимое поиска</string>
<string name="report_to_deal">Отчет.</string>
<string name="banned_mod">Был снят с крючка администратором за жалобу</string>
<string name="unable_to_report">Этот модуль скрыт и не может быть донесён.</string>
<string name="unable_to_report2">Не могу сообщить о своей группе моделей, и если вы хотите, чтобы она ушла с подиума, пожалуйста, пройдите в/управление работами /.</string>
<string name="admin">Администратор.</string>
@ -700,8 +738,11 @@
<string name="payment_reminders">Мы переведем деньги на ваш счет в течение 24 часов после получения приказа. Если ваш заказ не будет выполнен в течение 24 часов, пожалуйста, сообщите нам ваш номер заказа.</string>
<string name="pay">плат</string>
<string name="pay_type">Способ оплаты:</string>
<string name="next">след</string>
<string name="last">на</string>
<string name="pay_tip">Пожалуйста, заплатите $2 % в пределах $1</string>
<string name="sava_code_and_copy_id">Сохрани код сбора и скопируй примечание</string>
<string name="paypal_payment">Заплати через PayPal</string>
<string name="pay_tip2">Мы разместили двухмерные изображения на вашем оборудовании. Переходите к оплате в размере $%\?</string>
<string name="qq">QQ</string>
<string name="wechat">wechat</string>
@ -717,6 +758,7 @@
<string name="delete_source_file_check">Удаление исходного файла</string>
<string name="init_all_units">Инициализированный список единиц...</string>
<string name="clear_cache">Очистка кэша</string>
<string name="setting_clear_cache" translatable="false">ClearCache</string>
<string name="clear_cache_description">Возникает при медленном использовании приложений, а помощник ускоряется, читая кэш.</string>
<string name="cache">Кэш и место хранения</string>
<string name="history_cache">Открыть файл</string>
@ -730,6 +772,7 @@
<string name="search_unit_name">Поиск названия</string>
<string name="auto_save_describe">Автоматическое сохранение кода при переключении на другие программы.</string>
<string name="auto_save">Автоматическое сохранение</string>
<string name="setting_auto_save" translatable="false">AutoSave</string>
<string name="auto_save_toast">Автоматическое сохранение.</string>
<string name="is_code">Это код.</string>
<string name="search_tip">Прекратить поиск</string>
@ -750,11 +793,13 @@
<string name="synchronous_ok">Синхронизация завершена.</string>
<string name="synchronous_failure">Синхронизация не работает.</string>
<string name="synchronous_ing">Синхронизирую...</string>
<string name="setting_server_address" translatable="false">ServerAddress</string>
<string name="server_address_configuration">Размещение адреса сервера</string>
<string name="associated_tip">Контактный совет от $1 %</string>
<string name="login_tip">После логина вы можете: загрузка, загрузка модульной группы. · плавно разговаривая с друзьями внутри сообщества. Редактировать вашу моду на китайском языке! Обрати внимание на своего любимого создателя</string>
<string name="error_description">Что вы делали в это время\?</string>
<string name="no_error">Никаких ошибок.</string>
<string name="setting_see_error_info" translatable="false">SeeErrorInfo</string>
<string name="see_error_info">Журнал аварии</string>
<string name="see_error_info_tip">Проверьте записи о авариях на этом устройстве.</string>
<string name="can_not_tip_value">Извините, сейчас не могу сказать.</string>
@ -764,6 +809,7 @@
<string name="version_name_error2">Существующая версия под названием % $.</string>
<string name="update_tip">Напиши свой новый журнал.</string>
<string name="update_log">Обновить журнал</string>
<string name="recent_update">Минимальная версия: $1 недавно была обновлена :%2$</string>
<string name="update_record">Обновить запись.</string>
<string name="search_mod_key">Результаты поиска \"% \ $\ \\"</string>
<string name="result">результат</string>
@ -786,6 +832,7 @@
<string name="change_server_complete">Сервер был изменен.</string>
<string name="order_manager">Управление заказом</string>
<string name="log_out">напечата</string>
<string name="user_info">Недавняя регистрация :%1$ip принадлежит % $2 %</string>
<string name="use_coupon">Мы используем купоны, чтобы создать порядок. (после создания заказа, купоны будут расходуться)</string>
<string name="use">использова</string>
<string name="account_or_email">Номер счета/письмо</string>
@ -817,6 +864,8 @@
<string name="experience_the_plan_describe">Анонимная отправка программного обеспечения для уничтожения информации.</string>
<string name="anonymous_send_completed">Анонимная ошибка отправлена</string>
<string name="update_and_iteration">Обновление версии с программой пользовательского опыта</string>
<string name="setting_experience_the_plan" translatable="false">experiencePlan</string>
<string name="order_timeout" translatable="false">订单超时,无法支付。</string>
<string name="is_paid">Вы заплатили\? (неоплаченный заказ будет просрочен и не сможет больше платить за него).</string>
<string name="paid_yes">Да, я заплатил за него</string>
<string name="paid_no">Отставить приказ.</string>
@ -830,6 +879,8 @@
<string name="confirm_password_error">Два разных пароля.</string>
<string name="display_source_code">Покажи исходный код.</string>
<string name="dynamic_color">Динамический цвет</string>
<string name="setting_dynamic_color" translatable="false">DynamicColor</string>
<string name="setting_clipboard_cue" translatable="false">ClipboardCue</string>
<string name="dynamic_color_tip">Следуйте за обоями устройства для замены тематического цвета.</string>
<string name="dynamic_color_disabled">Это устройство не поддерживает динамические цвета.</string>
<string name="an_unsupported_file_type">Неподдерживаемый формат файла составляет 1 %.</string>
@ -847,7 +898,13 @@
<string name="file_list_action_sort_by_type">тип</string>
<string name="file_list_action_sort_by_size">размер</string>
<string name="file_list_action_sort_by_last_modified">Время на изменение.</string>
<string name="setting_file_list_action_sort_by_name" translatable="false">ByName</string>
<string name="setting_file_list_action_sort_by_type" translatable="false">ByType</string>
<string name="setting_file_list_action_sort_by_size" translatable="false">BySize</string>
<string name="setting_file_list_action_sort_by_last_modified" translatable="false">ByLastModified</string>
<string name="file_sort_type">Способ сортировки файлов</string>
<string name="setting_file_sort_type" translatable="false">FileSortType</string>
<string name="setting_simple_display_of_auto_complete_menu" translatable="false">SimpleDisplayOfAutoCompleteMenu</string>
<string name="template_id">Удостоверение шаблона</string>
<string name="customize_edit_text">Специальная монтажная рама</string>
<string name="subscription">подписк</string>
@ -880,6 +937,38 @@
<string name="search_suggestions_null">Никаких советов по поиску.</string>
<string name="search_suggestions_loading">Получить ордер на обыск...</string>
<string name="search_suggestions_number">1 % от общей суммы рекомендаций по поиску.</string>
<string name="select_file_ok">%1$s</string>
<string name="simple_display_of_auto_complete_menu_describe">Скрытое описание и изображение в автоматическом завершении меню.</string>
<string name="simple_display_of_auto_complete_menu">Простая версия автоматически завершает меню</string>
<string name="search_key">Поиск ключевого слова</string>
<string name="share_mod_msg">Я поделился с группой на 1 %, скачал ссылку: 2 доллара США для скачивания ржавчивого ассистента, который мог бы принять участие в комментариях и вложить деньги в работу. Приложение скачивает ссылку: %3 доллара</string>
<string name="setting_source_file_type" translatable="false">sourceFileType</string>
<string name="setting_source_file_type_title">Исходный тип файла</string>
<string name="setting_source_file_type_describe">Тип исходного файла, который соответствует формату конфигурации, будет открыт в виде текстового редактирования. Разделены на запятые в разных форматах.</string>
<string name="download_num">Загрузка.</string>
<string name="coin_num">Число жетонов.</string>
<string name="unit_number">Единица.</string>
<string name="update_number">обновление</string>
<string name="click_profile_picture_login">Нажмите на логин аватаров</string>
<string name="log_in_discover_more">Логин обнаружил больше!</string>
<string name="compile_error">Ошибка компиляции</string>
<string name="compile_error_message">Мне жаль, но исходная компиляция не удалась. Ложная информация: 1 % \ $</string>
<string name="follow_introduction">Можно открыть систему наблюдения сразу после входа</string>
<string name="help">Используй документы.</string>
<string name="template_help_message">Помощник использует шаблон для создания единицы, который по существу является описанием json. Помощник анализатор шаблонов проанализирует json и создаст пользовательский интерфейс. Вы можете подписаться на шаблоны, которые вас интересуют в \\" сообщество шаблонов \". Мы будем держать вас в курсе после подписания.</string>
<string name="obtain_source_code_msg">Проверьте исходный код ржавого ассистента на Github, который был открыт и добро пожаловать на вторичную разработку.</string>
<string name="obtain_source_code">Получить исходный код.</string>
<string name="setting_obtain_source_code" translatable="false">ObtainSourceCode</string>
<string name="rust_api">ржавчина</string>
<string name="search_type_template_package">Шаблон.</string>
<string name="public_mod">публичн</string>
<string name="private_mod">частн</string>
<string name="minVersion">Минимальная версия игры</string>
<string name="minVersion_tip">Выберите минимальную версию игры и оставьте её пустой.</string>
<string name="thumbs_up">лайк</string>
<string name="github">3. Гитуб</string>
<string name="dataset_not_exist">Databasemanifis.json не существует и не может загружать информацию.</string>
<string name="dataset_minversion_low">Этот набор данных доступен только для старых версий помощников.</string>
<string name="code_demo">Образцовый код</string>
<string name="clipboard_cue">Подсказка к разделочной доске</string>
<string name="clipboard_cue_tip">В системах андроида 13 и выше, когда приложение копирует содержимое на планшет, появляются подсказки.</string>
</resources>

View File

@ -41,6 +41,7 @@
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary</item>
<item name="popupMenuStyle">@style/Widget.Material3.PopupMenu</item>
<item name="preferenceTheme">@style/PreferenceThemeOverlay.Rikka.Material3</item>
</style>
@ -71,6 +72,7 @@
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
<item name="preferenceTheme">@style/PreferenceThemeOverlay.Rikka.Material3</item>
</style>
<!--设置标签为小写-->

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="zh" />
<locale android:name="en" />
<locale android:name="ja" />
<locale android:name="ru" />
</locale-config>

View File

@ -12,7 +12,7 @@
app:title="@string/reply_title"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:defaultValue="true"
android:summary="@string/clipboard_cue_tip"
android:title="@string/clipboard_cue"
@ -24,28 +24,28 @@
<PreferenceCategory android:title="@string/appearance">
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:defaultValue="true"
android:summary="@string/dynamic_color_tip"
android:title="@string/dynamic_color"
app:key="@string/setting_dynamic_color"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:title="@string/night_mode_follow_system"
app:defaultValue="true"
app:key="@string/setting_night_mode_follow_system"
app:summary="@string/night_mode_follow_system_tip"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:title="@string/night_mode"
app:defaultValue="false"
app:key="@string/setting_night_mode"
app:summary="@string/night_mode_auto"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:title="@string/use_the_community_as_the_launch_page"
app:defaultValue="true"
app:key="@string/setting_use_the_community_as_the_launch_page"
@ -72,7 +72,7 @@
<PreferenceCategory android:title="@string/data_transfer">
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:title="@string/using_mobile_networks"
app:defaultValue="false"
app:key="@string/setting_use_mobile_network"
@ -91,13 +91,13 @@
app:key="editGroup"
app:title="@string/edit_title">
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="false"
app:key="@string/setting_english_editing_mode"
app:summary="@string/english_editing_mode_describe"
app:title="@string/english_editing_mode" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="true"
app:key="@string/setting_use_jetBrains_mono_font"
app:summary="@string/use_jetBrains_mono_font_describe"
@ -108,7 +108,7 @@
app:title="@string/custom_symbol"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:defaultValue="true"
android:key="@string/setting_simple_display_of_auto_complete_menu"
android:title="@string/simple_display_of_auto_complete_menu"
@ -122,13 +122,13 @@
app:title="@string/identifiers_prompt_number"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="true"
app:key="@string/setting_auto_save"
app:summary="@string/auto_save_describe"
app:title="@string/auto_save" />
<PreferenceScreen
<Preference
app:key="customize_edit"
app:title="@string/customize_edit_text"
app:summary="@string/customize_edit_text_description"/>
@ -139,7 +139,7 @@
app:key="gamePackGroup"
app:title="@string/game_pack">
<PreferenceScreen
<Preference
app:key="set_game_pack"
app:summary="@string/select_the_game_package_description"
app:title="@string/select_the_game_pack" />
@ -157,14 +157,14 @@
app:title="@string/mod_folder"
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="true"
app:key="@string/setting_auto_create_nomedia"
app:summaryOff="@string/auto_create_nomedia_off"
app:summaryOn="@string/auto_create_nomedia_on"
app:title="@string/auto_create_nomedia" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="true"
app:key="@string/setting_keep_rwmod_file"
app:summary="@string/keep_rwmod_file_description"
@ -176,7 +176,7 @@
app:useSimpleSummaryProvider="true" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="true"
app:key="@string/setting_enable_recovery_station"
app:summary="@string/description_of_the_recovery_station"
@ -197,13 +197,13 @@
app:title="@string/recovery_station_file_save_days"
app:useSimpleSummaryProvider="true" />
<PreferenceScreen
<Preference
app:dependency="@string/setting_enable_recovery_station"
app:key="open_recovery_station"
app:summary="@string/description_of_manage_the_recovery_station"
app:title="@string/manage_the_recovery_station" />
<PreferenceScreen
<Preference
app:key="value_type_manager"
app:summary="@string/value_type_manager_describe"
app:title="@string/value_type_manager" />
@ -225,14 +225,14 @@
app:key="templateGroup"
app:title="@string/template_title">
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="false"
app:key="@string/setting_only_load_conant_language_temple"
app:summaryOff="@string/only_load_coniant_language_template_off"
app:summaryOn="@string/only_load_coniant_language_template_off"
app:title="@string/only_load_coniant_language_template" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="true"
app:key="@string/setting_independent_folder"
app:summary="@string/independent_folder_description"
@ -243,13 +243,13 @@
<PreferenceCategory
android:title="@string/update_and_iteration"
app:key="updateGroup">
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:defaultValue="false"
app:key="@string/setting_check_beta_update"
app:summary="@string/check_beta_update_describe"
app:title="@string/check_beta_update" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
android:defaultValue="true"
android:key="@string/setting_experience_the_plan"
app:summary="@string/experience_the_plan_describe"
@ -261,7 +261,7 @@
app:key="cacheGroup"
app:title="@string/cache">
<PreferenceScreen
<Preference
app:key="@string/setting_clear_cache"
app:summary="@string/clear_cache_description"
app:title="@string/clear_cache" />
@ -272,17 +272,17 @@
app:key="developerModeGroup"
app:title="@string/sync_header">
<!-- <PreferenceScreen-->
<!-- <Preference-->
<!-- app:key="@string/setting_obtain_source_code"-->
<!-- android:summary="@string/obtain_source_code_msg"-->
<!-- app:title="@string/obtain_source_code"/>-->
<PreferenceScreen
<Preference
app:key="@string/setting_see_error_info"
app:summary="@string/see_error_info_tip"
app:title="@string/see_error_info" />
<SwitchPreference
<rikka.material.preference.MaterialSwitchPreference
app:key="@string/setting_developer_mode"
app:summaryOff="@string/developers_mode_off"
app:summaryOn="@string/developers_mode_on"

View File

@ -971,7 +971,7 @@ class WebMod private constructor() {
* 升级模组
* @param appId String
* @param modId String
* @param account String
* @param token String
* @param modName String
* @param describe String
* @param tags String
@ -987,7 +987,7 @@ class WebMod private constructor() {
fun updateMod(
appId: String,
modId: String,
account: String,
token: String,
modName: String,
describe: String,
updateLog: String,
@ -1003,7 +1003,7 @@ class WebMod private constructor() {
val builder =
MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("appID", appId)
.addFormDataPart("modId", modId).addFormDataPart("updateLog", updateLog)
.addFormDataPart("account", account).addFormDataPart("modName", modName)
.addFormDataPart("token", token).addFormDataPart("modName", modName)
.addFormDataPart("describe", describe).addFormDataPart("tags", tags)
.addFormDataPart("versionName", versionName)
.addFormDataPart("unitNumber", unitNum.toString())

BIN
screenshots/editor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB