【发布时间】:2016-04-14 10:00:38
【问题描述】:
我正在调查一个问题,我想以一般方式解决它。 要获取 API 响应的翻译,我使用以下代码:
$array['name'] = getTranslation($key);
这会根据用户设置获取翻译,并可能导致以下结果返回带有翻译的键或仅返回键。这使得数组如下:
//user only can get the key
$array['name']['key'] = 'key';
或
//user can get both key and translation
$array['name']['key'] = 'key';
$array['name']['translation'] = 'translation';
这个解决方案运行良好,但不幸的是它必须改变。翻译键必须始终放在键中,并且翻译必须放在_key中。但前提是用户设置使他们能够获得翻译。这导致以下结果:
$array['name'] = 'key';
$array['_name'] = 'translation';
或者只是:
$array['name'] = 'key';
不幸的是,翻译被广泛使用,如果用户可以翻译,我不想检查每个方法。
所以现在我想知道,是否有办法在全球范围内解决这个问题。理想情况下是创建一种方法来解决它:
$arraykey = 'name';
$array[$arraykey] = getTranslations('translationkey', $arraykey);
它最终会出现在数组中:
$array['name'] = 'translationkey';
$array['_name'] = 'translated value';
【问题讨论】:
-
很难理解所有这些东西的目的,因此很难回答。您似乎在问如何简化检查用户可以访问的数据类型。如果你能更清楚地把问题集中在那个问题上,那么你可能会得到一些答案。