mmqfilho/languages

用于使用多个翻译文件的类

1.2.4 2017-10-17 20:16 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:26:12 UTC


README

版本:1.2.4

日期:2017/10/17

作者:Marcos Menezes <mmqfilho@gmail.com>

目录结构

| your_project_root
|-# class (class folder)
| |-# Mmqfilho
|   |-# Languages
|     |- Language.php (class file)
|
|-# languages (language folder)
| |-# en (english language folder)
| | |- your english language files
| |
| |-# pt-br (brazilian portuguese language folder)
| | |- your brazilian portuguese language files
| |
| |-# xxxx (other languages folder)
|   |- others language files

如何使用

包含文件并设置命名空间

include_once 'class/Mmqfilho/Languages/Language.php';
or use autoload composer
include_once YOUR_VENDOR_DIR . '/autoload.php' ;

use mmqfilho\Languages\Language as Lang;

创建对象

$objLang = new Lang(); 

或者创建对象并设置要使用的语言

$objLang = new Lang('en'); 

或者使用设置器

$objLang->__set('default_language', 'en');

(可选) 如果需要,设置语言文件夹(末尾不带斜杠)

$objLang->__set('directory', 'path/to/your/language/folder');

(可选) 如果未找到文本,显示或隐藏消息

$objLang->__set('show_message_not_found', true);

(可选) 如果未找到文本,显示的消息

$objLang->__set('message_not_found', 'I dont like default message');

(可选) 在目录中递归查找语言文件的尝试次数(默认为3)

$objLang->__set('recursiveDirCount', 3);

(可选) 设置要加载的文件类型(json或xml)(默认文件类型为json)

$objLang->setXml();
or
$objLang->setJson();

显示文本

  • 参数1是.xml前缀的xml文件名
  • 参数2是xml标签名
  • 参数3(可选)是变量数组
echo $objLang->load('index', 'welcome');
or with an array with one or many variables
echo $objLang->load('index', 'yourName', array('Marcos'));
echo $objLang->load('index', 'yourFullName', array('Marcos', 'Menezes'));

XML文件

<languages>标签中放置您自己的翻译标签

如果您使用html标签或特殊字符,请将其放入CDATA标签中。

如果您使用变量发送参数,请将'%s'放入标签

<?xml version="1.0" encoding="UTF-8"?>

<!-- English -->
<languages>
	<welcome>Welcome</welcome>
	<welcomeCData><![CDATA[<strong>Warning:</strong> Welcome %s.]]></welcomeCData>
	<yourName><![CDATA[Your name is: %s.]]></yourName>
	<yourFullName><![CDATA[Your full name is: %s %s.]]></yourFullName>
</languages>

JSON文件

如果您使用变量发送参数,请将'%s'放入标签

{
	"welcome": "Welcome to json version",
	"welcomeTag": "<strong>Warning:</strong> Welcome json.",
	"version": "Version: %s"
}