我需要一个PHP页面来显示Inkscape维护的svg图像,该图像包含使用gettext
翻译服务而不使用JavaScript并避免使用库的文本。
理想情况下,我想要一个组合:
<?php
<img src="image.svg" alt="translated" />
?>
image.svg包含
...
<text>
<tspan>text to be translated</tspan>
</text>
...
我通常会使用哪一端
<?php echo gettext("text to be translated"); ?>
附带包含翻译的.mo文件,导致准备好服务的php文件包含:
<body
<svg>
....
<text>
<tspan><?php echo gettext("text to be translated"); ?></tspan>
</text>
...
</svg>
</body>
我已尝试使用include
,file_get_contents
和eval
组合多个选项,但没有一个能顺利运行,尤其是在我必须使用后期编辑我的svg图像的情况下使用PoEdit Inkscape或重新扫描gettext
条目。
不允许在svg中输入php代码,包括php中的svg代码不允许Inkscape编辑和eval
svg文本抛出svg,只留下php表达式的结果(即。翻译文本)。 include
svg文件不会评估svg等中的任何php代码等。
使用Inkscape中的文本工具输入<?php echo gettext("text to be translated"); ?>
时,Inkscape将转义整个字符串并生成<?php echo...
,并且即使使用eval
,也不会解释生成的svg文件。
是否有一种优雅的方式将上述要求放在一起,或者我是否使用谚语锤放入螺丝?