Jump to content

Translating the EE Fixpack


CamDawg

Recommended Posts

@yota13 asked about translations in the intro thread, so I thought I'd expand a little more on this and give it some visibility, as I've tried to set up the mod to be super-friendly to translators. If you look in the repo, everything's already tra-ified. Here's what each of these files are for:

weidu.tra - [required]

This file contains text that will appear only in the installer: things like component names, warning messages, and the like. You can also add the special strings for language-specific WeiDU prompts here as well.

bgee/bg2ee/iwdee/pstee.tra - [required]

These are for new strings that are needed to fix a bug. At present the only new string is for BGEE to fix the Advanced AI scripting that references a missing string.

fixes_bgee/fixes_bgee_sod/fixes_bg2ee/fixes_iwdee/fixes_pstee.tra - [optional, should probably be translated]
These are meant to update game strings directly for factual errors in strings, e.g. correcting a spell duration or an item weight. Any entry of the form @xxx will be used to update string #xxx automatically, and this will be done independently of what's done in the English translation. So if there's some fix that needs to be done in Russian and not English, you simply add it to the Russian tra file and it'll be picked up automatically. This also means that if there's an update in the English tra file and it's not needed in Russian, you can skip it.

gtu_bgee/gtu_bgee_sod/gtu_bg2ee/gtu_iwdee/gtu_pstee.tra - [optional, language-independent]

These form the basis of the Game Text Update (GTU), which is meant to correct language-specific errors like typos or grammar. Like the fixes_ series of tra files, these will use @xxx entries to update string #xxx automatically, and this will be done independently of what's done in the English translation. In other words, the language-specific GTU can be done entirely by your communities in the tra files, without intervention from the rest of the EEFP team.

infinty.tph - [optional, language-independent]

To cut down on work for the translation teams, Beamdog consolidated about 750 common strings for the UI/help into a LUA file, which was handled by the 'Infinity Strings' section on their translation tool. Because these are stored in a plaintext LUA file and not the tlk, they need a slightly different approach for updating; see this auto-generated example for Polish. The idea is simple: the name of the string from the LUA goes on the left, the next text on the right. These updates will be applied to BGEE/SoD, BG2EE, and IWDEE games through the Game Text Update. Like the gtu_ and fixes_, this will be done independently of what's done in the English translation.

Other Notes

There's a tool that can generate a basic GTU and/or infinity.tph by comparing the current strings in the Beamdog translation tool against the current game release (3.1.4 for PsTEE, 2.6 for the others). Ask Cam and he can run the tool and generate these in your language.

Note that some of the fixes_ and gtu_ tra files are prefixed with an underscore, "_". This just means there's no strings needed there yet and the installer will ignore the file. However if there is a string needed in your language, just add it to the file and then rename the file without the underscore and the installer will pick it up automatically.

Edited by CamDawg
Link to comment

Let me clarify: when I say that a tra file is independent of the English translation, it means the community can use it to revise the tlk as they see fit--including being able to overwrite the entire BD translation with one from the translation community if so desired. So if a BD translation team had changes pending in the translation tool, they can easily be included in the EEFP.

The opposite applies: right now the only English GTU entry is this one for SoD where the string has an extra trailing space. You don't need to translate this, because this is a problem only in the English tlk.

Link to comment

So I wanted to add one more option here for the original BD translation teams: at @Cahir's request, I've kludged together a tool that can generate a starting Game Text Update by comparing the current strings in the Beamdog translation tool vs. the current game release (3.1.4 for PsTEE, 2.6 for the rest). I've used it to generate a Polish-language GTU--or a first draft, at least.

edit: Now have tools for the Infinity Strings DB, too.

Edited by CamDawg
Link to comment
15 hours ago, CamDawg said:

I've kludged together a tool that can generate a starting Game Text Update by comparing the current strings in the Beamdog translation tool vs. the current game release

Nice work. Is it on-demand generation tool? In case of new GTU changes for Polish language, should I add new lines on the end of file? Is there a risk that the tool overrides manually added GTU stringrefs? 

Link to comment

Well, that's up to how the translators want to handle it. If you're more comfortable working in BD's translation tool, then keep doing so and we can generate an updated GTU/infinity.tph from BD's tool prior to any releases. On the other hand, I could generate the files once as a starting point, and then you could work from the tra files instead like a regular WeiDU translation.

Link to comment

Hey Cam, thank you very much for this amazing tool. I have tested it briefly on a clean BG2EE checking some Gameplay Options in game menu, where I know we changed some things after 2.6, and also checked some other lines in Near Infinity. Everything looks in order! 👋

Link to comment

Hi @CamDawg and @Cahir,

I would suggest moving the auto-generated files from Beamdog translation tool into separated files (i.e. gtu_bgee vs bd_tool_bgee). Then those files could be updated individually. GTU files - manually, BD tool - even automatically. Honestly, it would be easier to update small files for GTUs where changes are only added by a human. And after upstreaming these changes to BD tool, they could be simply removed from GTU files because they would be fetched from BD tool later. 

So the flow would beinclude bd_tool translation files if exist and then load GTU files (frequently updated I assume) on top of those from BD tool. What do you think?

Thanks!

Edited by Roberciiik
Link to comment
On 1/16/2023 at 3:23 PM, Roberciiik said:

I would suggest moving the auto-generated files from Beamdog translation tool into separated files (i.e. gtu_bgee vs bd_tool_bgee). Then those files could be updated individually. GTU files - manually, BD tool - even automatically. Honestly, it would be easier to update small files for GTUs where changes are only added by a human. And after upstreaming these changes to BD tool, they could be simply removed from GTU files because they would be fetched from BD tool later. 

 

 

So the flow would beinclude bd_tool translation files if exist and then load GTU files (frequently updated I assume) on top of those from BD tool. What do you think?

I can't help much from a technical point of view, but if this would make incorporating future translation updates easier, I'm totally fine with that. But in case of translation updates not done by original BGEE/BG2EE translation team members, or approved by them, I'd like such changes to be added via optional component (optional to "official" changes). There were some translation change suggestions in the past, that were discarded by our team for different reasons. Other than that, I'm totally OK with any solution you'll come up.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...