如何在Factorio模组Lua脚本中获取本地化字符串?
解决方法
- 核心是把本地化键转换为实际显示的文本,不同环境的实现方式略有不同:
- 调用引擎内置的本地化解析函数(这类场景常见于Factorio等带本地化系统的游戏):
直接用引擎提供的API解析item.localised_name,得到可直接使用的字符串:-- 获取本地化后的名称文本 local localized_name = game.localise(item.localised_name) -- 将文本写入文件 local output_file = io.open("item_names.txt", "w") if output_file then output_file:write(localized_name) output_file:close() end - 手动维护本地化字典(如果没有内置解析函数时):
提前构建键值对应表,通过键直接查找对应的本地化文本:-- 自定义本地化字典,根据实际需求补充键值对 local locale_map = { ["item.iron-plate"] = "铁板", ["item.copper-cable"] = "铜线", ["item.steel-beam"] = "钢梁" } -- 获取文本,找不到时保留原键作为 fallback local localized_name = locale_map[item.localised_name] or item.localised_name -- 写入文件 local output_file = io.open("item_names.txt", "w") if output_file then output_file:write(localized_name) output_file:close() end
- 调用引擎内置的本地化解析函数(这类场景常见于Factorio等带本地化系统的游戏):
内容的提问来源于stack exchange,提问作者Kux
相关产品推荐
相关产品推荐

