jv / jvfurigana
一个视图助手,可以将普通日语文本转换为带有假名的正确格式的HTML(使用ruby标签)。
Requires
- php: >=5.3.3
- zendframework/zendframework: 2.*
This package is not auto-updated.
Last update: 2024-09-28 12:48:14 UTC
README
为日语文本添加假名的ZF2模块
版本 1.0 由 Julian Vidal 创建
什么是假名?
假名 据维基百科介绍是
一种日语阅读辅助工具,由较小的假名或音节字符组成,打印在汉字(表意文字)或其他字符旁边,以指示其发音。它通常用于阐明罕见、非标准或不清晰的读音,或用于儿童或学习者的材料。
简单来说,你可能知道如何 阅读 某个日语单词,但这并不意味着你知道如何 发音 它。为了解决这个问题,出版社使用假名来告诉读者特定单词的发音。
一个日语句子看起来像这样
林さんは英語は話せます。
为了添加音读指南,通常的做法是在汉字后面直接括号中包含发音,如下所示
林(はやし)さんは英語(えいご)は話(はな)せます。
虽然这使发音非常清晰,但它使文本的可读性降低。
此模块将以上格式的假名输入转换为使用 ruby、rb、rp 和 rt 标签的正确HTML。这将上面的句子转换为以下内容
<ruby><rb>林</rb><rp>(</rp><rt>はやし</rt><rp>)</rp></ruby>さんは<ruby><rb>英語</rb><rp>(</rp><rt>えいご</rt><rp>)</rp></ruby>は<ruby><rb>話</rb><rp>(</rp><rt>はな</rt><rp>)</rp></ruby>せます。
支持浏览器(如Chrome)将渲染如下
一个优点是,不支持ruby文本的浏览器会优雅地降级并按您输入的方式渲染文本。实际上,文本看起来是一样的,但由于假名现在被包裹在自己的标签中,您将能够按您想要的方式对它们进行样式化。您没有ruby标签是无法做到这一点的。所以正如您所看到的,ruby 标签有其优点。
安装
您可以通过不同的方式安装此模块。最简单的方法是使用composer。为此,您需要将模块添加到您的composer.json文件中的require
部分
"require": {
"jv/jvfurigana": "dev-master"
}
然后运行:php composer.phar update
如果您不想使用composer,您可以将此存储库克隆或下载到您的ZF2模块目录中。
无论您选择哪种方式,都不要忘记在您的 config/application.config.php
文件中启用模块。
用法
在视图脚本内部,您可以这样做
<?=$this->jvfurigana('こんにちは世界(せかい)'); ?>
性能
视图助手需要使用实现 RenderStrategyInterface
的渲染策略进行初始化。默认情况下,它实现了 FilterStrategy
,这将与PHP 5.3配合良好。在某些Windows安装中,我发现这个策略没有正确捕获所有假名。如果这是您的情况,您可以使用ManualStrategy
,正如其名称所暗示的,它会手动执行大量工作。
您应该始终使用FilterStrategy
,因为它远远优于ManualStrategy
。使用FilterStrategy
渲染40千字节日语文本只需0.002秒,而使用ManualStrategy
在MacBook Pro i7(16GB内存)上需要18.177秒。
常见问题解答
请参阅GitHub常见问题解答页面。
许可证
JVFurigana在Apache许可证下发布。请参阅包含的LICENSE文件。
版本历史
2012-11-18 添加了过滤器策略 2012-11-11 第一个版本