tabooharmony/roblox-brain

roblox-localization

Use when adding or fixing Roblox translation: localization tables, auto-translation, locale-specific content, or region detection.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-localization

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

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.

같은 저장소의 Skills

더 많은 Skills

모든 Skills