如何在数据库中保持多语种国家和城市

问题描述 投票:0回答:1

我有两个不同的表格中的国家和城市数据库,例如:

国家表

Countries
id    name
__    _______
1     Canada
2     Taiwan
...   .....
N     name

城市表

Cities
id     name         country_id
___    _________    __________
40     Washington   193
154    Taipei       2
...    ......       ....
N      name         county_id

问题在于它只有英文版。所以我要用超过2种语言的城市和国家名称。我希望将所有翻译保留在一个表中,以使用不同语言表示的任何国家和城市具有相同的ID。我是否应该将表格修改为此内容

国家表以2种语言表

Countries
id    name_en   name_kg
__    _______   _______
1     Canada    Канада
2     Taiwan    Тайвань
...   .....     .....
N     name_en   name_kg

城市表有2种语言

Cities
id     name_en      name_kg         country_id
___    _________    ________        __________
40     Washington   Вашингтон       193
154    Taipei       Тайпей          2
...    ......       ......          ....
N      name_en      name_kg         county_id

正如我所说,我可能需要两种以上语言的城市和国家。那么它是存储我的数据的正确方法,我在哪里可以获得这些数据?对任何提议和想法都会感到高兴

database database-schema multilingual
1个回答
0
投票

您可以在两个表上添加基于ISO_639-1_codes的语言列。例如,如下所示。你可以在城市做类似的结构。然后在所有查询中,您需要知道并将语言代码放在where条件中(其中language ='EN')。希望这可以帮助。谢谢。

id    name_en   language
__    _______   _______
1     Canada    EN
2     Taiwan    EN
1     加拿大    ZH
2     台灣      ZH

Language_encoding table:
id   code  ISO_lang_name Native_name
1    EN    English       English
2    ZH    Chinese       中文

参考:https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

© www.soinside.com 2019 - 2024. All rights reserved.