Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

quốc tế hóa trang web php

Có một số cách để giải quyết vấn đề này. Không ai trong số họ là "cách tốt nhất" và tất cả chúng đều có vấn đề trong ngắn hạn hoặc dài hạn. Điều đầu tiên phải nói là các trang web đa ngôn ngữ không hề dễ dàng, những người dịch và những người dễ mến nhưng rất khó làm việc và hầu hết các lập trình viên đều coi vấn đề chỉ là vấn đề kỹ thuật. Ngoài ra còn có một khía cạnh khác, nằm ngoài phạm vi của câu trả lời này, về việc bạn đang dịch hay bản địa hóa. Điều này liên quan đến việc xem xét các thông tin thêm về văn hóa của khán giả mục tiêu và sau đó điều chỉnh ngôn ngữ, phong cách, bố cục, màu sắc, kiểu chữ, v.v., cho phù hợp với văn hóa đó. Cuối cùng, không sử dụng MT, Dịch máy, cho bất kỳ điều gì nghiêm trọng hoặc nếu nó cần chính xác và khi có được người dịch, hãy đảm bảo rằng họ đang dịch từ một ngôn ngữ nước ngoài sang ngôn ngữ mẹ đẻ của họ, nghĩa là họ hiểu tất cả các sắc thái của ngôn ngữ đích.

Đúng. Các giải pháp. Trên cơ sở bạn không muốn viết lại trang web thì chỉ cần sao chép trang web bạn có và dịch các bản sao sang ngôn ngữ đích. Giả sử cơ sở mã ổn định, bạn có thể sử dụng VCS để quản lý bất kỳ thay đổi mã nào. Bạn có thể điều chỉnh các phần riêng lẻ của trang web để phù hợp với ngôn ngữ đích, ví dụ:văn bản tiếng Pháp trung bình lớn hơn 30% so với văn bản tiếng Anh tương đương, vì vậy việc sử dụng một trang web để phân phối điều này có nghĩa là bạn có thể (sẽ) gặp vấn đề về định dạng và cần hoán đổi tệp css khác nhau vào và ra tùy thuộc vào ngôn ngữ. Nó có vẻ là một cách phức tạp để làm điều đó, nhưng sau đó các trang web sẽ tồn tại trong bao lâu? Chi phí quản lý khi làm theo cách này có thể ít hơn so với các tùy chọn khác.

Cách thứ hai mà không cần xây dựng lại. Thay thế tất cả nội dung trong trang web hiện tại bằng các thẻ và sau đó đặt ngôn ngữ khác trong tệp hoặc bảng db, đánh giá ngôn ngữ mong muốn của người dùng (bạn có người dùng đã đăng ký có thể đưa ra tùy chọn hay không, hoặc bạn có muốn nhận thẻ ngôn ngữ của trình duyệt không, hoặc là nó sẽ là URL dot-com dot-fr, dot-de đưa ra lựa chọn) và sau đó thay thế các thẻ bằng ngôn ngữ đích. Sau đó, bạn cần giải quyết các vấn đề về kích thước và các vấn đề hình ảnh một cách riêng biệt. Giải pháp này có hiệu lực khi các khung công tác như Symfony và Zend triển khai l10n.

Sau đó, bạn có thể xây dựng lại bằng một khuôn khổ hoặc bằng gettext và có thể có một giải pháp sạch hơn nhưng hãy nhớ rằng các khuôn khổ được thiết kế để giải quyết các vấn đề khác, không phải dịch và thành phần dịch đã đi vào khuôn khổ như một giải pháp từng phần chứ không phải là giải pháp đầy đủ.

Vấn đề lớn với tất cả các giải pháp là bảo trì liên tục. Bởi vì bạn không chỉ có một cơ sở mã mà còn có nhiều cơ sở ngôn ngữ để duy trì. Trừ khi tất cả trong một giải pháp của bạn thực sự thông minh và hiệu quả thì nhiệm vụ đang diễn ra sẽ rất khó khăn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tải enwiki-last-categorylinks.sql vào mysql

  2. Làm cách nào để lấy lại tên người dùng và mật khẩu MySQL của tôi?

  3. .NET CORE MySql MaxPoolSize không được áp dụng trong

  4. Thiết kế cơ sở dữ liệu:hàng tồn kho và hệ thống bán hàng?

  5. có bao nhiêu bảng tham gia tối đa tại mysql? và làm thế nào để đếm nó?