michaskruzelka/lacinka 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

michaskruzelka/lacinka

最新稳定版本:1.0.0

Composer 安装命令:

composer require michaskruzelka/lacinka

包简介

Belarusian "Lacinka" Converter

README 文档

README

The tool provides you with API that enables you to convert from Belarusian Latin script to Belarusian Cyrillic script and backward.

Basic usage

Composer

$ composer require michaskruzelka/lacinka

PHP

use Michaskruzelka\Lacinka\Converter;

$converter = new Converter();

Conversion to Belarusian Traditional Latin alphabet:

$text = "
    Лацінка — іміджавая рэч, яна стварае зусім іншае ўражанне ад мовы, нязвыклае, больш еўрапейскае
    — яна злучае нас з блізкімі нам народамі Цэнтральнай і Ўсходняй Еўропы: палякамі, чэхамі, харватамі,
    якім лацінка адкрывае беларускую мову як мову блізкую і зразумелую. Можа і камусь з беларусаў
    яе існаванне можа дадаць цікавасці да беларускай мовы?
";

$convertedText = $converter->convert($text);

To Belarusian Academic (Geographic) Latin alphabet:

$convertedText = $converter->setVersion('geographic')->convert($text);

To Belarusian Cyrillic alphabet:

$text = "
    Łacinka — imidžavaja reč, jana stvaraje zusim inšaje ŭražannie ad movy, niazvykłaje, bolš jeŭrapiejskaje
    — jana złučaje nas z blizkimi nam narodami Centralnaj i Ŭschodniaj Jeŭropy: palakami, čechami, charvatami,
    jakim łacinka adkryvaje biełaruskuju movu jak movu blizkuju i zrazumiełuju. Moža i kamuś z biełarusaŭ
    jaje isnavannie moža dadać cikavasci da biełaruskaj movy?
";

$convertedText = $converter->directToCyrillic()->convert($text);

Advanced questions

The conversion rules are not comprehensive. How can I improve them?

You don't have to modify anything in business logic. Instead, all rules are stored in the /config/rules.xml file where you can add, remove or modify any rule. Your rule should be structured as follows:

<rule name="[rule_name]">
   <sort>[number]</sort>
   <renderer>
       <name>[Some implementation of RendererInterface]</name>
       <search>[Search Pattern, can include <back> or <forth> inheriting nodes]</search>
       <replace>[Replacement, can include <back> or <forth> inheriting nodes]</replace>
   </renderer>
   <directions>
       <back>[true|false][From latin to cyrillic]</back>
       <forth>[true|false][From cyrillic to latin]</forth>
   </directions>
   <versions>
       <[version]>[true|false]</[version]>
       ...
   </versions>
   <orthographies>
       <[orthography]>[true|false]</[orthography]>
       ...
   </orthographies>
   <pairs>
       <pair>
           <cyrillic>[letter|word|etc]</cyrillic>
           <latin>[letter|word|etc]</latin>
           <versions>...</versions>
           <orthographies>...</orthographies>
           <directions>...</directions>
       </pair>
       ...
   </pairs>
</rule>

Moreover, you can apply your own rules in any xml file:

$converter = (new Converter(false))->initRules([path_to_the_xml_file]);

Is it possible to add another version of Belarusian Latin script (for instance, Archaic)?

Yes. Every version of the alphabet must be specified in /config/settings.php file.

...
'versions' => [
    'traditional',
    'geographic',
    '[your_version]'
],
...
$converter->setVersion([your_version]);

How to extend functionality of the converter?

You can add new renderers. They must implement 'Michaskruzelka\Lacinka\Renderers\RendererInterface'.

Links

统计信息

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

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-09-11