mcpField
R
roblox-localization

roblox-localization

github.com/tabooharmony开发1381.7k 次安装2 周前更新
代码仓库

关于 roblox-localization

面向 Roblox 开发者的本地化技能,适用于实现翻译、多语言内容和地区检测。内容涵盖内置本地化服务、自动与手动翻译,以及 Studio 中的翻译表工作流程。

主要功能

  1. 01检测玩家与系统区域设置
  2. 02配置翻译表
  3. 03设置 GUI 自动翻译规则
  4. 04使用 Translator 手动翻译
  5. 05检测国家和地区
  6. 06编辑 CSV 表并测试区域设置

适用场景

  1. 01为 GUI 文本添加翻译
  2. 02按玩家区域设置选择内容
  3. 03展示地区专属优惠
  4. 04编辑并测试翻译表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-localization

安装后在 Claude Code 中输入/roblox-localization确认已加载。

附带文件references/full.md

详细介绍

Roblox 本地化

何时加载

在实现多语言支持、翻译系统、本地化内容或地区检测时加载。涵盖 LocalizationService、LocalizationTable、自动翻译以及国家/地区检测。

快速参考

区域设置检测
  • player.LocaleId:玩家为其 Roblox 账户设置的区域设置(例如 en-us、pt-br、ja-jp)
  • LocalizationService.RobloxLocaleId:核心/内部功能使用的区域设置
  • LocalizationService.SystemLocaleId:玩家操作系统的区域设置
  • LocalizationService:GetCountryRegionForPlayerAsync(player):通过 IP 地理位置获取的国家/地区代码(例如 US、BR、JP)
翻译表
  • LocalizationTable:存储翻译条目(键 → 各区域设置对应的译文)
  • 将 LocalizationTable 设为 LocalizationService 的子对象,以启用自动翻译
  • 在 GUI 对象上设置 GuiBase2d.RootLocalizationTable,为各元素指定翻译表
  • Studio 可通过 Localization Tools 插件自动提取字符串并放入表中
自动翻译
  • 自动翻译要求 GUI 及其所有祖先对象的 AutoLocalize = true,且存在匹配的表条目
  • 正常设置 TextLabel.Text;引擎会将其替换为玩家区域设置对应的译文
  • 缺少译文时会回退到源文本
手动翻译
local translator = LocalizationService:GetTranslatorForPlayerAsync(player)
local translated = translator:Translate(game, "Welcome!")
local formatted = translator:FormatByKey("coins_count", {count})
国家/地区检测
local country = LocalizationService:GetCountryRegionForPlayerAsync(player)
if country == "US" then -- USD pricing
    -- US offer
elseif country == "GB" then
    -- UK offer
end
关键规则
  • GetCountryRegionForPlayerAsync 是异步方法;请用 pcall 包装,调用可能失败
  • GetTranslatorForPlayerAsync 是异步方法;请缓存翻译器
  • 设置 RootLocalizationTable 以选择翻译表;确保祖先链上的 AutoLocalize 始终为 true
  • 翻译条目包含 SourceText、SourceLocaleId,以及 en-us、pt-br 等列
  • 可在 Studio 中将表导出为 CSV,批量编辑后再导入
  • 使用 Studio 的区域设置模拟器,通过不同的区域设置进行测试
常见问题
  • 并非支持所有区域设置;请检查 player.LocaleId
  • 自动翻译不适用于非 GUI 文本;请使用手动翻译 Translator:Translate
  • GetCountryRegionForPlayerAsync 使用 IP 地理位置,因此 VPN 会导致结果不准确
  • 缺少条目时会静默回退到源文本

需要更多细节? 加载 references/full.md。

评论

支持 Markdown