niyko / transpicious
Transpicious可以将您网站的内容自动转换为任何您想要的语言,您也可以在需要时提供自定义翻译。Transpicious支持Laravel、Codeigniter和普通PHP。
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-23 22:46:40 UTC
README
Transpicious可以将您网站的内容自动转换为任何您想要的语言。
是的,您听对了,现在您可以用任何语言编写网站内容,用户可以随时将其更改为其他任何语言。Transpicious可以自动将网站内容转换为90种受支持的任何一种语言。Transpicious支持Laravel、Codeigniter和核心PHP。这是一个非常有用的包,可以将多语言(多地域)功能集成到您的代码中。您也可以在需要时提供自定义翻译。
🌀 简单安装,即使是婴儿也能做到 👶
您可以通过Composer
或下载源代码
来安装。您可以通过Composer或从GitHub仓库下载源代码来安装Transpicious。继续阅读以了解更多关于安装Transpicious的信息。别担心,它超级简单。
如果您正在使用Laravel
1. 从项目文件夹打开终端,并在命令行中运行此命令
composer require niyko/transpicious
2. 将此行添加到您的config/app.php
文件中的aliases
数组中,如下所示
'Transpicious' => Niyko\Transpicious\Transpicious::class
不要删除数组中的其他类,只需将上面的行添加到其中即可
添加行到文件后,config/app.php
中的aliases
数组可能看起来像这样。
例如
'aliases' => [ 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facade................. ....... ....... 'Transpicious' => Niyko\Transpicious\Transpicious::class ],
3. 使用Transpicious编写内容
在Laravel视图
中使用Transpicious
<body> <h1>{!! Transpicious::translate('hello') !!}</h1> <p>{!! Transpicious::translate('world') !!}</p> </body>
或在Laravel控制器
中使用Transpicious
return Transpicious::translate('world');
4. 从用户部分更改语言
Transpicious::set_translate_to('es'); // es is the language code
您可以在此处找到完整的语言代码列表,点击这里。
如果您正在使用Codeigniter
1. 从您项目中的application
文件夹打开终端,并在命令行中运行此命令
composer require niyko/transpicious
2. 打开YOUR PROJECT/application/config.php
并更改$config['composer_autoload']
的值为TRUE
如下所示
$config['composer_autoload'] = TRUE;
此行将出现在大约140行左右
3. 使用Transpicious编写内容
在Codeigniter视图
中使用Transpicious
在视图顶部添加此行
<?php use Niyko\Transpicious\Transpicious; ?>
然后在视图的HTML中使用Transpicious,如下所示
<body> <h1><?php echo Transpicious::translate('hello') ?></h1> <p><?php echo Transpicious::translate('world') ?></p> </body>
或在Codeigniter控制器
中使用Transpicious
在视图顶部添加此行
use Niyko\Transpicious\Transpicious;
然后在控制器中使用Transpicious,如下所示
return Transpicious::translate('world');
4. 从用户部分更改语言
在视图顶部添加此行
use Niyko\Transpicious\Transpicious;
要更改语言,请使用
Transpicious::set_translate_to('es'); // es is the language code
您可以在此处找到完整的语言代码列表,点击这里。
如果您正在使用核心PHP
1. 从此链接下载Transpicious的.zip版本,点击这里。
2. 解压文件并将它提取到您的项目文件夹中
3. 在您的PHP文件顶部添加此行
use Niyko\Transpicious\Transpicious;
4. 要使用Transpicious打印内容,请使用如下所示
<body> <h1><?php echo Transpicious::translate('hello') ?></h1> <p><?php echo Transpicious::translate('world') ?></p> </body>
⚙️ 配置Transpicious
Transpicious中配置项不多,所有配置都已在文件Transpicious-1.0.0/config.php
中给出(如果您使用的是composer
,则将是vendor/niyko/transpicious/config.php
)。配置文件将如下所示
<?php $_DEFAULT_CONVERT_FROM = "en"; $_DEFAULT_CONVERT_TO = "en"; ?>
配置定义
如果某些自动生成的翻译是错误的怎么办?
如果任何自动生成的翻译是错误的,则您可以在自定义翻译
中定义正确的翻译。要了解更多关于如何添加自定义翻译的信息,请继续阅读下一主题。
📝 添加自定义翻译
方法1
在自定义翻译文件中添加它
在《Transpicious》文件夹内(如果您使用的是《composer》,则该文件夹为《vendor/niyko/transpicious》),有一个名为《custom_translations》的文件夹,在该文件夹内有一个名为《custom_translations.json》的文件。您可以使用以下语法在此文件中添加自定义翻译。
{ "LANGUAGE CODE OF CONVERTED FROM" : { "CONTENT 1" : { "1ST LANGUAGE CODE OF CONVERTED TO" : "TRANSLATION", "2ND LANGUAGE CODE OF CONVERTED TO" : "TRANSLATION", }, "CONTENT 2" : { "1ST LANGUAGE CODE OF CONVERTED TO" : "TRANSLATION", "2ND LANGUAGE CODE OF CONVERTED TO" : "TRANSLATION", } } }
还没有明白?请看以下示例
如果在内容中使用《Transpicious::translate('hello, I'm Lilly')》,并且您想要更改《spanish》语言自动翻译的内容,那么《custom_translations.json》文件将如下所示
{ "en" : { "hello, I'm Lilly" : { "es" : "hola soy lilly" } } }
📚 API
Transpicious::translate();
此函数用于提供网站内容。《translate()`函数支持三个参数,它们都是字符串,分别是
Transpicious::translate('CONTENT', 'TRANSLATE TO', 'TRANSLATE FROM');
函数定义
示例使用
如果《config.php》设置为《$_DEFAULT_CONVERT_FROM = "en"`和《$_DEFAULT_CONVERT_TO = "en"`
Transpicious::translate('Friends don’t lie'); // Returns Friends don’t lie Transpicious::translate('Friends don’t lie', 'es'); // Returns Los amigos no mienten Transpicious::translate('Los amigos no mienten', 'ch', 'es'); // Returns 朋友不撒谎 Transpicious::translate('Los amigos no mienten', null, 'es'); // Returns Friends don’t lie
Transpicious::set_translate_to();
此函数用于更改网站的当前语言。网站的所有内容都将翻译为该函数参数指定的语言
Transpicious::set_translate_to('TRANSLATE TO');
函数定义
示例使用
示例(1)
如果《config.php》设置为《$_DEFAULT_CONVERT_FROM = "en"`和《$_DEFAULT_CONVERT_TO = "en"`
Transpicious::set_translate_to('es'); echo Transpicious::translate('She‘s our friend and she‘s crazy.'); // The output will be : Ella es nuestra amiga y está loca
示例(2)
如果《config.php》设置为《$_DEFAULT_CONVERT_FROM = "en"`和《$_DEFAULT_CONVERT_TO = "en"`
Transpicious::set_translate_to('es'); echo Transpicious::translate('Mornings are for coffee and contemplation'); echo Transpicious::translate('Mornings are for coffee and contemplation', 'ar'); // <= Note that translate() has a 2nd parameter /* The output will be :- Las mañanas son para el café y la contemplación. الصباح لتناول القهوة والتأمل */
Transpicious::clear_cache();
用于清除缓存的翻译文件,注意:清除缓存后,网站在首次运行时可能会需要一些时间来渲染
Transpicious::clear_cache();
🌐 所有支持的语言代码
点击此处查看Transpicious支持的自动翻译的所有语言代码。
📃 许可证
Transpicious遵循《GNU GENERAL PUBLIC LICENSE》许可,并且此仓库是为教育目的而制作的。