如何在php页面中包含一个包含gettext的svg图像

时间:2016-12-21 08:27:29

标签: php svg gettext

我需要一个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>

我已尝试使用includefile_get_contentseval组合多个选项,但没有一个能顺利运行,尤其是在我必须使用后期编辑我的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将转义整个字符串并生成&lt;?php echo...,并且即使使用eval,也不会解释生成的svg文件。

是否有一种优雅的方式将上述要求放在一起,或者我是否使用谚语锤放入螺丝?

0 个答案:

没有答案