Hướng dẫn dịch PHP và quốc tế hóa trang web

more

Yee

Aug 03, 2024

cover-img

Dịch PHP và quốc tế hóa trang web

Nhu cầu dịch các tệp PHP thường xuất hiện trong các trang web và ứng dụng Web để hỗ trợ đa ngôn ngữ. Điều này cho phép trang web hiển thị nội dung tương ứng theo sở thích ngôn ngữ của người dùng.

Dịch thuật và thực hành dự án

Chúng tôi đã thành công trong việc quốc tế hóa trang web trong nhiều dự án, dưới đây là một phương án mà chúng tôi đã sử dụng.

Trước tiên, chúng tôi đã chọn O.Translator để hoàn thành việc dịch các tệp PHP, phần sau sẽ giới thiệu ngắn gọn về cách sử dụng cụ thể của nó.

O.Translator là một nền tảng dịch tài liệu trực tuyến, hỗ trợ dịch các tệp PHP và có thể dịch sang hơn 70 ngôn ngữ trên toàn cầu.

Thông qua việc sử dụng O.Translator, chúng tôi có thể trực tiếp dịch các tệp PHP sang nhiều ngôn ngữ đích khác nhau, sau đó tải động trong dự án dựa trên ngôn ngữ mà người dùng lựa chọn, từ đó thực hiện hỗ trợ đa ngôn ngữ cho trang web.

Dưới đây là phương án thực tiễn cụ thể:

Cấu trúc thư mục

Giả sử cấu trúc thư mục dự án của bạn như sau:

project_root/
├── index.php
├── example.en.php
├── example.cn.php
├── example.fr.php

Tạo tệp văn bản

Tạo và chỉnh sửa tệp văn bản tĩnh PHP cho một ngôn ngữ, ở đây chúng ta lấy ví dụ là tiếng Trung.

example.cn.php

Dịch sang các ngôn ngữ khác

Truy cập trang chủ O.Translator.

Nhấn vào nút bắt đầu dịch, hoàn tất đăng nhập.

O.Translator

Tải lên tệp và chọn ngôn ngữ theo nhu cầu, nhấn bắt đầu dịch.

O.Translator

Chờ đợi dịch hoàn tất, bạn sẽ nhận được bản dịch ngôn ngữ mục tiêu.

O.Translator

example.en.php

O.Translator cung cấp bản xem trước miễn phí, bản xem trước này sẽ dịch một phần nội dung để người dùng tham khảo, và chỉ khi hài lòng với kết quả, người dùng mới cần thanh toán điểm để dịch phần còn lại.

Đây là một trong những lý do chúng tôi chọn O.Translator: Không bao giờ phải trả tiền cho sản phẩm không hài lòng.

Tệp chính(index.php)

Trong tệp chính index.php, tải tệp ngôn ngữ tương ứng dựa trên lựa chọn ngôn ngữ của người dùng.

<?php

 // ...

$lang = isset($_GET['lang']) ? $_GET['lang'] : 'en';

switch($lang) {
    case 'en':
        include('example.en.php');
        break;
    case 'cn':
        include('example.cn.php');
        break;
    case 'fr':
        include('example.fr.php');
        break;
    default:
        include('example.en.php');
        break;
}

 // ...

?>

Sử dụng trong mẫu html như sau:

<!DOCTYPE html>
<html lang="<?php echo $lang; ?>">
  <head>
    <meta charset="UTF-8" />
    <title><?php echo $_['heading_home']; ?></title>
  </head>
  <body>
    <header>
      <h1><?php echo $_['heading_home']; ?></h1>
      <nav>
        <ul>
          <li><?php echo $_['heading_about']; ?></li>
          <li><?php echo $_['button_read_more']; ?></li>
        </ul>
      </nav>
    </header>
  </body>
</html>

Giải thích bổ sung

  • Lấy lựa chọn ngôn ngữ của người dùng

Ở đây giả sử thông qua tham số GET (ví dụ ?lang=en) để lấy ngôn ngữ mà người dùng đã chọn. Bạn cũng có thể sử dụng các phương pháp khác, như session, cookie hoặc tùy chọn ngôn ngữ của trình duyệt.

  • Vấn đề hiệu suất

Nếu thường xuyên tải và phân tích nhiều tệp PHP, có thể sẽ có một số chi phí hiệu suất nhất định.

  • Khả năng mở rộng

Khi số lượng ngôn ngữ hoặc nội dung rất nhiều, việc quản lý nhiều tệp ngôn ngữ có thể trở nên phức tạp.

Chủ đề

Tình huống

Tình huống

Bài viết đã xuất bản9

Đề xuất đọc