首页 > 解决方案 > 根据要使用的语言的 Svg 文本

问题描述

如何根据使用的语言使要显示的文本有所不同。

例如,如果文本位于:

Spanish I would like to use the text: Hola!

Italian I would like to use the text: Ciao!

English I would like to use the text: Hi!

如果未传递任何语言,则为默认语言,例如英语。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg height="30" width="200">
  <text x="0" y="15" fill="blue">Hi!</text>
</svg>

语言选择示例,语言可以在 cookie 或会话上。

或者它可以作为参数传递给文件name.svg?Lang=es

标签: htmlsvgcanvaslocalizationhtml5-canvas

解决方案


您可以使用开关元件。将浏览器的语言设置更改为首选意大利语或西班牙语以查看文本更改。

<svg width="100%" height="100%" viewBox="0 100 600 300">
  <switch font-size="18">
        <g systemLanguage="en">
          <text x="20" y="220" xml:lang="en-US">Why can't they just speak English ?</text>
          <text x="230" y="150" xml:lang="en">English (US)</text>
        </g>
        <g systemLanguage="es">
          <text x="20" y="220" xml:lang="es-ES" font-size="18">¿Por qué no pueden simplemente hablar en castellano ?</text>
          <text x="230" y="150" xml:lang="en">Spanish (ES)</text>
        </g>
        <g systemLanguage="it">
          <text x="20" y="220" xml:lang="it" font-size="18">Perchè non possono semplicemente parlare italiano ?</text>
          <text x="230" y="150" xml:lang="en">Italian</text>
        </g>
    </switch>
</svg>


推荐阅读