我的数据库中插入了不同语言的数据,例如中文、法语、英语、马来语、日语、韩语等。
我如何检测这些语言并查询特定的语言。例如,如果我只想查询中文数据并将其显示给用户。
我的数据库中插入了不同语言的数据,例如中文、法语、英语、马来语、日语、韩语等。
我如何检测这些语言并查询特定的语言。例如,如果我只想查询中文数据并将其显示给用户。
如果我是你,我会有这样的东西来存储显示在你的 UI 控件中的文本:
create table ui_labels (
control_id int,
language varchar(2),
label varchar(500),
primary key (control_id, language)
);
control_id
UI 中的每个控件(例如按钮)都有一个唯一的。每个控件可以有许多标签,每种语言一个。
然后,每个 UI 控件可以为每种语言使用不同的标签。(我假设这里是两个字母的 ISO 语言代码,但您也可以使用数字 ID 或其他一些标识方案。)
这使得只需向表中添加行即可轻松添加新语言,并且只需切换查询中使用的值ui_labels
即可轻松切换 UI 中显示的语言。language
按钮的数据可能如下所示:
insert into ui_labels (control_id, language, label)
values (1, 'en', 'Read the article');
insert into ui_labels (control_id, language, label)
values (1, 'es', 'Leer el artículo');
insert into ui_labels (control_id, language, label)
values (1, 'tl', 'Bumasa ang balita');
但是,作为这种方法的替代方法,您可能需要查看gettext,这是在 PHP 中进行翻译的标准方法。它不使用您的数据库。如果需要将字符串放入数据库(例如,如果最终用户必须能够编辑它们),那么这不是一个选项,但您可以考虑这样做。如果你对此感兴趣,你可能想看看这篇博文: