对语言文件中的数据进行排序

时间:2018-07-16 10:44:47

标签: php codeigniter sorting

我想翻译来自默认语言文件(由CI提供)的多种语言。我还想对这些值进行一些排序(例如,将它们插入到下拉列表中,我希望它们按字母顺序排序)。

我有一个在CodeIgniter中运行的项目,并且正在将所有硬编码文本移动到语言文件中。这也包括一些数据库表。

例如,我有下表:

+-------------+---------------------+--------------------+---------------+
| language_id |     language_nl     |    language_en     | language_code |
+-------------+---------------------+--------------------+---------------+
|           1 | Afrikaans           | Afrikaans          | AF            |
|           2 | Albanese            | Albanian           | SQ            |
|           3 | Arabisch            | Arabic             | AR            |
|           4 | Armeens             | Armenian           | HY            |
|           5 | baskisch            | Basque             | EU            |
|           6 | Bengalees           | Bengali            | BN            |
|             |                     |                    |               |
+-------------+---------------------+--------------------+---------------+

现在,我想将此表转移到我的语言文件中。 首先,我将删除language_nllanguage_en列。 还必须引入一个新列language_key。 所以它应该像这样:

+-------------+--------------+---------------+
| language_id | language_key | language_code |
+-------------+--------------+---------------+
|           1 | language_af  | AF            |
|           2 | language_sq  | SQ            |
|           3 | language_ar  | AR            |
|           4 | language_hy  | HY            |
|           5 | language_eu  | EU            |
|           6 | language_bn  | BN            |
+-------------+--------------+---------------+

然后在我的语言文件中添加以下行:

$lang["language_af"] = "African";
$lang["language_sq"] = "Albanian";
$lang["language_ar"] = "Arabic";

依此类推...

然后,我将创建一个管理器类,以帮助我找到密钥每种必需语言的翻译。 看起来像这样:

public function getLanguageName($key) {
   return lang(key);
}

现在我有两个主要问题:

1)这是解决我遇到的问题的好方法吗?

2)假设我需要在下拉菜单中显示语言。我希望此下拉列表按字母顺序排序(当然,根据所选语言的顺序会有所不同)。我该如何解决这个问题?我是否要从语言文件中加载所有值,将它们放入数组中,然后对该数组进行排序?

0 个答案:

没有答案