@tabooharmony/roblox-localization
Use when implementing Roblox multi-language support, translation tables, auto-translation, locale-specific content, or region detection.
No skills found in this collection.
SKILL.md
| name | roblox-localization |
| description | Use when implementing Roblox multi-language support, translation tables, auto-translation, locale-specific content, or region detection. |
| 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 featuresLocalizationService.SystemLocaleId: player's OS localeLocalizationService:GetCountryRegionForPlayerAsync(player): country code from IP geolocation (e.g.US,BR,JP)
Translation Tables
LocalizationTable: stores translation entries (key → translations per locale)- Parent
LocalizationTableunderLocalizationServicefor auto-translation - Set
GuiBase2d.RootLocalizationTableon 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 = trueon the GUI and its ancestors, plus a matching table entry - Set
TextLabel.Textnormally; the engine replaces it with the translated string for the player's locale - Missing translations fall back to the source text
Manual Translation
local translator = LocalizationService:GetTranslatorForPlayerAsync(player)
local translated = translator:Translate(game, "Welcome!")
local formatted = translator:FormatByKey("coins_count", {count})
Country/Region Detection
local country = LocalizationService:GetCountryRegionForPlayerAsync(player)
if country == "US" then -- USD pricing
-- US offer
elseif country == "GB" then
-- UK offer
end
Key Rules
GetCountryRegionForPlayerAsyncis async; wrap in pcall, may failGetTranslatorForPlayerAsyncis async; cache the translator- Set
RootLocalizationTableto choose a table; keepAutoLocalizetrue through the ancestor chain - Translation entries:
SourceText,SourceLocaleId, thenen-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 GetCountryRegionForPlayerAsyncuses IP geolocation, so VPNs give wrong results- Missing entries fall back to source text silently
Need more detail? Load references/full.md.
Loading...
Select a file to preview
Analyzing security...
Checking scan reports and verification data.
Bill of Materials
Everything this skill can do — files, network, commands, and more.
No demos yet. To add one, ask your AI agent: "Submit a demo for @tabooharmony/roblox-localization" — or upload via the API.
To add a demo, ask your AI agent: "Submit a demo for @tabooharmony/roblox-localization"
No eval data yet. Eval results are published via the SkillSafe API.