Heim Backend-Entwicklung PHP-Tutorial PHP中使用gettext来支持多语言的方法_PHP

PHP中使用gettext来支持多语言的方法_PHP

Jun 01, 2016 pm 12:16 PM
gettext 多语言

我们今天用一个简单的实例说明一下在PHP中的getText的用法(getText是一系列的工具和库函数,帮助程序员和翻译人员开发多语言软件的), 从而实现PHP的i18n.
现在, 我们假设要显示一个返回主页的link:
复制代码 代码如下:
//home.php:
$str = 'home';
print {$str}
HTML;

下面开启我们多语言的开发之旅:
创建pot文件,pot是Portable Object Template的首字母缩写,与po对应的是mo,mo是Machine Object的首字母缩写。前者意指原始的字符串文件,一般用于给翻译人员去修改的,后者则是与机器相关的,一般是供程序读取。可以手工创建pot文件,也可以通过xgettext从代码中抽取字符串来产生。这里是用xgettext来产生的:
xgettext -a home.php -o home.pot
运行该命令后,我们发现,在当前目录下,产生了一个名home.pot的文件,打开该文件,可以看到:
复制代码 代码如下:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-23 20:56+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: home.php:2
msgid "home"
msgstr "

根据pot产生不同语言的po文件,这里我们先产生一个简体中文的po文件:
export LANG=zh_CN.gb2312
msginit -l zh_CN.gb2312 -i home.pot
运行该命令后,我们发现,在当前目录下,产生了一个名zh_CN.po的文件,打开该文件,可以看到:
复制代码 代码如下:
# Chinese translations for PACKAGE package
# PACKAGE 软件包的简体中文翻译.
# Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# , 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-23 20:56+0800\n"
"PO-Revision-Date: 2009-07-23 21:00+0800\n"
"Last-Translator: FULL NAME \n"
"Language-Team: Chinese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=GB2312\n"
"Content-Transfer-Encoding: 8bit\n"
#: test.php:2
msgid "home"
msgstr "

翻译zh_CN.po里对应的字符串为中文:
复制代码 代码如下:
# Chinese translations for PACKAGE package
# PACKAGE 软件包的简体中文翻译.
# Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# , 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-23 20:56+0800\n"
"PO-Revision-Date: 2009-07-23 21:00+0800\n"
"Last-Translator: \n"
"Language-Team: Chinese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=GB2312\n"
"Content-Transfer-Encoding: 8bit\n"
#: test.php:2
msgid "home"
msgstr "主页

根据po文件生成mo文件。
msgfmt zh_CN.po -o zh_CN.mo
运行该命令后,我们发现,在当前目录下,产生了一个名zh_CN.mo的文件。它是二进制的,不能用文本编辑器打开。
安装mo文件到特定目录中:
cp -f zh_CN.mo .local/LC_MESSAGES/home.mo
修改程序。
复制代码 代码如下:
setlocale(LC_ALL, 'zh_CN');
// Specify location of translation tables
bindtextdomain("home", ".");
// Choose domain
textdomain("home");
// Translation is looking for in ./locale/zh_CN/LC_MESSAGES/home.mo now
$str = gettext('home'); //也可以使用_('home')
print {$str}
HTML;

运行这个脚本, 看看, 是不是输出正确的中文了呢?
添加其它语言也很容易,不需要修改程序,只需要像对待中文一样,生成一个mo文件,并安装到系统中对应的目录即可。切换不同的语言仅仅是修改当前的locale就行了。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So nutzen Sie vue und Element-plus, um mehrsprachige und internationale Unterstützung zu erreichen So nutzen Sie vue und Element-plus, um mehrsprachige und internationale Unterstützung zu erreichen Jul 17, 2023 pm 04:03 PM

So nutzen Sie Vue und Element-Plus, um mehrsprachige und internationale Unterstützung zu erreichen. Einführung: Um auf die Bedürfnisse von Benutzern mit unterschiedlichen Sprachen und Kulturen zu reagieren, sind im heutigen globalisierten Zeitalter mehrsprachige und internationale Unterstützung zu wesentlichen Merkmalen geworden für viele Frontend-Projekte. In diesem Artikel wird erläutert, wie Sie mithilfe von Vue und Element-Plus mehrsprachige und internationale Unterstützung erreichen, sodass sich das Projekt flexibel an die Anforderungen verschiedener Sprachumgebungen anpassen kann. 1. Installieren Sie Element-plusElement-plus ist offiziell von Vue

Wie geht CakePHP mit mehreren Sprachen um? Wie geht CakePHP mit mehreren Sprachen um? Jun 06, 2023 am 08:03 AM

CakePHP ist ein beliebtes PHP-Entwicklungsframework, das Entwicklern hilft, schnell hochwertige Webanwendungen zu erstellen. Mit der Entwicklung der Globalisierung müssen immer mehr Anwendungen mehrere Sprachen unterstützen, und CakePHP bietet auch entsprechende Unterstützung. In diesem Artikel wird erläutert, wie CakePHP mit mehreren Sprachen umgeht. 1. Mehrsprachige Unterstützung Die Unterstützung mehrerer Sprachen ist ein wichtiges Merkmal von CakePHP. Ab Version 2.0 unterstützt CakePHP das gettext-Dateiformat, das

So implementieren Sie eine mehrsprachige Website in PHP So implementieren Sie eine mehrsprachige Website in PHP May 22, 2023 am 11:31 AM

