【发布时间】:2017-12-20 10:55:09
【问题描述】:
我正在创建一个多语言网站,语言切换器会加载所需的语言文件,但如果文件不包含所需的条目,则根本不会出现,甚至默认数组值也不可见。
我是这样翻译的:
$lang = "en";
if(isset($_GET['lang'])){
$lang = $_GET['lang'];
}
require_once("languages/lang_".$lang.".php");
语言数组:
<?php echo $language["USERNAME"]; ?>
带翻译的语言文件:
$language["USERNAME"] = "User name";
如果语言文件不包含$language["USERNAME"] = "User name";然后什么都没有显示。我想要实现的是:如果加载的语言文件不包含翻译,那么数组应该返回默认值,例如:USERNAME。
我确实检查了数组键或值是否可用于显示所需信息,但似乎检查是在加载的语言文件中完成的,如果语言文件为空,则没有可显示的内容。我只需要显示位于主 PHP 文件中的默认数组值。如果数组没有翻译
<?php echo $language["USERNAME"]; ?>
我想在括号中回显值:USERNAME。
【问题讨论】:
-
您有没有尝试过实现这一目标?
-
不幸的是不知道从哪里开始。
-
在其中创建一个传递数组键的函数,并检查该键是否存在于翻译中,然后从翻译中返回值。否则返回默认值。
-
我这样做了:$value){ if (empty($value)) { $empty = $value = $key; $language[$value] = ucfirst(strtolower($empty)); } } ?> 但是如果语言文件不包含数组值,在索引 php 中没有翻译,只是空的......
-
使用
array_replace函数合并EN和其他语言文件数组
标签: php multilingual