sred/zf2languages

ZF2应用程序使用多语言的开放插件

dev-master 2015-07-31 10:28 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:42:04 UTC


README

zf2Languages:ZF2应用程序使用多语言的开放插件 版权所有 (C) 2015 SREd Servei de Recursos Educatius http://www.sre.urv.cat/

本程序是自由软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,无论是许可证的第3版,还是您选择的任何较新版本。

本程序的分发是希望它有用,但没有任何保证;甚至没有适销性或特定用途的隐含保证。有关详细信息,请参阅GNU通用公共许可证。

您应该已经收到一份GNU通用公共许可证副本。如果没有,请参阅 https://gnu.ac.cn/licenses/

作者

Daniel Tomé Fernández (danieltomefer@gmail.com),作为SREd(http://www.sre.urv.cat/)的员工

简介

此插件帮助我们使用多语言在我们的Zend Framework 2应用程序中。它为我们提供了一个API和一个配置。此配置对于正确运行至关重要。

安装

要安装此模块,您必须遵循以下步骤

1 - 在您的 composer.json 中,您必须写下

"require": {
        "sred/zf2languages" : "dev-master"
    },
and
"autoload": {
      "psr-4":{
         "zf2languages\\" : "vendor/sred/zf2languages"
      }
}

2 - 然后您必须运行以下命令行: composer update

配置

要使用此插件,您必须创建一个如下的配置

'languages' => array(
        'all' => array(
            'ca' => 'Catalan',
            'es' => 'Spanish',
            'en' => 'English',
        ),
        'default' => array(
            'ca',
        ),
    ),
'browser' => array(
        'set_lang_from_browser' => true,
    ),

all 数组中,您必须有键及其翻译。例如:'en' => 'English'。在 default 语言中,您必须有默认语言的键。在 browser 数组中,您必须定义是否要从浏览器配置中获取语言。

最后一步是将模块添加到您的模块配置 application.conf.php

    'modules' => array(
        'zf2languages',
    ),

使用

使用此插件非常简单。我们提供了一个助手和一个插件,所以您在视图或控制器中只需写入: $this->languages()->method()

如果您想在视图和控制器之外使用它,我们提供了一个语言工厂。所以您只需写入

$languages = $serviceManager->get('languages'); 然后您将拥有所有可用的功能。

提供的API

isDefaultLanguage($lang) -> 此方法将返回参数是否等于配置中定义的默认语言(键)。

getDefaultLanguage() -> 此方法将返回配置文件中定义的默认语言。

getLanguagesCodes() -> 此方法将返回配置中定义的键 'all' 的数组(键和翻译)。

translate($lang) -> 给定一个语言的键,此方法将返回该键的翻译。

isValid($lang) -> 给定一个键,此方法将返回此语言是否已定义。

updateCookie($serviceManager, $lang) -> 此方法将帮助我们创建一个包含应用程序中定义的语言的cookie。

getLocaleForSession($serviceManager) -> 此方法将根据我们的浏览器或cookie中的语言给我们语言。