oviedev/toungette

Toungette是一个小巧且简单的PHP库,用于简化网站翻译

1.01 2022-09-19 18:23 UTC

This package is auto-updated.

Last update: 2024-09-29 11:56:00 UTC


README

code cov code cov code cov
用于网站翻译的简单PHP库

简介

Toungette是一个用于简化网站翻译的PHP库。您只需要3个文件即可使其工作,同时您仍然可以完全控制翻译,无需重复创建相同页面,但文本内容不同。

安装

在安装之前,在您的composer.json中添加"minimum-stability": "rc"。这是因为simplehtmldom没有任何稳定的版本(至少在packagist上是这样)。您这样做之后,使用
composer require oviedev/toungette

文档

您可以在此处查看文档:文档

如何使用

让我们创建一个只有一个页面的简单网站。
设置3个文件。 schem.jsonindex.toungeindex.php

schem.json是您定义翻译的地方。在文件的开始,您需要定义schema属性。这是一个可用语言的数组。
接下来是keys对象。它以数组的形式存储您的翻译。键的值按照schema的顺序排列。因此,让我们定义两个键:key.hellokey.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.jsonindex.tounge作为参数传递给它。然后我们调用translate()方法并将其输出。

现在,转到您的网站URL,并添加参数lang=enlang=eslang=pl。这应该是结果

English Translation Spanish Translations Polish Translations

恭喜,您已经用Toungette制作了您的第一个网站