roblox-localization — скилл для Claude Code: перевод в Roblox
Скилл для работы с локализацией в Roblox: таблицы переводов, авто-перевод, определение страны игрока и разбор строк перед добавлением языков.
npx skills add TabooHarmony/roblox-brain --skill roblox-localization -a claude-codeЧто делает roblox-localization
Скилл подсказывает агенту, как устроена локализация в Roblox: LocalizationService, LocalizationTable, авто-перевод и определение региона. Внутри — краткий справочник по API и правила, которые легко забыть.
Например, GetCountryRegionForPlayerAsync и GetTranslatorForPlayerAsync асинхронные, поэтому их советует оборачивать в pcall, а переводчик кэшировать. Авто-перевод работает только на GUI: для не-GUI текста нужен ручной Translator:Translate. Ещё один момент — AutoLocalize должен быть включён у элемента и всех его предков, иначе строка не переведётся.
Если игрок сидит под VPN, определение страны по IP даст неверный результат. Пропущенные записи в таблице молча откатываются к исходному тексту, так что дыры в переводе легко не заметить. Для массового редактирования таблицы экспортируются и импортируются как CSV из Studio, а разные локали проверяются через симулятор локали.
Какие задачи решает
- добавить поддержку нескольких языков в игру
- починить строку, которая не переводится
- разобраться, почему переведённый текст не влезает в UI
- проверить строки перед добавлением новых языков
- показать разный контент игрокам из разных стран
Примеры запросов агенту
- Помоги настроить LocalizationTable для нашей игры на Roblox
- Почему текст в TextLabel не переводится для игрока с локалью pt-br?
- Сделай проверку страны игрока через GetCountryRegionForPlayerAsync и покажи оффер для US
Как установить roblox-localization
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-localization -a claude-code2Вручную: положить файлы
~/.claude/skills/roblox-localization/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/roblox-localization/
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-localization -a codex2Вручную: положить файлы
.agents/skills/roblox-localization/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-localization -a cursor2Вручную: положить файлы
.cursor/skills/roblox-localization/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install TabooHarmony/roblox-brain roblox-localization2Вручную: положить файлы
.github/skills/roblox-localization/SKILL.md1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-localization -a gemini-cli2Командой платформы
gemini skills install https://github.com/TabooHarmony/roblox-brain --path skills/gameplay/roblox-localizationВручную: положить файлы
.devin/skills/roblox-localization/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-localization -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора28
Похожие
Рядом в теме «Геймдев и 3D: Unity, Unreal, Godot, Blender»
Всё по теме «Геймдев и 3D: Unity, Unreal, Godot, Blender» →Вопросы о roblox-localization
Как установить roblox-localization в Claude?
Выполните npx skills add TabooHarmony/roblox-brain --skill roblox-localization -a claude-code. После этого файл скилла окажется в ~/.claude/skills/roblox-localization/SKILL.md.
Что делает roblox-localization?
Даёт агенту справочник по локализации в Roblox: определение локали и страны игрока, таблицы переводов, авто-перевод и ручной перевод через Translator.
Почему авто-перевод не срабатывает?
Он работает только на GUI-элементах, у которых включён AutoLocalize вместе со всеми предками, и только при наличии записи в таблице. Для остального текста нужен ручной Translator:Translate.
Исходный текст
SKILL.md · MIT
---
name: roblox-localization
description: "Use when adding or fixing Roblox translation: localization tables, auto-translation, locale-specific content, or region detection."
when_to_use: "Also when text isn't translated, translated text overflows UI, or when auditing strings before supporting more languages."
last_reviewed: 2026-07-26
sources:
- https://create.roblox.com/docs/reference/engine/classes/LocalizationService
- https://create.roblox.com/docs/reference/engine/classes/LocalizationTable
- https://create.roblox.com/docs/reference/engine/classes/Player
---
# Roblox Localization
## When to Load
Load when implementing multi-language support, translation systems, locale-specific content, or region detection. Covers LocalizationService, LocalizationTable, auto-translation, and country/region detection.
## Quick Reference
### Locale Detection
- `player.LocaleId`: locale the player set for their Roblox account (e.g. `en-us`, `pt-br`, `ja-jp`)
- `LocalizationService.RobloxLocaleId`: locale for core/internal features
- `LocalizationService.SystemLocaleId`: player's OS locale
- `LocalizationService:GetCountryRegionForPlayerAsync(player)`: country code from IP geolocation (e.g. `US`, `BR`, `JP`)
### Translation Tables
- `LocalizationTable`: stores translation entries (key → translations per locale)
- Parent `LocalizationTable` under `LocalizationService` for auto-translation
- Set `GuiBase2d.RootLocalizationTable` on GUI objects for per-element tables
- Studio can auto-extract strings into a table via the Localization Tools plugin
### Auto-Translation
- Auto-translation requires `AutoLocalize = true` on the GUI and its ancestors, plus a matching table entry
- Set `TextLabel.Text` normally; the engine replaces it with the translated string for the player's locale
- Missing translations fall back to the source text
### Manual Translation
```luau
local translator = LocalizationService:GetTranslatorForPlayerAsync(player)
local translated = translator:Translate(game, "Welcome!")
local formatted = translator:FormatByKey("coins_count", {count})
```
### Country/Region Detection
```luau
local country = LocalizationService:GetCountryRegionForPlayerAsync(player)
if country == "US" then -- USD pricing
-- US offer
elseif country == "GB" then
-- UK offer
end
```
### Key Rules
- `GetCountryRegionForPlayerAsync` is async; wrap in pcall, may fail
- `GetTranslatorForPlayerAsync` is async; cache the translator
- Set `RootLocalizationTable` to choose a table; keep `AutoLocalize` true through the ancestor chain
- Translation entries: `SourceText`, `SourceLocaleId`, then `en-us`, `pt-br`, etc. columns
- Export/import tables as CSV from Studio for bulk editing
- Test with different locales using Studio's locale simulator
### Pitfalls
- Not all locales supported; check `player.LocaleId`
- Auto-translation does NOT work on non-GUI text; use manual `Translator:Translate`
- `GetCountryRegionForPlayerAsync` uses IP geolocation, so VPNs give wrong results
- Missing entries fall back to source text silently
**Need more detail?** Load `references/full.md`.
© TabooHarmony · MIT · TabooHarmony/roblox-brain