initphp/translator

这个库;它是一个微库,可以让你向你的项目或库添加多语言支持。

0.2 2022-04-24 15:42 UTC

This package is auto-updated.

Last update: 2024-09-24 21:39:41 UTC


README

这个库;它是一个微库,可以让你向你的项目或库添加多语言支持。

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

需求

  • PHP 7.4 或更高版本

安装

composer require initphp/translator

用法

require_once "vendor/autoload.php";
use \InitPHP\Translator\Translator;

$lang = new Translator();
$lang->setDir(__DIR__ . '/languages/')
    ->setDefault('en');

$lang->change('tr'); // Set Current Language

echo $lang->_r('hello');

语言文件是什么样子?

<?php
return [
    'hello'     => 'Hello {user}',
    'today'     => 'It\'s {day}',
];

文件?目录?

你可以为每种语言使用一个文件,或者在目录下使用多个文件。

使用文件

如果你打算为一种语言使用单个文件;你的目录结构将类似于以下:

/languages/
    en.php
    tr.php
    fr.php

你的代码看起来如下:

require_once "vendor/autoload.php";
use \InitPHP\Translator\Translator;

$lang = new Translator;
$lang->useFile(); // Note that it is used first of all.
$lang->setDir(__DIR__ . '/languages/')
    ->setDefault('en');

echo $lang->_r('hello');

使用目录

如果你想使用包含多种语言文件的目录,你的目录结构将类似于以下:

/languages/
    en/
        user.php
        admin.php
        profile.php
    tr/
        user.php
        admin.php
        profile.php

你的代码看起来如下:

require_once "vendor/autoload.php";
use \InitPHP\Translator\Translator;

$lang = new Translator;
$lang->useDirectory(); // Note that it is used first of all.
$lang->setDir(__DIR__ . '/languages/')
    ->setDefault('en');

// The filename and keyname are separated by dots.
// Example : "filename.key"
echo $lang->_r('user.hello');

方法

setDir()

定义存储语言文件的父目录的完整路径。

结构

public function setDir(string $dir): self

setDefault()

定义默认的主要翻译语言,如果当前语言中找不到所需的翻译。

结构

public function setDefault(string $default): self

注意:如果在使用时给出了默认文本;此库将在使用时使用您提供的默认字符串。

useFile()useDirectory()

这两个方法;告诉您是否使用单个PHP文件或目录进行本地化。有关更多信息,请参阅上面的“文件?目录?”。

注意:如果没有指定,则默认使用文件系统。

结构

public function useFile(): self;

public function useDirectory(): self;

change()

更改当前语言,如果尚未安装,则加载所需语言。

结构

public function change(string $current): self

_r()

返回所需的翻译值。

结构

public function _r(string $key, ?string $default = null, array $context = []): string
  • $key:所需翻译的键。
  • $default:如果找不到请求的翻译,则替换的字符串。
  • $context:一个关联数组,报告翻译中的占位符的值(如果有)。

_e()

直接输出所需值。

  • $lang->_e('hello') = echo $lang->_r('hello')

结构

public function _e(string $key, ?string $default = null, array $context = []): void

获取帮助

如果您有任何问题、疑虑、错误报告等,请在存储库的问题跟踪器中提交问题。

贡献

所有对此项目的贡献都将根据MIT许可证发布。通过提交拉取请求或提交错误、问题或功能请求,您同意遵守此版权放弃声明。

  • 分叉它( https://github.com/initphp/translator/fork
  • 创建您的功能分支(git checkout -b my-new-feature
  • 提交您的更改(git commit -am "Add some feature"
  • 推送到分支(git push origin my-new-feature
  • 创建新的拉取请求

鸣谢

许可证

版权所有 © 2022 MIT许可证