HEADLINER

HEADLINER

View Stats:
 This topic has been pinned, so it's probably important
Koobazaur  [developer] Feb 10, 2018 @ 12:00pm
HEADLINER Translation Guide - Help bring the game to your language!
The newest patch for HEADLINER (1.0.3d) introduced support for 3rd party translations, and I’m happy to share the base files publically so anyone can translate it :) Here’s a simple tutorial on how to use translations, and how to translate the game into your language:

Shared Translation Files for Collaboration

I am setting up Shared Google Sheets so folks can collaborate :) You can just add extra sheets for new languages by duplicating previous ones

SHARED TRANSLATION DOC[docs.google.com]

Also Join Our Discord[discord.gg] to communicate with other translators! We got a channel set up for that :) Just message me there and I'll add you as an editor!

How to install new languages in HEADLINER

Each localization file is just a .CSV file that needs to be placed in a “localization” folder in the AppData path for HEADLINER. These are:

  • WINDOWS: C:\Users\[PC USERNAME]\AppData\local\headliner\User Data\localization\
  • LINUX: /home/username/.config/headliner/localization
  • MAC: ~/Library/Application Support/headliner/localization

After you launch the game, you should now see your selected language and left/right arrows on the bottom right of main menu. The name of the language is simply the name of the CSV file. After you change your language, you will need to reboot the game to see the changes.

Here's an image of what you should see.[i.imgur.com]

How to translate the CSV

Base Localization File: http://unboundcreations.com/images/Headliner/headliner_localization_file.csv

The base CSV is a simple UTF-8 encoded key/value lookup table, using 4 columns (more on that later). The first column is the “Key”, original english text and should NOT be changed. The second column is the “value”, the translation in your language that will be swapped in place of english. The total word count is just under 13,000. It is further split into a few sections (like main menu, home conversation, etc.) to keep it organized. Some phrases (like “Continue”) may be defined in one section, but also used in other places in game (such “continue” appearing both in main menu and pause screen).

Some keys may also begin with two special words
  • PLAYERSAYS: indicates that it is a line spoken by the player in the home conversation
  • DAUGHTERSAYS: indicates that it is a line spoken by the daughter in the home conversation

Any other lines in the Home Conversation section is spoken by player’s spouse. Do NOT add “PLAYERSAYS:” or “DAUGHTERSAYS” to the translated text - I only added them to the keys to make it clear who is speaking.

Special Tags

There are several special tags you can use, placed inside square brackets []. These are looked up dynamically, and some change depending on the chosen genders at the start. The available tags are:

[playerName] - player’s first name (lowercase i.e. john)
[PlayerName] - player’s first name (capitalized i.e. John)
[PLAYERNAME] - player’s first name (allcaps i.e. JOHN)
[playerLastName] - player’s last name (lowercase i.e. john)
[PlayerLastName] - player’s last name (capitalized i.e. John)
[spouseName] - spouse's name (lowercase i.e. jenny)
[SpouseName] - spouse's name (capitalized i.e. Jenny)
[daughterName] - daughter’s first name (lowercase i.e. jackie)
[DaughterName] - daughter’s first name (capitalized i.e. Jackie)

[playerHeOrShe] - inserts “he” or “she” based on players gender
[PlayerHeOrShe] - inserts “he” or “she” based on players gender (capitalized)
[PlayerFatherOrMother] - inserts “father” or “mother” depending on player’s gender (capitalized)
[playerFatherOrMother] - inserts “father” or “mother” depending on player’s gender (lowercase)
[PlayerDadOrMom] - inserts “dad” or “mom” depending on player’s gender (capitalized)
[playerDadOrMom] - inserts “dad” or “mom” depending on player’s gender (lowercase)
[PlayerSirOrMam] - inserts “sir” or “m’am” depending on player’s gender (capitalized)
[playerSirOrMam] - inserts “sir” or “m’am” depending on player’s gender (lowercase)
[SpouseFatherOrMother] - inserts “father” or “mother” depending on spouse’s gender (capitalized)
[spouseFatherOrMother] - inserts “father” or “mother” depending on spouse’s gender (lowercase)
[SpouseWifeOrHusband] - inserts “wife” or “husband” depending on spouse’s gender (capitalized)
[spouseWifeOrHusband] - inserts “wife” or “husband” depending on spouse’s gender (lowercase)
[SpouseDadOrMom] - inserts “dad” or “mom” depending on spouse’s gender (capitalized)
[spouseDadOrMom] - inserts “dad” or “mom” depending on spouse’s gender (lowercase)
[SpouseHeOrShe] - inserts “he” or “she” depending on spouse’s gender (capitalized)
[spouseHeOrShe] - inserts “he” or “she” depending on spouse’s gender (lowercase)
[SpouseHimOrHer] - inserts “him” or “her” depending on spouse’s gender (capitalized)
[spouseHimOrHer] - inserts “him” or “her” depending on spouse’s gender (lowercase)
[SpouseHisOrHer] - inserts “his” or “her” depending on spouse’s gender (capitalized)
[spouseHisOrHer] - inserts “his” or “her” depending on spouse’s gender (lowercase)

