diff --git a/game/engines/default/engine/FontPackage.lua b/game/engines/default/engine/FontPackage.lua
index 542b7c9186b556ad235ef66a7b3364f6c46c7d92..52f842d797999c5a21858463cd407ae715465df2 100644
--- a/game/engines/default/engine/FontPackage.lua
+++ b/game/engines/default/engine/FontPackage.lua
@@ -48,13 +48,24 @@ end
 
 --- Default font id, "default"
 local cur_id = "default"
+
+--- Forced id, usuly only needed by some translations
+local forced_id = nil
+
 --- Set default font to use
 -- @string id if it can't find it, then the font will be "basic"
 function _M:setDefaultId(id)
+	if forced_id then id = forced_id end
 	if not packages[id] then id = "basic" end
 	cur_id = id
 end
 
+--- Force all fonts to use this package, no matter what is actually requested
+function _M:forceId(id)
+	cur_id = id
+	forced_id = id
+end
+
 --- Resolves a font
 -- @string name
 -- @string orname
diff --git a/game/engines/default/engine/I18N.lua b/game/engines/default/engine/I18N.lua
index 2e3792bb3d2d6474139fe89786d7efd993c6b515..19d4052151e4d5f6c704421165b99fd0d0e82c2c 100644
--- a/game/engines/default/engine/I18N.lua
+++ b/game/engines/default/engine/I18N.lua
@@ -97,6 +97,10 @@ function _M:loadLocale(file)
 		setFlag = function(flag, data) 
 			self.setFlag(lc, flag, data)
 		end,
+		forceFontPackage = function(id)
+			local FontPackage = require "engine.FontPackage"
+			FontPackage:forceId(id)
+		end,
 	}, {__index=getfenv(2)})
 	local f, err = util.loadfilemods(file, env)
 	if not f and err then error(err) end
@@ -151,7 +155,6 @@ function _M.setFlag(lc, flag, data)
 	end
 end
 
-
 function _M:test()
 	self:loadLocale("/data/locales/fr_FR.lua")
 	self:setLocale("fr_FR")
diff --git a/game/engines/default/engine/Module.lua b/game/engines/default/engine/Module.lua
index 2067360b6ab43be85805502a1b26f289a6f15ff0..0e3cbf2af9d8c22bf27b19e44c8cc334292292b5 100644
--- a/game/engines/default/engine/Module.lua
+++ b/game/engines/default/engine/Module.lua
@@ -945,9 +945,8 @@ function _M:instanciate(mod, name, new_game, no_reboot, extra_module_info)
 		I18N:loadLocale("/data/i18n/"..locale..".lua")
 	end
 	
-	-- I18N:loadLocale("/data/locales/zh_hans.lua")
-	-- I18N:setLocale("zh_hans")
-	-- config.settings.tome.fonts = {type="chinese", size="big"}
+	I18N:loadLocale("/data/locales/zh_hans.lua")
+	I18N:setLocale("zh_hans")
 
 	-- Load font packages
 	FontPackage:loadDefinition("/data/font/packages/default.lua")
diff --git a/game/engines/default/engine/init.lua b/game/engines/default/engine/init.lua
index d330e0cb4c8b3f9b04a2239370ffd8c159f590a6..f2399cef300a749ea3a5c40faa9a2c2b6dda3c53 100644
--- a/game/engines/default/engine/init.lua
+++ b/game/engines/default/engine/init.lua
@@ -127,7 +127,6 @@ end
 
 -- I18N:loadLocale("/data/locales/zh_hans.lua")
 -- I18N:setLocale("zh_hans")
--- config.settings.tome.fonts = {type="chinese", size="big"} 
 
 
 -- Default resolution as big as possible