Mit der zunehmenden Beliebtheit des Internets müssen immer mehr Websites mehrere Sprachen unterstützen. Dies liegt daran, dass das Publikum der Website möglicherweise aus unterschiedlichen Regionen und mit unterschiedlichem kulturellen Hintergrund stammt. Wenn die Website nur in einer einzigen Sprache verfügbar ist, kann dies die Anzahl und das Erlebnis der Besucher einschränken. In diesem Artikel erfahren Sie, wie Sie eine mehrsprachige Website in PHP implementieren. 1. Erstellung und Design von Sprachdateien Sprachdateien sind Dateien, die alle Textzeichenfolgen und die entsprechenden Übersetzungen speichern und in einem bestimmten Format erstellt werden müssen. Beim Erstellen einer Sprachdatei müssen Sie folgende Aspekte berücksichtigen: 1. Benennung und Speicherort Der Dateiname sollte lauten

Tipps zur Verwendung von i18n zur Implementierung der Mehrsprachenumschaltung in Vue Tipps zur Verwendung von i18n zur Implementierung der Mehrsprachenumschaltung in Vue Jun 25, 2023 am 09:33 AM

Mit der kontinuierlichen Weiterentwicklung der Internationalisierung müssen immer mehr Websites und Anwendungen mehrsprachige Umschaltfunktionen unterstützen. Als beliebtes Front-End-Framework bietet Vue ein Plug-In namens i18n, das uns bei der Umschaltung mehrerer Sprachen helfen kann. In diesem Artikel werden gängige Techniken zur Verwendung von i18n zur Implementierung der Mehrsprachenumschaltung in Vue vorgestellt. Schritt 1: Installieren Sie das i18n-Plugin. Zuerst müssen wir das i18n-Plugin mit npm oder Yarn installieren. Geben Sie in der Befehlszeile den folgenden Befehl ein: npminst

So verwenden Sie Flask-Babel zur Implementierung der Mehrsprachenunterstützung So verwenden Sie Flask-Babel zur Implementierung der Mehrsprachenunterstützung Aug 02, 2023 am 08:55 AM

So implementieren Sie mit Flask-Babel die Unterstützung mehrerer Sprachen. Einführung: Mit der kontinuierlichen Entwicklung des Internets ist die Unterstützung mehrerer Sprachen für die meisten Websites und Anwendungen zu einer notwendigen Funktion geworden. Flask-Babel ist eine praktische und benutzerfreundliche Flask-Erweiterung, die mehrsprachige Unterstützung basierend auf der Babel-Bibliothek bietet. In diesem Artikel wird erläutert, wie Sie mit Flask-Babel mehrsprachige Unterstützung erreichen, und es werden Codebeispiele angehängt. 1. Flask-Babel installieren Bevor wir beginnen, müssen wir zuerst Flask-Bab installieren.

Wie verwende ich PHP für die Entwicklung mehrsprachiger Frameworks? Wie verwende ich PHP für die Entwicklung mehrsprachiger Frameworks? May 13, 2023 am 08:09 AM

Mit der zunehmenden Globalisierung müssen immer mehr Websites und Anwendungen mehrere Sprachen unterstützen. Als in der Webentwicklung weit verbreitete Programmiersprache muss PHP auch die Entwicklung mehrsprachiger Frameworks unterstützen. In diesem Artikel wird erläutert, wie Sie PHP für die Entwicklung mehrsprachiger Frameworks verwenden. 1. Was ist ein mehrsprachiges Framework? Lassen Sie uns zunächst verstehen, was ein mehrsprachiges Framework ist. Ein mehrsprachiges Framework ist, wie der Name schon sagt, ein Framework, das mehrere Sprachen unterstützen kann. Beim Internationalisierungs- und Lokalisierungsdesign ist ein mehrsprachiges Framework unerlässlich. Es kann eine Vielzahl von unterstützen

So entwickeln Sie mit Layui eine Website, die die Umschaltung mehrerer Sprachen unterstützt So entwickeln Sie mit Layui eine Website, die die Umschaltung mehrerer Sprachen unterstützt Oct 25, 2023 am 10:55 AM

So entwickeln Sie mit Layui eine Website, die die Umschaltung mehrerer Sprachen unterstützt. Mit der Entwicklung der Globalisierung müssen immer mehr Websites die Umschaltung mehrerer Sprachen unterstützen, um den Anforderungen verschiedener Benutzer gerecht zu werden. Layui ist ein sehr beliebtes Front-End-Framework, das eine Reihe benutzerfreundlicher Komponenten und Tools bereitstellt, mit denen wir schnell schöne Websites entwickeln können. In diesem Artikel wird erläutert, wie Sie mit Layui eine Website entwickeln, die die Umschaltung mehrerer Sprachen unterstützt, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir Layui-bezogene Dateien in die Webseite einfügen. Kann

So verwenden Sie PHP und Typecho, um eine Website mit Mehrsprachenunterstützung zu erstellen So verwenden Sie PHP und Typecho, um eine Website mit Mehrsprachenunterstützung zu erstellen Jul 21, 2023 pm 11:21 PM

So erstellen Sie mit PHP und Typecho eine Website mit Unterstützung für mehrere Sprachen. Einführung: Mit der Entwicklung der Globalisierung ist der Aufbau einer Website mit Unterstützung für mehrere Sprachen nach und nach zu einem Ziel geworden, das von Unternehmen und Einzelpersonen verfolgt wird. Als beliebte Programmiersprache kann PHP in Kombination mit Typecho, einem hervorragenden PHP-Open-Source-Blogprogramm, problemlos mehrsprachige Websites erstellen. In diesem Artikel wird erläutert, wie Sie mit PHP und Typecho eine Website mit mehrsprachiger Unterstützung erstellen, und relevante Codebeispiele bereitstellen. 1. Installieren und konfigurieren Sie zuerst Typecho

See all articles