Skip to content

feat(i18n): Add Traditional Chinese (zh_TW) translation - #1

Open
Med2100 wants to merge 953 commits into
mainfrom
feature/add-traditional-chinese-zh-tw
Open

feat(i18n): Add Traditional Chinese (zh_TW) translation#1
Med2100 wants to merge 953 commits into
mainfrom
feature/add-traditional-chinese-zh-tw

Conversation

@Med2100

@Med2100 Med2100 commented May 8, 2026

Copy link
Copy Markdown
Owner

Summary

Adds full Traditional Chinese (繁體中文, zh_TW) translation to Atlas CMMS covering all platforms.

Files Added

File Location Lines
zh_tw.ts frontend/src/i18n/translations/ 1,835
zh-tw.ts home/src/i18n/translations/ 1,671
zh_tw.ts mobile/i18n/translations/ 1,475
messages_zh_TW.properties api/src/main/resources/ 106
mailMessages_zh_TW.properties api/src/main/resources/ 85

Coverage

  • Frontend web application (all UI strings)
  • Home/marketing website
  • Mobile app (iOS and Android)
  • Backend API messages
  • Email notification templates

Translation Notes

  • Uses standard Traditional Chinese (Taiwan) terminology
  • CMMS-specific terms follow industry conventions
  • All template variables preserved
  • Consistent with existing zh_CN file structure

iib0011 and others added 30 commits April 6, 2026 11:12
…logic

- Introduced `WebhookEndpoint` entity, DTOs, and repository for persistent storage.
- Added `WebhookEndpointService` for creating, updating, deleting, and secret rotation of webhook endpoints.
- Implemented `WebhookEndpointController` for REST API CRUD operations.
- Configured `WebhookDispatchService` to handle webhook payload generation and dispatching with HMAC signature validation.
- Extended `WorkOrderService` to integrate webhook dispatching for `NEW_WORK_ORDER` event.
- Added Liquibase changelog for `webhook_endpoint` table.
- Created enums (`WebhookEvent`, `WOField`, `PartField`) for flexible webhook event and field handling.
…de delete

- Added field mappings in the `WebhookEndpoint` entity for statuses, categories, and fields using `@ElementCollection` and `@ManyToMany`.
- Updated Liquibase changelog to split asset statuses, work order statuses, categories, and fields into separate join tables for normalization.
- Introduced cascade delete for foreign key constraints to ensure proper cleanup of dependencies.
- Registered new changelog for webhook endpoint changes and included it in the master XML file.
- Updated `WebhookEndpointController` to use `@CurrentUser` annotation for cleaner user context handling.
- Created Redux slice for managing webhook endpoints, including actions for CRUD operations and secret rotation.
- Added new components and UI for managing webhook endpoints in the Integrations module.
- Updated i18n translations with keys and labels for webhook-related features.
- Enhanced root reducer with WebhookEndpoints state management.
- Renamed `ApiKeys` to `ApiKeysPage` for consistency with component naming conventions.
- Updated `IntegrationsSettings` to `IntegrationsLayout` and enhanced routing logic for tab navigation.
- Adjusted `Webhooks` and `Integrations` components to include new routing hierarchy.
- Updated translations, imports, and models to align with component changes.
- Introduced `approved` boolean field to support triggering based on approved work requests.
- Updated models, DTOs, and database schema to include the new field.
- Enhanced webhook configurations with field mapping utilities and improved typing for events and fields.
- Simplified Webhooks UI logic for event-specific field visibility.
- Implemented `loadingCreate` state to manage loading indicators in API Keys and Webhooks UI.
- Enhanced `create` button with `CircularProgress` and disabled state during submission.
- Updated Webhook and API Key DTOs to include `serialize` field with default value.
- Removed `occurredAt` and `companyId` fields from `WorkOrderService` payload setup.
- Added these fields to `WebhookDispatchService` for centralized management.
- Integrated `WebhookDispatchService` to dispatch webhooks for new `Part`, `Vendor`, `Request`, `Asset`, and `Location` creation events.
- Included webhook payload generation with relevant IDs and DTO mappings for each service.
- Integrated `WebhookDispatchService` to trigger `WORK_ORDER_DELETE` event upon WorkOrder removal.
- Added payload generation with WorkOrder details for dispatch.
- Updated `delete` method in `WorkOrderService` and adjusted controller logic accordingly.
- Integrated `WebhookDispatchService` to trigger `PART_DELETE` event upon Part removal.
- Updated `delete` method in `PartService` to include payload generation and dispatch logic.
- Modified `PartController` to pass Part object instead of ID for deletion.
…tering

- Integrated `WebhookDispatchService` to trigger `WORK_ORDER_CHANGE` event on updates.
- Added field-level filtering using `WOField` to support precision in webhook event dispatching.
- Enhanced `WorkOrderService` to detect changed fields in update operations and include them in webhook payloads.
- Updated `WebhookEndpointService` to auto-enable serialization for specific event types.
… and Requests

- Integrated `WebhookDispatchService` for status changes in `PartService`, `WorkOrderService`, and `RequestController`.
- Added `WORK_ORDER_STATUS_CHANGE` and `WORK_REQUEST_STATUS_CHANGE` events for granular webhook notifications.
- Enhanced `WOField` to track `STATUS` field changes in WorkOrders.
- Included detailed payload fields for status transitions and reasons in webhook dispatch logic.
- Added logic to dispatch webhooks for WorkOrder and Asset category/status changes.
- Integrated `dispatchAssetStatusChangeWebhook` and enhanced `WebhookDispatchService` with category/status filtering.
- Included payload updates to handle previous and new states for detailed event tracking.
…spatch

- Introduced `detectPatchDTOChangedFields` to identify specific field changes in `PartService`.
- Enhanced webhook payload for `PART_CHANGE` event to include `changedFields`.
- Improved precision in Part update event dispatching with granular field tracking.
- Added webhook dispatch for Part quantity updates in `consumePart` and `PurchaseOrder` workflows.
- Introduced `dispatchPartQuantityChangeWebhook` method for consistent payload generation and dispatch.
- Extended payload with detailed previous and new quantity fields, along with context-specific metadata.
- Added company validation checks for `WorkOrderConfiguration` and `WorkOrderRequestConfiguration` to ensure user can only update configurations belonging to their company.
- Updated exception handling to reuse a common "Forbidden" error instance.
- Added `dispatchPartQuantityChangeWebhook` invocations in Part update workflows, ensuring notifications for quantity modifications.
- Enhanced `dispatchPartQuantityChangeWebhook` to prevent redundant webhooks when quantities remain unchanged.
- Introduced `findByIdWithSubscription` in `CompanyRepository` for lazy-loading subscription details.
- Modified `WebhookDispatchService` to reload company entities in async contexts, mitigating potential LazyInitializationException risks.
- Refined Part-related webhook payloads with additional metadata and updated event keys for consistency.
iib0011 and others added 29 commits April 29, 2026 19:20
- Frontend app: zh_tw.ts (1835 lines)
- Home/website: zh-tw.ts (1671 lines)
- Mobile app: zh_tw.ts (1475 lines)
- API messages: messages_zh_TW.properties (106 lines)
- API mail messages: mailMessages_zh_TW.properties (85 lines)

Full Traditional Chinese (繁體中文) translation covering all UI strings,
notifications, and email templates.
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.

7 participants