Skip to content

Latest commit

 

History

History
139 lines (115 loc) · 4.45 KB

File metadata and controls

139 lines (115 loc) · 4.45 KB

Settings Page Vietnamization Summary

Tổng quan

Đã việt hóa hoàn toàn trang Settings và cải thiện phần Appearance để có thể đổi theme, ngôn ngữ và đơn vị tiền tệ thực tế thay vì chỉ dropdown tượng trưng.

Các thay đổi đã thực hiện

1. Tạo file ngôn ngữ

  • src/locales/en_US/settings.json - Bản dịch tiếng Anh
  • src/locales/vi_VN/settings.json - Bản dịch tiếng Việt
  • Cập nhật src/lib/locale.ts - Thêm settings namespace

2. Tạo các component mới

  • src/components/settings/ThemeSelector.tsx - Component chọn theme với useTheme
  • src/components/settings/LanguageSelector.tsx - Component chọn ngôn ngữ với useLanguage
  • src/components/settings/CurrencySelector.tsx - Component chọn tiền tệ

3. Cập nhật trang Settings

  • Thêm useTranslations hook để sử dụng bản dịch
  • Việt hóa tất cả text trong trang settings
  • Thay thế dropdown tượng trưng bằng các component thực tế
  • Tích hợp với hệ thống theme và language hiện có

Tính năng mới

Theme Selection

  • Sử dụng useTheme từ next-themes
  • Hỗ trợ Light, Dark, System themes
  • Tự động cập nhật giao diện

Language Selection

  • Sử dụng useLanguage hook hiện có
  • Hỗ trợ English (US) và Tiếng Việt (VN)
  • Tự động cập nhật ngôn ngữ toàn bộ app

Currency Selection

  • Dropdown chọn tiền tệ với các option:
    • USD ($) - Đô la Mỹ
    • VND (₫) - Đồng Việt Nam
    • EUR (€) - Euro
  • Tích hợp với form state

Cấu trúc file ngôn ngữ

English (en_US/settings.json)

{
  "title": "Settings",
  "subtitle": "Manage your store configuration and preferences.",
  "tabs": {
    "store": "Store",
    "notifications": "Notifications",
    "appearance": "Appearance",
    "security": "Security",
    "shipping": "Shipping", 
    "payment": "Payment"
  },
  "appearance": {
    "title": "Appearance Settings",
    "description": "Customize the look and feel of your admin panel.",
    "theme": "Theme",
    "language": "Language",
    "currency": "Currency",
    "timezone": "Timezone"
  }
  // ... và nhiều hơn nữa
}

Vietnamese (vi_VN/settings.json)

{
  "title": "Cài đặt",
  "subtitle": "Quản lý cấu hình cửa hàng và tùy chọn cá nhân.",
  "tabs": {
    "store": "Cửa hàng",
    "notifications": "Thông báo",
    "appearance": "Giao diện",
    "security": "Bảo mật",
    "shipping": "Vận chuyển",
    "payment": "Thanh toán"
  },
  "appearance": {
    "title": "Cài đặt giao diện", 
    "description": "Tùy chỉnh giao diện và cảm nhận của bảng quản trị.",
    "theme": "Chủ đề",
    "language": "Ngôn ngữ",
    "currency": "Tiền tệ",
    "timezone": "Múi giờ"
  }
  // ... và nhiều hơn nữa
}

Cách sử dụng

1. Chuyển đổi ngôn ngữ

  • Vào Settings > Appearance
  • Chọn Language dropdown
  • Chọn English (US) hoặc Tiếng Việt (VN)
  • Toàn bộ trang sẽ được dịch ngay lập tức

2. Thay đổi theme

  • Vào Settings > Appearance
  • Chọn Theme dropdown
  • Chọn Light, Dark, hoặc System
  • Giao diện sẽ thay đổi ngay lập tức

3. Chọn tiền tệ

  • Vào Settings > Appearance
  • Chọn Currency dropdown
  • Chọn USD, VND, hoặc EUR
  • Cài đặt sẽ được lưu trong form state

Lợi ích

  1. Trải nghiệm người dùng tốt hơn: Giao diện hoàn toàn bằng tiếng Việt
  2. Tính năng thực tế: Không còn dropdown tượng trưng
  3. Tích hợp hoàn hảo: Sử dụng hệ thống theme/language hiện có
  4. Dễ mở rộng: Có thể thêm ngôn ngữ/tiền tệ mới dễ dàng
  5. Consistent: Cùng pattern với AppHeader

Files đã thay đổi

Mới tạo:

  • src/locales/en_US/settings.json
  • src/locales/vi_VN/settings.json
  • src/components/settings/ThemeSelector.tsx
  • src/components/settings/LanguageSelector.tsx
  • src/components/settings/CurrencySelector.tsx

Đã cập nhật:

  • src/lib/locale.ts - Thêm settings namespace
  • src/app/(admin)/(others-pages)/settings/page.tsx - Việt hóa và tích hợp components

Kết quả

Trang Settings giờ đây hoàn toàn được việt hóa và có đầy đủ tính năng thay đổi theme, ngôn ngữ và tiền tệ thực tế, tương tự như AppHeader đã triển khai.