模组教程
  • 🏠主页
  • 😀介绍
  • 😇玩家手册
    • 📕安装教程
    • 📔使用说明
    • 🐴注意事项
  • 😅模组制作教程
    • 😅预先准备
    • 😎创建一个模组
    • 😘常用NML功能
    • 🤔其他常用
    • 🥸BepInEx
  • 🤔基础概念
    • 👌模组声明
    • 🎨模组接口
    • 👌模组设置
    • 👍模组依赖
    • 🤗多语言文本
  • 😶‍🌫️资源加载
    • 📕概览
    • 😁Resources
    • 😂AssetBundle
  • 😪其他技术
    • 👌模组重载
    • 🫥事件监听
    • 😄上传模组
  • 🫨游戏内容添加
    • 🥳创建装备
  • 🤩用户交互界面
    • 🥳按钮
    • 😁交互栏
    • 😂内置预制体
    • 😄一般窗口
    • 😆自动布局窗口
  • 😘懒人福利
    • 😍基础模组
  • 🚗NML开发和OpenMods项目
    • 📕介绍
    • NML 开发
    • NML 模组文档
    • 示例模组
    • Unity开发工具包
    • 原版代码文档
Powered by GitBook
On this page
  • 介绍
  • 使用
  • csv类型的文本文件
  • json类型的文本文件
  • 自动加载
  1. 基础概念

多语言文本

Previous模组依赖Next概览

Last updated 1 year ago

介绍

NML为模组提供了多语言文本的支持, 支持能够在游戏内顺利切换语言.

大约在62行左右, Reload函数中, 自行寻找

使用

NML在语言文本的支持集中在NeoModLoader.General.LM

你可以用LM.Get来获取一个key在当前语言情况下对应的文本.

LM.LoadLocales用于读取.csv类型的文本文件来加载语言文本

LM.LoadLocale用于读取.json类型的文本文件来加载语言文本

LM.AddToCurrentLocale用于将语言文本动态加载

LM.Add用于将语言文本动态加载给对应的语言

LM.ApplyLocale用于将加载语言文本的更改应用到所有LocalizedText

csv类型的文本文件

下面是一个例子lang.csv

key,cz,en,ch
Humans,人类,Humans,人類
Orcs,兽人,Orcs,獸人

json类型的文本文件

下面是一个例子

// cz.json
{
    "Humans": "人类",
    "Orcs": "兽人"
}

自动加载

你的模组主类需要实现ILocalizable接口, 在GetLocaleFilesDirectory返回语言文本文件夹的路径(真实文件系统). 在语言文本文件夹下的.csv会被加载, .json文件会被加载为其无后缀文件名的语言文本(如cz.json会给代码为cz的语言加载语言文本)

🤔
🤗
csv类型示例
json类型示例
手动加载示例