diff --git a/Changelog.md b/Changelog.md index e25c5f740..3aeaf3878 100644 --- a/Changelog.md +++ b/Changelog.md @@ -27,7 +27,7 @@
🚀 优化改进 -- 优化扩展覆写配置和脚本编辑窗口,分别提示作用范围、执行顺序及应用设置优先级 +- 优化扩展覆写配置和脚本编辑窗口,提示作用范围、执行顺序及应用设置优先级,并高亮当前步骤 - 优化 DNS 覆写开关:按订阅独立记忆,自动关闭仅影响当前订阅,并提示作用范围 - 优化系统服务兼容性检查:升级后服务版本或协议不兼容时,提示重新安装 - 优化预构建资源,补充 ASN 数据库文件 diff --git a/src/components/profile/enhance-hint.tsx b/src/components/profile/enhance-hint.tsx index 3521b9e22..da0200af7 100644 --- a/src/components/profile/enhance-hint.tsx +++ b/src/components/profile/enhance-hint.tsx @@ -1,5 +1,5 @@ -import { Alert, Typography } from '@mui/material' -import { useTranslation } from 'react-i18next' +import { Alert, Box, Typography } from '@mui/material' +import { Trans, useTranslation } from 'react-i18next' const stageHints = { globalMerge: 'profiles.modals.editor.enhance.globalMerge', @@ -14,12 +14,36 @@ interface Props { export const EnhanceHint = ({ stage }: Props) => { const { t } = useTranslation() + const orderComponents = Object.fromEntries( + Object.keys(stageHints).map((key) => [ + key, + , + ]), + ) return ( {t(stageHints[stage])} - {t('profiles.modals.editor.enhance.order')} + {t('profiles.modals.editor.enhance.settingsPriority')} diff --git a/src/locales/ar/profiles.json b/src/locales/ar/profiles.json index 333b2e6a5..a91a4f0f4 100644 --- a/src/locales/ar/profiles.json +++ b/src/locales/ar/profiles.json @@ -203,7 +203,7 @@ "globalScript": "يُطبّق على جميع الملفات باستخدام نتيجة دمج الإعدادات العامة. يمكن لإعدادات الملف وسكربت الملف تعديل النتيجة لاحقًا.", "profileMerge": "يُطبّق على هذا الملف فقط بعد الإعدادات العامة والسكربت العام. يمكن لسكربت الملف تعديل النتيجة لاحقًا.", "profileScript": "يُطبّق على هذا الملف فقط باستخدام نتيجة دمج إعداداته. هذه آخر خطوة للإضافات قبل إعادة تطبيق إعدادات التطبيق.", - "order": "الترتيب: الملف الأصلي ← إعدادات التطبيق ← إعدادات الإضافة العامة ← سكربت الإضافة العام ← إعدادات إضافة الملف ← سكربت إضافة الملف ← إعادة تطبيق إعدادات التطبيق", + "order": "الترتيب: الملف الأصلي ← إعدادات التطبيق ← إعدادات الإضافة العامة ← سكربت الإضافة العام ← إعدادات إضافة الملف ← سكربت إضافة الملف ← إعادة تطبيق إعدادات التطبيق", "settingsPriority": "ملاحظة: الحقول التي تديرها إعدادات التطبيق تستخدم دائمًا قيم تلك الإعدادات في التكوين النهائي. تعديل هذه الحقول في الإضافات لا يؤثر على النتيجة النهائية." } }, diff --git a/src/locales/de/profiles.json b/src/locales/de/profiles.json index 470d92ea5..7ddb75653 100644 --- a/src/locales/de/profiles.json +++ b/src/locales/de/profiles.json @@ -203,7 +203,7 @@ "globalScript": "Gilt für alle Profile und verwendet das Ergebnis der globalen Konfiguration. Die Profilkonfiguration und das Profilskript können das Ergebnis noch ändern.", "profileMerge": "Gilt nur für dieses Profil, nach der globalen Konfiguration und dem globalen Skript. Das Profilskript kann das Ergebnis noch ändern.", "profileScript": "Gilt nur für dieses Profil und verwendet das Ergebnis der Profilkonfiguration. Dies ist der letzte Erweiterungsschritt vor dem erneuten Anwenden der App-Einstellungen.", - "order": "Reihenfolge: Originalprofil → App-Einstellungen → Globale Erweiterungskonfiguration → Globales Erweiterungsskript → Profilerweiterungskonfiguration → Profilerweiterungsskript → App-Einstellungen erneut anwenden", + "order": "Reihenfolge: Originalprofil → App-Einstellungen → Globale Erweiterungskonfiguration → Globales Erweiterungsskript → Profilerweiterungskonfiguration → Profilerweiterungsskript → App-Einstellungen erneut anwenden", "settingsPriority": "Hinweis: Von den App-Einstellungen verwaltete Felder übernehmen in der endgültigen Konfiguration immer deren Werte. Änderungen dieser Felder in Erweiterungen haben keine Wirkung." } }, diff --git a/src/locales/en/profiles.json b/src/locales/en/profiles.json index a3e9eff2d..cfccf1ea3 100644 --- a/src/locales/en/profiles.json +++ b/src/locales/en/profiles.json @@ -203,7 +203,7 @@ "globalScript": "Applies to all profiles, using the result of the global config merge. The profile config and profile script can still change the result.", "profileMerge": "Applies only to this profile, after the global config and global script. The profile script can still change the result.", "profileScript": "Applies only to this profile, using the result of the profile config merge. This is the last extension step before app settings are reapplied.", - "order": "Order: Original profile → App settings → Global extend config → Global extend script → Profile extend config → Profile extend script → App settings reapplied", + "order": "Order: Original profile → App settings → Global extend config → Global extend script → Profile extend config → Profile extend script → App settings reapplied", "settingsPriority": "Note: Fields managed by app settings always use those settings in the final config. Changing these fields in extensions has no effect." } }, diff --git a/src/locales/es/profiles.json b/src/locales/es/profiles.json index 38886dabd..647709d80 100644 --- a/src/locales/es/profiles.json +++ b/src/locales/es/profiles.json @@ -203,7 +203,7 @@ "globalScript": "Se aplica a todos los perfiles sobre el resultado de combinar la configuración global. La configuración y el script del perfil aún pueden modificar el resultado.", "profileMerge": "Se aplica solo a este perfil, después de la configuración y el script globales. El script del perfil aún puede modificar el resultado.", "profileScript": "Se aplica solo a este perfil sobre el resultado de combinar su configuración. Es el último paso de extensión antes de volver a aplicar los ajustes de la aplicación.", - "order": "Orden: Perfil original → Ajustes de la aplicación → Configuración de extensión global → Script de extensión global → Configuración de extensión del perfil → Script de extensión del perfil → Reaplicar ajustes de la aplicación", + "order": "Orden: Perfil original → Ajustes de la aplicación → Configuración de extensión global → Script de extensión global → Configuración de extensión del perfil → Script de extensión del perfil → Reaplicar ajustes de la aplicación", "settingsPriority": "Nota: Los campos gestionados por los ajustes de la aplicación siempre conservan esos valores en la configuración final. Modificarlos en las extensiones no tiene efecto." } }, diff --git a/src/locales/fa/profiles.json b/src/locales/fa/profiles.json index 905a95adb..a2eecf35a 100644 --- a/src/locales/fa/profiles.json +++ b/src/locales/fa/profiles.json @@ -203,7 +203,7 @@ "globalScript": "با استفاده از نتیجهٔ ادغام پیکربندی سراسری روی همهٔ پروفایل‌ها اعمال می‌شود. پیکربندی و اسکریپت پروفایل همچنان می‌توانند نتیجه را تغییر دهند.", "profileMerge": "پس از پیکربندی و اسکریپت سراسری فقط روی این پروفایل اعمال می‌شود. اسکریپت پروفایل همچنان می‌تواند نتیجه را تغییر دهد.", "profileScript": "با استفاده از نتیجهٔ ادغام پیکربندی پروفایل فقط روی این پروفایل اعمال می‌شود. این آخرین مرحلهٔ افزونه پیش از اعمال مجدد تنظیمات برنامه است.", - "order": "ترتیب: پروفایل اصلی ← تنظیمات برنامه ← پیکربندی افزونهٔ سراسری ← اسکریپت افزونهٔ سراسری ← پیکربندی افزونهٔ پروفایل ← اسکریپت افزونهٔ پروفایل ← اعمال مجدد تنظیمات برنامه", + "order": "ترتیب: پروفایل اصلی ← تنظیمات برنامه ← پیکربندی افزونهٔ سراسری ← اسکریپت افزونهٔ سراسری ← پیکربندی افزونهٔ پروفایل ← اسکریپت افزونهٔ پروفایل ← اعمال مجدد تنظیمات برنامه", "settingsPriority": "توجه: فیلدهایی که تنظیمات برنامه مدیریت می‌کند، در پیکربندی نهایی همیشه از مقادیر همان تنظیمات استفاده می‌کنند. تغییر این فیلدها در افزونه‌ها اثری بر پیکربندی نهایی ندارد." } }, diff --git a/src/locales/id/profiles.json b/src/locales/id/profiles.json index cb044b1ae..62bcb8217 100644 --- a/src/locales/id/profiles.json +++ b/src/locales/id/profiles.json @@ -203,7 +203,7 @@ "globalScript": "Berlaku untuk semua profil, menggunakan hasil penggabungan konfigurasi global. Konfigurasi profil dan skrip profil masih dapat mengubah hasilnya.", "profileMerge": "Berlaku hanya untuk profil ini, setelah konfigurasi global dan skrip global. Skrip profil masih dapat mengubah hasilnya.", "profileScript": "Berlaku hanya untuk profil ini, menggunakan hasil penggabungan konfigurasi profil. Ini adalah langkah ekstensi terakhir sebelum pengaturan aplikasi diterapkan kembali.", - "order": "Urutan: Profil asli → Pengaturan aplikasi → Konfigurasi ekstensi global → Skrip ekstensi global → Konfigurasi ekstensi profil → Skrip ekstensi profil → Penerapan ulang pengaturan aplikasi", + "order": "Urutan: Profil asli → Pengaturan aplikasi → Konfigurasi ekstensi global → Skrip ekstensi global → Konfigurasi ekstensi profil → Skrip ekstensi profil → Penerapan ulang pengaturan aplikasi", "settingsPriority": "Catatan: Bidang yang dikelola oleh pengaturan aplikasi selalu menggunakan nilai pengaturan tersebut dalam konfigurasi akhir. Mengubah bidang ini melalui ekstensi tidak berpengaruh." } }, diff --git a/src/locales/jp/profiles.json b/src/locales/jp/profiles.json index 37c933cd8..06e82d4e6 100644 --- a/src/locales/jp/profiles.json +++ b/src/locales/jp/profiles.json @@ -203,7 +203,7 @@ "globalScript": "すべてのプロファイルに適用され、グローバル拡張設定のマージ結果を受け取ります。後続のプロファイル拡張設定・スクリプトで結果を変更できます。", "profileMerge": "このプロファイルのみに適用され、グローバル拡張設定・スクリプトの後にマージされます。後続のプロファイルスクリプトで結果を変更できます。", "profileScript": "このプロファイルのみに適用され、プロファイル拡張設定のマージ結果を受け取ります。アプリ設定が再適用される前の最後の拡張ステップです。", - "order": "実行順序:元のプロファイル → アプリ設定 → グローバル拡張設定 → グローバル拡張スクリプト → プロファイル拡張設定 → プロファイル拡張スクリプト → アプリ設定の再適用", + "order": "実行順序:元のプロファイル → アプリ設定 → グローバル拡張設定 → グローバル拡張スクリプト → プロファイル拡張設定 → プロファイル拡張スクリプト → アプリ設定の再適用", "settingsPriority": "注意:アプリ設定が管理するフィールドは、最終的にアプリ設定の値が優先されます。拡張設定やスクリプトでこれらのフィールドを変更しても反映されません。" } }, diff --git a/src/locales/ko/profiles.json b/src/locales/ko/profiles.json index 903b4b7aa..1c6378a56 100644 --- a/src/locales/ko/profiles.json +++ b/src/locales/ko/profiles.json @@ -203,7 +203,7 @@ "globalScript": "모든 프로필에 적용되며 전역 확장 설정이 병합된 결과를 받습니다. 이후의 프로필 확장 설정 및 스크립트가 결과를 변경할 수 있습니다.", "profileMerge": "이 프로필에만 적용되며 전역 확장 설정 및 스크립트 이후에 병합됩니다. 이후의 프로필 스크립트가 결과를 변경할 수 있습니다.", "profileScript": "이 프로필에만 적용되며 프로필 확장 설정이 병합된 결과를 받습니다. 앱 설정이 다시 적용되기 전의 마지막 확장 단계입니다.", - "order": "실행 순서: 원본 프로필 → 앱 설정 → 전역 확장 설정 → 전역 확장 스크립트 → 프로필 확장 설정 → 프로필 확장 스크립트 → 앱 설정 재적용", + "order": "실행 순서: 원본 프로필 → 앱 설정 → 전역 확장 설정 → 전역 확장 스크립트 → 프로필 확장 설정 → 프로필 확장 스크립트 → 앱 설정 재적용", "settingsPriority": "참고: 앱 설정이 관리하는 필드는 최종 구성에서 항상 앱 설정의 값을 사용합니다. 확장 설정이나 스크립트에서 이 필드를 변경해도 반영되지 않습니다." } }, diff --git a/src/locales/ru/profiles.json b/src/locales/ru/profiles.json index 262b12177..86bf37e05 100644 --- a/src/locales/ru/profiles.json +++ b/src/locales/ru/profiles.json @@ -203,7 +203,7 @@ "globalScript": "Применяется ко всем профилям после объединения с глобальной конфигурацией. Конфигурация и скрипт профиля ещё могут изменить результат.", "profileMerge": "Применяется только к этому профилю после глобальной конфигурации и глобального скрипта. Скрипт профиля ещё может изменить результат.", "profileScript": "Применяется только к этому профилю после объединения с его конфигурацией. Это последний шаг расширения перед повторным применением настроек приложения.", - "order": "Порядок: Исходный профиль → Настройки приложения → Глобальная конфигурация расширения → Глобальный скрипт расширения → Конфигурация расширения профиля → Скрипт расширения профиля → Повторное применение настроек приложения", + "order": "Порядок: Исходный профиль → Настройки приложения → Глобальная конфигурация расширения → Глобальный скрипт расширения → Конфигурация расширения профиля → Скрипт расширения профиля → Повторное применение настроек приложения", "settingsPriority": "Примечание: Поля, управляемые настройками приложения, в итоговой конфигурации всегда используют значения этих настроек. Изменения таких полей в расширениях не действуют." } }, diff --git a/src/locales/tr/profiles.json b/src/locales/tr/profiles.json index 6c4540892..40f810c81 100644 --- a/src/locales/tr/profiles.json +++ b/src/locales/tr/profiles.json @@ -203,7 +203,7 @@ "globalScript": "Genel yapılandırmanın birleştirilmiş sonucunu kullanarak tüm profillere uygulanır. Profil yapılandırması ve profil betiği sonucu hâlâ değiştirebilir.", "profileMerge": "Genel yapılandırma ve genel betikten sonra yalnızca bu profile uygulanır. Profil betiği sonucu hâlâ değiştirebilir.", "profileScript": "Profil yapılandırmasının birleştirilmiş sonucunu kullanarak yalnızca bu profile uygulanır. Uygulama ayarları yeniden uygulanmadan önceki son genişletme adımıdır.", - "order": "Sıra: Özgün profil → Uygulama ayarları → Genel genişletme yapılandırması → Genel genişletme betiği → Profil genişletme yapılandırması → Profil genişletme betiği → Uygulama ayarlarının yeniden uygulanması", + "order": "Sıra: Özgün profil → Uygulama ayarları → Genel genişletme yapılandırması → Genel genişletme betiği → Profil genişletme yapılandırması → Profil genişletme betiği → Uygulama ayarlarının yeniden uygulanması", "settingsPriority": "Not: Uygulama ayarları tarafından yönetilen alanlar, son yapılandırmada her zaman bu ayarların değerlerini kullanır. Bu alanları genişletmelerde değiştirmenin etkisi yoktur." } }, diff --git a/src/locales/tt/profiles.json b/src/locales/tt/profiles.json index c5d3bec04..6d2e70e45 100644 --- a/src/locales/tt/profiles.json +++ b/src/locales/tt/profiles.json @@ -203,7 +203,7 @@ "globalScript": "Глобаль конфигурацияне берләштерү нәтиҗәсен кулланып, барлык профильләргә кулланыла. Профиль конфигурациясе һәм профиль скрипты нәтиҗәне әле үзгәртә ала.", "profileMerge": "Глобаль конфигурация һәм глобаль скрипттан соң шушы профильгә генә кулланыла. Профиль скрипты нәтиҗәне әле үзгәртә ала.", "profileScript": "Профиль конфигурациясен берләштерү нәтиҗәсен кулланып, шушы профильгә генә кулланыла. Бу — кушымта көйләүләрен яңадан куллану алдыннан соңгы киңәйтү адымы.", - "order": "Тәртип: Башлангыч профиль → Кушымта көйләүләре → Глобаль киңәйтү конфигурациясе → Глобаль киңәйтү скрипты → Профиль киңәйтү конфигурациясе → Профиль киңәйтү скрипты → Кушымта көйләүләрен яңадан куллану", + "order": "Тәртип: Башлангыч профиль → Кушымта көйләүләре → Глобаль киңәйтү конфигурациясе → Глобаль киңәйтү скрипты → Профиль киңәйтү конфигурациясе → Профиль киңәйтү скрипты → Кушымта көйләүләрен яңадан куллану", "settingsPriority": "Искәрмә: Кушымта көйләүләре идарә иткән кырлар соңгы конфигурациядә һәрвакыт шул көйләүләрнең кыйммәтләрен куллана. Бу кырларны киңәйтүләрдә үзгәртү тәэсир итми." } }, diff --git a/src/locales/zh/profiles.json b/src/locales/zh/profiles.json index 9fa04964f..65c5887e2 100644 --- a/src/locales/zh/profiles.json +++ b/src/locales/zh/profiles.json @@ -203,7 +203,7 @@ "globalScript": "对所有订阅生效,接收全局扩展配置合并后的结果;后续的订阅扩展配置和订阅脚本仍可修改结果。", "profileMerge": "仅对当前订阅生效,在全局扩展配置和全局脚本之后合并;后续的订阅脚本仍可修改结果。", "profileScript": "仅对当前订阅生效,接收订阅扩展配置合并后的结果,是应用设置回写前的最后一个扩展步骤。", - "order": "执行顺序:订阅原文 → 应用设置 → 全局扩展配置 → 全局扩展脚本 → 订阅扩展配置 → 订阅扩展脚本 → 应用设置回写", + "order": "执行顺序:订阅原文 → 应用设置 → 全局扩展配置 → 全局扩展脚本 → 订阅扩展配置 → 订阅扩展脚本 → 应用设置回写", "settingsPriority": "注意:由应用设置接管的字段最终以应用设置为准,在扩展配置或脚本中修改这些字段不会生效。" } }, diff --git a/src/locales/zhtw/profiles.json b/src/locales/zhtw/profiles.json index e96939842..7b141c266 100644 --- a/src/locales/zhtw/profiles.json +++ b/src/locales/zhtw/profiles.json @@ -203,7 +203,7 @@ "globalScript": "對所有訂閱生效,接收全域擴充設定合併後的結果;後續的訂閱擴充設定和訂閱腳本仍可修改結果。", "profileMerge": "僅對目前訂閱生效,在全域擴充設定和全域腳本之後合併;後續的訂閱腳本仍可修改結果。", "profileScript": "僅對目前訂閱生效,接收訂閱擴充設定合併後的結果,是應用程式設定回寫前的最後一個擴充步驟。", - "order": "執行順序:訂閱原文 → 應用程式設定 → 全域擴充設定 → 全域擴充腳本 → 訂閱擴充設定 → 訂閱擴充腳本 → 應用程式設定回寫", + "order": "執行順序:訂閱原文 → 應用程式設定 → 全域擴充設定 → 全域擴充腳本 → 訂閱擴充設定 → 訂閱擴充腳本 → 應用程式設定回寫", "settingsPriority": "注意:由應用程式設定接管的欄位最終以應用程式設定為準,在擴充設定或腳本中修改這些欄位不會生效。" } },