Rails:如何将I18N放入SVG文件

时间:2018-07-02 10:27:00

标签: ruby svg

我想对多个SVG文件进行国际化,但我不知道该怎么做。
这是我的SVG文件:

<text font-family="OpenSans-Semibold, Open Sans" font-size="22" font-weight="500" fill="#FFFFFF">
  <tspan x="39" y="157">Accessoires</tspan>
</text>

我应该做些什么:

<text font-family="OpenSans-Semibold, Open Sans" font-size="22" font-weight="500" fill="#FFFFFF">
  <tspan x="39" y="157"><%= t('accessoires') %></tspan>
</text>

或者还有其他方法可以做到吗?

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

我知道用参数构建svg的三种方法。第一个是将其另存为字符串,然后调用html_safe。第二种方法根据W3C SVG with parameters

使用对象标记
<object type="image/svg+xml" data="text.svg" class="logo">
  <param text="<%= t('accessoires') %>">
</object>

<text font-family="OpenSans-Semibold, Open Sans" font-size="22" font-weight="500" fill="#FFFFFF">
  <tspan x="39" y="157" content-value="param(label)" />
</text>

第三种方法是使用原始svg或部分_my_svg.html.erb

<text font-family="OpenSans-Semibold, Open Sans" font-size="22" font-weight="500" fill="#FFFFFF">
  <tspan x="39" y="157" content-value="<%= t('accessoires') %>" />
</text>