Php dịch gettext

Các hàm gettext triển khai API NLS [Hỗ trợ ngôn ngữ bản địa] có thể được sử dụng để quốc tế hóa các ứng dụng PHP của bạn

Việc dịch các chuỗi có thể được thực hiện bằng PHP bằng cách đặt ngôn ngữ, thiết lập các bảng dịch của bạn và gọi gettext[] trên bất kỳ chuỗi nào bạn muốn dịch

myPHPApp.po

________2

gettext[] loads a given post-complied .po file, a .mo. which maps your to-be translated strings as above.

After this small bit of setup code, translations will now be looked for in the following file:

  • ./locale/fr_FR/LC_MESSAGES/myPHPApp.mo

    Bất cứ khi nào bạn gọi cho gettext['some string'], nếu

    0 đã được dịch trong tệp 
    1, bản dịch sẽ được trả lại. Nếu không, 
    0 sẽ được trả lại chưa được dịch

    Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt, thiết lập và tạo các bản dịch đơn giản bằng PHP gettext. Hãy xem khóa học này để có hướng dẫn chuyên sâu hơn về quốc tế hóa [i18n] với PHP

    gettext là gì?

    Vào đầu những năm 1990, khi máy tính thực sự trở nên toàn cầu, các lập trình viên đã nhận ra tầm quan trọng của việc tạo ra các phiên bản đa ngôn ngữ cho phần mềm của họ. Đây không chỉ là một vấn đề dịch thuật; . Các lập trình viên thường phải tạo nhiều bản sao của cùng một mã để phục vụ các phiên bản khác nhau của trang web bằng ngôn ngữ địa phương

    Để khắc phục vấn đề này, Sun Microsystems đã phát triển một hệ thống gọi là gettext vào những năm 1990. Vài năm sau, Dự án GNU đã phát hành GNU gettext, đây là một triển khai mã nguồn mở của hệ thống gettext của Sun

    Sử dụng gettextis tương đối đơn giản về nguyên tắc. Nó liên quan đến việc sửa đổi mã nguồn gốc tiếng Anh để bao gồm chức năng gettext[string]. gettext sau đó trả về ngôn ngữ cục bộ của chuỗi đã chỉ định được lưu trữ trong tệp bên ngoài

    Trong những năm qua, gettext đã được triển khai bằng nhiều ngôn ngữ, bao gồm C++, C#, ASP. net, Perl, Ruby và tất nhiên là PHP. Hiện nó là hệ thống quốc tế hóa tiêu chuẩn [rút gọn thành i18n – i-18 alphabets-n] giữa các ngôn ngữ

    Sử dụng gettext trong PHP

    Cài đặt

    Ghi chú. Hướng dẫn này giả định rằng bạn đã cài đặt máy chủ web PHP và Apache trên máy cục bộ của mình. Nếu bạn chưa có, hãy lấy một bản sao của XAMPP. Tìm hiểu cách cài đặt và kích hoạt XAMPP trong hướng dẫn này

    Để sử dụng gettext trong PHP, trước tiên bạn cần tải xuống và cài đặt một bản sao của GNU gettext. Người dùng Windows có thể tải xuống bản sao từ trang web GNU Windows chính thức. Người dùng Mac và Linux có thể nhận một bản sao tại đây

    Sau khi tải xuống và cài đặt, bạn cần bật gettext trong PHP. Để làm điều này, hãy mở PHP của bạn. ini [nằm trong thư mục gốc PHP] và tìm kiếm “gettext”

    Bạn nên tìm một dòng giống như thế này

    ;extension=php_gettext. dll

    Xóa dấu chấm phẩy [;] khỏi dòng. Đây là những gì PHP của bạn. ini sẽ giống như bây giờ

    Để kiểm tra xem gettext đã được cài đặt đúng hay chưa, hãy tạo một tệp mới có tên là test. php và thêm đoạn mã sau vào nó

    Lưu tệp này trong thư mục htdocs trong thư mục xampp chính của bạn [thường là c. \xampp\htdocs]. Bây giờ hãy đảm bảo rằng máy chủ web Apache đã được bật, sau đó điều hướng đến localhost\test. php trong trình duyệt của bạn

    Nếu gettext được cài đặt đúng cách, bạn sẽ thấy thông báo này

    Hoàn toàn mới đối với PHP?

    Thiết lập môi trường gettext

    Hàm gettext yêu cầu cấu trúc tệp/thư mục cụ thể để hoạt động

    Trong thư mục gốc của bạn [htdocs\] tạo một thư mục mới có tên Test_Project. Tạo một thư mục khác có tên Locale bên trong nó. Trong thư mục Locale, tạo một thư mục con có tên là en_US. Thư mục con này sẽ chứa một thư mục khác có tên LC_MESSAGES, như hình bên dưới

    Trong cấu trúc trên

    • Test_Project chỉ là tên của dự án ví dụ của chúng tôi. Bạn có thể đặt tên cho bất cứ điều gì
    • Thư mục Locale chứa tất cả các tệp dịch cho các ngôn ngữ khác nhau. Bạn cũng có thể đặt tên cho bất cứ thứ gì, mặc dù Ngôn ngữ là tên tiêu chuẩn
    • en_US chứa các tệp ngôn ngữ cho ngôn ngữ tiếng Anh [Hoa Kỳ]. en_US là từ viết tắt hai phần tiêu chuẩn của ngôn ngữ tiếng Anh [Mỹ]. Tương tự cho tiếng Anh [Anh] là en_GB. Bạn phải đặt tên thư mục này chính xác như ngôn ngữ bạn muốn dịch mã sang. Ví dụ: nếu bạn muốn giữ bản dịch cho tiếng Tây Ban Nha Colombia, bạn sẽ đặt tên cho thư mục là es_CO. Bạn có thể xem danh sách đầy đủ các mã ngôn ngữ tại đây
    • Thư mục LC_MESSAGES chứa các tin nhắn đã dịch thực tế. Bạn phải giữ nguyên tên thư mục này để gettext hoạt động

    Bạn muốn tạo bản dịch của riêng mình cho khán giả nói tiếng Tây Ban Nha?

    Tạo tệp dịch

    Tất cả các bản dịch trong gettext được lưu trữ trong tệp PO [Portable Object]. Bạn sẽ có khác *. tệp po cho các bản dịch ngôn ngữ khác nhau

    Trước khi bạn có thể tạo mã PHP cho bản dịch, bạn phải tạo mã phù hợp. tập tin po. Bạn có thể sử dụng một chương trình như POEdit để tạo. tập tin po. Bạn có thể tải xuống một bản sao của POEdit tại đây

    Trong POEdit, tạo một tệp dịch mới bằng cách nhấn CTRL + N hoặc chọn Tệp -> Mới

    Bạn sẽ được yêu cầu chọn một ngôn ngữ trong cửa sổ tiếp theo. Chọn “Tiếng Anh [Hoa Kỳ]” ngay bây giờ

    Nhấp vào biểu tượng 'Lưu' để lưu tệp. Đặt tên cho nó là "tin nhắn". Đảm bảo lưu nó trong thư mục LC_MESSAGES

    Bây giờ hãy mở tin nhắn. po trong thư mục en_US. Nó sẽ trông giống như thế này

    Thêm mã sau vào một dòng riêng bên dưới mã trên

    Đây là bản dịch thực tế của chúng tôi

    • Dòng đầu tiên, bắt đầu bằng [#] chỉ là một chú thích
    • msgstr xác định chuỗi văn bản cần dịch
    • msgstr là văn bản đã dịch sẽ thay thế msgid

    Bây giờ hãy lưu. po và mở lại trong POEdit. Nhấn 'Lưu'. Điều này sẽ biên dịch lại bản dịch và làm cho nó sẵn sàng để phân phối

    Tạo tệp PHP

    Tạo một tệp PHP mới và đặt tên là “test_project. php”. Thêm đoạn mã sau vào nó

    Lưu tệp và mở tệp trong trình duyệt web của bạn bằng cách truy cập localhost/Test_Project/test_project. php

    Bạn sẽ thấy chuỗi đã dịch [“Đây là chuỗi đã dịch”], như thế này

    Xin chúc mừng, bạn vừa sử dụng PHP gettext để tạo bản dịch trang web

    PHP là một ngôn ngữ mạnh mẽ nhưng dễ học. Tìm hiểu cách tạo các ứng dụng web mạnh mẽ bằng PHP và MySQL trong khóa học này

    Trang được cập nhật lần cuối. Tháng 6 năm 2014

    Kasia Mikoluk

    Các bài báo gần đây của Kasia Mikoluk

    • CSS Xoay văn bản. Cách thay đổi hướng văn bản bằng CSS
    • Top 60 câu hỏi phỏng vấn Java Lập trình viên Java cần biết
    • Python so với C. Sự khác biệt quan trọng bạn nên biết

    Bài viết được đề xuất

    Phát triển

    Hướng dẫn PHP MVC. Hiểu Model-View-Controller

    Kasia Mikoluk

    Phát triển

    Hướng dẫn phân trang PHP. Làm thế nào để bắt đầu

    Trình chỉnh sửa Udemy

    Phát triển

    Tiêu đề PHP. Hướng dẫn mã hóa tiêu đề XML

    Trình chỉnh sửa Udemy

    Phát triển

    Hiểu về tiêm đối tượng PHP

    Trình chỉnh sửa Udemy

    Phát triển

    Khái niệm cơ bản về phần mềm PHP CRUD

    Trình chỉnh sửa Udemy

    Phát triển

    Xác thực biểu mẫu PHP. Hiểu cách kiểm tra dữ liệu do người dùng gửi

    Trình chỉnh sửa Udemy

    Phát triển

    Khung MVC PHP. Giới thiệu cơ bản

    Trình chỉnh sửa Udemy

    Phát triển

    PHP là gì?

    Tim Buchalka

    Phát triển

    Hàm PHP là gì?

    Julia Sinclair-Jones

    Phát triển

    Hàm PHP STRLEN. Lấy độ dài chuỗi PHP

    Đội Udemy

    Kế tiếp

    Chia sẻ bài viết này

    • Sao chép

    Các khóa học hàng đầu về PHP

    PHP cho người mới bắt đầu - Trở thành chuyên gia PHP - Dự án CMS

    Edwin Diaz, Giải pháp Khoa mã hóa

    4. 4 [23,192]

    Người bán hàng giỏi nhất

    API trong PHP. từ cơ bản đến nâng cao

    Dave Hollingworth

    4. 7 [511]

    Tạo cửa hàng thương mại điện tử bằng PHP

    Mustafa Alawi

    4. 5 [64]

    PHP cho người mới bắt đầu Phần 1. tất cả các mã được sử dụng được giải thích đầy đủ

    Học viện mã hóa

    4. 8 [1,425]

    Hướng đối tượng PHP & MVC

    Brad Traversy

    4. 7 [4,562]

    PHP cho người mới bắt đầu

    Học viện lập trình của Tim Buchalka, Dave Hollingworth

    4. 6 [2.850]

    Hoàn thành các khái niệm PHP OOP cho người mới bắt đầu tuyệt đối + Dự án

    Srini Vanamala

    4. 5 [446]

    Tạo bản sao Netflix từ đầu. JavaScriptPHP + MySQL

    Reece Kenney

    4. 7 [803]

    Khóa học dành cho nhà phát triển PHP hướng đối tượng hoàn chỉnh

    Gary Clarke

    4. 6 [169]

    Kiểm tra đơn vị PHP với PHPUnit

    Dave Hollingworth

    4. 6 [1,823]

    Người bán hàng giỏi nhất

    Xây dựng mạng xã hội từ đầu. JavaScriptPHP + MySQL

    Reece Kenney

    4. 4 [2,829]

    PHP OOP. Lập trình hướng đối tượng cho người mới bắt đầu + Dự án

    Edwin Diaz, Giải pháp Khoa mã hóa

    4. 6 [3,819]

    >

    Các khóa học PHP khác

    Sinh viên PHP cũng học

    Laravel MySQL PHP MVC Phát triển web JavaScript HTML CSS Bootstrap HTML5 Phát triển web Front End Lập trình hướng đối tượng WordPress Full Stack Phát triển web PDO

    Trao quyền cho nhóm của bạn. Dẫn đầu ngành

    Đăng ký thư viện các khóa học trực tuyến và công cụ học tập kỹ thuật số cho tổ chức của bạn với Udemy Business

    Hàm gettext trong PHP là gì?

    gettext — Tra cứu thư trong miền hiện tại . ngettext — Phiên bản số nhiều của gettext. textdomain - Đặt tên miền mặc định.

    Phần mở rộng gettext PHP là gì?

    30 tháng 11 năm 2022 · 16 phút đọc. GNU gettext là gói cung cấp cho các lập trình viên, dịch giả và thậm chí cả người dùng một bộ công cụ được tích hợp tốt cung cấp một khuôn khổ trong đó các gói miễn phí khác có thể tạo ra các thông điệp đa ngôn ngữ.

    Làm cách nào để thêm trình dịch ngôn ngữ trong PHP?

    lớp php Trình biên dịch { private $language = 'en';

    Làm cách nào để kiểm tra ngôn ngữ của văn bản trong PHP?

    Chúng tôi có thể phát hiện ngôn ngữ của trình duyệt yêu cầu bằng cách sử dụng biến siêu toàn cầu $_SERVER của PHP. Nó là một biến siêu toàn cầu chứa thông tin về tiêu đề, đường dẫn và vị trí tập lệnh. Về cơ bản, nó là một mảng kết hợp trong PHP có các khóa như SERVER_NAME, SERVER_ADDR, REQUEST_METHOD, v.v.

Chủ Đề