Çok Dilli Örnek Web Sitesi
ShipLang mimarisinin en önemli özelliği, arka uçta web sayfalarını yalnızca tek bir dilde yazmanız yeterli olması ve sistemin bunları otomatik olarak birden fazla dile çevirmesidir.
Kullanımı çok basit: Çevrilmesi gereken öğeye `data-i18n="çeviri anahtar adı"` özniteliğini eklemeniz yeterli. Sistem, `data-i18n` ile işaretlenmiş öğeleri otomatik olarak çevirecektir.
JavaScript metin çeviri prensibi: JavaScript, sayfaya "[Hello]" metnini gönderdiğinde, "[data-i18n="Hello"]" ifadesinin çeviri sonucunu okur.
Bu sayfayı görüntülemek için dili İngilizceye çevirmeniz gerekiyor. Aşağıda, çeşitli yaygın senaryolarda kullanım örnekleri, her biri kod ve gerçek etkinin gösterimiyle birlikte verilmiştir.
HTML kod kutusu bileşenleri 【pre】【code】, data-i18n etiketiyle çevrilemez. Bu bileşenlere i18n eklemek hatalara yol açabilir.
Çok dilli kullanım yöntemleri tek bir yerde görüntülenir.
1.只要在标签加入[data-i18n]即代表该内容需要被翻译,示例:
<p data-i18n="welcome">欢迎使用</p>
Hoş geldin!
2. 当[data-i18n]的值相同,系统也会容错处理,不会翻译为相同文本
<p data-i18n="k">你好</p><p data-i18n="k">不错</p>
Merhaba
iyi
3. 无[data-i18n]标记文本(代表不翻译)
<span>这段文本没有data-i18n标记,不会被翻译</span>
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>
Bu, bir div içine yerleştirilmiş metindir.
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>';}?>
- Liste verileri 1
- WeChat: 5833487
- Liste verileri 2
9. Meta标签SEO
<title data-i18n="title">标题</title><meta data-i18n="keywords" name="keywords" content="关键词"><meta data-i18n="description" name="description" content="描述">
Meta etiketleri sayfa başlığında ayarlanır ve SEO arama motoru sıralamalarını oluşturmak için kullanılır.