mirror of
https://github.com/shuaiplus/nodewarden.git
synced 2026-06-20 13:00:39 +00:00
feat: add domain rules management feature
- Introduced a new DomainRulesPage component for managing custom and global equivalent domains. - Updated AppMainRoutes to include a route for domain rules. - Added API functions to fetch and save domain rules. - Enhanced localization with new strings for domain rules in multiple languages. - Updated styles for the new domain rules interface and ensured responsiveness. - Added types for domain rules in the TypeScript definitions.
This commit is contained in:
@@ -874,7 +874,28 @@ const en: Record<string, string> = {
|
||||
"txt_status_inactive": "Inactive",
|
||||
"txt_language": "Language",
|
||||
"txt_display_language": "Display language",
|
||||
"txt_language_saved_locally": "This preference is saved in this browser and used before the app loads next time."
|
||||
"txt_language_saved_locally": "This preference is saved in this browser and used before the app loads next time.",
|
||||
"nav_domain_rules": "Domain Rules",
|
||||
"txt_domain_rules_description": "Mark sites that share one login as equivalent domains. Global rules come from the preset list; custom rules only affect your own matching.",
|
||||
"txt_submit_pr": "Submit PR",
|
||||
"txt_custom_equivalent_domains": "Custom equivalent domains",
|
||||
"txt_global_equivalent_domains": "Global equivalent domains",
|
||||
"txt_domain_group": "Domain group",
|
||||
"txt_no_custom_domain_rules": "No custom domain rules",
|
||||
"txt_no_domain_rules_found": "No domain rules found",
|
||||
"txt_search_domains": "Search domains",
|
||||
"txt_domain_rules_saved": "Domain rules saved",
|
||||
"txt_domain_rules_save_failed": "Saving domain rules failed",
|
||||
"txt_domain_rules_load_failed": "Loading domain rules failed",
|
||||
"txt_domain_rules_invalid_response": "Invalid domain rules response",
|
||||
"txt_domain_rules_refreshed": "Domain rules refreshed",
|
||||
"txt_saving": "Saving...",
|
||||
"txt_domain_rule_needs_two_domains": "Each domain rule needs at least two domains.",
|
||||
"txt_domain_rule_invalid_domains": "Please enter valid domains, such as example.com.",
|
||||
"txt_add_domain": "Add domain",
|
||||
"txt_expand": "Expand",
|
||||
"txt_collapse": "Collapse",
|
||||
"txt_remove_domain": "Remove domain"
|
||||
};
|
||||
|
||||
export default en;
|
||||
|
||||
@@ -874,7 +874,28 @@ const es: Record<string, string> = {
|
||||
"txt_status_inactive": "Inactivo",
|
||||
"txt_language": "Idioma",
|
||||
"txt_display_language": "Idioma de visualización",
|
||||
"txt_language_saved_locally": "Esta preferencia se guarda en este navegador y se usa antes de que la aplicación cargue la próxima vez."
|
||||
"txt_language_saved_locally": "Esta preferencia se guarda en este navegador y se usa antes de que la aplicación cargue la próxima vez.",
|
||||
"nav_domain_rules": "Reglas de dominio",
|
||||
"txt_domain_rules_description": "Marca los sitios que comparten un inicio de sesión como dominios equivalentes. Las reglas globales vienen de la lista predefinida; las personalizadas solo afectan tus coincidencias.",
|
||||
"txt_submit_pr": "Enviar PR",
|
||||
"txt_custom_equivalent_domains": "Dominios equivalentes personalizados",
|
||||
"txt_global_equivalent_domains": "Dominios equivalentes globales",
|
||||
"txt_domain_group": "Grupo de dominios",
|
||||
"txt_no_custom_domain_rules": "No hay reglas de dominio personalizadas",
|
||||
"txt_no_domain_rules_found": "No se encontraron reglas de dominio",
|
||||
"txt_search_domains": "Buscar dominios",
|
||||
"txt_domain_rules_saved": "Reglas de dominio guardadas",
|
||||
"txt_domain_rules_save_failed": "No se pudieron guardar las reglas de dominio",
|
||||
"txt_domain_rules_load_failed": "No se pudieron cargar las reglas de dominio",
|
||||
"txt_domain_rules_invalid_response": "Respuesta de reglas de dominio no válida",
|
||||
"txt_domain_rules_refreshed": "Reglas de dominio actualizadas",
|
||||
"txt_saving": "Guardando...",
|
||||
"txt_domain_rule_needs_two_domains": "Cada regla de dominio necesita al menos dos dominios.",
|
||||
"txt_domain_rule_invalid_domains": "Introduce dominios válidos, como example.com.",
|
||||
"txt_add_domain": "Añadir dominio",
|
||||
"txt_expand": "Expandir",
|
||||
"txt_collapse": "Contraer",
|
||||
"txt_remove_domain": "Quitar dominio"
|
||||
};
|
||||
|
||||
export default es;
|
||||
|
||||
@@ -874,7 +874,28 @@ const ru: Record<string, string> = {
|
||||
"txt_status_inactive": "Неактивный",
|
||||
"txt_language": "Язык",
|
||||
"txt_display_language": "Язык дисплея",
|
||||
"txt_language_saved_locally": "Этот выбор сохраняется в текущем браузере и применяется при следующей загрузке приложения."
|
||||
"txt_language_saved_locally": "Этот выбор сохраняется в текущем браузере и применяется при следующей загрузке приложения.",
|
||||
"nav_domain_rules": "Правила доменов",
|
||||
"txt_domain_rules_description": "Отмечайте сайты с одним логином как эквивалентные домены. Глобальные правила берутся из готового списка, а пользовательские влияют только на ваши совпадения.",
|
||||
"txt_submit_pr": "Отправить PR",
|
||||
"txt_custom_equivalent_domains": "Пользовательские эквивалентные домены",
|
||||
"txt_global_equivalent_domains": "Глобальные эквивалентные домены",
|
||||
"txt_domain_group": "Группа доменов",
|
||||
"txt_no_custom_domain_rules": "Нет пользовательских правил доменов",
|
||||
"txt_no_domain_rules_found": "Правила доменов не найдены",
|
||||
"txt_search_domains": "Поиск доменов",
|
||||
"txt_domain_rules_saved": "Правила доменов сохранены",
|
||||
"txt_domain_rules_save_failed": "Не удалось сохранить правила доменов",
|
||||
"txt_domain_rules_load_failed": "Не удалось загрузить правила доменов",
|
||||
"txt_domain_rules_invalid_response": "Недопустимый ответ правил доменов",
|
||||
"txt_domain_rules_refreshed": "Правила доменов обновлены",
|
||||
"txt_saving": "Сохранение...",
|
||||
"txt_domain_rule_needs_two_domains": "В каждом правиле доменов должно быть не менее двух доменов.",
|
||||
"txt_domain_rule_invalid_domains": "Введите корректные домены, например example.com.",
|
||||
"txt_add_domain": "Добавить домен",
|
||||
"txt_expand": "Развернуть",
|
||||
"txt_collapse": "Свернуть",
|
||||
"txt_remove_domain": "Удалить домен"
|
||||
};
|
||||
|
||||
export default ru;
|
||||
|
||||
@@ -874,7 +874,28 @@ const zhCN: Record<string, string> = {
|
||||
"txt_status_inactive": "未激活",
|
||||
"txt_language": "语言",
|
||||
"txt_display_language": "显示语言",
|
||||
"txt_language_saved_locally": "此偏好会保存在当前浏览器中,下次打开应用前就会生效。"
|
||||
"txt_language_saved_locally": "此偏好会保存在当前浏览器中,下次打开应用前就会生效。",
|
||||
"nav_domain_rules": "域名规则",
|
||||
"txt_domain_rules_description": "多个网站共用同一登录信息时,可将它们设为等效域名;全局规则来自预置列表,自定义规则只影响你自己的匹配。",
|
||||
"txt_submit_pr": "提交 PR",
|
||||
"txt_custom_equivalent_domains": "自定义等效域名",
|
||||
"txt_global_equivalent_domains": "全局等效域名",
|
||||
"txt_domain_group": "域名组",
|
||||
"txt_no_custom_domain_rules": "暂无自定义域名规则",
|
||||
"txt_no_domain_rules_found": "未找到域名规则",
|
||||
"txt_search_domains": "搜索域名",
|
||||
"txt_domain_rules_saved": "域名规则已保存",
|
||||
"txt_domain_rules_save_failed": "保存域名规则失败",
|
||||
"txt_domain_rules_load_failed": "加载域名规则失败",
|
||||
"txt_domain_rules_invalid_response": "域名规则响应无效",
|
||||
"txt_domain_rules_refreshed": "域名规则已刷新",
|
||||
"txt_saving": "保存中...",
|
||||
"txt_domain_rule_needs_two_domains": "每条域名规则至少需要两个域名。",
|
||||
"txt_domain_rule_invalid_domains": "请输入有效域名,例如 example.com。",
|
||||
"txt_add_domain": "新增域名",
|
||||
"txt_expand": "展开",
|
||||
"txt_collapse": "收起",
|
||||
"txt_remove_domain": "移除域名"
|
||||
};
|
||||
|
||||
export default zhCN;
|
||||
|
||||
@@ -874,7 +874,28 @@ const zhTW: Record<string, string> = {
|
||||
"txt_status_inactive": "未激活",
|
||||
"txt_language": "語言",
|
||||
"txt_display_language": "顯示語言",
|
||||
"txt_language_saved_locally": "此偏好會保存在當前瀏覽器中,下次打開應用前就會生效。"
|
||||
"txt_language_saved_locally": "此偏好會保存在當前瀏覽器中,下次打開應用前就會生效。",
|
||||
"nav_domain_rules": "域名規則",
|
||||
"txt_domain_rules_description": "多個網站共用同一登入資訊時,可將它們設為等效域名;全局規則來自預置列表,自定義規則只影響你自己的匹配。",
|
||||
"txt_submit_pr": "提交 PR",
|
||||
"txt_custom_equivalent_domains": "自定義等效域名",
|
||||
"txt_global_equivalent_domains": "全局等效域名",
|
||||
"txt_domain_group": "域名組",
|
||||
"txt_no_custom_domain_rules": "暫無自定義域名規則",
|
||||
"txt_no_domain_rules_found": "未找到域名規則",
|
||||
"txt_search_domains": "搜索域名",
|
||||
"txt_domain_rules_saved": "域名規則已保存",
|
||||
"txt_domain_rules_save_failed": "保存域名規則失敗",
|
||||
"txt_domain_rules_load_failed": "加載域名規則失敗",
|
||||
"txt_domain_rules_invalid_response": "域名規則響應無效",
|
||||
"txt_domain_rules_refreshed": "域名規則已刷新",
|
||||
"txt_saving": "保存中...",
|
||||
"txt_domain_rule_needs_two_domains": "每條域名規則至少需要兩個域名。",
|
||||
"txt_domain_rule_invalid_domains": "請輸入有效域名,例如 example.com。",
|
||||
"txt_add_domain": "新增域名",
|
||||
"txt_expand": "展開",
|
||||
"txt_collapse": "收起",
|
||||
"txt_remove_domain": "移除域名"
|
||||
};
|
||||
|
||||
export default zhTW;
|
||||
|
||||
Reference in New Issue
Block a user