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。这应该是结果