Vícejazyčný vzorový web

Klíčovou vlastností architektury ShipLang je, že v backendu stačí psát webové stránky pouze v jednom jazyce a systém je automaticky přeloží do více jazyků.

Použití je velmi jednoduché: stačí přidat atribut `data-i18n="název klíče překladu"` k prvku, který je třeba přeložit. Systém automaticky přeloží prvky označené `data-i18n`.

Princip překladu textu v JavaScriptu: Když JavaScript odešle na stránku text „[Hello]“, přečte výsledek překladu „[data-i18n="Hello"]“.

Pro zobrazení této stránky je nutné ji přepnout do angličtiny. Níže jsou uvedeny příklady použití v různých běžných scénářích, každý s kódem a demonstrací skutečného efektu.

Komponenty HTML kódu 【pre】【code】 nelze přeložit pomocí tagu data-i18n. Přidání i18n k těmto komponentám může způsobit chyby.

Vícejazyčné metody použití jsou zobrazeny na jednom místě.

1.只要在标签加入[data-i18n]即代表该内容需要被翻译,示例:

<p data-i18n="welcome">欢迎使用</p>

Vítejte!

2. 当[data-i18n]的值相同,系统也会容错处理,不会翻译为相同文本

<p data-i18n="k">你好</p><p data-i18n="k">不错</p>

Ahoj

dobrý

3. 无[data-i18n]标记文本(代表不翻译)

<span>这段文本没有data-i18n标记,不会被翻译</span>
这段文本没有data-i18n标记,不会被翻译

4. 输入框Placeholder翻译兼容

<input data-i18n="email_placeholder" placeholder="请输入邮箱">

5. 按钮文本,点击按钮通过js修改文本翻译

<button data-i18n="btn_submit">修改文本</button>

主要原理是基于隐藏标签,假设隐藏标签的文本存在要翻译的文本就会读取隐藏标签的翻译之后的文本,实现翻译

6. 嵌套元素

<div><p data-i18n="nested">这是嵌套在div中的文本</p></div>

Toto je text vnořený uvnitř divu.

7. JavaScript动态内容,代码中是中文,当用户切换英语也会显示英语

document.getElementById('btn').addEventListener('click',function(){alert('这是JavaScript弹窗内容');});

8. PHP动态列表

<?php foreach ($qx_list as $i) {echo '<li data-i18n="item">' . $i['text'] . '</li>';}?>
  • Seznam dat 1
  • WeChat: 5833487
  • Seznam dat 2

9. Meta标签SEO

<title data-i18n="title">标题</title><meta data-i18n="keywords" name="keywords" content="关键词"><meta data-i18n="description" name="description" content="描述">

Meta tagy se nacházejí v záhlaví stránky a slouží k vykreslení pozic ve vyhledávačích (SEO).

Toto je obsah vyskakovacího okna JavaScript. Hlavní princip je založen na skrytých tagech. Za předpokladu, že text se skrytými tagy existuje v textu, který má být přeložen, systém přečte přeložený text se skrytými tagy, a tím dosáhne překladu.