tectonic/本地化

此软件包最新版本(3.0.3)没有提供许可证信息。

为所选框架中的模型、实体和集合提供的本地化/翻译软件包。

3.0.3 2024-04-17 17:27 UTC

This package is auto-updated.

Last update: 2024-09-17 18:16:36 UTC


README

Circle CI

此软件包有助于设置给定模型、实体、集合或其他内容的翻译和实现。如果您知道如何编写扩展库的类,您可以翻译几乎所有内容。本地化旨在用作所有翻译请求的合同和通用API。设置了桥接软件包以支持特定的模式或框架的方式。例如,(https://github.com/tectonic/laravel-localisation

实际上,本地化是一个非常基础的软件包,仅定义实现翻译组件所需的API和接口。

安装

使用composer以常规方式安装Localisation

composer require tectonic/localisation

翻译对象

通过将对象传递给翻译引擎来完成任何对象的翻译

<?php
$object = new TranslatableObject();

$translator = new \Tectonic\Localisation\Translator\Engine;
$translator->translate($object);

默认的本地化行为不会翻译此对象。为什么?因为没有为给定的TranslatableObject存在转换器。然而,您可以定义自己的转换器,以便知道如何翻译此特定对象。

注册转换器

可以注册了解如何管理和翻译各种对象的转换器到本地化引擎

<?php
$translator->registerTransformer(new MyTransformer);

MyTransformer应该实现包内定义的TransformerInterface,如下所示

<?php
class MyTransformer implements Transformer {
    public function isAppropriateFor($object) {}
    public function transform($object) {}
}

isAppropriateFor方法应在转换器知道如何处理该对象时返回true。如果不,则返回false。transform()方法执行实际转换工作。

注册了您的转换器后,您就可以开始使用了!

许可证

MIT许可证(MIT)(OSI批准的许可证)MIT许可证(MIT)

版权所有(c)2014 Tectonic Digital

特此授予任何人免费获得此软件及其相关文档副本(“软件”)的权利,不受任何限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,以及允许向软件提供者提供软件的人员这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是否与软件或其使用或其他方式有关。