jv/jvfurigana

一个视图助手,可以将普通日语文本转换为带有假名的正确格式的HTML(使用ruby标签)。

dev-master 2018-08-14 16:14 UTC

This package is not auto-updated.

Last update: 2024-09-28 12:48:14 UTC


README

为日语文本添加假名的ZF2模块

版本 1.0 由 Julian Vidal 创建

什么是假名?

假名 据维基百科介绍是

一种日语阅读辅助工具,由较小的假名或音节字符组成,打印在汉字(表意文字)或其他字符旁边,以指示其发音。它通常用于阐明罕见、非标准或不清晰的读音,或用于儿童或学习者的材料。

简单来说,你可能知道如何 阅读 某个日语单词,但这并不意味着你知道如何 发音 它。为了解决这个问题,出版社使用假名来告诉读者特定单词的发音。

一个日语句子看起来像这样

林さんは英語は話せます。

为了添加音读指南,通常的做法是在汉字后面直接括号中包含发音,如下所示

林(はやし)さんは英語(えいご)は話(はな)せます。

虽然这使发音非常清晰,但它使文本的可读性降低。

此模块将以上格式的假名输入转换为使用 rubyrbrprt 标签的正确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)将渲染如下

Rendered furigana

一个优点是,不支持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 第一个版本