diff --git a/.changelog/lang_zh-Hans.json b/.changelog/lang_zh-Hans.json index 789e780d..d2ed6508 100644 --- a/.changelog/lang_zh-Hans.json +++ b/.changelog/lang_zh-Hans.json @@ -1,8 +1,9 @@ { "$data": { "v6.6.3": { - "released_date": "2025/04/29", + "released_date": "2025/05/02", "feature": [ + "版本历史功能, 可查看发行版本历史更新记录 (多语言) 与统计数据", "timers.keepAlive 方法 (已全局化), 用于保持脚本活跃状态", "engines.on('start/stop/error', callback) 等事件监听方法, 用于监听脚本引擎全局事件" ], @@ -24,6 +25,7 @@ ], "dependency": [ "附加 Jsoup 版本 1.19.1", + "附加 Flexmark Java HTML to Markdown 版本 0.64.8", "升级 Gradle 版本 8.14-rc-1 -> 8.14-rc-2" ] }, diff --git a/.readme/README-ar.md b/.readme/README-ar.md index 418109e5..6e0ba871 100644 --- a/.readme/README-ar.md +++ b/.readme/README-ar.md @@ -389,7 +389,7 @@ SDK Tools (أدوات SDK) (في النافذة اليمنى) يعتمد مشروع AutoJs6 على إصدار `JDK (مجموعة تطوير جافا)` بإصدار لا يقل عن `17`، ولكن يفضل الإصدار الذي لا يقل عن `19`. -اعتبارًا من 24 April 2025، الإصدار الأقصى المدعوم من JDK لمشروع AutoJs6 هو `24`. +اعتبارًا من 2 May 2025، الإصدار الأقصى المدعوم من JDK لمشروع AutoJs6 هو `24`. > ملاحظة: إذا كان نظام الكمبيوتر يحتوي على JDK والإصدار يفي بالمتطلبات المذكورة أعلاه، فيمكنك تخطي هذا القسم. diff --git a/.readme/README-en.md b/.readme/README-en.md index 06658ec1..9c7c11ec 100644 --- a/.readme/README-en.md +++ b/.readme/README-en.md @@ -389,7 +389,7 @@ Check `Show Package Details`, click NDK and CMake respectively to ensure the cor The `JDK (Java Development Kit)` version required for the AutoJs6 project should be at least `17`, but `19` or higher is recommended. -As of Apr 24, 2025, AutoJs6 supports up to version `24` of the JDK. +As of May 2, 2025, AutoJs6 supports up to version `24` of the JDK. > Note: If the JDK is already installed on the computer system and the version meets the above requirements, this section can be skipped. diff --git a/.readme/README-es.md b/.readme/README-es.md index 0064e9f1..b5baadb1 100644 --- a/.readme/README-es.md +++ b/.readme/README-es.md @@ -389,7 +389,7 @@ Marca `Show Package Details (Mostrar detalles del paquete)`, haz clic en NDK y C La versión mínima requerida del `JDK (Kit de Desarrollo de Java)` para el proyecto AutoJs6 es `17`, pero se recomienda usar una versión no inferior a `19`. -Hasta el 24 de April de 2025, AutoJs6 soporta hasta la versión `24` de JDK. +Hasta el 2 de May de 2025, AutoJs6 soporta hasta la versión `24` de JDK. > Nota: Si el sistema ya tiene instalado JDK y cumple con los requisitos anteriores, puedes omitir esta sección. diff --git a/.readme/README-fr.md b/.readme/README-fr.md index 36586d0b..fdfc013a 100644 --- a/.readme/README-fr.md +++ b/.readme/README-fr.md @@ -389,7 +389,7 @@ Cochez `Show Package Details (afficher les détails du package)`, puis cliquez r La version de JDK (Kit de développement Java) requise pour le projet AutoJs6 doit être au moins `17`, mais il est recommandé d'avoir au moins `19`. -À partir du 24 April 2025, AutoJs6 prend en charge la version maximale de JDK `24`. +À partir du 2 May 2025, AutoJs6 prend en charge la version maximale de JDK `24`. > Note : Si le JDK est déjà installé sur le système informatique et que la version répond aux exigences ci-dessus, vous pouvez ignorer cette section. diff --git a/.readme/README-ja.md b/.readme/README-ja.md index 4a5bf742..b470a8cb 100644 --- a/.readme/README-ja.md +++ b/.readme/README-ja.md @@ -389,7 +389,7 @@ SDK Tools (SDK ツール) (右側のウィンドウにあります) AutoJs6プロジェクトが依存する `JDK (Java開発キット)` のリリースバージョンは少なくとも `17` で, それ以下のバージョンは推奨されませんが, 最低でも `19` の使用を推奨します. -2025 年 4 月 24 日 現在, AutoJs6がサポートする最大のJDKバージョンは `24` です. +2025 年 5 月 2 日 現在, AutoJs6がサポートする最大のJDKバージョンは `24` です. > 注: コンピュータシステムに適切なバージョンのJDKがインストールされている場合, この節の内容をスキップできます. diff --git a/.readme/README-ko.md b/.readme/README-ko.md index eeb95466..95594716 100644 --- a/.readme/README-ko.md +++ b/.readme/README-ko.md @@ -389,7 +389,7 @@ SDK Tools (SDK 도구) (오른쪽 창에 위치) AutoJs6 프로젝트는 `JDK (Java 개발 도구 키트)` 버전이 `17` 이상이어야 하지만, `19` 이상을 권장합니다. -2025 년 4 월 24 일 기준으로, AutoJs6이 지원하는 최대 JDK 버전은 `24`입니다. +2025 년 5 월 2 일 기준으로, AutoJs6이 지원하는 최대 JDK 버전은 `24`입니다. > 메모: 시스템에 JDK가 설치되어 있고, 버전이 위의 요구 사항을 충족하는 경우, 이 섹션을 건너뛸 수 있습니다. diff --git a/.readme/README-ru.md b/.readme/README-ru.md index 5f3d5c70..65ee6aa7 100644 --- a/.readme/README-ru.md +++ b/.readme/README-ru.md @@ -389,7 +389,7 @@ SDK Tools (SDK Инструменты) (находится в правом ок Для проекта AutoJs6 требуется версия `JDK (Java Development Kit)` не ниже `17`, но рекомендуется не ниже `19`. -По состоянию на 24 April 2025 года AutoJs6 поддерживает JDK максимальной версии `24`. +По состоянию на 2 May 2025 года AutoJs6 поддерживает JDK максимальной версии `24`. > Примечание: Если на компьютере уже установлен JDK и версия соответствует указанным требованиям, этот раздел можно пропустить. diff --git a/.readme/README-zh-Hans.md b/.readme/README-zh-Hans.md index 91a99a1c..229ba602 100644 --- a/.readme/README-zh-Hans.md +++ b/.readme/README-zh-Hans.md @@ -157,18 +157,22 @@ AutoJs6 在 Auto.js 最终项目的基础上, 于 `2021/12/01` 进行二次开 # v6.6.3 -###### 2025/04/24 +###### 2025/05/02 +* `新增` 版本历史功能, 可查看发行版本历史更新记录 (多语言) 与统计数据 * `新增` timers.keepAlive 方法 (已全局化), 用于保持脚本活跃状态 * `新增` engines.on('start/stop/error', callback) 等事件监听方法, 用于监听脚本引擎全局事件 * `修复` 主页文档标签显示在线文档时部分内容被系统导航栏遮挡的问题 * `修复` 部分设备代码编辑器空行显示方框字符的问题 * `修复` 主题色设置页面调色盘对话框可能无限叠加的问题 +* `修复` 无障碍服务关闭时音量加键停止所有脚本功能失效的问题 * `修复` APK 文件类型信息对话框可能无法获取应用名称及 SDK 信息的问题 * `修复` dialogs 模块无法正常使用 customView 属性的问题 _[`issue #364`](http://issues.autojs6.com/364)_ * `修复` console.setContentTextColor 方法导致日志字体颜色丢失默认值的问题 _[`issue #346`](http://issues.autojs6.com/346)_ * `修复` README.md 中部分语言日期格式不正确的问题 +* `优化` 关于应用与开发者页面增加水平布局适配 * `优化` 打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_ +* `优化` 版本更新信息支持多语言显示 (与当前显示语言同步) * `优化` 使用异步加载方式一定程度提升文件管理器列表滑动流畅性 * `优化` 部分依赖或本地库版本调整 _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v663)_ @@ -316,7 +320,7 @@ SDK Tools (SDK 工具) (位于右侧窗口) AutoJs6 项目依赖的 `JDK (Java 开发工具包)` 发行版本不低于 `17`, 但建议不低于 `19`. -截至 2025 年 4 月 24 日, AutoJs6 可支持 JDK 最高版本为 `24`. +截至 2025 年 5 月 2 日, AutoJs6 可支持 JDK 最高版本为 `24`. > 注: 如果计算机系统已安装 JDK 且版本满足上述要求, 则可跳过此小节内容. diff --git a/.readme/README-zh-Hant-HK.md b/.readme/README-zh-Hant-HK.md index 6b50d34f..ae8b492d 100644 --- a/.readme/README-zh-Hant-HK.md +++ b/.readme/README-zh-Hant-HK.md @@ -389,7 +389,7 @@ SDK Tools (SDK 工具) (位於右側窗口) AutoJs6 項目依賴的 `JDK (Java 開發工具包)` 發行版本不低於 `17`, 但建議不低於 `19`. -截至 2025 年 4 月 24 日, AutoJs6 可支持 JDK 最高版本為 `24`. +截至 2025 年 5 月 2 日, AutoJs6 可支持 JDK 最高版本為 `24`. > 注: 如果計算機系統已安裝 JDK 且版本滿足上述要求, 則可跳過此小節內容. diff --git a/.readme/README-zh-Hant-TW.md b/.readme/README-zh-Hant-TW.md index fd7cf7ee..564704ea 100644 --- a/.readme/README-zh-Hant-TW.md +++ b/.readme/README-zh-Hant-TW.md @@ -389,7 +389,7 @@ SDK Tools (SDK 工具) (位於右側視窗) AutoJs6 專案依賴的 `JDK (Java 開發工具包)` 發行版本不低於 `17`, 但建議不低於 `19`. -截至 2025 年 4 月 24 日, AutoJs6 可支援 JDK 最高版本為 `24`. +截至 2025 年 5 月 2 日, AutoJs6 可支援 JDK 最高版本為 `24`. > 注: 如果計算機系統已安裝 JDK 且版本滿足上述要求, 則可跳過此小節內容. diff --git a/README.md b/README.md index 91a99a1c..229ba602 100644 --- a/README.md +++ b/README.md @@ -157,18 +157,22 @@ AutoJs6 在 Auto.js 最终项目的基础上, 于 `2021/12/01` 进行二次开 # v6.6.3 -###### 2025/04/24 +###### 2025/05/02 +* `新增` 版本历史功能, 可查看发行版本历史更新记录 (多语言) 与统计数据 * `新增` timers.keepAlive 方法 (已全局化), 用于保持脚本活跃状态 * `新增` engines.on('start/stop/error', callback) 等事件监听方法, 用于监听脚本引擎全局事件 * `修复` 主页文档标签显示在线文档时部分内容被系统导航栏遮挡的问题 * `修复` 部分设备代码编辑器空行显示方框字符的问题 * `修复` 主题色设置页面调色盘对话框可能无限叠加的问题 +* `修复` 无障碍服务关闭时音量加键停止所有脚本功能失效的问题 * `修复` APK 文件类型信息对话框可能无法获取应用名称及 SDK 信息的问题 * `修复` dialogs 模块无法正常使用 customView 属性的问题 _[`issue #364`](http://issues.autojs6.com/364)_ * `修复` console.setContentTextColor 方法导致日志字体颜色丢失默认值的问题 _[`issue #346`](http://issues.autojs6.com/346)_ * `修复` README.md 中部分语言日期格式不正确的问题 +* `优化` 关于应用与开发者页面增加水平布局适配 * `优化` 打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_ +* `优化` 版本更新信息支持多语言显示 (与当前显示语言同步) * `优化` 使用异步加载方式一定程度提升文件管理器列表滑动流畅性 * `优化` 部分依赖或本地库版本调整 _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v663)_ @@ -316,7 +320,7 @@ SDK Tools (SDK 工具) (位于右侧窗口) AutoJs6 项目依赖的 `JDK (Java 开发工具包)` 发行版本不低于 `17`, 但建议不低于 `19`. -截至 2025 年 4 月 24 日, AutoJs6 可支持 JDK 最高版本为 `24`. +截至 2025 年 5 月 2 日, AutoJs6 可支持 JDK 最高版本为 `24`. > 注: 如果计算机系统已安装 JDK 且版本满足上述要求, 则可跳过此小节内容. diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 47510ddf..f852cc35 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -59,6 +59,9 @@ dependencies /* Unclassified */ { // Common Markdown implementation("com.github.atlassian:commonmark-java:commonmark-parent-0.9.0") + // Flexmark Java HTML to Markdown Extensible Converter + implementation("com.vladsch.flexmark:flexmark-html2md-converter:0.64.8") + // Licenses Dialog implementation("de.psdev.licensesdialog:licensesdialog:2.2.0") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index df90a01a..aab3828d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -240,6 +240,10 @@ android:name="org.autojs.autojs.ui.main.scripts.DisplayMediaInfoActivity" android:theme="@style/AppTheme.Settings" /> + + 8.14-rc-2 # v6.6.2 diff --git a/app/src/main/assets-app/doc/CHANGELOG.md b/app/src/main/assets-app/doc/CHANGELOG.md index 22c261f1..25709188 100644 --- a/app/src/main/assets-app/doc/CHANGELOG.md +++ b/app/src/main/assets-app/doc/CHANGELOG.md @@ -6,20 +6,25 @@ # v6.6.3 -###### 2025/04/24 +###### 2025/05/02 +* `新增` 版本历史功能, 可查看发行版本历史更新记录 (多语言) 与统计数据 * `新增` timers.keepAlive 方法 (已全局化), 用于保持脚本活跃状态 * `新增` engines.on('start/stop/error', callback) 等事件监听方法, 用于监听脚本引擎全局事件 * `修复` 主页文档标签显示在线文档时部分内容被系统导航栏遮挡的问题 * `修复` 部分设备代码编辑器空行显示方框字符的问题 * `修复` 主题色设置页面调色盘对话框可能无限叠加的问题 +* `修复` 无障碍服务关闭时音量加键停止所有脚本功能失效的问题 * `修复` APK 文件类型信息对话框可能无法获取应用名称及 SDK 信息的问题 * `修复` dialogs 模块无法正常使用 customView 属性的问题 _[`issue #364`](http://issues.autojs6.com/364)_ * `修复` console.setContentTextColor 方法导致日志字体颜色丢失默认值的问题 _[`issue #346`](http://issues.autojs6.com/346)_ * `修复` README.md 中部分语言日期格式不正确的问题 +* `优化` 关于应用与开发者页面增加水平布局适配 * `优化` 打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_ +* `优化` 版本更新信息支持多语言显示 (与当前显示语言同步) * `优化` 使用异步加载方式一定程度提升文件管理器列表滑动流畅性 * `依赖` 附加 Jsoup 版本 1.19.1 +* `依赖` 附加 Flexmark Java HTML to Markdown 版本 0.64.8 * `依赖` 升级 Gradle 版本 8.14-rc-1 -> 8.14-rc-2 # v6.6.2 diff --git a/app/src/main/java/org/autojs/autojs/core/pref/Language.kt b/app/src/main/java/org/autojs/autojs/core/pref/Language.kt index 4de3a0c9..bde237ae 100644 --- a/app/src/main/java/org/autojs/autojs/core/pref/Language.kt +++ b/app/src/main/java/org/autojs/autojs/core/pref/Language.kt @@ -27,24 +27,41 @@ enum class Language(@JvmField val languageTag: String, @KeyRes private val keyRe else -> Locale.forLanguageTag(languageTag) } + val compatibleLanguageTagMap by lazy { + listOf( + "zh" to ZH_HANS, + "zh-CN" to ZH_HANS, + ) + } + fun getLocalCompatibleLanguageTag(): String { if (!languageTag.isBlank()) { return languageTag } - val availableTags = values().map { it.languageTag } val systemTag = LocaleUtils.getSystemLocale().toLanguageTag() + val availableTags = values().map { it.languageTag } - return when { - systemTag in availableTags -> systemTag - systemTag.contains("-") -> { - val primaryLanguage = systemTag.substringBefore("-") - if (primaryLanguage in availableTags) primaryLanguage - else EN.languageTag - } - else -> EN.languageTag + if (systemTag in availableTags) { + return systemTag } + for (pair in compatibleLanguageTagMap) { + if (systemTag == pair.first) { + return pair.second.languageTag + } + } + if (systemTag.contains("-")) { + val primaryLanguage = systemTag.substringBefore("-") + if (primaryLanguage in availableTags) { + return primaryLanguage + } + } + return availableTags + .filter { it.contains("-") } + .firstOrNull { it.substringBefore("-") == systemTag } + ?: EN.languageTag } + fun getEntryName(context: Context) = context.getString(entryNameRes) fun getKey() = key(keyRes) diff --git a/app/src/main/java/org/autojs/autojs/network/UpdateChecker.java b/app/src/main/java/org/autojs/autojs/network/UpdateChecker.java index 31aab773..5e9db82f 100644 --- a/app/src/main/java/org/autojs/autojs/network/UpdateChecker.java +++ b/app/src/main/java/org/autojs/autojs/network/UpdateChecker.java @@ -14,8 +14,6 @@ import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; import com.afollestad.materialdialogs.internal.MDButton; import com.google.android.material.snackbar.BaseTransientBottomBar; -import com.google.gson.GsonBuilder; -import com.google.gson.Strictness; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.functions.Consumer; @@ -50,7 +48,6 @@ import org.kohsuke.github.MarkdownMode; import org.kohsuke.github.PagedIterable; import retrofit2.Retrofit; import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; -import retrofit2.converter.gson.GsonConverterFactory; import java.io.BufferedReader; import java.io.File; @@ -303,7 +300,6 @@ public class UpdateChecker { private StreamingUrlApi getStreamingApi(String baseUrl) { return new Retrofit.Builder() .baseUrl(baseUrl) - .addConverterFactory(GsonConverterFactory.create(new GsonBuilder().setStrictness(Strictness.LENIENT).create())) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .build() .create(StreamingUrlApi.class); @@ -444,7 +440,7 @@ public class UpdateChecker { String markdown = parseLatestReleaseNotesFromMarkdown(content, releaseTag); if (markdown != null && !markdown.isBlank()) { String assembledMarkdown = assembleRawDependenciesForSingleVersion(markdown, versionInfo.getVersionName(), urlRaw); - String assembledHtml = TextUtils.renderMarkdown(assembledMarkdown); + String assembledHtml = TextUtils.markdownToHtml(assembledMarkdown); return Observable.just(Html.fromHtml(assembledHtml, Html.FROM_HTML_MODE_COMPACT)); } } catch (Exception e) { diff --git a/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt b/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt index 901ff581..18d2ed3b 100644 --- a/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt @@ -34,12 +34,11 @@ abstract class BaseDisplayContentActivity : BaseActivity() { override val handleStatusBarThemeColorAutomatically = false - abstract var internalMenuResource: Int - abstract var highlightGrammarLocator: GrammarLocator abstract var highlightGrammarName: String abstract var highlightThemeLanguage: String + open var internalMenuResource: Int = 0 open var themeColorDayNight = R.color.md_blue_gray_50 to R.color.md_blue_gray_900 private lateinit var internalTextView: TextView @@ -65,9 +64,13 @@ abstract class BaseDisplayContentActivity : BaseActivity() { } internalTextView = binding.textView + internalFabView = binding.fab.apply { - setOnClickListener { view -> showPopupMenu(view, internalTextView) } - ViewUtils.excludeFloatingActionButtonFromNavigationBar(this) + if (internalMenuResource > 0) { + setOnClickListener { view -> showPopupMenu(view, internalTextView) } + ViewUtils.excludeFloatingActionButtonFromNavigationBar(this) + visibility = View.VISIBLE + } } val scaleGestureDetector = ScaleGestureDetector(this, ScaleListener(internalTextView)) @@ -221,10 +224,6 @@ abstract class BaseDisplayContentActivity : BaseActivity() { } private fun showPopupMenu(view: View, textView: TextView) { - if (internalMenuResource == 0) { - ViewUtils.showToast(view.context, "Menu resource is not set a valid resource id", true) - return - } val popupMenu = android.widget.PopupMenu(this, view).also { it.inflate(internalMenuResource) } diff --git a/app/src/main/java/org/autojs/autojs/ui/settings/AboutActivity.kt b/app/src/main/java/org/autojs/autojs/ui/settings/AboutActivity.kt index 7e24b9fd..6e0e3831 100644 --- a/app/src/main/java/org/autojs/autojs/ui/settings/AboutActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/settings/AboutActivity.kt @@ -62,6 +62,7 @@ open class AboutActivity : BaseActivity() { functionsButtonsBinding.aboutFunctionsButtonLicenses.setOnClickListener { showLicensesDialog() } functionsButtonsBinding.aboutFunctionsButtonUpdate.setOnClickListener { checkForUpdates() } + functionsButtonsBinding.aboutFunctionsButtonVersionHistories.setOnClickListener { showVersionHistories() } functionsButtonsBinding.aboutFunctionsButtonFeedback.setOnClickListener { startFeedbackActivity() } } @@ -162,6 +163,10 @@ open class AboutActivity : BaseActivity() { .build().checkNow() } + private fun showVersionHistories() { + DisplayVersionHistoriesActivity.launch(this) + } + private fun startFeedbackActivity() { val key = "${AboutActivity::class.simpleName}.start_feedback_activity" NotAskAgainDialog.Builder(this, key) diff --git a/app/src/main/java/org/autojs/autojs/ui/settings/DisplayVersionHistoriesActivity.kt b/app/src/main/java/org/autojs/autojs/ui/settings/DisplayVersionHistoriesActivity.kt new file mode 100644 index 00000000..73ebb4c4 --- /dev/null +++ b/app/src/main/java/org/autojs/autojs/ui/settings/DisplayVersionHistoriesActivity.kt @@ -0,0 +1,127 @@ +package org.autojs.autojs.ui.settings + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import android.view.Menu +import android.view.MenuItem +import androidx.core.view.isVisible +import androidx.lifecycle.lifecycleScope +import androidx.recyclerview.widget.DefaultItemAnimator +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import io.noties.markwon.Markwon +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.collectLatest +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import org.autojs.autojs.core.pref.Language +import org.autojs.autojs.core.pref.Language.Companion.getPrefLanguageOrNull +import org.autojs.autojs.theme.widget.ThemeColorToolbar +import org.autojs.autojs.ui.BaseActivity +import org.autojs.autojs.util.ViewUtils +import org.autojs.autojs.util.ViewUtils.setMenuIconsColorByThemeColorLuminance +import org.autojs.autojs.util.ViewUtils.setNavigationIconColorByThemeColorLuminance +import org.autojs.autojs6.R +import org.autojs.autojs6.databinding.ActivityDisplayVersionHistoriesBinding + +class DisplayVersionHistoriesActivity : BaseActivity() { + + private val repo by lazy { VersionHistoryRepository() } + + private lateinit var binding: ActivityDisplayVersionHistoriesBinding + + private lateinit var mAdapter: VersionHistoryAdapter + private lateinit var mToolbar: ThemeColorToolbar + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + val binding = ActivityDisplayVersionHistoriesBinding.inflate(layoutInflater).also { + binding = it + mToolbar = binding.toolbar + setContentView(it.root) + } + + val adapter = VersionHistoryAdapter(this, Markwon.create(this)).also { + mAdapter = it + } + + binding.recycler.also { + it.layoutManager = LinearLayoutManager(this) + it.adapter = adapter + it.itemAnimator = NoFadeItemAnimator().apply { + addDuration = 200 + supportsChangeAnimations = false + } + ViewUtils.excludePaddingClippableViewFromNavigationBar(it) + } + + lifecycleScope.launch { + val language = getPrefLanguageOrNull() ?: Language.EN + val languageTag = language.getLocalCompatibleLanguageTag() + val urlSuffix = "app/src/main/assets-app/doc/CHANGELOG-$languageTag.md" + val urlRaw = "https://raw.githubusercontent.com/SuperMonster003/AutoJs6/master/$urlSuffix" + val urlBlob = "https://github.com/SuperMonster003/AutoJs6/blob/master/$urlSuffix" + repo.loadVersionHistoriesFlow( + activity = this@DisplayVersionHistoriesActivity, + urlRaw = urlRaw, + urlBlob = urlBlob + ).collectLatest { item -> + mAdapter.add(item) + hideLoadingTextContainerIfNeeded() + } + } + + setToolbarAsBack(R.string.text_version_histories) + } + + private suspend fun hideLoadingTextContainerIfNeeded() { + if (!binding.loadingContainer.isVisible) return + withContext(Dispatchers.Main) { + binding.loadingContainer.isVisible = false + } + } + + override fun onCreateOptionsMenu(menu: Menu): Boolean { + menuInflater.inflate(R.menu.menu_display_version_histories, menu) + setUpToolbarColors() + return super.onCreateOptionsMenu(menu) + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + when (item.itemId) { + R.id.action_expand_all -> mAdapter.expandAll() + R.id.action_collapse_all -> mAdapter.collapseAll() + } + return super.onOptionsItemSelected(item) + } + + private fun setUpToolbarColors() { + mToolbar.setMenuIconsColorByThemeColorLuminance(this) + mToolbar.setNavigationIconColorByThemeColorLuminance(this) + } + + companion object { + + @JvmStatic + fun launch(context: Context) { + Intent(context, DisplayVersionHistoriesActivity::class.java).apply { + addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + }.let { context.startActivity(it) } + } + + class NoFadeItemAnimator : DefaultItemAnimator() { + override fun animateAdd(holder: RecyclerView.ViewHolder): Boolean { + // 透明度始终为 1 + holder.itemView.alpha = 1f + // 立即回调, 结束动画 + dispatchAddFinished(holder) + // 无需后续动画 + return false + } + } + + } + +} \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoriesPreference.kt b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoriesPreference.kt new file mode 100644 index 00000000..09dbb8d5 --- /dev/null +++ b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoriesPreference.kt @@ -0,0 +1,22 @@ +package org.autojs.autojs.ui.settings + +import android.content.Context +import android.util.AttributeSet +import org.autojs.autojs.theme.preference.MaterialPreference + +/** + * Created by SuperMonster003 on May 1, 2025. + */ +class VersionHistoriesPreference : MaterialPreference { + + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) + + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) + + constructor(context: Context) : super(context) + + override fun onClick() = DisplayVersionHistoriesActivity.launch(context) + +} \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryAdapter.kt b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryAdapter.kt new file mode 100644 index 00000000..0f8a9512 --- /dev/null +++ b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryAdapter.kt @@ -0,0 +1,112 @@ +package org.autojs.autojs.ui.settings + +import android.annotation.SuppressLint +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import io.noties.markwon.Markwon +import org.autojs.autojs.ui.settings.VersionHistoryAdapter.VersionHistoryViewHolder +import org.autojs.autojs6.R +import org.autojs.autojs6.databinding.ItemVersionHistoryBinding + +class VersionHistoryAdapter(private val context: Context, private val markwon: Markwon) : RecyclerView.Adapter() { + + private val data = mutableListOf() + + @SuppressLint("NotifyDataSetChanged") + fun submit(list: List) { + data.clear() + data += list + notifyDataSetChanged() + } + + fun add(item: VersionHistoryItem) { + data += item + notifyItemInserted(data.lastIndex) + } + + fun addAll(list: List) { + val start = data.size + data += list + notifyItemRangeInserted(start, list.size) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VersionHistoryViewHolder { + val binding = ItemVersionHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return VersionHistoryViewHolder(binding) + } + + override fun getItemCount() = data.size + + override fun onBindViewHolder(holder: VersionHistoryViewHolder, position: Int) { + holder.bind(context, data[position], animate = false) + } + + override fun onBindViewHolder(holder: VersionHistoryViewHolder, position: Int, payloads: MutableList) { + val animate = payloads.contains(PAYLOAD_EXPAND_STATE_CHANGED) + holder.bind(context, data[position], animate) + } + + fun expandAll() { + data.forEach { it.expanded = true } + notifyItemRangeChanged(0, itemCount, PAYLOAD_EXPAND_STATE_CHANGED) + } + + fun collapseAll() { + data.forEach { it.expanded = false } + notifyItemRangeChanged(0, itemCount, PAYLOAD_EXPAND_STATE_CHANGED) + } + + inner class VersionHistoryViewHolder(binding: ItemVersionHistoryBinding) : RecyclerView.ViewHolder(binding.root) { + + private val chevron = binding.chevron + private val tvTitle = binding.tvTitle + private val tvDate = binding.tvDate + private val tvBody = binding.tvBody + + private val tvFeature = binding.tvFeatureCount + private val tvFix = binding.tvFixCount + private val tvImprovement = binding.tvImprovementCount + + fun bind(context: Context, item: VersionHistoryItem, animate: Boolean) { + val rotationAngle = if (item.expanded) 180f else 0f + chevron.animate().cancel() + when (animate) { + true -> chevron.animate().rotation(rotationAngle).setDuration(200).start() + else -> chevron.rotation = rotationAngle + } + + item.lines.count { it.contains("`${context.getString(R.string.changelog_label_feature)}`") }.let { + tvFeature.text = "$it" + } + item.lines.count { it.contains("`${context.getString(R.string.changelog_label_fix)}`") }.let { + tvFix.text = "$it" + } + item.lines.count { it.contains("`${context.getString(R.string.changelog_label_improvement)}`") }.let { + tvImprovement.text = "$it" + } + + tvTitle.text = item.version + tvDate.text = item.date + tvBody.run { + markwon.setMarkdown(this, item.lines.joinToString("\n")) + visibility = if (item.expanded) View.VISIBLE else View.GONE + } + + itemView.setOnClickListener { + item.expanded = !item.expanded + notifyItemChanged(absoluteAdapterPosition, PAYLOAD_EXPAND_STATE_CHANGED) + } + } + + } + + companion object { + + private const val PAYLOAD_EXPAND_STATE_CHANGED = 1 + + } + +} \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryItem.kt b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryItem.kt new file mode 100644 index 00000000..97035d7c --- /dev/null +++ b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryItem.kt @@ -0,0 +1,8 @@ +package org.autojs.autojs.ui.settings + +data class VersionHistoryItem( + val version: String, + val date: String, + val lines: List, + var expanded: Boolean = false, +) \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryRepository.kt b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryRepository.kt new file mode 100644 index 00000000..5718a09e --- /dev/null +++ b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryRepository.kt @@ -0,0 +1,142 @@ +package org.autojs.autojs.ui.settings + +import android.widget.TextView +import com.afollestad.materialdialogs.MaterialDialog +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.channelFlow +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import okhttp3.ResponseBody +import okio.BufferedSource +import org.autojs.autojs.util.TextUtils +import org.autojs.autojs6.R +import org.jsoup.Jsoup + +class VersionHistoryRepository { + + private val mOkHttpClient by lazy { OkHttpClient() } + + fun loadVersionHistoriesFlow(activity: DisplayVersionHistoriesActivity, urlRaw: String, urlBlob: String): Flow = channelFlow { + var tRaw: Throwable? = null + var tBlob: Throwable? = null + + val loadingTextView: TextView? = activity.findViewById(R.id.loading_text) + val loadingSecondTextView: TextView? = activity.findViewById(R.id.loading_second_text) + + runCatching { + loadingTextView?.visibility = TextView.VISIBLE + return@channelFlow fetchStreamFlow(urlRaw).collect { send(it) } + }.onFailure { eRaw -> + tRaw = eRaw.apply { printStackTrace() } + } + + runCatching { + loadingSecondTextView?.visibility = TextView.VISIBLE + return@channelFlow fetchStreamString(urlBlob).let { html -> + parseHtmlFlow(html).collect { send(it) } + } + }.onFailure { eBlob -> + tBlob = eBlob.apply { printStackTrace() } + } + + loadingTextView?.visibility = TextView.GONE + loadingSecondTextView?.visibility = TextView.GONE + + showErrorDialog(activity, tRaw, tBlob) + } + + private fun parseHtmlFlow(html: String) = channelFlow { + val doc = Jsoup.parse(html) + doc.select("div.markdown-heading:has(> h1.heading-element:first-child)").forEach { h1Container -> + val h1 = h1Container.selectFirst("> h1.heading-element:first-child") ?: return@forEach + val version = h1.text() + val date = h1Container.nextElementSibling()?.selectFirst("> h6.heading-element:first-child")?.text() ?: "" + val ul = h1Container.nextElementSibling()?.nextElementSibling() + + if (ul != null && ul.tagName() == "ul") { + val lines = ul.select("> li").map { li -> + TextUtils.htmlToMarkdown(li.outerHtml()).trim() + } + send(VersionHistoryItem(version, date, lines)) + } + } + } + + private suspend fun fetchStreamString(url: String): String { + return withContext(Dispatchers.IO) { + mOkHttpClient.newCall(Request.Builder().url(url).build()).execute().use { response -> + ensureSuccessfulResponse(response, url).string() + } + } + } + + private fun fetchStreamFlow(url: String): Flow = channelFlow { + launch(Dispatchers.IO) { + mOkHttpClient.newCall(Request.Builder().url(url).build()).execute().use { response -> + val src: BufferedSource = ensureSuccessfulResponse(response, url).source() + val regexVersion = Regex("""^#\s+v[\d.]+\S*""") + + var curTitle = "" + var curDate = "" + val bodyLines = mutableListOf() + + fun flush() { + if (curTitle.isBlank()) return + trySend(VersionHistoryItem(curTitle, curDate, bodyLines.toList())) + bodyLines.clear() + } + + @Suppress("AssignedValueIsNeverRead") + while (true) { + val line = src.readUtf8Line() ?: break + when { + regexVersion.matches(line.trim()) -> { + flush() + curTitle = line.trim().removePrefix("#").trim() + } + line.trim().startsWith("######") -> { + curDate = line.trim().removePrefix("######").trim() + } + line.trim().startsWith("*") && !line.trim().matches(Regex("\\*+")) -> { + bodyLines += line.trim() + } + } + } + flush() + } + close() + } + } + + private fun ensureSuccessfulResponse(response: Response, url: String): ResponseBody { + require(response.isSuccessful && response.body != null) { + buildString { + append("URL: $url\nCode: ${response.code}") + val content = response.body?.string() + if (!content.isNullOrBlank() && content.length <= 200) { + append("\nBody: $content") + } + } + } + return response.body!! + } + + private fun showErrorDialog(activity: DisplayVersionHistoriesActivity, tRaw: Throwable?, tBlob: Throwable?) { + val message: String? = buildString { + if (tRaw != null) append("Error message of raw:\n\n${tRaw.message}\n\n") + if (tBlob != null) append("Error message of blob:\n\n${tBlob.message}\n\n") + }.takeIf(String::isNotBlank)?.trim() + + MaterialDialog.Builder(activity) + .title(R.string.error_failed_to_retrieve_version_histories) + .apply { message?.let(::content) } + .positiveText(R.string.dialog_button_dismiss) + .dismissListener { activity.finish() } + .show() + } + +} \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/ui/widget/CommonMarkdownView.kt b/app/src/main/java/org/autojs/autojs/ui/widget/CommonMarkdownView.kt index 28ef49b2..c9f0a43f 100644 --- a/app/src/main/java/org/autojs/autojs/ui/widget/CommonMarkdownView.kt +++ b/app/src/main/java/org/autojs/autojs/ui/widget/CommonMarkdownView.kt @@ -10,7 +10,7 @@ import android.webkit.WebViewClient import android.widget.FrameLayout import com.afollestad.materialdialogs.MaterialDialog import org.autojs.autojs.runtime.api.Mime -import org.autojs.autojs.util.TextUtils.renderMarkdown +import org.autojs.autojs.util.TextUtils.markdownToHtml /** * Created by Stardust on Mar 5, 2017. @@ -59,7 +59,7 @@ class CommonMarkdownView : WebView { } fun loadMarkdown(markdown: String) { - mMarkdownHtml = renderMarkdown(markdown).also { loadHtml(it) } + mMarkdownHtml = markdownToHtml(markdown).also { loadHtml(it) } } fun setOnPageFinishedListener(onPageFinishedListener: OnPageFinishedListener?) { diff --git a/app/src/main/java/org/autojs/autojs/util/TextUtils.kt b/app/src/main/java/org/autojs/autojs/util/TextUtils.kt index 09355e25..f171556f 100644 --- a/app/src/main/java/org/autojs/autojs/util/TextUtils.kt +++ b/app/src/main/java/org/autojs/autojs/util/TextUtils.kt @@ -3,13 +3,14 @@ package org.autojs.autojs.util import android.text.SpannableString import android.text.SpannableStringBuilder import android.text.Spanned +import com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter import org.commonmark.ext.heading.anchor.HeadingAnchorExtension import org.commonmark.parser.Parser import org.commonmark.renderer.html.HtmlRenderer object TextUtils { - private val mParser by lazy { + private val mMarkdownParser by lazy { Parser.builder().build() } @@ -19,8 +20,15 @@ object TextUtils { .build() } + private val mHtmlParser by lazy { + FlexmarkHtmlConverter.builder().build() + } + @JvmStatic - fun renderMarkdown(markdown: String): String = mParser.parse(markdown).let { mHtmlRender.render(it) } + fun markdownToHtml(markdown: String): String = mMarkdownParser.parse(markdown).let { mHtmlRender.render(it) } + + @JvmStatic + fun htmlToMarkdown(html: String): String = mHtmlParser.convert(html) @JvmStatic @JvmOverloads diff --git a/app/src/main/res/drawable/ic_chevron_top_borderless.png b/app/src/main/res/drawable/ic_chevron_top_borderless.png new file mode 100644 index 00000000..62ca96f4 Binary files /dev/null and b/app/src/main/res/drawable/ic_chevron_top_borderless.png differ diff --git a/app/src/main/res/drawable/ic_collapse_all.png b/app/src/main/res/drawable/ic_collapse_all.png new file mode 100644 index 00000000..7c0c7276 Binary files /dev/null and b/app/src/main/res/drawable/ic_collapse_all.png differ diff --git a/app/src/main/res/drawable/ic_expand_all.png b/app/src/main/res/drawable/ic_expand_all.png new file mode 100644 index 00000000..681bb30f Binary files /dev/null and b/app/src/main/res/drawable/ic_expand_all.png differ diff --git a/app/src/main/res/layout/activity_display_scrollable_content.xml b/app/src/main/res/layout/activity_display_scrollable_content.xml index 69e2228d..3f6569fc 100644 --- a/app/src/main/res/layout/activity_display_scrollable_content.xml +++ b/app/src/main/res/layout/activity_display_scrollable_content.xml @@ -1,6 +1,7 @@ - @@ -37,10 +38,12 @@ android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" + android:layout_alignParentBottom="true" android:layout_margin="16dp" android:contentDescription="@string/content_description_fab_for_display_manifest" - android:src="@android:drawable/ic_menu_more" /> + android:src="@android:drawable/ic_menu_more" + android:visibility="gone" + tools:visibility="visible" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_display_version_histories.xml b/app/src/main/res/layout/activity_display_version_histories.xml new file mode 100644 index 00000000..f91af999 --- /dev/null +++ b/app/src/main/res/layout/activity_display_version_histories.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_version_history.xml b/app/src/main/res/layout/item_version_history.xml new file mode 100644 index 00000000..e2843e78 --- /dev/null +++ b/app/src/main/res/layout/item_version_history.xml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_display_version_histories.xml b/app/src/main/res/menu/menu_display_version_histories.xml new file mode 100644 index 00000000..beed770d --- /dev/null +++ b/app/src/main/res/menu/menu_display_version_histories.xml @@ -0,0 +1,18 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index b94aa26a..e0d6b48d 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -23,6 +23,11 @@ SDK المستهدف لا يمكن تنفيذ العمليات المحظورة في واجهة المستخدم. جرِّب الانتظار لتنفيذ `waitForActivity` في مؤثِّر فرعي أو نص برمجي فرعي، أو استخدم `setInterval` للتكرار والتحقق من النشاط لا يمكن تنفيذ العمليات المحظورة في واجهة المستخدم. جرِّب الانتظار لتنفيذ `waitForPackage` في مؤثِّر فرعي أو نص برمجي فرعي، أو استخدم `setInterval` للتكرار والتحقق من الحزمة + التبعيات + إضافة جديدة + تصليح + تلميح + تحسين مكتبة ألوان Android مكتبة ألوان CSS مكتبة الألوان الافتراضية @@ -53,6 +58,7 @@ زر عائم لعرض المحتوي الفعلي فشل في تحديد مؤشر عنصر لون الثيم فشل في تحديد موقع مكتبة الألوان للثيم + فشل في استرداد معلومات الإصدار للغة المعروضة حالياً، يُرجى المحاولة مرة أخرى لاحقاً.\n\nسيتم حالياً عرض معلومات الإصدار بلغة \"简体中文 (zh-Hans)\" مؤقتاً. سيتم إطلاق صفحة ويب للإبلاغ عن مشكلة.\nقد تكون هناك حاجة إلى حساب GitHub. اختر طريقة إخراج للنصوص المعاد تصميمها نسخ سجل الأخطاء أو الخروج مباشرة @@ -66,7 +72,7 @@ 1. اضغط مع الاستمرار على رمز التطبيق في صفحة \"حول التطبيق والمطور\" للانتقال إلى صفحة خيارات مطور AutoJs6 هذا التفضيل لتغيير لغة العرض لـ AutoJs6 ، بما في ذلك رسائل الاستثناء من تشغيل البرامج النصية.\n\nملاحظة: قد تكون هناك حاجة إلى إعادة تشغيل التطبيق لجعل اللغة تطبيقها كما هو متوقع. قم بتغيير مسار الدليل الذي يحتوي على البرامج النصية - يحصل AutoJs6 على التحديثات وتنزيلها من GitHub.\n\nملاحظة: لا يوفر التحديث دعمًا متعدد اللغات حتى الآن. + يحصل AutoJs6 على التحديثات وتنزيلها من GitHub. المستندات المحلية: باستخدام ملفات AutoJs6 المضمنة كمصادر توثيق ، لا يلزم الاتصال بالشبكة. يتغير المحتوى مع تحديث AutoJs6.\nالمستندات عبر الإنترنت: استخدام صفحات GitHub كمصادر توثيق تتطلب اتصالاً بالشبكة. المحتوى دائما محدث.\n\nملاحظة: لزيادة تجربة قراءة المستندات عبر الإنترنت إلى الحد الأقصى ، يوصى باستخدام جهاز عرض بشاشة عريضة مثل شاشة سطح المكتب.\nملاحظة: اعتبارًا من الإصدار 6.2.0 ، لا تزال الوثائق في المراحل الأولية من التطوير ، ومعظم المحتوى لم تتم كتابته أو تحديثه بعد. يجب استيفاء الشروط التالية لدعم النسق الداكن على صفحات المستند:\n1. تم تمكين الوضع الليلي AutoJs6\n2.عرض ويب نظام Android (أو متصفحات مثل Google Chrome):\n- Android API المستوى 29 (Android 10) [Q] وما فوق: الإصدار> = 76\n- مستوى واجهة برمجة تطبيقات Android 28 (Android 9) [P] وما دون: الإصدار> = 105 يمكن أن يؤدي توسيع كائنات JavaScript المضمنة إلى زيادة مرونة التعليمات البرمجية وتمكين وظائف أكثر ثراءً ، ولكن يمكن أن يتسبب في حدوث تعارضات وحتى حدوث تعطل.\nتحتوي جميع البرامج النصية على امتدادات مضمنة يتم تمكينها افتراضيًا عند تشغيل الخيار.\nغالبًا ما تكون الامتدادات المضمنة غير آمنة ، ولا يوصى بها ما لم يتم فهم مبادئ ومخاطر الإضافات المضمنة بوضوح.\nعند إيقاف تشغيل الخيار ، لا يزال من الممكن تمكين الامتدادات المضمنة من خلال الكائن العام للمكونات الإضافية ، كما هو موضح في وثائق المشروع. @@ -81,6 +87,7 @@ النوع الثنائي: غير قابل للتحرير ، بامتداد الملف \"تلقائي\"\nنوع جافا سكريبت: يمكن تحريره أو نسخه مباشرة بامتداد الملف \"js\" يجعل الوضع المستقر أكثر استقرارًا عند الحصول على حدود تخطيط ، ولكن قد يتم تجاهل بعض النتائج.\nإعادة تشغيل خدمة الوصول المطلوبة. يتم تطبيق لون النسق على عناصر واجهة المستخدم بما في ذلك على سبيل المثال لا الحصر العناصر التالية:\nشريط الحالة\nAppbar\nرمز الملف\nرمز عنصر المهمة\nفاب\nعنوان فئة الإعدادات\nزر التغيير\n\nملاحظة: اعتبارًا من الإصدار 6.2.0 من AutoJs6 ، لم يكن هناك فرق بين اللون الأساسي واللون الأساسي الداكن ولون التمييز حتى الآن. + عرض سجل إصدارات AutoJs6 على GitHub وإحصاءات الفئات الرئيسية. @string/text_back يلغي يلغي @@ -181,6 +188,9 @@ فشل في استدعاء الطريقة %1$s فشل في عرض المحتوى + فشل في استرداد معلومات الإصدار + تعذّر جلب سجل الإصدارات + تعذّر جلب ملف version.properties لتحليل معلومات الإصدار فشل في إلغاء وصول Shizuku فشل في تشغيل البرنامج النصي الملف في المسار \"%1$s\" غير موجود @@ -233,6 +243,7 @@ رمز القولون المتكرر تكرار رمز النقطة الخاصية المطلوبة \"%1$s\" خالية أو غير موجودة + المسار المُحلّ لـ \"%1$s\" لا يمكن أن يكون null السيناريو عند الخروج يجب أن تسمى طريقة المحدد بدلاً من تمريرها كمعلمة: %s لا يمكن استخدام بوصلة عندما يكون نوع النتيجة محددًا @@ -308,6 +319,7 @@ أضف اختصارات إلى المشغل ابدأ أو توقف عن التسجيل الذي يتم التحكم فيه بواسطة مفتاح خفض مستوى الصوت عند عرض الزر العائم اضغط على مفتاح \"رفع الصوت\" لإيقاف تشغيل جميع البرامج النصية + عرض سجل إصدارات النُّسَخ والبيانات الإحصائية خدمة إمكانية الوصول مطلوب من خلال العملية التلقائية البرنامج النصي (انقر فوق ، اضغط لفترة طويلة ، شريحة ، إلخ). تم تمكين خدمة إمكانية الوصول ولكن لا تعمل (إعادة تمكين أو إعادة تشغيل الجهاز) @@ -320,6 +332,7 @@ استجابة التراخيص تحديث + @string/text_version_histories وقد تم منح الوصول صوت نقر) انقر طويل (Longclick) @@ -410,7 +423,10 @@ النظام نوع غير معروف تغيير دليل العمل + تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية تحقق من وجود تحديثات + التحقق من وجود تحديثات (تجاهل النسخة المحلية) + الحصول مباشرة على آخر نسخة عن بُعد عند التحقق من التحديثات البحث عن تحديثات... المدينة أو المنطقة اسم الفئة / الحزمة @@ -427,6 +443,7 @@ إغلاق الزر العائم شفرة رمز تجميل + طيّ الكل مكتبة الألوان لوحة الألوان تم نسخ الأمر إلى الحافظة @@ -525,6 +542,7 @@ [%s] انتهى في %s.\n مخرج مخرج + توسيع الكل يصدّر تصدير تمديد كائنات JavaScript المدمجة @@ -634,6 +652,7 @@ اختصارات المشغل فحص التصميم ... تراخيص المصادر المفتوحة + جارٍ تجربة حل بديل... جار التحميل... تحديد لون الثيم الحالي سجل @@ -980,6 +999,7 @@ إصدار رمز الإصدار رمز الإصدار (جارٍ الحساب...) + سجل الإصدارات معلومات الإصدار اسم الإصدار اسم الإصدار (جارٍ الحساب...) @@ -992,18 +1012,5 @@ اكتب إعدادات الأمان إعدادات النظام الآمنة ، التي تحتوي على تفضيلات النظام التي يمكن أن تقرأها التطبيقات ولكن لا يُسمح لها بالكتابة.\nهذه هي لتفضيلات يجب على المستخدم تعديلها بشكل صريح من خلال واجهة المستخدم لتطبيق النظام.\nمع إذن إعدادات النظام الآمن ، يمكن للتطبيقات العادية تعديل الإعدادات الآمنة مباشرة (مثل خدمة إمكانية الوصول). كتابة إعدادات النظام - المسار المُحلّ لـ \"%1$s\" لا يمكن أن يكون null - التحقق من وجود تحديثات (تجاهل النسخة المحلية) - الحصول مباشرة على آخر نسخة عن بُعد عند التحقق من التحديثات - فشل في استرداد معلومات الإصدار - فشل في استرداد معلومات الإصدار للغة المعروضة حالياً، يُرجى المحاولة مرة أخرى لاحقاً.\n\nسيتم حالياً عرض معلومات الإصدار بلغة \"简体中文 (zh-Hans)\" مؤقتاً. - تلميح - إضافة جديدة - تصليح - تحسين - التبعيات - تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 754b12d4..5346701e 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -18,6 +18,11 @@ Target SDK Blocking operations cannot be performed on the UI thread. Try executing waitForActivity in a sub-thread or sub-script, or use setInterval to loop and check the activity Blocking operations cannot be performed on the UI thread. Try executing waitForPackage in a sub-thread or sub-script, or use setInterval to loop and check the package + Dependency + Feature + Fix + Hint + Improvement Android color library CSS color library Default color library @@ -48,6 +53,7 @@ A Floating Action Button widget for displaying the manifest Failed to determine the index of the theme color item Failed to locate the color library for the theme color + Failed to retrieve the release notes for the currently displayed language. Please try again later.\n\nCurrently, the release notes for \"简体中文 (zh-Hans)\" are temporarily displayed. A web page will be launched to report an issue.\nAn account for GitHub may be needed. Select a way of output for recorded script Copy debugging log or exit directly @@ -61,7 +67,7 @@ 1. Press and hold the app icon on the \"About app and developer\" page to jump to AutoJs6 developer options page Preference for changing the display language of AutoJs6, including exception messages from running scripts.\n\nNote: an app restart may be needed to make language applied as expected. Change the path of the directory containing scripts - AutoJs6 gets and downloads updates from GitHub.\n\nNote: The update does not provide multilingual support yet. + AutoJs6 gets and downloads updates from GitHub. Local docs: Using AutoJs6 build-in files as documentation sources, no network connection required. The content changes as AutoJs6 is updated.\nOnline docs: Using GitHub pages as documentation sources, requiring network connection. The content is always up to date.\n\nNote: To maximize the reading experience of online documents, it is recommended to use a widescreen display device such as a desktop monitor.\nNote: As of version 6.2.0, the documentation is still in the preliminary stages of development, and most of the content has not yet been written or updated. The following conditions must be met for dark theme support on document pages:\n1. AutoJs6 has night mode enabled\n2. Android System WebView (or browsers like Google Chrome):\n- Android API Level 29 (Android 10) [Q] and above: version >= 76\n- Android API Level 28 (Android 9) [P] and below: version >= 105 Extending JavaScript built-in objects can increase code flexibility and enable richer functionality, but can cause conflicts and even breakage.\nAll scripts have built-in extensions enabled by default when the option is turned on.\nBuilt-in extensions are often insecure, and are not recommended unless the principles and risks of built-in extensions are clearly understood.\nWhen the option is turned off, built-in extensions can still be enabled through the plugins global object, as described in the project documentation. @@ -76,6 +82,7 @@ Binary type: non-editable, with the file extension \"auto\"\nJavaScript type: can be edited or copied directly, with the file extension \"js\" Stable mode makes it more stable when getting layout bounds, but some results may be ignored.\nA11y service\'s restart required. Theme color is applied to widgets including but not limited to the following ones:\nStatus bar\nAppbar\nFile icon\nTask item icon\nFab\nSettings category title\nSwitch button\n\nNote: As of AutoJs6 version 6.2.0, there has been no difference between primary color, primary dark color and accent color yet. + View the release version history and key category statistics of AutoJs6 on GitHub. @string/text_back Cancel Cancel @@ -176,6 +183,9 @@ Failed to invoke method %1$s Failed to render content + Failed to retrieve release notes + Failed to retrieve version histories + Failed to retrieve version.properties to parse version information Failed to revoke Shizuku access Failed to run script File in path \"%1$s\" does not exist @@ -228,6 +238,7 @@ Repeated colon symbol Repeated dot symbol Required property \"%1$s\" is nullish or does not exist + Resolved path for \"%1$s\" cannot be null Script is on exiting Selector method should be called rather than passed as a parameter: %s Cannot use a compass when result type is selector @@ -303,6 +314,7 @@ Add shortcuts to launcher Start or stop recording controlled by “Volume Down” key when floating button is showing Press \"Volume Up\" key to stop all running scripts + View release version history and statistics Accessibility service Required by the script automatic operation (click, long press, slide, etc.). Accessibility service enabled but not running (Re-enable or reboot the device) @@ -315,6 +327,7 @@ Feedback Licenses Update + @string/text_version_histories Access has been granted Click (click) Long click (longClick) @@ -405,7 +418,10 @@ System Unknown type Change working directory + Some dependency or local library version adjustments Check for updates + Check for updates (ignore the local version) + Fetch the latest remote version directly when checking for updates Checking for updates... City or Locality Class / Package name @@ -422,6 +438,7 @@ Close floating button Code Beautify code + Collapse all Color library Color palette Command copied to clipboard @@ -520,6 +537,7 @@ [%s] finished in %s seconds.\n Exit Exit + Expand all Export Exported Extending JavaScript build-in objects @@ -629,6 +647,7 @@ Launcher shortcuts Inspecting layout... Open Sources Licenses + Trying a fallback solution... Loading... Locate current theme color Log @@ -975,6 +994,7 @@ Version Version code Version code (computing...) + Version histories Version info Version name Version name (computing...) @@ -987,18 +1007,5 @@ Write security settings Secure system settings, containing system preferences that applications can read but are not allowed to write.\nThese are for preferences that the user must explicitly modify through the UI of a system app.\nWith secure system settings permission, normal applications can directly modify the secure settings (such as accessibility service). Write system settings - Resolved path for \"%1$s\" cannot be null - Check for updates (ignore the local version) - Fetch the latest remote version directly when checking for updates - Failed to retrieve release notes - Failed to retrieve the release notes for the currently displayed language. Please try again later.\n\nCurrently, the release notes for \"简体中文 (zh-Hans)\" are temporarily displayed. - Hint - Feature - Fix - Improvement - Dependency - Some dependency or local library version adjustments - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 5f499493..3e8fe2fd 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -21,6 +21,11 @@ SDK objetivo No se pueden realizar operaciones bloqueantes en el hilo de UI. Intente ejecutar `waitForActivity` en un subproceso o subscript, o use `setInterval` para repetir y comprobar la actividad No se pueden realizar operaciones bloqueantes en el hilo de UI. Intente ejecutar `waitForPackage` en un subproceso o subscript, o use `setInterval` para repetir y comprobar el paquete + Dependencia + Nuevo + Corrección + Sugerencia + Mejora Biblioteca de colores de Android Biblioteca de colores CSS Biblioteca de colores predeterminada @@ -51,6 +56,7 @@ Un botón de acción flotante para mostrar el manifiesto No se pudo determinar el índice del elemento de color del tema No se pudo localizar la biblioteca de colores para el color del tema + No se pudo obtener la información de la versión correspondiente al idioma actual, puede intentarlo más tarde.\n\nActualmente se mostrará temporalmente la información de la versión en \"简体中文 (zh-Hans)\". Se lanzará una página web para informar de un problema.\nPuede ser necesaria una cuenta de GitHub. Seleccione una forma de salida para el script recortado Copiar el registro de depuración o salir directamente @@ -64,7 +70,7 @@ 1. Mantenga pulsado el icono de la aplicación en la página \"Acerca de la aplicación y el desarrollador\" para saltar a la página de opciones de desarrollo de AutoJs6 Esta preferencia para cambiar el idioma de visualización de AutoJs6, incluyendo los mensajes de excepción de los scripts en ejecución.\n\nNota: puede ser necesario reiniciar la aplicación para que el idioma se aplique como se espera. Cambiar la ruta del directorio que contiene los scripts - AutoJs6 obtiene y descarga las actualizaciones de GitHub.\n\nNota: La actualización aún no ofrece soporte multilingüe. + AutoJs6 obtiene y descarga las actualizaciones de GitHub. Documentos locales: Utiliza los archivos incorporados de AutoJs6 como fuentes de documentación, sin necesidad de conexión a la red. El contenido cambia a medida que se actualiza AutoJs6.\nDocumentación en línea: Utilizando las páginas de GitHub como fuentes de documentación, se requiere conexión a la red. El contenido está siempre actualizado.\n\nNota: Para maximizar la experiencia de lectura de los documentos en línea, se recomienda utilizar un dispositivo de pantalla ancha, como un monitor de escritorio.\nNota: A partir de la versión 6.2.0, la documentación se encuentra todavía en las fases preliminares de desarrollo, y la mayor parte del contenido aún no ha sido escrito o actualizado. Para que el tema oscuro sea compatible con las páginas de los documentos, deben cumplirse las siguientes condiciones\n1. AutoJs6 tiene activado el modo nocturno\n2. Sistema Android WebView (o navegadores como Google Chrome):\n- Android API Level 29 (Android 10) [Q] y superior: versión >= 76\n- Android API Level 28 (Android 9) [P] e inferiores: versión >= 105 La ampliación de los objetos incorporados de JavaScript puede aumentar la flexibilidad del código y permitir una funcionalidad más rica, pero puede causar conflictos e incluso roturas.\nTodos los scripts tienen las extensiones incorporadas habilitadas por defecto cuando la opción está activada.\nLas extensiones incorporadas suelen ser inseguras y no se recomiendan a menos que se comprendan claramente los principios y riesgos de las extensiones incorporadas.\nCuando la opción está desactivada, las extensiones incorporadas aún pueden ser habilitadas a través del objeto global plugins, como se describe en la documentación del proyecto. @@ -79,6 +85,7 @@ Tipo binario: no editable, con la extensión de archivo \"auto\"\nTipo JavaScript: se puede editar o copiar directamente, con la extensión de archivo \"js\" El modo estable hace que sea más estable al obtener los límites de diseño, pero algunos resultados pueden ser ignorados.\nEs necesario reiniciar el servicio de accesibilidad. El color del tema se aplica a los widgets, incluidos, entre otros, los siguientes\nBarra de estado\nBarra de aplicaciones\nIcono de archivo\nIcono de elemento de tarea\nFab\nTítulo de la categoría de ajustes\nBotón de cambio\n\nNota: A partir de la versión 6.2.0 de AutoJs6, todavía no hay diferencia entre el color primario, el color primario oscuro y el color de acento. + Ver el historial de versiones publicadas de AutoJs6 en GitHub y las estadísticas de las categorías importantes. @string/text_back Cancelar Cancelar @@ -179,6 +186,9 @@ Error al invocar el método %1$s Error al renderizar el contenido + No se pudo obtener la información de la versión + No se pudo obtener el historial de versiones + No se pudo obtener version.properties para analizar la información de la versión Fallo en la revocación de permisos Shizuku Error al ejecutar el script El archivo en la ruta \"%1$s\" no existe @@ -231,6 +241,7 @@ Símbolo de dos puntos repetido Símbolo de punto repetido La propiedad requerida \"%1$s\" es nula o no existe + La ruta resuelta para \"%1$s\" no puede ser nula El script está al salir Se debería llamar al método selector en lugar de pasarlo como parámetro: %s No se puede usar una brújula cuando el tipo de resultado es selector @@ -306,6 +317,7 @@ Añadir accesos directos al lanzador Iniciar o detener la grabación controlada por la tecla de bajar el volumen cuando se muestra el botón flotante Pulse la tecla \"Subir volumen\" para detener todos los scripts en ejecución + Ver el historial de versiones publicadas y las estadísticas Servicio de accesibilidad Requerido por el funcionamiento automático del script (clic, pulsación larga, deslizamiento, etc.). El servicio de accesibilidad está habilitado pero no se está ejecutando (vuelva a habilitarlo o reinicie el dispositivo) @@ -318,6 +330,7 @@ Comentarios Licencias Actualizar + @string/text_version_histories Se ha concedido el acceso Clic (click) Clic largo (longClick) @@ -408,7 +421,10 @@ Sistema Tipo desconocido Cambiar el directorio de trabajo + Ajustes en algunas dependencias o versiones de bibliotecas locales Comprobar si hay actualizaciones + Buscar actualizaciones (ignorar la versión local) + Obtener directamente la última versión remota al buscar actualizaciones Comprobando las actualizaciones... Ciudad o localidad Nombre de la clase/paquete @@ -425,6 +441,7 @@ Cerrar botón flotante Código Embellecer el código + Contraer todo Biblioteca de colores Paleta de colores Comando copiado en el portapapeles @@ -523,6 +540,7 @@ [%s] terminó en %s segundos.\n Salir Salir de + Expandir todo Exportar Exportado Extensión de los objetos incorporados de JavaScript @@ -632,6 +650,7 @@ Atajos del lanzador Inspeccionando el diseño... Licencias de fuentes abiertas + Intentando una solución alternativa... Cargando... Localizar color del tema actual Registrar @@ -978,6 +997,7 @@ Versión Código de la versión Código de la versión (Calculando...) + Historial de versiones Información de la versión Nombre de la versión Nombre de la versión (Calculando...) @@ -990,18 +1010,5 @@ Escribir la configuración de seguridad Ajustes de seguridad del sistema, que contienen preferencias del sistema que las aplicaciones pueden leer pero no pueden escribir.\nSe trata de preferencias que el usuario debe modificar explícitamente a través de la interfaz de usuario de una aplicación del sistema.\nCon el permiso de configuración segura del sistema, las aplicaciones normales pueden modificar directamente la configuración segura (como el servicio de accesibilidad). Escribir la configuración del sistema - La ruta resuelta para \"%1$s\" no puede ser nula - Buscar actualizaciones (ignorar la versión local) - Obtener directamente la última versión remota al buscar actualizaciones - No se pudo obtener la información de la versión - No se pudo obtener la información de la versión correspondiente al idioma actual, puede intentarlo más tarde.\n\nActualmente se mostrará temporalmente la información de la versión en \"简体中文 (zh-Hans)\". - Sugerencia - Nuevo - Corrección - Mejora - Dependencia - Ajustes en algunas dependencias o versiones de bibliotecas locales - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index b06a5da5..be89d646 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -21,6 +21,11 @@ SDK cible Les opérations bloquantes ne peuvent pas être effectuées sur le thread UI. Essayez d\'exécuter `waitForActivity` dans un sous-processus ou un sous-script, ou utilisez `setInterval` pour répéter et vérifier l\'activité Les opérations bloquantes ne peuvent pas être effectuées sur le thread UI. Essayez d\'exécuter `waitForPackage` dans un sous-processus ou un sous-script, ou utilisez `setInterval` pour répéter et vérifier le paquet + Dépendance + Fonctionnalité + Correction + Astuce + Amélioration Bibliothèque de couleurs Android Bibliothèque de couleurs CSS Bibliothèque de couleurs par défaut @@ -51,6 +56,7 @@ Un bouton d\'action flottant pour afficher le manifeste Impossible de déterminer l\'index de l\'élément de couleur du thème Impossible de localiser la bibliothèque de couleurs pour la couleur du thème + Échec de la récupération des informations de version correspondant à la langue actuellement affichée, veuillez réessayer ultérieurement.\n\nPour l\'instant, les informations de version en \"简体中文 (zh-Hans)\" seront affichées temporairement. Une page web sera lancée pour signaler un problème.\nUn compte pour GitHub peut être nécessaire. Sélectionnez un mode de sortie pour le script enregistré Copier le journal de débogage ou quitter directement. @@ -64,7 +70,7 @@ 1. Maintenez enfoncée l\'icône de l\'application sur la page \"À propos de l\'application et du développeur\" pour accéder à la page des options de développement d\'AutoJs6. Cette préférence permet de modifier la langue d\'affichage d\'AutoJs6, y compris les messages d\'exception des scripts en cours d\'exécution.\n\nNote : un redémarrage de l\'application peut être nécessaire pour que la langue s\'applique comme prévu. Changer le chemin du répertoire contenant les scripts. - AutoJs6 obtient et télécharge les mises à jour depuis GitHub.\n\nNote : La mise à jour ne fournit pas encore de support multilingue. + AutoJs6 obtient et télécharge les mises à jour depuis GitHub. Documentation locale : Utilisation des fichiers intégrés d\'AutoJs6 comme sources de documentation, aucune connexion réseau n\'est nécessaire. Le contenu change au fur et à mesure que AutoJs6 est mis à jour.\nDocumentation en ligne : Utilisation des pages GitHub comme sources de documentation, nécessitant une connexion réseau. Le contenu est toujours à jour.\n\nRemarque : pour optimiser l\'expérience de lecture des documents en ligne, il est recommandé d\'utiliser un dispositif d\'affichage grand écran tel qu\'un moniteur de bureau.\nRemarque : à partir de la version 6.2.0, la documentation est encore dans les phases préliminaires de développement, et la plupart du contenu n\'a pas encore été écrit ou mis à jour. Les conditions suivantes doivent être remplies pour la prise en charge du thème sombre sur les pages de la documentation :\n1. Le mode nuit d\'AutoJs6 est activé\n2. WebView du système Android (ou des navigateurs comme Google Chrome) :\n- Android API Level 29 (Android 10) [Q] et supérieur : version >= 76\n- Android API Niveau 28 (Android 9) [P] et inférieur : version >= 105 L\'extension des objets JavaScript intégrés peut augmenter la flexibilité du code et permettre des fonctionnalités plus riches, mais elle peut provoquer des conflits et même des pannes.\nTous les scripts ont des extensions intégrées activées par défaut lorsque l\'option est activée.\nLes extensions intégrées sont souvent peu sûres et ne sont pas recommandées, sauf si les principes et les risques des extensions intégrées sont clairement compris.\nLorsque l\'option est désactivée, les extensions intégrées peuvent toujours être activées via l\'objet global plugins, comme décrit dans la documentation du projet. @@ -79,6 +85,7 @@ Type binaire : non modifiable, avec l\'extension de fichier \"auto\".\nType JavaScript : peut être édité ou copié directement, avec l\'extension de fichier \"js\". Le mode stable le rend plus stable lors de l\'obtention des limites de mise en page, mais certains résultats peuvent être ignorés.\nA11y service\'s restart required. La couleur du thème est appliquée aux widgets, y compris, mais sans s\'y limiter, aux widgets suivants :\nBarre d\'état\nBarre d\'applications\nIcône de fichier\nIcône d\'élément de tâche\nFab\nTitre de la catégorie Paramètres\nBouton de commutation\n\nRemarque : Depuis la version 6.2.0 d\'AutoJs6, il n\'y a pas encore de différence entre la couleur primaire, la couleur primaire foncée et la couleur d\'accentuation. + Consulter l\'historique des versions publiées d\'AutoJs6 sur GitHub ainsi que les statistiques des principales catégories. @string/text_back Cancel Annulation @@ -179,6 +186,9 @@ Échec de l\'appel de la méthode %1$s Impossible d\'afficher le contenu + Échec de la récupération des informations de version + Impossible de récupérer l\'historique des versions + Impossible de récupérer version.properties pour analyser les informations de version La révocation des droits de Shizuku a échoué Échec de l\'exécution du script Le fichier dans le chemin \"%1$s\" n\'existe pas @@ -231,6 +241,7 @@ Symbole deux-points répété Symbole point répété La propriété requise \"%1$s\" est nulle ou n\'existe pas + Le chemin résolu pour \"%1$s\" ne peut pas être nul Le script est en train de sortir La méthode du sélecteur doit être appelée plutôt que passée en paramètre : %s. Cannot use a compass when result type is selector @@ -306,6 +317,7 @@ Ajouter des raccourcis au lanceur Démarrer ou arrêter l\'enregistrement contrôlé par la touche de réduction du volume lorsque le bouton flottant est affiché. Appuyez sur la touche \"Volume fort\" pour arrêter tous les scripts en cours d\'exécution. + Consulter l\'historique des versions publiées et les statistiques Service d\'accessibilité Requise par le fonctionnement automatique du script (clic, appui long, glissement, etc.). Service d\'accessibilité activé mais non exécuté (réactivation ou redémarrage du périphérique). @@ -318,6 +330,7 @@ Feedback Licences Mise à jour + @string/text_version_histories L\'accès a été accordé Clic (click) Long clic (longClick) @@ -408,7 +421,10 @@ Système Type inconnu Changer de répertoire de travail + Certaines dépendances ou versions de bibliothèques locales ont été ajustées Vérifier les mises à jour + Vérifier les mises à jour (ignorer la version locale) + Récupérer directement la dernière version distante lors de la vérification des mises à jour Recherche de mises à jour... Ville ou localité Nom de la classe ou du paquet @@ -425,6 +441,7 @@ Fermer le bouton flottant Code Beautifier le code + Tout réduire Bibliothèque de couleurs Palette de couleurs Commande copiée dans le presse-papiers @@ -523,6 +540,7 @@ [%s] finished in %s seconds.\n Sortir Exit + Tout développer Export Exporté Extension des objets intégrés de JavaScript @@ -632,6 +650,7 @@ Raccourcis du lanceur Inspecter la mise en page... Licences Open Sources + Tentative d\'une solution de secours... Chargement... Localiser la couleur du thème actuel Journal @@ -978,6 +997,7 @@ Version Code de version Code de version (en cours de calcul...) + Historique des versions Informations de la version Nom de la version Nom de la version (en cours de calcul...) @@ -990,18 +1010,5 @@ Écrire les paramètres de sécurité. Paramètres de sécurité du système, contenant les préférences du système que les applications peuvent lire mais ne sont pas autorisées à écrire.\nIl s\'agit des préférences que l\'utilisateur doit explicitement modifier par le biais de l\'interface utilisateur d\'une application système.\nAvec l\'autorisation de paramètres de sécurité du système, les applications normales peuvent directement modifier les paramètres de sécurité (comme le service d\'accessibilité). Écrire les paramètres système - Le chemin résolu pour \"%1$s\" ne peut pas être nul - Vérifier les mises à jour (ignorer la version locale) - Récupérer directement la dernière version distante lors de la vérification des mises à jour - Échec de la récupération des informations de version - Échec de la récupération des informations de version correspondant à la langue actuellement affichée, veuillez réessayer ultérieurement.\n\nPour l\'instant, les informations de version en \"简体中文 (zh-Hans)\" seront affichées temporairement. - Astuce - Fonctionnalité - Correction - Amélioration - Dépendance - Certaines dépendances ou versions de bibliothèques locales ont été ajustées - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 68fe9954..52e4ca68 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -22,6 +22,11 @@ ターゲット SDK UI スレッドでブロック操作は実行できません. `waitForActivity` をサブスレッドやサブスクリプトで実行するか, または `setInterval` を使用してチェックを繰り返してください UI スレッドでブロック操作は実行できません. `waitForPackage` をサブスレッドやサブスクリプトで実行するか, または `setInterval` を使用してチェックを繰り返してください + 依存関係 + 新機能 + 修正 + ヒント + 改善 Androidカラーパレット CSSカラーパレット デフォルトカラーパレット @@ -52,6 +57,7 @@ マニフェストを表示するためのフローティング操作ボタン部品 テーマカラーアイテムのインデックスを特定できません テーマカラーのカラーパレットが見つかりません + 現在表示中の言語に対応するバージョン情報の取得に失敗しました. しばらくしてから再度お試しください.\n\n現在, 一時的に \"简体中文 (zh-Hans)\" のバージョン情報を表示しています. 問題を報告するためのウェブページが起動します.\nGitHub のアカウントが必要な場合があります 回収したスクリプトの出力方法を選択する デバッグログをコピーするか, 直接終了する @@ -65,7 +71,7 @@ 1. アプリと開発者について」ページでアプリのアイコンを長押しすると, AutoJs6 の開発者向けオプションページにジャンプします この環境設定は, 実行中のスクリプトからの例外メッセージを含む, AutoJs6 の表示言語を変更するためのものです.\n\n注: 言語を期待通りに適用するには, アプリの再起動が必要な場合があります スクリプトを含むディレクトリのパスを変更する - AutoJs6 は, GitHub からアップデートを取得し, ダウンロードします.\n\n注: このアップデートでは, まだ多言語サポートは提供されていません + AutoJs6 は, GitHub からアップデートを取得し, ダウンロードします. ローカルドキュメント AutoJs6 に組み込まれたファイルをドキュメントソースとして使用するため, ネットワーク接続は必要ありません. AutoJs6 が更新されると内容も変わります.\nオンライン・ドキュメント. GitHub のページをドキュメントソースとして使用し, ネットワーク接続が必要です. コンテンツは常に最新の状態に保たれます.\n\n注: オンラインドキュメントを最大限に活用するために, デスクトップモニターなどのワイドスクリーンディスプレイを使用することをお勧めします.\n注意: バージョン 6.2.0 時点では, ドキュメントはまだ開発の初期段階にあり, ほとんどのコンテンツはまだ執筆・更新されていません ドキュメントページでダークテーマをサポートするには, 以下の条件を満たす必要があります.\n1. AutoJs6 でナイトモードが有効になっている\n2. Android System WebView (または Google Chrome などのブラウザ) .\n- Android API Level 29 (Android 10) [Q] 以上: バージョン >= 76\n- Android API Level 28 (Android 9) [P] 以下: バージョン >= 105 JavaScript の組み込みオブジェクトを拡張すると, コードの柔軟性が増し, より豊かな機能を実現できますが, 衝突や破損を引き起こす可能性もあります.\nこのオプションをオンにすると, すべてのスクリプトはデフォルトで組み込みの拡張機能を有効にします.\n組み込みの拡張機能は安全でないことが多いので, 組み込みの拡張機能の原理とリスクが明確に理解されていない限り, 推奨されません.\nこのオプションをオフにした場合でも, プロジェクトのドキュメントで説明されているように, plugins グローバルオブジェクトを使用して組み込み拡張機能を有効にすることができます @@ -80,6 +86,7 @@ バイナリタイプ: 編集不可, ファイル拡張子は \"auto\"\nJavaScript タイプ: 直接編集またはコピー可能, ファイル拡張子は \"js\" 安定モードにするとレイアウト境界を取得する際に安定しますが, 一部の結果が無視されることがあります.\nアクセシビリティサービスの再起動が必要です テーマカラーは, 以下のウィジェットに適用されますが, これに限定されるものではありません.\nステータスバー\nアプリバー\nファイルアイコン\nタスクアイテムアイコン\nファブ\n設定カテゴリのタイトル\nスイッチボタン\n\n注: AutoJs6 バージョン 6.2.0 では, 原色, 原色暗色, アクセントカラーの区別はまだありません + GitHub 上の AutoJs6 のリリース版変更履歴と主要カテゴリの統計データを確認する. @string/text_back 取消 取消 @@ -180,6 +187,9 @@ メソッド %1$s の呼び出しに失敗しました コンテンツの表示に失敗しました + バージョン情報の取得に失敗しました + バージョン履歴を取得できません + version.properties を取得できず, バージョン情報を解析できません Shizuku 権限の取り消しに失敗しました スクリプトの実行に失敗しました パス \"%1$s\" にファイルが存在しません @@ -232,6 +242,7 @@ 繰り返されるコロン記号 ドット記号の繰り返し 必要なプロパティ \"%1$s\" が null か存在しません + \"%1$s\" の解決済みパスは null にできません スクリプトが終了してしまう セレクタ・メソッドはパラメータとして渡されるのではなく, 呼び出される必要があります: %s 結果タイプがセレクタの場合, コンパスを使用できません @@ -307,6 +318,7 @@ ランチャーへのショートカットの追加 フローティングボタンが表示されているときに, \"Volume Down\" キーで録画の開始/停止を制御できるようになりました \"Volume Up\" キーを押すと, 実行中のスクリプトをすべて停止します + リリース版の変更履歴と統計データを確認する アクセシビリティサービス スクリプトの自動操作 (クリック, 長押し, スライドなど) で必要です アクセシビリティサービスが有効だが, 実行されていない (デバイスを再有効化または再起動する) @@ -319,6 +331,7 @@ フィードバック ライセンスについて 更新情報 + @string/text_version_histories アクセス権が付与されました クリック (click) ロングクリック (longClick) @@ -379,7 +392,7 @@ アプリバージョンコード アプリのバージョン名 外観 - 「氏名、組織名、組織単位、国コード、州または省、市区町村、街」のいずれかの項目を入力する必要があります + 「氏名, 組織名, 組織単位, 国コード, 州または省, 市区町村, 街」のいずれかの項目を入力する必要があります 属性 更新の自動チェック 自動的に更新をチェックし, ホームページにスナックバーを表示します @@ -409,7 +422,10 @@ システム 不明なタイプ 作業ディレクトリの変更 + 一部の依存関係またはローカルライブラリのバージョン調整 アップデートの確認 + アップデートの確認 (ローカルバージョンを無視する) + アップデートを確認する際に, 最新のリモートバージョンを直接取得する アップデートを確認中... 市区町村 クラス名/パッケージ名 @@ -426,6 +442,7 @@ フローティングボタンを閉じる コード コードの美化 + すべて折りたたむ カラーライブラリ カラーパレット クリップボードにコピーされたコマンド @@ -524,6 +541,7 @@ [%s] は %s 秒で終了しました 終了 終了 + すべて展開する 輸出 エクスポートされました JavaScript 組み込みオブジェクトの拡張 @@ -633,6 +651,7 @@ ランチャーショートカット レイアウトの検査中... オープンソースライセンス + バックアップ策を試しています... 読み込み中... 現在のテーマカラーを特定 ログ @@ -979,6 +998,7 @@ バージョン バージョンコード バージョンコード (計算中...) + バージョン履歴 バージョン情報 バージョン名 バージョン名 (計算中...) @@ -991,18 +1011,5 @@ セキュリティ設定の書き込み アプリケーションが読み取ることはできるが, 書き込むことはできないシステム環境設定を含む, 安全なシステム設定です.\nこれは, ユーザーがシステムアプリの UI を通じて明示的に変更する必要がある環境設定のためのものです.\nセキュアなシステム設定を許可すると, 通常のアプリケーションはセキュアな設定 (アクセシビリティサービスなど) を直接変更できるようになります システム設定の書き込み - \"%1$s\" の解決済みパスは null にできません - アップデートの確認 (ローカルバージョンを無視する) - アップデートを確認する際に, 最新のリモートバージョンを直接取得する - バージョン情報の取得に失敗しました - 現在表示中の言語に対応するバージョン情報の取得に失敗しました. しばらくしてから再度お試しください.\n\n現在, 一時的に \"简体中文 (zh-Hans)\" のバージョン情報を表示しています. - ヒント - 新機能 - 修正 - 改善 - 依存関係 - 一部の依存関係またはローカルライブラリのバージョン調整 - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 365babb2..b2260a89 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -23,6 +23,11 @@ 대상 SDK UI 스레드에서 블로킹 작업을 수행할 수 없습니다. `waitForActivity` 를 하위 스레드나 하위 스크립트에서 실행하거나, `setInterval` 를 사용하여 활동을 확인하기 위해 루프를 사용해 보세요 UI 스레드에서 블로킹 작업을 수행할 수 없습니다. `waitForPackage` 를 하위 스레드나 하위 스크립트에서 실행하거나, `setInterval` 를 사용하여 패키지를 확인하기 위해 루프를 사용해 보세요 + 의존성 + 추가 + 수정 + 힌트 + 개선 Android 색상 라이브러리 CSS 색상 라이브러리 기본 색상 라이브러리 @@ -53,6 +58,7 @@ 매니페스트를 표시하기 위한 플로팅 액션 버튼 위젯 테마 색상 아이템의 인덱스를 확인할 수 없습니다 테마 색상에 대한 색상 라이브러리를 찾을 수 없습니다 + 현재 표시 언어에 해당하는 버전 정보를 가져오지 못했습니다. 나중에 다시 시도해 주세요.\n\n현재 임시로 \"简体中文 (zh-Hans)\" 언어의 버전 정보가 표시되고 있습니다. 문제를보고하기 위해 웹 페이지가 시작됩니다.\nGitHub 에 대한 계정이 필요할 수 있습니다. 재설계된 스크립트의 출력 방법 선택 디버깅 로그를 복사하거나 직접 종료하십시오 @@ -66,7 +72,7 @@ 1. \"앱 및 개발자 정보\" 페이지에서 앱 아이콘을 길게 눌러 AutoJs6 개발자 옵션 페이지로 이동합니다. 실행 스크립트의 예외 메시지를 포함하여 AutoJs6 의 디스플레이 언어를 변경하는이 선호도.\n\n참고: 예상대로 언어를 적용하려면 앱 재시작이 필요할 수 있습니다. 스크립트가 포함 된 디렉토리의 경로를 변경하십시오 - AutoJs6 은 GitHub 에서 업데이트를 가져오고 다운로드합니다.\n\n참고: 업데이트는 아직 다국어 지원을 제공하지 않습니다. + AutoJs6 은 GitHub 에서 업데이트를 가져오고 다운로드합니다. 로컬 문서: AutoJs6 내장 파일을 문서 소스로 사용, 네트워크 연결이 필요하지 않습니다. 내용은 AutoJs6 이 업데이트됨에 따라 변경됩니다.\n온라인 문서: GitHub 페이지를 문서 소스로 사용, 네트워크 연결 필요. 콘텐츠는 항상 최신 상태입니다.\n\n참고: 온라인 문서의 읽기 환경을 최대화하려면 데스크탑 모니터와 같은 와이드 스크린 디스플레이 장치를 사용하는 것이 좋습니다.\n참고: 버전 6.2.0 현재 문서는 아직 개발 초기 단계이며 대부분의 콘텐츠가 아직 작성되거나 업데이트되지 않았습니다. 문서 페이지에서 어두운 테마를 지원하려면 다음 조건이 충족되어야 합니다.\n1. AutoJs6 에는 야간 모드가 활성화되어 있습니다.\n2. Android 시스템 WebView (또는 Google Chrome 과 같은 브라우저):\n- Android API 레벨 29 (Android 10) [Q] 이상: 버전 >= 76\n- Android API 레벨 28 (Android 9) [P] 이하: 버전 >= 105 JavaScript 내장 개체를 확장하면 코드 유연성이 향상되고 더 풍부한 기능을 사용할 수 있지만 충돌이 발생하고 파손될 수도 있습니다.\n옵션이 켜져 있을 때 모든 스크립트에는 기본적으로 활성화된 내장 확장이 있습니다.\n기본 제공 확장은 종종 안전하지 않으며 기본 제공 확장의 원칙과 위험을 명확하게 이해하지 않는 한 권장되지 않습니다.\n옵션이 꺼져 있어도 프로젝트 문서에 설명된 대로 플러그인 전역 개체를 통해 내장 확장을 계속 활성화할 수 있습니다. @@ -81,6 +87,7 @@ 바이너리 유형: 편집 불가능, 파일 확장자는 \"auto\"\nJavaScript 유형: 파일 확장자가 \"js\"인 경우 직접 편집하거나 복사할 수 있습니다. 안정 모드는 레이아웃 경계를 얻을 때 더 안정적이지만 일부 결과는 무시할 수 있습니다.\n접근성 서비스의 재시작이 필요합니다. 테마 색상은 다음을 포함하되 이에 국한되지 않는 위젯에 적용됩니다.\n상태 표시 줄\n앱바\n파일 아이콘\n작업 항목 아이콘\n팹\n설정 카테고리 제목\n스위치 버튼\n\n참고: AutoJs6 버전 6.2.0 현재 기본 색상, 기본 어두운 색상 및 강조 색상 사이에는 아직 차이가 없습니다. + GitHub 에서 AutoJs6 릴리스 버전의 변경 기록과 주요 분류 통계 데이터를 확인하기. @string/text_back 취소 취소 @@ -181,6 +188,9 @@ 메소드 %1$s 호출에 실패했습니다 콘텐츠 렌더링에 실패했습니다 + 버전 정보를 가져오지 못했습니다 + 버전 기록을 가져올 수 없습니다 + version.properties 를 가져올 수 없어 버전 정보를 분석할 수 없습니다 Shizuku 권한 해지에 실패했습니다 스크립트 실행 실패 경로 \"%1$s\" 에 파일이 존재하지 않습니다 @@ -233,6 +243,7 @@ 반복 콜론 기호 반복되는 점 기호 필수 속성 \"%1$s\" 가 null 이거나 존재하지 않습니다 + \"%1$s\" 에 대한 해결된 경로는 null 일 수 없습니다 스크립트가 종료 중입니다 셀렉터 메소드는 매개 변수로 전달되지 않고 호출되어야합니다: %s 결과 유형이 선택기 일 때 나침반을 사용할 수 없습니다 @@ -308,6 +319,7 @@ 런처에 바로 가기 추가 부동 버튼이 표시 될 때 볼륨 다운 키로 제어 된 녹음 시작 또는 중지 실행 중인 모든 스크립트를 중지하려면 \"볼륨 크게\" 키를 누르십시오. + 릴리스 버전의 변경 기록 및 통계 데이터를 확인하기 접근성 서비스 스크립트 자동 작동에 필요합니다 (클릭, 긴 프레스, 슬라이드 등). 접근성 서비스가 활성화되었지만 실행되지 않음 (장치를 다시 활성화 또는 재부팅) @@ -320,6 +332,7 @@ 피드백 라이센스 업데이트 + @string/text_version_histories 액세스가 승인되었습니다 클릭 (click) 긴 클릭 (longClick) @@ -410,7 +423,10 @@ 시스템 알 수 없음 작업 디렉토리를 변경하십시오 + 일부 의존성 또는 로컬 라이브러리 버전 조정 업데이트 확인 + 업데이트 확인 (로컬 버전 무시) + 업데이트 확인 시 최신 원격 버전을 직접 가져옵니다 업데이트 확인 ... 시 또는 지역 클래스 / 패키지 이름 @@ -427,6 +443,7 @@ 플로팅 버튼 닫기 암호 코드를 아름답게하십시오 + 모두 접기 색상 라이브러리 색상 팔레트 클립 보드에 복사 된 명령 @@ -525,6 +542,7 @@ [%s] 는 %s 초 만에 완료되었습니다.\n 출구 출구 + 모두 펼치기 내보내다 내보낸 JavaScript 내장 개체 확장 @@ -634,6 +652,7 @@ 런처 바로 가기 레이아웃 검사 ... 오픈 소스 라이센스 + 대체 솔루션을 시도하는 중... 로딩 중... 현재 테마 색상 찾기 통나무 @@ -980,6 +999,7 @@ 버전 버전 코드 버전 코드 (계산 중...) + 버전 기록 버전 정보 버전 이름 버전 이름 (계산 중...) @@ -992,18 +1012,5 @@ 보안 설정을 작성하십시오 애플리케이션이 읽을 수 있지만 쓸 수없는 시스템 환경 설정을 포함하는 보안 시스템 설정.\n이들은 사용자가 시스템 앱의 UI 를 통해 명시 적으로 수정 해야하는 선호도입니다.\n보안 시스템 설정 권한을 사용하면 일반 애플리케이션이 보안 설정 (예: 접근성 서비스)을 직접 수정할 수 있습니다. 시스템 설정을 작성하십시오 - \"%1$s\" 에 대한 해결된 경로는 null 일 수 없습니다 - 업데이트 확인 (로컬 버전 무시) - 업데이트 확인 시 최신 원격 버전을 직접 가져옵니다 - 버전 정보를 가져오지 못했습니다 - 현재 표시 언어에 해당하는 버전 정보를 가져오지 못했습니다. 나중에 다시 시도해 주세요.\n\n현재 임시로 \"简体中文 (zh-Hans)\" 언어의 버전 정보가 표시되고 있습니다. - 힌트 - 추가 - 수정 - 개선 - 의존성 - 일부 의존성 또는 로컬 라이브러리 버전 조정 - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index c5c08eb9..2ad22c12 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -21,6 +21,11 @@ Целевой SDK Блокирующие операции не могут выполняться в потоке UI. Попробуйте выполнить `waitForActivity` в подпотоке или подскрипте, или используйте `setInterval` для повторения и проверки активности Блокирующие операции не могут выполняться в потоке UI. Попробуйте выполнить `waitForPackage` в подпотоке или подскрипте, или используйте `setInterval` для повторения и проверки пакета + Зависимость + Новое + Исправление + Подсказка + Улучшение Цветовая библиотека Android Цветовая библиотека CSS Стандартная цветовая библиотека @@ -51,6 +56,7 @@ Плавающая кнопка действий для отображения манифеста Не удалось определить индекс элемента цвета темы Не удалось найти цветовую библиотеку для темы + Не удалось получить информацию о версии для текущего выбранного языка, повторите попытку позже.\n\nВ данный момент временно отображается информация о версии для языка \"简体中文 (zh-Hans)\". Для сообщения о проблеме будет открыта веб-страница.\nМожет потребоваться учетная запись на GitHub. Выберите способ вывода для переработанных сценариев Скопируйте журнал отладки или выйдите напрямую @@ -64,7 +70,7 @@ 1. Нажмите и удерживайте значок приложения на странице \"О приложении и разработчике\", чтобы перейти на страницу параметров разработчика AutoJs6. Это предпочтение для изменения языка отображения AutoJs6, включая сообщения исключений от запущенных скриптов.\n\nПримечание: может потребоваться перезапуск приложения, чтобы язык был применен так, как ожидается. Измените путь к директории, содержащей скрипты - AutoJs6 получает и загружает обновления с GitHub.\n\nПримечание: обновление пока не обеспечивает многоязыковую поддержку. + AutoJs6 получает и загружает обновления с GitHub. Локальная документация: Использование встроенных файлов AutoJs6 в качестве источников документации, подключение к сети не требуется. Содержание меняется по мере обновления AutoJs6.\nОнлайн-документы: Использование страниц GitHub в качестве источников документации, требуется подключение к сети. Содержимое всегда обновляется.\n\nПримечание: Чтобы максимально улучшить качество чтения онлайн-документов, рекомендуется использовать широкоформатное устройство отображения, например настольный монитор.\nПримечание: Начиная с версии 6.2.0, документация находится на предварительной стадии разработки, и большая часть содержимого еще не была написана или обновлена. Для поддержки темной темы на страницах документов должны быть выполнены следующие условия:\n1. В AutoJs6 включен ночной режим\n2. Android System WebView (или браузеры типа Google Chrome):\n- Android API Level 29 (Android 10) [Q] и выше: версия >= 76\n- Android API Level 28 (Android 9) [P] и ниже: версия >= 105 Расширение встроенных объектов JavaScript может повысить гибкость кода и обеспечить более богатую функциональность, но может привести к конфликтам и даже поломкам.\nВсе сценарии имеют встроенные расширения, включенные по умолчанию, когда опция включена.\nВстроенные расширения часто небезопасны, и их не рекомендуется использовать, пока принципы и риски встроенных расширений не будут четко поняты.\nКогда опция выключена, встроенные расширения все еще можно включить через глобальный объект plugins, как описано в документации проекта. @@ -79,6 +85,7 @@ Бинарный тип: не редактируемый, с расширением файла \"auto\"\nТип JavaScript: может быть отредактирован или скопирован напрямую, с расширением файла \"js\". Стабильный режим повышает стабильность при получении границ макета, но некоторые результаты могут быть проигнорированы.\nТребуется перезапуск службы доступности. Цвет темы применяется к виджетам, включая следующие, но не ограничиваясь ими:\nСтрока состояния\nПанель приложений\nЗначок файла\nЗначок элемента задачи\nFab\nЗаголовок каталога настроек\nКнопка переключения\n\nПримечание: Начиная с версии AutoJs6 6.2.0, пока не существует различий между основным цветом, основным темным цветом и цветом акцента. + Просмотреть историю выпусков AutoJs6 на GitHub и статистику по основным категориям. @string/text_back Отменить Отменить @@ -179,6 +186,9 @@ Ошибка вызова метода %1$s Не удалось отобразить содержимое + Не удалось получить информацию о версии + Не удалось получить историю версий + Не удалось получить файл version.properties для анализа информации о версии Не удалось отозвать права на Shizuku Ошибка выполнения скрипта Файл в пути \"%1$s\" не существует @@ -231,6 +241,7 @@ Повторяющийся символ двоеточия Повторяющийся символ точки Требуемое свойство \"%1$s\" пусто или не существует + Разрешённый путь для \"%1$s\" не может быть равен null Скрипт завершается Метод селектора должен быть вызван, а не передан в качестве параметра: %s Невозможно использовать компас, когда тип результата - селектор @@ -306,6 +317,7 @@ Добавление ярлыков в пусковую установку Запуск или остановка записи, управляемая клавишей уменьшения громкости, когда отображается плавающая кнопка Нажмите клавишу \"Громкость вверх\", чтобы остановить все запущенные скрипты + Просмотреть историю выпусков и статистические данные Служба доступности Требуется для автоматической работы сценария (щелчок, длительное нажатие, скольжение и т.д.). Служба доступности включена, но не работает (Включите или перезагрузите устройство) @@ -318,6 +330,7 @@ Обратная связь Лицензии Обновить + @string/text_version_histories Доступ был предоставлен Щелчок (click) Длинный щелчок (longClick) @@ -408,7 +421,10 @@ Система Неизвестный тип Изменить рабочий каталог + Изменения версий некоторых зависимостей или локальных библиотек Проверка наличия обновлений + Проверить обновления (игнорировать локальную версию) + При проверке обновлений напрямую получать последнюю удалённую версию Проверка обновлений... Город или населенный пункт Имя класса / пакета @@ -425,6 +441,7 @@ Закрыть плавающую кнопку Код Улучшить код + Свернуть всё Цветовая библиотека Цветовая палитра Команда скопирована в буфер обмена @@ -523,6 +540,7 @@ [%s] завершилось через %s секунд.\n Выход Выйти + Развернуть всё Экспорт Экспортировано Расширение встроенных объектов JavaScript @@ -632,6 +650,7 @@ Ярлыки лаунчера Проверка макета... Лицензии на открытые источники + Пробуем запасное решение... Загрузка... Найти текущий цвет темы Журнал @@ -732,11 +751,6 @@ Разрешить приложению использовать запись экрана и функции медиапроекции в службе переднего плана Разрешить приложению выполнять некоторые специальные операции в службе переднего плана Разрешить приложению доступ к учетным записям на устройстве - Разрешение предоставлено - Не удалось предоставить разрешение (с правами root) - Не удалось предоставить разрешение (с Shizuku) - Разрешение предоставлено (с root) - Разрешение получено (с Shizuku) Разрешить приложению устанавливать ярлыки Разрешить приложению взаимодействовать между пользователями Разрешить приложению доступ в Интернет @@ -747,7 +761,6 @@ Разрешить приложению форматировать внешнее хранилище Разрешить приложению монтировать/размонтировать файловые системы Разрешить приложению взаимодействовать с устройствами NFC - Разрешить приложению доступ к статистике использования других приложений Разрешить приложению показывать уведомления Разрешить приложению запрашивать все пакеты Разрешить приложению читать события календаря @@ -766,18 +779,12 @@ Разрешить приложению запрашивать удаление пакетов Разрешить приложению запрашивать игнорирование оптимизации батареи Разрешить приложению запрашивать установку других приложений - Разрешение отозвано - Не удалось отозвать разрешение (с root) - Не удалось отозвать разрешение (с помощью Shizuku) - Разрешение отозвано (с root) - Разрешение отозвано (с помощью Shizuku) Разрешить приложению планировать точные по времени операции Разрешить приложению отправлять SMS Разрешить приложению устанавливать обои Разрешить приложению устанавливать подсказки размера обоев Разрешить приложению взаимодействовать с системой через службу Shizuku с более высокими привилегиями Разрешить приложению отображаться поверх других приложений - Проверка разрешения Разрешить запускать команды (специфично для приложения Termux) Разрешить приложению удалять ярлыки Разрешить приложению показывать неограниченное количество уведомлений Toast @@ -789,6 +796,18 @@ Разрешить приложению записывать на внешнее хранилище Разрешить приложению читать и записывать системные защищенные настройки Разрешить приложению изменять системные настройки + Разрешение предоставлено + Не удалось предоставить разрешение (с правами root) + Не удалось предоставить разрешение (с Shizuku) + Разрешение предоставлено (с root) + Разрешение получено (с Shizuku) + Разрешить приложению доступ к статистике использования других приложений + Разрешение отозвано + Не удалось отозвать разрешение (с root) + Не удалось отозвать разрешение (с помощью Shizuku) + Разрешение отозвано (с root) + Разрешение отозвано (с помощью Shizuku) + Проверка разрешения Разрешения Разрешения Закрепление ярлыков в пусковой установке не поддерживается @@ -978,6 +997,7 @@ Версия Код версии Код версии (Вычисление...) + История версий Информация о версии Название версии Название версии (Вычисление...) @@ -990,18 +1010,5 @@ Параметры безопасности записи Настройки безопасности системы, содержащие системные предпочтения, которые приложения могут читать, но не имеют права записывать.\nОни предназначены для параметров, которые пользователь должен явно изменить через пользовательский интерфейс системного приложения.\nПри наличии разрешения на безопасные системные настройки обычные приложения могут напрямую изменять безопасные настройки (например, служба доступности). Запись системных настроек - Разрешённый путь для \"%1$s\" не может быть равен null - Проверить обновления (игнорировать локальную версию) - При проверке обновлений напрямую получать последнюю удалённую версию - Не удалось получить информацию о версии - Не удалось получить информацию о версии для текущего выбранного языка, повторите попытку позже.\n\nВ данный момент временно отображается информация о версии для языка \"简体中文 (zh-Hans)\". - Подсказка - Новое - Исправление - Улучшение - Зависимость - Изменения версий некоторых зависимостей или локальных библиотек - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 6d535baf..bf6da654 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -20,6 +20,11 @@ 目標 SDK UI 線程內無法執行阻塞操作. 可嘗試在子線程或子腳本中執行 waitForActivity 或使用 setInterval 循環檢測 activity UI 線程內無法執行阻塞操作. 可嘗試在子線程或子腳本中執行 waitForPackage 或使用 setInterval 循環檢測 package + 依賴 + 新增 + 修復 + 提示 + 優化 Android 顏色庫 CSS 顏色庫 默認顏色庫 @@ -50,6 +55,7 @@ 用於顯示清單內容的浮動操作按鈕控件 無法確定主題色條目的索引值 無法定位主題色所在顏色庫 + 獲取當前顯示語言對應的版本信息失敗, 可稍後再次嘗試.\n\n目前將臨時顯示 \"简体中文 (zh-Hans)\" 語言的版本信息. 即將跳轉到項目議題反饋 WEB 頁面.\n可能需要 GitHub 賬户以完成問題反饋. 選擇一個已錄製腳本的輸出方式 可複製調試信息到剪貼板或直接退出應用 @@ -63,7 +69,7 @@ 1. 在 \"關於應用與開發者\" 頁面長按應用圖標可跳轉至 AutoJs6 開發者選項頁面 設置選項用於修改 AutoJs6 應用的文本內容顯示語言, 同時包括腳本運行產生的錯誤消息等.\n\n注: 部分內容可能需要重啓應用才能完成語言切換. 更改包含腳本的文件夾路徑 - AutoJs6 從 GitHub 獲取並下載更新.\n\n注: 版本更新內容暫未提供多語言支持. + AutoJs6 從 GitHub 獲取並下載更新. 本地文檔: AutoJs6 內置文件作為文檔來源, 無需網絡連接, 隨 AutoJs6 應用更新而發生內容變動.\n在線文檔: 使用 GitHub 網頁作為文檔來源, 需網絡連接, 可隨時保持文檔內容為最新.\n\n注: 為最大化在線文檔的閲讀體驗, 建議使用桌面顯示器等寬屏顯示設備閲讀.\n注: 截至 6.2.0 版本, 文檔尚處於初步編寫階段, 大部分內容尚未完成編寫或更新. 文檔頁面的深色主題支持需要滿足以下條件:\n1. AutoJs6 開啓夜間模式\n2. WebView (或 Google Chrome 等瀏覽器) 版本要求:\n- API 級別 29 (安卓 10) [Q] 及以上: 版本不低於 76\n- API 級別 28 (安卓 9) [P] 及以下: 版本不低於 105 擴展 JavaScript 內置對象可以增加代碼靈活性並實現更豐富的功能, 但可能造成衝突甚至破壞.\n選項開啓後所有腳本均默認啓用內置擴展.\n內置擴展往往是不安全的, 除非明確瞭解內置擴展的原理及風險, 否則不建議啓用.\n選項關閉後, 仍然可以通過 plugins 全局對象啓用內置擴展, 詳見項目文檔. @@ -77,6 +83,7 @@ 二進制文件: 不可編輯, 文件擴展名為 \"auto\"\nJavaScript 文件: 可編輯或直接複製, 文件擴展名為 \"js\" 穩定模式省略佈局細節, 腳本分析佈局時更穩定, 但可能影響獲取的控件總量.\n需重啓無障礙服務. 主題色的應用範圍包括但不限於以下部件:\n系統通知欄\n應用欄 (AppBar)\n文件圖標\n任務項圖標\n浮動操作按鈕 (Fab)\n設置頁面類別標題\n按鈕開關\n\n注: 截至 6.2.0 版本, AutoJs6 主題色暫未對 [ 主要色 (Primary Color) / 主要暗色 (Primary Dark Color) / 強調色 (Accent Color) ] 作出區分. + 查看 AutoJs6 在 GitHub 發行版本的歷史更新記錄及重要分類的統計數據. @string/text_back 取消 取消下載 @@ -177,6 +184,9 @@ 方法 %1$s 調用失敗 內容渲染失敗 + 獲取版本信息失敗 + 獲取版本歷史失敗 + 獲取 version.properties 失敗, 無法解析版本信息 Shizuku 權限撤銷失敗 腳本運行失敗 路徑 \"%1$s\" 對應文件不存在 @@ -229,6 +239,7 @@ 重複的分號符號 重複的句點符號 必需屬性 "%1$s" 為空或不存在 + 解析後的路徑 \"%1$s\" 不可為 null 腳本正在退出中 選擇器方法需調用而不可作為參數直接傳入: %s 結果類型為 selector 時, 無法同時使用羅盤參數 @@ -304,6 +315,7 @@ 添加快捷方式到啓動器 按 \"音量減\" 鍵開始或停止腳本錄製 (需開啓浮動按鈕) 按 \"音量加\" 鍵停止所有正在運行的腳本 + 查看發行版本歷史更新記錄與統計數據 無障礙服務 腳本自動操作 (點擊/長按/滑動等) 所需 無障礙服務已啓用但未運行 (嘗試重新啓用或重啓設備) @@ -316,6 +328,7 @@ 問題反饋 許可信息 檢查更新 + @string/text_version_histories 授權成功 點擊 (click) 長按 (longClick) @@ -406,7 +419,10 @@ 系統 未知類型 更改工作路徑 + 部分依賴或本地庫版本調整 檢查更新 + 檢查更新 (忽略本地版本) + 檢查更新時, 直接從遠程獲取最新版本 正在檢查更新... 城市或區域 類/包名 @@ -423,6 +439,7 @@ 關閉浮動按鈕 代碼 格式化代碼 + 收起全部 顏色庫 調色盤 指令已複製到剪貼板 @@ -521,6 +538,7 @@ [%s] 運行結束 (用時 %s 秒)\n 退出 直接退出 + 展開全部 導出 已導出 JavaScript 內置對象擴展 @@ -630,6 +648,7 @@ 啓動器快捷方式 佈局分析中... 開源許可信息 + 正在嘗試備選方案... 加載中... 定位當前主題色 日誌 @@ -976,6 +995,7 @@ 版本 版本號 版本號 (計算中...) + 版本歷史 版本信息 版本名稱 版本名稱 (計算中...) @@ -988,18 +1008,5 @@ 修改安全設置 安全設置包含應用程序可讀但不可寫入的設置選項, 這些選項只能由 UI 或系統級別應用修改.\n被授予 \"修改安全設置權限\" 後, 普通應用可直接修改上述安全設置 (例如無障礙服務). 修改系統設置 - 解析後的路徑 \"%1$s\" 不可為 null - 檢查更新 (忽略本地版本) - 檢查更新時, 直接從遠程獲取最新版本 - 獲取版本信息失敗 - 獲取當前顯示語言對應的版本信息失敗, 可稍後再次嘗試.\n\n目前將臨時顯示 \"简体中文 (zh-Hans)\" 語言的版本信息. - 提示 - 新增 - 修復 - 優化 - 依賴 - 部分依賴或本地庫版本調整 - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 29565437..a9a849ab 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -20,6 +20,11 @@ 目標 SDK UI 執行緒內無法執行阻塞操作. 可嘗試在子執行緒或子指令碼中執行 waitForActivity 或使用 setInterval 迴圈檢測 activity UI 執行緒內無法執行阻塞操作. 可嘗試在子執行緒或子指令碼中執行 waitForPackage 或使用 setInterval 迴圈檢測 package + 依賴 + 新增 + 修復 + 提示 + 最佳化 Android 顏色庫 CSS 顏色庫 預設顏色庫 @@ -50,6 +55,7 @@ 用於顯示清單內容的浮動操作按鈕控制元件 無法確定主題色條目的索引值 無法定位主題色所在顏色庫 + 獲取當前顯示語言對應的版本資訊失敗, 可稍後再次嘗試.\n\n目前將臨時顯示 \"简体中文 (zh-Hans)\" 語言的版本資訊. 即將跳轉到專案議題反饋 WEB 頁面.\n可能需要 GitHub 賬戶以完成問題反饋. 選擇一個已錄製指令碼的輸出方式 可複製除錯資訊到剪貼簿或直接退出應用 @@ -63,7 +69,7 @@ 1. 在 \"關於應用與開發者\" 頁面長按應用圖示可跳轉至 AutoJs6 開發者選項頁面 設定選項用於修改 AutoJs6 應用的文字內容顯示語言, 同時包括指令碼執行產生的錯誤訊息等.\n\n注: 部分內容可能需要重啟應用才能完成語言切換. 更改包含指令碼的資料夾路徑 - AutoJs6 從 GitHub 獲取並下載更新.\n\n注: 版本更新內容暫未提供多語言支援. + AutoJs6 從 GitHub 獲取並下載更新. 本地文件: AutoJs6 內建檔案作為文件來源, 無需網路連線, 隨 AutoJs6 應用更新而發生內容變動.\n線上文件: 使用 GitHub 網頁作為文件來源, 需網路連線, 可隨時保持文件內容為最新.\n\n注: 為最大化線上文件的閱讀體驗, 建議使用桌面顯示器等寬屏顯示裝置閱讀.\n注: 截至 6.2.0 版本, 文件尚處於初步編寫階段, 大部分內容尚未完成編寫或更新. 文件頁面的深色主題支援需要滿足以下條件:\n1. AutoJs6 開啟夜間模式\n2. WebView (或 Google Chrome 等瀏覽器) 版本要求:\n- API 級別 29 (安卓 10) [Q] 及以上: 版本不低於 76\n- API 級別 28 (安卓 9) [P] 及以下: 版本不低於 105 擴充套件 JavaScript 內建物件可以增加程式碼靈活性並實現更豐富的功能, 但可能造成衝突甚至破壞.\n選項開啟後所有指令碼均預設啟用內建擴充套件.\n內建擴充套件往往是不安全的, 除非明確瞭解內建擴充套件的原理及風險, 否則不建議啟用.\n選項關閉後, 仍然可以透過 plugins 全域性物件啟用內建擴充套件, 詳見專案文件. @@ -77,6 +83,7 @@ 二進位制檔案: 不可編輯, 副檔名為 \"auto\"\nJavaScript 檔案: 可編輯或直接複製, 副檔名為 \"js\" 穩定模式省略佈局細節, 指令碼分析佈局時更穩定, 但可能影響獲取的控制元件總量.\n需重啟無障礙服務. 主題色的應用範圍包括但不限於以下部件:\n系統通知欄\n應用欄 (AppBar)\n檔案圖示\n任務項圖示\n浮動操作按鈕 (Fab)\n設定頁面類別標題\n按鈕開關\n\n注: 截至 6.2.0 版本, AutoJs6 主題色暫未對 [ 主要色 (Primary Color) / 主要暗色 (Primary Dark Color) / 強調色 (Accent Color) ] 作出區分. + 檢視 AutoJs6 在 GitHub 發行版本的歷史更新記錄及重要分類的統計資料. @string/text_back 取消 取消下載 @@ -177,6 +184,9 @@ 方法 %1$s 呼叫失敗 內容渲染失敗 + 獲取版本資訊失敗 + 獲取版本歷史失敗 + 獲取 version.properties 失敗, 無法解析版本資訊 Shizuku 許可權撤銷失敗 指令碼執行失敗 路徑 \"%1$s\" 對應檔案不存在 @@ -229,6 +239,7 @@ 重複的分號符號 重複的句點符號 必需屬性 "%1$s" 為空或不存在 + 解析後的路徑 \"%1$s\" 不可為 null 指令碼正在退出中 選擇器方法需呼叫而不可作為引數直接傳入: %s 結果型別為 selector 時, 無法同時使用羅盤引數 @@ -304,6 +315,7 @@ 新增快捷方式到啟動器 按 \"音量減\" 鍵開始或停止指令碼錄製 (需開啟浮動按鈕) 按 \"音量加\" 鍵停止所有正在執行的指令碼 + 檢視發行版本歷史更新記錄與統計資料 無障礙服務 指令碼自動操作 (點選/長按/滑動等) 所需 無障礙服務已啟用但未執行 (嘗試重新啟用或重啟裝置) @@ -316,6 +328,7 @@ 問題反饋 許可資訊 檢查更新 + @string/text_version_histories 授權成功 點選 (click) 長按 (longClick) @@ -406,7 +419,10 @@ 系統 未知型別 更改工作路徑 + 部分依賴或本地庫版本調整 檢查更新 + 檢查更新 (忽略本地版本) + 檢查更新時, 直接從遠端獲取最新版本 正在檢查更新... 城市或區域 類/包名 @@ -423,6 +439,7 @@ 關閉浮動按鈕 程式碼 格式化程式碼 + 收起全部 顏色庫 調色盤 指令已複製到剪貼簿 @@ -521,6 +538,7 @@ [%s] 執行結束 (用時 %s 秒)\n 退出 直接退出 + 展開全部 匯出 已匯出 JavaScript 內建物件擴充套件 @@ -630,6 +648,7 @@ 啟動器快捷方式 佈局分析中... 開源許可資訊 + 正在嘗試備選方案... 載入中... 定位當前主題色 日誌 @@ -976,6 +995,7 @@ 版本 版本號 版本號 (計算中...) + 版本歷史 版本資訊 版本名稱 版本名稱 (計算中...) @@ -988,18 +1008,5 @@ 修改安全設定 安全設定包含應用程式可讀但不可寫入的設定選項, 這些選項只能由 UI 或系統級別應用修改.\n被授予 \"修改安全設定許可權\" 後, 普通應用可直接修改上述安全設定 (例如無障礙服務). 修改系統設定 - 解析後的路徑 \"%1$s\" 不可為 null - 檢查更新 (忽略本地版本) - 檢查更新時, 直接從遠端獲取最新版本 - 獲取版本資訊失敗 - 獲取當前顯示語言對應的版本資訊失敗, 可稍後再次嘗試.\n\n目前將臨時顯示 \"简体中文 (zh-Hans)\" 語言的版本資訊. - 提示 - 新增 - 修復 - 最佳化 - 依賴 - 部分依賴或本地庫版本調整 - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index a8fdb8ec..4b84eb40 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -19,6 +19,11 @@ 目标 SDK UI 线程内无法执行阻塞操作. 可尝试在子线程或子脚本中执行 waitForActivity 或使用 setInterval 循环检测 activity UI 线程内无法执行阻塞操作. 可尝试在子线程或子脚本中执行 waitForPackage 或使用 setInterval 循环检测 package + 依赖 + 新增 + 修复 + 提示 + 优化 Android 颜色库 CSS 颜色库 默认颜色库 @@ -49,6 +54,7 @@ 用于显示清单内容的浮动操作按钮控件 无法确定主题色条目的索引值 无法定位主题色所在颜色库 + 获取当前显示语言对应的版本信息失败, 可稍后再次尝试.\n\n目前将临时显示 \"简体中文 (zh-Hans)\" 语言的版本信息. 即将跳转到项目议题反馈 WEB 页面.\n可能需要 GitHub 账户以完成问题反馈. 选择一个已录制脚本的输出方式 可复制调试信息到剪贴板或直接退出应用 @@ -62,7 +68,7 @@ 1. 在 \"关于应用与开发者\" 页面长按应用图标可跳转至 AutoJs6 开发者选项页面 设置选项用于修改 AutoJs6 应用的文本内容显示语言, 同时包括脚本运行产生的错误消息等.\n\n注: 部分内容可能需要重启应用才能完成语言切换. 更改包含脚本的文件夹路径 - AutoJs6 从 GitHub 获取并下载更新.\n\n注: 版本更新内容暂未提供多语言支持. + AutoJs6 从 GitHub 获取并下载更新. 本地文档: AutoJs6 内置文件作为文档来源, 无需网络连接, 随 AutoJs6 应用更新而发生内容变动.\n在线文档: 使用 GitHub 网页作为文档来源, 需网络连接, 可随时保持文档内容为最新.\n\n注: 为最大化在线文档的阅读体验, 建议使用桌面显示器等宽屏显示设备阅读.\n注: 截至 6.2.0 版本, 文档尚处于初步编写阶段, 大部分内容尚未完成编写或更新. 文档页面的深色主题支持需要满足以下条件:\n1. AutoJs6 开启夜间模式\n2. WebView (或 Google Chrome 等浏览器) 版本要求:\n- API 级别 29 (安卓 10) [Q] 及以上: 版本不低于 76\n- API 级别 28 (安卓 9) [P] 及以下: 版本不低于 105 扩展 JavaScript 内置对象可以增加代码灵活性并实现更丰富的功能, 但可能造成冲突甚至破坏.\n选项开启后所有脚本均默认启用内置扩展.\n内置扩展往往是不安全的, 除非明确了解内置扩展的原理及风险, 否则不建议启用.\n选项关闭后, 仍然可以通过 plugins 全局对象启用内置扩展, 详见项目文档. @@ -77,6 +83,7 @@ 二进制文件: 不可编辑, 文件扩展名为 \"auto\"\nJavaScript 文件: 可编辑或直接复制, 文件扩展名为 \"js\" 稳定模式省略布局细节, 脚本分析布局时更稳定, 但可能影响获取的控件总量.\n需重启无障碍服务. 主题色的应用范围包括但不限于以下部件:\n系统通知栏\n应用栏 (AppBar)\n文件图标\n任务项图标\n浮动操作按钮 (Fab)\n设置页面类别标题\n按钮开关\n\n注: 截至 6.2.0 版本, AutoJs6 主题色暂未对 [ 主要色 (Primary Color) / 主要暗色 (Primary Dark Color) / 强调色 (Accent Color) ] 作出区分. + 查看 AutoJs6 在 GitHub 发行版本的历史更新记录及重要分类的统计数据. @string/text_back 取消 取消下载 @@ -177,6 +184,9 @@ 方法 %1$s 调用失败 内容渲染失败 + 获取版本信息失败 + 获取版本历史失败 + 获取 version.properties 失败, 无法解析版本信息 Shizuku 权限撤销失败 脚本运行失败 路径 \"%1$s\" 对应文件不存在 @@ -229,6 +239,7 @@ 重复的分号符号 重复的句点符号 必需属性 "%1$s" 为空或不存在 + 解析后的路径 \"%1$s\" 不可为 null 脚本正在退出中 选择器方法需调用而不可作为参数直接传入: %s 结果类型为 selector 时, 无法同时使用罗盘参数 @@ -304,6 +315,7 @@ 添加快捷方式到启动器 按 \"音量减\" 键开始或停止脚本录制 (需开启浮动按钮) 按 \"音量加\" 键停止所有正在运行的脚本 + 查看发行版本历史更新记录与统计数据 无障碍服务 脚本自动操作 (点击/长按/滑动等) 所需 无障碍服务已启用但未运行 (尝试重新启用或重启设备) @@ -316,6 +328,7 @@ 问题反馈 许可信息 检查更新 + @string/text_version_histories 授权成功 点击 (click) 长按 (longClick) @@ -406,7 +419,10 @@ 系统 未知类型 更改工作路径 + 部分依赖或本地库版本调整 检查更新 + 检查更新 (忽略本地版本) + 检查更新时, 直接从远程获取最新版本 正在检查更新... 城市或区域 类/包名 @@ -423,6 +439,7 @@ 关闭浮动按钮 代码 格式化代码 + 收起全部 颜色库 调色盘 指令已复制到剪贴板 @@ -521,6 +538,7 @@ [%s] 运行结束 (用时 %s 秒)\n 退出 直接退出 + 展开全部 导出 已导出 JavaScript 内置对象扩展 @@ -630,6 +648,7 @@ 启动器快捷方式 布局分析中... 开源许可信息 + 正在尝试备选方案... 加载中... 定位当前主题色 日志 @@ -976,6 +995,7 @@ 版本 版本号 版本号 (计算中...) + 版本历史 版本信息 版本名称 版本名称 (计算中...) @@ -988,18 +1008,5 @@ 修改安全设置 安全设置包含应用程序可读但不可写入的设置选项, 这些选项只能由 UI 或系统级别应用修改.\n被授予 \"修改安全设置权限\" 后, 普通应用可直接修改上述安全设置 (例如无障碍服务). 修改系统设置 - 解析后的路径 \"%1$s\" 不可为 null - 检查更新 (忽略本地版本) - 检查更新时, 直接从远程获取最新版本 - 获取版本信息失败 - 获取当前显示语言对应的版本信息失败, 可稍后再次尝试.\n\n目前将临时显示 \"简体中文 (zh-Hans)\" 语言的版本信息. - 提示 - 新增 - 修复 - 优化 - 依赖 - 部分依赖或本地库版本调整 - 版本历史 - 获取 version.properties 失败, 无法解析版本信息 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dbd27b2b..3dc2853c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -145,6 +145,7 @@ key_$_updates_checked_states_cleared key_$_use_volume_control_record key_$_use_volume_control_running + key_$_version_histories key_$_working_directory key_$_working_directory_histories key_$_working_directory_initialized @@ -153,6 +154,7 @@ HSL HSV RGB + 0 Stardust hyb1996 VERSION_BUILD @@ -246,6 +248,11 @@ Target SDK Blocking operations cannot be performed on the UI thread. Try executing waitForActivity in a sub-thread or sub-script, or use setInterval to loop and check the activity Blocking operations cannot be performed on the UI thread. Try executing waitForPackage in a sub-thread or sub-script, or use setInterval to loop and check the package + Dependency + Feature + Fix + Hint + Improvement Android color library CSS color library Default color library @@ -276,6 +283,7 @@ A Floating Action Button widget for displaying the manifest Failed to determine the index of the theme color item Failed to locate the color library for the theme color + Failed to retrieve the release notes for the currently displayed language. Please try again later.\n\nCurrently, the release notes for \"简体中文 (zh-Hans)\" are temporarily displayed. A web page will be launched to report an issue.\nAn account for GitHub may be needed. Select a way of output for recorded script Copy debugging log or exit directly @@ -289,7 +297,7 @@ 1. Press and hold the app icon on the \"About app and developer\" page to jump to AutoJs6 developer options page Preference for changing the display language of AutoJs6, including exception messages from running scripts.\n\nNote: an app restart may be needed to make language applied as expected. Change the path of the directory containing scripts - AutoJs6 gets and downloads updates from GitHub.\n\nNote: The update does not provide multilingual support yet. + AutoJs6 gets and downloads updates from GitHub. Local docs: Using AutoJs6 build-in files as documentation sources, no network connection required. The content changes as AutoJs6 is updated.\nOnline docs: Using GitHub pages as documentation sources, requiring network connection. The content is always up to date.\n\nNote: To maximize the reading experience of online documents, it is recommended to use a widescreen display device such as a desktop monitor.\nNote: As of version 6.2.0, the documentation is still in the preliminary stages of development, and most of the content has not yet been written or updated. The following conditions must be met for dark theme support on document pages:\n1. AutoJs6 has night mode enabled\n2. Android System WebView (or browsers like Google Chrome):\n- Android API Level 29 (Android 10) [Q] and above: version >= 76\n- Android API Level 28 (Android 9) [P] and below: version >= 105 Extending JavaScript built-in objects can increase code flexibility and enable richer functionality, but can cause conflicts and even breakage.\nAll scripts have built-in extensions enabled by default when the option is turned on.\nBuilt-in extensions are often insecure, and are not recommended unless the principles and risks of built-in extensions are clearly understood.\nWhen the option is turned off, built-in extensions can still be enabled through the plugins global object, as described in the project documentation. @@ -304,6 +312,7 @@ Binary type: non-editable, with the file extension \"auto\"\nJavaScript type: can be edited or copied directly, with the file extension \"js\" Stable mode makes it more stable when getting layout bounds, but some results may be ignored.\nA11y service\'s restart required. Theme color is applied to widgets including but not limited to the following ones:\nStatus bar\nAppbar\nFile icon\nTask item icon\nFab\nSettings category title\nSwitch button\n\nNote: As of AutoJs6 version 6.2.0, there has been no difference between primary color, primary dark color and accent color yet. + View the release version history and key category statistics of AutoJs6 on GitHub. @string/text_back Cancel Cancel @@ -404,6 +413,9 @@ Failed to invoke method %1$s Failed to render content + Failed to retrieve release notes + Failed to retrieve version histories + Failed to retrieve version.properties to parse version information Failed to revoke Shizuku access Failed to run script File in path \"%1$s\" does not exist @@ -456,6 +468,7 @@ Repeated colon symbol Repeated dot symbol Required property \"%1$s\" is nullish or does not exist + Resolved path for \"%1$s\" cannot be null Script is on exiting Selector method should be called rather than passed as a parameter: %s Cannot use a compass when result type is selector @@ -531,6 +544,7 @@ Add shortcuts to launcher Start or stop recording controlled by "Volume Down" key when floating button is showing Press \"Volume Up\" key to stop all running scripts + View release version history and statistics Accessibility service Required by the script automatic operation (click, long press, slide, etc.). Accessibility service enabled but not running (Re-enable or reboot the device) @@ -543,6 +557,7 @@ Feedback Licenses Update + @string/text_version_histories Access has been granted Click (click) Long click (longClick) @@ -633,7 +648,10 @@ System Unknown type Change working directory + Some dependency or local library version adjustments Check for updates + Check for updates (ignore the local version) + Fetch the latest remote version directly when checking for updates Checking for updates... City or Locality Class / Package name @@ -650,6 +668,7 @@ Close floating button Code Beautify code + Collapse all Color library Color palette Command copied to clipboard @@ -748,6 +767,7 @@ [%s] finished in %s seconds.\n Exit Exit + Expand all Export Exported Extending JavaScript build-in objects @@ -857,6 +877,7 @@ Launcher shortcuts Inspecting layout... Open Sources Licenses + Trying a fallback solution... Loading... Locate current theme color Log @@ -1203,6 +1224,7 @@ Version Version code Version code (computing...) + Version histories Version info Version name Version name (computing...) @@ -1215,18 +1237,5 @@ Write security settings Secure system settings, containing system preferences that applications can read but are not allowed to write.\nThese are for preferences that the user must explicitly modify through the UI of a system app.\nWith secure system settings permission, normal applications can directly modify the secure settings (such as accessibility service). Write system settings - Resolved path for \"%1$s\" cannot be null - Check for updates (ignore the local version) - Fetch the latest remote version directly when checking for updates - Failed to retrieve release notes - Failed to retrieve the release notes for the currently displayed language. Please try again later.\n\nCurrently, the release notes for \"简体中文 (zh-Hans)\" are temporarily displayed. - Hint - Feature - Fix - Improvement - Dependency - Some dependency or local library version adjustments - Version histories - Failed to retrieve version.properties to parse version information diff --git a/app/src/main/res/xml/fragment_preferences.xml b/app/src/main/res/xml/fragment_preferences.xml index ee60fcd4..fd76ec80 100644 --- a/app/src/main/res/xml/fragment_preferences.xml +++ b/app/src/main/res/xml/fragment_preferences.xml @@ -221,6 +221,13 @@ app:title="@string/text_manage_ignored_updates" app:longClickPrompt="@string/description_manage_ignored_updates_preference" /> + +