Note that all the words listed as “inserts” above (he, she, father, m’am, husband, her, etc.) are gender-based pronouns, and they are defined in the first section of the CSV file. Thus, if you translate “he” as “on” (in Polish) at the top, and later use [spouseHeOrShe] in your translation, it would be replaced with “on.”

This works well for English and other non-gender-specific languages, but is insufficient with other languages which also conjugate verbs and adverbs (such as Polish). This brings us to…

Gender-based translation filters

HEADLINER allows the player to choose both their gender and the gender of their spouse. In English, this works pretty well, only needing to swap out pronouns with the predefined tags (dad/mom etc.) In other languages, however, that may not be sufficient. The sentence “I ate the cat” can have two different versions depending on the gender of the speaker. The translation system accounts for that.

Remember when I mentioned the CSV is 4 columns? The same key can be used multiple times, with the extra 2 columns acting as filters for player and spouse’s gender respectively. They can be blank (any gender), have “m” (for male) or “f” for female.

Here is an example of how one would translate a sentence into polish, assuming the speaker is the player:

I am angry you ate the cat!,Jestem zły, że zjadłeś kota!,m,m
I am angry you ate the cat!,Jestem zła, że zjadłeś kota!,f,m
I am angry you ate the cat!,Jestem zły, że zjadłaś kota!,m,f
I am angry you ate the cat!,Jestem zła, że zjadłaś kota!,f,f

Note the adjective “zły/zła” (angry) and the verb “zjadłeś/zjadłaś” (ate) changes depending on both genders, and thus the m and f act as filters. The game will simply pick the line that matches the player ‘s and spouse’s gender.

Lastly, under the Home Conversation section, the keys starting with PLAYERSAYS: indicate player is the speaker, and lines starting with DAUGHTERSAYS: indicate the daughter is speaking. Do not add those tags in the translated column to the right.

Thanks and let me know if you decide to work on fan translation :)

Last edited by Koobazaur; Feb 20, 2018 @ 4:03pm
< >
Showing 1-14 of 14 comments
Klumb3r Feb 10, 2018 @ 3:09pm 
My friend and I want to help with Spanish, but we don't have the game.
For me (Win10) it worked with:

C:\Users\USERNAME\AppData\Local\headliner\User Data\localization\LANGUAGE.csv

Note: The "headliner" folder only contains a "User Data" folder. That's where the localization folder needs to be placed in.
Last edited by ダ4ニエル ( ರ_•́); Feb 10, 2018 @ 4:59pm
Aya Breha Feb 18, 2018 @ 6:55am 
bonjour je ne sais pas comment on fait pour traduire mais pourrait il y avoir un traduction francaise ?
Koobazaur  [developer] Feb 18, 2018 @ 9:37pm 
Aya - if we can get any French fans interested, I would love to see French version! Alas, my French isn't good enough to even remotely attempt that :p
Klumb3r Feb 18, 2018 @ 9:38pm 
Hello?
Koobazaur  [developer] Feb 18, 2018 @ 9:40pm 
Klumb3r - sure, join up our discord and let me know, Ill add you to the editor list!
Klumb3r Feb 20, 2018 @ 10:11am 
Windows 10:

%localappdata%\headliner\User Data
Koobazaur  [developer] Feb 20, 2018 @ 4:03pm 
Thanks for the heads up, I updated OP with corrected path. Sorry for confusion!
AkaKo Feb 24, 2018 @ 4:38am 
If i finish the translation,how can i send it to you?
Ps.i'm working on Chinese translation
Koobazaur  [developer] Feb 27, 2018 @ 5:01pm 
Ashely - awesome :) Please jump in our discord to coordinate with other translators, and I will grant you access to our shared translation doc on Google Drive. It's the best way to store and export the translation file.
AkaKo Feb 28, 2018 @ 9:16pm 
Koobazaur:Thanks!!:D
Pascal Prout Sep 14, 2019 @ 6:30am 
I still hope to see a French translation one day..
Koobazaur  [developer] Sep 17, 2019 @ 12:37pm 
Originally posted by raie qui suinte:
I still hope to see a French translation one day..

You should keep your eyes open next week ;)
Pascal Prout Sep 20, 2019 @ 9:10am 
<3 :steamhappy:
< >
Showing 1-14 of 14 comments
Per page: 1530 50