Skip to content
Get Started

Localization

The Localization feature let’s you automatically translate content in FirstLook into your player’s native languages. This covers two things:

  1. The player-facing UI itself (buttons, labels, system messages on the player dashboard and inside flows) is already translated by FirstLook into every supported language.
  2. The content you write (flows, announcements, survey questions, rewards descriptions, creator program messaging, and more) can be translated automatically, with the option for you to override any wording you want to fine-tune.

FirstLook supports 35 languages out of the box. Source content is authored in English; everything else is a translation target.

CodeLanguage
enEnglish (source)
arArabic (العربية)
bgBulgarian
csCzech
daDanish
deGerman (Deutsch)
elGreek
esSpanish - Latin America
es-ESSpanish - Spain
fiFinnish
frFrench (Français)
hiHindi (हिन्दी)
hrCroatian
huHungarian
idIndonesian
itItalian (Italiano)
jaJapanese (日本語)
koKorean (한국어)
ltLithuanian
msMalay (Bahasa Melayu)
nlDutch
noNorwegian
plPolish (Polski)
ptPortuguese - Brazil
pt-PTPortuguese - Portugal
roRomanian
ruRussian (Русский)
svSwedish
thThai (ไทย)
trTurkish (Türkçe)
ukUkrainian
urUrdu (اردو)
viVietnamese (Tiếng Việt)
zhChinese - Simplified (简体中文)
zh-TWChinese - Traditional (繁體中文)

Arabic and Urdu render right-to-left automatically.

When a player loads your flow or dashboard, FirstLook picks their language using this order, top wins:

  1. The language they picked in their player settings (see below)
  2. Their browser’s Accept-Language header (what their OS or browser is configured to send)
  3. The locale we detected for them on first visit
  4. English, as a final fallback

Languages outside the set you’ve enabled for your game are skipped over - except English, which is always available because it’s the source.

If a player’s browser language doesn’t match what they want to read your game in, they can override it themselves:

  1. Player signs in
  2. Opens Account Settings on their player dashboard
  3. Uses the Language dropdown - choices include every language you’ve enabled, plus an Auto-detect option

Their choice sticks across sessions and applies everywhere - flow, announcements, dashboard chrome.

Localization languages

LLM Localization is the recommended way to translate your game’s content. One source flow in English becomes localized experiences automatically, with no manual work unless you want to hand-tune specific strings.

  1. Go to Labs in your admin sidebar.
  2. Find the LLM Localization card and toggle it on.
  3. A new Localization section appears in the Config group in your sidebar, with two pages: Translations and Languages.

Before translations start flowing, tell us which languages you want to support:

  1. Go to Config → Localization → Languages.
  2. Check the boxes for every language you want to offer.
  3. Click Save Languages.

Enabling a new language backfills translations for everything you’ve already authored - flows, announcements, surveys, reward descriptions, the lot - so you don’t need to revisit each piece of content to “turn translation on” for it.

Disabling a language stops new translations being shown to players who request it; they’ll fall back to English.

Localization languages

When LLM Localization is on, the following studio-authored content is translated automatically:

SurfaceWhat’s translated
FlowsSignup, waitlist, onboarding, invite, and complete step copy across every flow.
Flow emailsCustom email subject lines, body copy, and CTAs configured per flow.
Game emailsGame-level email templates (sender name, footer, etc.).
AnnouncementsSubject and body of any announcement you send.
Questions (player attributes)Question text, helper text, and answer options that appear in onboarding and surveys.
Creator program messagingLanding page, pending page, and success page copy for your Creator Program.
Creator campaignsCampaign name, brief, and player-facing copy.
Rewards settingsTop-level rewards messaging (header, intro, etc.).
Reward tiersTier names and descriptions.
Individual rewardsReward names, descriptions, and instructions.
Home pageGame home page hero and section copy.
SurveysSurvey title, intro, questions, answer options, and outro.

The player-facing UI shell (system buttons, errors, account screens) is translated by FirstLook directly - you don’t need to do anything to get those.

Auto-translation is usually good, but you’ll occasionally want to tweak a specific phrase. Every translation can be overridden by hand.

  1. Go to Config → Localization → Translations.
  2. Pick the entity group along the top tab bar - Flows, Emails, Announcements, Questions, Creators, Rewards, Home Page, or Surveys.
  3. Use the Select Translation dropdown to pick the specific entity (e.g. “Playtester Flow”).
  4. Pick the target language tab.
  5. The editor shows Source (English, read-only) on the left and Translation on the right. Edit any field you want to override, then Save Changes.

Translations you’ve manually overridden are preserved even if you re-edit the English source - but new fields you add in English will get a fresh AI translation on save.

To edit the English source, go back to where you originally authored the content (the flow editor, the announcement editor, etc.). The translations page is intentionally read-only for source text so you can’t accidentally drift the English copy out from under its translations.

Localization edit

Announcements are translated at send time, based on each individual recipient’s preferred language:

  • A player whose preferred language is English receives the original copy immediately.
  • A player whose preferred language is anything else receives a translated version. There’s a brief translation step on send, then their copy goes out.

You don’t need to do anything to opt in beyond turning on LLM Localization. When you compose an announcement, you only write the English version - every other language is handled for you.

To preview or override a translation for a specific announcement, open it in Config → Localization → Translations → Announcements.

Surveys are translated for players on the web (player dashboard surveys) and in-game via the SDK. The player’s system language determines which translation they see.

To preview or override a survey translation, open it in Config → Localization → Translations → Surveys.

See the surveys docs for the broader surveys feature.