【发布时间】:2018-08-12 15:02:08
【问题描述】:
我问这个纯粹是为了教育目的,在浏览 HTML5 的一些参考信息时,我遇到了 lang 属性,虽然我理解它是一种定义语言的方式,如果我要说制作多语言网站,而不是再次制作每个页面,我会认为这将是一种基于浏览器语言隐藏各种 div 的方法,即
<div lang='en'>Hello</div>
<div lang='ja'>こんいちは</div>
所以我的第一个想法是,如果我的浏览器设置为英文,它应该只显示英文标签,但进一步阅读后,似乎lang 标签似乎只是告诉浏览器它是什么语言并添加了对 TTS 的支持、盲文和其他东西。
这是正确的,还是我只是忘记了它的其他一些潜在用途?
如果它只是一个阅读器或类似的东西,在单个 html/php 网站上交换语言的最佳方式是:
<?php if ($_GET['lang'] == "en") { ?>
<div>Hello</div>
<?php } else if ($_GET['lang'] == "ja") { ?>
<div>こんいちは</div>
<?php } else { ?>
<div>Language not supported</div>
<?php } ?>
虽然我做了很多年的程序员,但有很多这样的小事情我以前根本没有遇到过。
问候
【问题讨论】:
-
你可以为此使用一个助手,这样你就不需要在你的 php-html 中做那些肮脏的事情。类似
<div><?= translate($message, $_GET['lang']) ?></div>或更好的<div><?= translate($message) ?></div>,$_GET['lang']将在translate函数内。