michaskruzelka / lacinka
白俄罗斯语“Lacinka”转换器
1.0.0
2016-09-23 11:09 UTC
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: ~5.5
This package is not auto-updated.
Last update: 2024-09-28 19:15:22 UTC
README
该工具提供API,使您能够将白俄罗斯语拉丁字母转换为白俄罗斯语西里尔字母,反之亦然。
基本用法
Composer
$ composer require michaskruzelka/lacinka
PHP
use Michaskruzelka\Lacinka\Converter; $converter = new Converter();
转换为白俄罗斯语传统拉丁字母
$text = " Лацінка — іміджавая рэч, яна стварае зусім іншае ўражанне ад мовы, нязвыклае, больш еўрапейскае — яна злучае нас з блізкімі нам народамі Цэнтральнай і Ўсходняй Еўропы: палякамі, чэхамі, харватамі, якім лацінка адкрывае беларускую мову як мову блізкую і зразумелую. Можа і камусь з беларусаў яе існаванне можа дадаць цікавасці да беларускай мовы? "; $convertedText = $converter->convert($text);
转换为白俄罗斯语学术(地理)拉丁字母
$convertedText = $converter->setVersion('geographic')->convert($text);
转换为白俄罗斯语西里尔字母
$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);
高级问题
转换规则并不全面。我该如何改进它们?
您无需修改业务逻辑中的任何内容。相反,所有规则都存储在/config/rules.xml文件中,您可以在其中添加、删除或修改任何规则。您的规则应按照以下结构构建
<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>
此外,您可以在任何xml文件中应用您自己的规则
$converter = (new Converter(false))->initRules([path_to_the_xml_file]);
是否可以添加白俄罗斯语拉丁字母的另一个版本(例如,古文)?
是的。每个字母表的版本都必须在/config/settings.php文件中指定。
... 'versions' => [ 'traditional', 'geographic', '[your_version]' ], ...
$converter->setVersion([your_version]);
如何扩展转换器的功能?
您可以添加新的渲染器。它们必须实现'Michaskruzelka\Lacinka\Renderers\RendererInterface'。