我想实现本地化。一旦我获得了语言代码,例如 en
,检索文本的最佳方式是什么?例如:
en:
welcome-text = "Hello!"
es:
welcome-text = "Hola!"
还有,什么是最有效、最快的方法?我应该将它们存储在 php 变量中,并通过数组或 switch 语句中的 php 变量获取文本,还是应该将它们存储为 json 并通过 json 获取它们?
最佳答案
如果您没有使用某些框架(大多数框架都有翻译功能,我真的建议您使用一个),我建议您使用数组作为翻译文件。这是一种简单快捷的方法:
en.php
<?php return array(
'Welcome' => 'Welcome',
...
);
es.php
<?php return array(
'Welcome' => 'Holla',
...
);
lang.php
<?php
$mapping = require($_SESSION['user-lang-code'].'.php');
funciton _t($text)
{
global $mapping;
return isset($mapping[$text])?$mapping[$text]:$text;
}
您的页面:
<?php
require 'lang.php';
echo _t('Welcome');
关于PHP 变量或 JSON 本地化以及如何检索它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40640222/