Skip to content

feat: Add i18n support and adapt for Headscale v0.28 (with ACL management)#98

Open
serein-213 wants to merge 8 commits intoGoodiesHQ:mainfrom
serein-213:pr-2-features
Open

feat: Add i18n support and adapt for Headscale v0.28 (with ACL management)#98
serein-213 wants to merge 8 commits intoGoodiesHQ:mainfrom
serein-213:pr-2-features

Conversation

@serein-213
Copy link

Description

This PR integrates Internationalization (i18n) support and updates the admin panel to fully support Headscale v0.28.0 features, including a new ACL management interface.

I have organized the changes into two clean commits for easier review:

  1. i18n: Infrastructure setup and translation extraction.
  2. Features: Headscale v0.28 adaption and ACL UI implementation.

Key Changes

🌐 Internationalization (i18n)

  • Added svelte-i18n to handle localization.
  • Included English (en) and Chinese Simplified (zh) locales.
  • Extracted hardcoded UI strings to locale files.

🚀 Headscale v0.28 Features

  • New ACL Management UI: Added capability to manage Policies, SSH Rules, Groups, and Tag Owners.
  • API Updates: Aligned API services with Headscale v0.27/v0.28 response structures.
  • State Management: Refactored core state using States.svelte.ts for improved reactivity.

Motivation

To make the tool accessible to non-English speakers and to expose the powerful ACL configuration features available in newer Headscale versions.

Testing

  • Verified en/zh language switching.
  • Tested CRUD operations for ACL Policies and Groups against Headscale v0.28.

- Integrated svelte-i18n for localization.

- Extracted hardcoded strings to locale files.

- Added English (en) and Chinese Simplified (zh) localizations.
- Updated API integration for Headscale v0.27/v0.28 changes.

- Added ACL management UI (Policies, SSH Rules, Groups, Tag Owners).

- Refactored state management using States.svelte.ts.
…icies

- Implemented ExportModal for exporting data in JSON and CSV formats.
- Added BatchOperationsBar for batch actions on nodes including delete and tag operations.
- Enhanced nodes, routes, settings, and users pages with export buttons.
- Created export utility functions for various data types.
- Introduced a new page for displaying individual node details.
- Updated Svelte configuration for base path handling.
- Added support for batch operations in the nodes view.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant