Quốc tế hóa API trong PhalApi: Hướng dẫn triển khai đa ngôn ngữ

PhalApi cung cấp giải pháp nội địa hóa mạnh mẽ, cho phép các nhà phát triển dễ dàng xây dựng hệ thống API hỗ trợ đa ngôn ngữ. Thông qua cơ chế ngôn ngữ tùy chỉnh, các thông báo lỗi hoặc phản hồi có thể tự động điều chỉnh theo ngôn ngữ của người dùng cuối.

Cấu trúc tệp ngôn ngữ

Thư mục language/ đóng vai trò lưu trữ các gói ngôn ngữ. Cấu trúc cơ bản thường bao gồm:

  • language/zh_cn/common.php - Tiếng Trung Giản thể
  • language/en/common.php - Tiếng Anh
  • language/zh_tw/common.php - Tiếng Trung Phồn thể
  • language/de/common.php - Tiếng Đức
  • language/fr/common.php - Tiếng Pháp

Dữ liệu trong mỗi tệp được định nghĩa dưới dạng mảng kết hợp. Ví dụ nội dung tệp language/zh_cn/common.php:

return [
    'Welcome {username} to our system!' => '{username}您好,欢迎使用系统!',
    'Account not found' => '用户不存在',
    'Service Name' => '接口名称',
    'Locale' => '语言',
];

Thiết lập ngôn ngữ mặc định

Tại tệp khởi tạo public/init.php, bạn có thể chỉ định ngôn ngữ mặc định cho toàn bộ hệ thống bằng hàm \PhalApi\SL():

$userLocale = $_COOKIE['lang_pref'] ?? 'zh_cn';
\PhalApi\SL($userLocale);

// Chuyển sang tiếng Anh: \PhalApi\SL('en');

Phương pháp này cho phép ưu tiên sử dụng thiết lập từ Cookie, giúp cá nhân hóa ngôn ngữ hiển thị cho từng phiên người dùng.

Ứng dụng đa ngôn ngữ trong API

Để dịch văn bản trong logic xử lý API, sử dụng hàm \PhalApi\T(). Hàm này hỗ trợ thay thế biến thông qua tham số thứ hai:

$welcomeText = \PhalApi\T('Welcome {username} to our system!', ['username' => 'Minh']);
// Nếu ngôn ngữ hiện tại là 'zh_cn', kết quả trả về sẽ là "Minh您好,欢迎使用系统!"

Mở rộng ngôn ngữ mới

Để thêm hỗ trợ ngôn ngữ mới, ví dụ tiếng Nhật, bạn chỉ cần thực hiện các bước sau:

  • Tạo tệp language/ja/common.php
  • Bổ sung các cặp dịch thuật theo định dạng mảng đã quy định
  • Cập nhật cấu hình ngôn ngữ thành \PhalApi\SL('ja') tại tệp khởi tạo

Mô hình tối ưu cho chuyển đổi ngôn ngữ

  • Lưu trữ tùy chọn: Sử dụng Cookie hoặc cơ sở dữ liệu để ghi nhớ ngôn ngữ mà người dùng đã chọn.
  • Tham số truy vấn: Cho phép thay đổi ngôn ngữ động qua URL, chẳng hạn ?lang=en.
  • Giao diện người dùng: Tích hợp nút chuyển đổi ngôn ngữ ở trang tài liệu API, thiết lập Cookie và tải lại trang.

Kiểm thử đa ngôn ngữ

Tính năng nội địa hóa có thể được kiểm chứng trực tiếp thông qua trang tài liệu API ở public/docs.php. Khi chuyển đổi ngôn ngữ trên giao diện, phản hồi của API sẽ tự động điều chỉnh theo cấu hình ngôn ngữ đã chọn.

Thẻ: PhalApi php i18n Localization rest-api

Đăng vào ngày 8 tháng 10 lúc 10:59