oviedev / toungette
Toungette是一个小巧且简单的PHP库,用于简化网站翻译
Requires
- simplehtmldom/simplehtmldom: 2.0-RC2
Requires (Dev)
- phpunit/phpunit: 9.5.24
This package is auto-updated.
Last update: 2024-09-29 11:56:00 UTC
README
简介
Toungette是一个用于简化网站翻译的PHP库。您只需要3个文件即可使其工作,同时您仍然可以完全控制翻译,无需重复创建相同页面,但文本内容不同。
安装
在安装之前,在您的composer.json
中添加"minimum-stability": "rc"
。这是因为simplehtmldom没有任何稳定的版本(至少在packagist上是这样)。您这样做之后,使用
composer require oviedev/toungette
文档
您可以在此处查看文档:文档
如何使用
让我们创建一个只有一个页面的简单网站。
设置3个文件。 schem.json
、index.tounge
和index.php
。
schem.json
是您定义翻译的地方。在文件的开始,您需要定义schema
属性。这是一个可用语言的数组。
接下来是keys
对象。它以数组的形式存储您的翻译。键的值按照schema
的顺序排列。因此,让我们定义两个键:key.hello
和key.goodbye
{ "schema": ["en", "es", "pl"], "keys": { "key.hello": [ "Hello", "Hola", "Hej" ], "key.goodbye": [ "Goodbye", "Adios", "Do widzenia" ] } }
让我们转到index.tounge
。这是您定义页面外观的地方。这是纯HTML,但您从<body>
标签开始,而不是从<html>
开始。因此,我们的文件可能看起来像这样
<body> <b>{key.hello}</b> <br /> this text isn't affected by translations <br /> {key.goodbye} </body>
请注意,我们的键在花括号中。
现在,是我们index.php
文件的时候了。这是翻译魔法发生的地方。它包含网站所需的每个标准标签(<html>
和<head>
),但不包括<body>
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>My Toungette Page</title> </head> <?php require_once 'vendor/autoload.php'; use OvieDev\Toungette\Translator; $t = new Translator('schem.json', 'index.tounge'); $t->translate(); echo $t->text; ?> </html>
在<?php
标签中,我们创建一个Translator
对象,并将我们的schem.json
和index.tounge
作为参数传递给它。然后我们调用translate()
方法并将其输出。
现在,转到您的网站URL,并添加参数lang=en
、lang=es
或lang=pl
。这应该是结果