承接 philasearch/i18n 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

philasearch/i18n

Composer 安装命令:

composer require philasearch/i18n

包简介

An i18n library for PHP

README 文档

README

Latest Stable Version Total Downloads Build Status

PHP I18n

PHP I18n is a simple library for storing localized strings outside of your code.

Installing

Add the following require to your composer.json file.

{
    "require": {
        "philasearch/i18n": "1.1.*"
    }
}

Setup

Language Folder

In order to use i18n, you will need a language folder. By convention this folder is config/locales, however, you can choose whichever you want. In this folder, each supported language requires its own folder (config/locales/en, config/locales/de, ...).

Use in PHP

You will most likely be using the I18n class in your own implementation, so you are just given a class which you can write a wrapper class for in your own code. All you need to do to create this class is give it the path to the language folder you decided on before.

<?php

use Philasearch\I18n\I18n as Lang;

$lang = new Lang( dirname(__FILE__) . '/config/locales' );

Example Usage

Notice: Currently, only yaml files are supported.

For this example, the language folder is at config/locales.

Create a file config/locales/en/example.yml

foo: bar
nested:
  foo: bar
var: foo :var
plural:
  one: A :color apple
  other: :count :color apples

And a dialect file config/locales/en_US/example.yml

foo: murica

Note: Take note of the yml file name as it will be the first part of your key (example.yml => example).

Now we can load the translation class and get our translated string.

<?php

use Philasearch\I18n\I18n as Lang;

$lang = new Lang( dirname(__FILE__) . 'config/locales' );

/**
 * normal translated string
 *
 * @param string $locale
 * @param string $key
 */
$lang->get( 'en', 'example.foo' ); // returns 'bar'


/**
 * nested translated strings
 *
 * @param string $locale
 * @param string $key
 */
$lang->get( 'en', 'example.nested.foo' ); // returns 'bar'

/**
 * Variable translated string
 *
 * @param string $locale
 * @param string $key
 */
$lang->get( 'en', 'example.var', ['var' => 'bar']); // returns 'foo bar'

/**
 * Plural tranlated strings
 *
 * @param string $locale
 * @param string $key
 * @param int    $count
 */
$lang->get( 'en', 'example.plural', ['color' => 'red'], 1); // returns 'A red apple'
$lang->get( 'en', 'example.plural', ['color' => 'red'], 2); // returns '2 red apples'

/**
 * Dialect translated strings
 */
$lang->get( 'en_US', 'example.foo' );         // returns 'murica'
$lang->get( 'en_US', 'example.nested.foo' );  // returns 'bar' as it falls back to en

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: Unknown
  • 更新时间: 2014-09-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固