diff --git a/db_update.py b/db_update.py index 9a003dcb9..f49a74bbd 100644 --- a/db_update.py +++ b/db_update.py @@ -28,6 +28,8 @@ import sqlite3 import sys +# todo: need to set the EOS language to en, becasuse this assumes it's being run within an English context +# Need to know what that would do if called from pyfa ROOT_DIR = os.path.realpath(os.path.dirname(__file__)) DB_PATH = os.path.join(ROOT_DIR, 'eve.db') JSON_DIR = os.path.join(ROOT_DIR, 'staticdata') @@ -85,6 +87,7 @@ def update_db(): import eos.db import eos.gamedata + import eos.config # Create the database tables eos.db.gamedata_meta.create_all() @@ -159,10 +162,9 @@ def update_db(): def processEveCategories(): print('processing evecategories') data = _readData('fsd_lite', 'evecategories', keyIdName='categoryID') - _addRows(data, eos.gamedata.Category, fieldMap={ - 'categoryName_en-us': 'displayName', - 'categoryName_zh': 'name_zh' - }) + map = { 'categoryName_en-us': 'displayName' } + map.update({'categoryName'+v: 'name'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en_US'}) + _addRows(data, eos.gamedata.Category, fieldMap=map) def processDogmaAttributes(): print('processing dogmaattributes') diff --git a/eos/config.py b/eos/config.py index a0abf4b8d..a1a16fcef 100644 --- a/eos/config.py +++ b/eos/config.py @@ -19,7 +19,12 @@ lang = "" # Maps supported langauges to their suffix in the database translation_mapping = { "en_US": "", - "zh_CN": "_zh" + "fr": "_fr", + "it": "_it", + "ja": "_ja", + "ko": "_ko", + "ru": "_ru", + "zh_CN": "_zh", } def set_lang(i18n_lang): diff --git a/eos/db/gamedata/category.py b/eos/db/gamedata/category.py index 5048ed51f..20e6ac126 100644 --- a/eos/db/gamedata/category.py +++ b/eos/db/gamedata/category.py @@ -26,8 +26,7 @@ import eos.config categories_table = Table("invcategories", gamedata_meta, Column("categoryID", Integer, primary_key=True), - Column("name", String), - Column("name_zh", String), + *[Column("name{}".format(lang), String) for lang in eos.config.translation_mapping.values()], Column("description", String), # deprecated Column("published", Boolean), Column("iconID", Integer))