在多语言网站中,我应该使用数字或关键字来引用该语言吗?
例如,假设英国人从服务列表中选择服务,服务列表将使用英语,而如果西班牙人从服务列表中选择,则列表将采用西班牙语。
服务列表是从数据库中的表中选择的,每个服务都有唯一的编号来标识它,以及用什么语言来标识服务的编写方式。 我问的是,哪个更好。使用数字来识别语言,还是使用语言代码?
示例:
假设的服务表:
id | service_id | service | lang
------------------------------------
0 | cooking | 1 | en
1 | driving | 2 | en
2 | singing | 3 | en
3 | running | 4 | en
4 | cocinar | 1 | es
5 | conducir | 2 | es
6 | cantar | 3 | es
7 | correr | 4 | es
VS
id | service_id | service | lang
------------------------------------
0 | cooking | 1 | 1
1 | driving | 2 | 1
2 | singing | 3 | 1
3 | running | 4 | 1
4 | cocinar | 1 | 2
5 | conducir | 2 | 2
6 | cantar | 3 | 2
7 | correr | 4 | 2
我给每种语言提供数字ID
我可以看到语言代码方法使数据库更具人性化可读性,但是为什么服务器无论如何处理它都真的很重要,其中数字对于服务器来说更容易,但是我必须为每个数字提供一个数字语言。
您认为哪种方法更好,为什么?
答案 0 :(得分:2)
我几乎总是将这些事情规范化,但由于以下原因,这可能是一种罕见的例外:
nchar(2)列只占用4个字节,与int列相同。因此,性能不应受到影响,特别是如果您将coalation设置为序数。
双字符语言代码符合国际标准,极不太可能改变。因此,大规模更新不应成为问题。
因此,规范化的论据并不适用于这种情况。
答案 1 :(得分:1)
有一个ISO standardized set of language codes。我只是使用类似示例1的那些。你应该有一个辅助表,列出了长拼写版本的短2/3数字代码。