定制 manujoz/translation 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

manujoz/translation

Composer 安装命令:

composer require manujoz/translation

包简介

Class for create multilanguage sites o PHP

README 文档

README

Translation is a PHP class used to create or manage multilanguage sites.

Install

$ composer require manujoz/translation

Use

You need to create the files that will contain the translations of the texts. Normally we will use a folder called "locales".

In this folder you will create a file for each language you want the translation of.

|ROOT
	|_	locales
	|		   |_ en-US.php
	|		   |_ es-ES.php
	|		   |_ fr-FR.php
	|_	index.php

Locale file example:

locales/en-US.php

<?php

return [
	"hello" => "Hi!",
	"bye" => "Good bye",
	"login.messages.ok" => "You are logged",
	"signup.messages.welcome" => "Welcome to my site {name}"
]

?>

locales/es-ES.php

<?php

return [
	"hello" => "¡Hola!",
	"bye" => "Adios",
	"login.messages.ok" => "Estás dentro",
	"signup.messages.welcome" => "Bienvenido a mi sitio {name} ({email})"
]

?>

Once you have created the translation files, the use is very simple:

index.php

<?php

use Manujoz\Translation\Translation;

require( "vendor/autoload.php" );

$TRANS = new Translation();

$TRANS->lang = "en-EN";
echo $TRANS->of( "hello" ) . "<br>";
echo $TRANS->of( "signup.messages.welcome", [ "name" => "Manu Overa", "email" => "myemail@mydomain.com" ] ) . "<br>";
echo $TRANS->of( "bye" ) . "<br>";

$TRANS->lang = "es-ES";
echo $TRANS->of( "hello" ) . "<br>";
echo $TRANS->of( "signup.messages.welcome", [ "name" => "Manu Overa", "email" => "myemail@mydomain.com" ] ) . "<br>";
echo $TRANS->of( "bye" ) . "<br>";

?>

Documentation

Constructor

When the class is initialized you can pass as a parameter the path to the folder where your translation files are located. By default it will look in the root folder for a folder called "locales", but if you prefer to save it in different folders for example "translates/section1 /", "translates/section2", you can tell the class where to look for the translation files:

|ROOT
	|_	translates
	|		   |_ section1
	|		   |          |_ en-US.php
	|		   |          |_ es-ES.php
	|		   |          |_ fr-FR.php
	|		   |_ section2
	|		   |          |_ en-US.php
	|		   |          |_ es-ES.php
	|		   |          |_ fr-FR.php
	|_	index.php
<?php

use Manujoz\Translation\Translation;

require( "vendor/autoload.php" );

$TRANS = new Translation( "translates/section1" );

?>

Keep in mind that you will have to enter the path relative to the root folder. In this way you can create translation files by sections of your site for example or organize them as you want.

of() method

With the of() method we perform the translations, this method admits two parameters:

$TRANS->of( $key, $params = array() );

$key

It is the key of the array that will search the file to return the corresponding text.

$params (Optional)

It is an array with the words that can be added to a text as seen in the example above.

set_enclosing_chars() method

By default, in the text of the translations file, use these keys {} as encapulation characters. But if you prefer to change the encapsulation characters for some reason you can do it with the following method:

<?php

$TRANS->set_enclosing_chars( [ "[[", "]]" ] );

?>

locales/en-US.php

<?php

return [
	"hello" => "Hi!",
	"bye" => "Good bye",
	"login.messages.ok" => "You are logged",
	"signup.messages.welcome" => "Welcome to my site {not will be replaced} [[willBeReplaced]]"
]

?>

统计信息

  • 总下载量: 114
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-10-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固