Translating Crossfire to other languages

There are 19 replies in this Thread. The last Post () by Aldenmar Odin.

  • Hi Team


    I have developed a tool to "one click" translate freelancer with mods to other languages. The tool is called FL-Lingo.


    • FL Lingo compares a modded Freelancer installation with an existing Freelancer installation in the target language.
    • The target-language installation is the source for restored texts.
    • FL Lingo reads text resources from both installations and matches them by resource ID.
    • It can restore existing translated texts automatically when matching entries exist.
    • It is not limited to German.
    • Translation into other languages is also possible, as long as a Freelancer installation in the target language exists.
    • FL Lingo supports strings and infocards from the game DLL resources.
    • It shows open entries that still need manual translation.
    • These open entries can be edited directly or exported for external translation. -> ask chatgpt to translate it to any language and import the text to FL Lingo to get Mod Texts to target language
    • Imported translations can be merged back into the project.
    • Manual overrides are supported for mod-specific text changes.
    • Mod overrides can keep the original mod text or use a custom translated text.
    • Texts that cannot be translated automatically are left in English.
    • This prevents broken or misleading replacements.
    • FL Lingo patches existing mod DLLs instead of blindly replacing them.
    • This helps preserve mod-specific content and resource IDs.
    • Backups are created before translated files are written.
    • Audio from the target-language installation can also be copied if needed.
    • The tool includes an expert mode for detailed review and manual control.
    • Simple Mode for one click user translations.
    • It also includes a simpler workflow for scanning and applying translations quickly.


    I would like to offer this tool to server admins to let users play CF in their own language. At the moment the translation only works in single player, as the launcher for multiplayer will replace the .dll files with english ones again.


    See you :)

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • screenshots

  • will test it this weekend

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • here are the .dll files.


    the tool is here (but you dont need it, .dll files are already patched)

    GitHub - flathack/FL-Lingo: FL Lingo is a relocalization tool for Freelancer mods. Compare a modded game install with a reference language install, auto-restore known vanilla text, export mod-only entries for external translation, import results, and apply localized strings and infocards back to the game. · GitHub


    the UI is still chaotic, i will have to rework it so better report translation bugs here and i will fix the program or add exceptions to fix the translations themselves.

    Files

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • You can make a "button" in the launcher to translate the mod. For example, when a player logs in to the game, they can choose which translation (language) they want, click on it, and then they don't need to do it again. It's clear that not everything will be translated, but it's still an option.


    Regarding the interface in the game: Example: replacing certain DLLs, it gave a translation into Russian. Then the OP updated something and everything was gone ;)

  • maybe

    would be pretty cool ;)

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • I am not sure how it works or if it works.

    I ran it and then tried to do some comparisons. Some stuff was translated. Other stuff was not. I fail to see why.

    I am also a bit sceptical about the audio option, not entirely sure what it does, especially since voice stuff is placed in a utf container, moving files would probably just mean that additions to the containers are just missing then?

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • At the moment the audio stuff is just the DIALOGES (story audio) folder unter MUSIC, this is not final yet. but the next step is to open the utf container and move german audio over and keep the modified stuff in the english version. SO in the endresult, it will be a mix of german and english audio. (most mods dont have any additional voices anyway).


    Regarding the missing text translations: the translation works in several steps.

    1. just copy 1 to 1 if the id is identical. Like hud, vanilla weapons, infocards etc. so just vanilla stuff. (AUTOMATIC)

    2. next step is to rename stuff via text replacement, source is a list with common texts, like faction names, standard text in infocards. (AUTOMATIC)

    3. next step is a blacklist, you put stuff here that will have to stay in english, for crossfire I have identified the Freighter shield stuff (cargopod, shield upgrade etc.) this stuff is a MANUAL list.

    4. last step, is: you could export those english remaining texts and translate them external and import them again. this cannot be automated, as any translationservice i found want some $$$ for API access :) so I skipped this step.

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • FL Lingo v0.1.2 is out!

    Releases · flathack/FL-Lingo · GitHub

    What's new:

    • Reworked Expert Mode interface — the workflow is now split into clear, sequential sections that guide you through each step.
    • pasted-from-clipboard.png
    • Auto-Translation — bulk-translate all open entries using Google Translate via deep-translator. Completely free, no API key required. Includes pause/resume and a preview to review entries before translating.
    • pasted-from-clipboard.png
    • Help buttons everywhere — every action in the editor now has a ? icon with a tooltip explaining what it does.
    • Full documentation — English and German help pages are now available on the Wiki.

    How it works (Expert Mode):

    1. Set your mod and reference folders, then scan.
    2. Review and edit entries in the editor, or use auto-translation to translate open entries in bulk.
    3. Preview translated entries in section 4.
    4. Apply the translation to your mod in section 5.

    Simple Mode is still available for a quick three-step workflow: pick folders → scan → translate.


    I just made this tool just for fun because I didnt see anything like this on the net. It will probably improve in the future.

    Files

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

    Edited once, last by Aldenmar Odin ().

  • FL Lingo is now feature complete. So v0.1.3 will be my last relaese, will only fix bugs.

    Releases · flathack/FL-Lingo · GitHub


    FL Lingo can now translate Freelancer mods to over 100 different languages. For legal reasons it "can" only translate "mod" stuff ... ;-)

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • would love to see it added, enjoy crossfire in german would be nice :)

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • I am planning to implement the translation module directly to FL Atlas as a Sub tool. FL Lingo has a big disadantage:


    - it takes the Freelancer .dlls and translates all texts, names, infos etc.

    - filtering things is possible but you have to do it manually, with at least 15.000 texts to translate its a lot of work.


    but with atlas I want to change the approach:

    - scan ids_name and ids_info per category.

    - you will be able to select to translate only HUD, UI, info texts for ships, equipment etc. but e. g. keep names and fraction names. I guess this will "keep" the look and feel of crossfire better.


    Will post updates to this in this thread :)

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • I am finalizing the new translation tool which is a sub tool of FLAtlas now. FL Lingo is still there but I would not recommend to use it, as the new one is much better.

    Little preview:

    pasted-from-clipboard.png


    I am also directly implementing a "ruleset" for crossfire with exceptions (I am not planning to check every id but the general stuff) so you have it easier to implement more languages faster for your mod. (will take aprox 20 minutes per language).


    Preview of translaton rules for crossfire specifically (at this point)

    pasted-from-clipboard.png


    Manual translations (as Fighter is "Kämpfer" normally but in freelancer its "Jäger":

    pasted-from-clipboard.png


    Possibility to import and export translation configuration:

    pasted-from-clipboard.png


    - possibility to import translations from a "german" (or any other language) freelancer which directly matches 5000 ids and saves at least 20 minutes of translation time and also the original translations are better of course.


    - the app is designed for the admins to create detailed transation rules

    - the mod admins can chose what to translate, e. g. Freelancer UI / HUD, News, Rumors, Info texts but e. g. not translate shipnames or weapon names to keep the "feeling" of crossfire

    - when the translation is finished, the changed .dlls will be exported with the language extension in the name e. g. ressources_de.dll


    - I will create a detailed documentation of the tool with the release with FL Atlas v0.8.1 (next week).

    - i will translate crossfire to german and make a youtube video from it so you can see how the process is

    - the process is as follows: the admins create all dlls in any language they want.

    - the launcher of crossfire will exchange those .dlls from the users choice in the launcher.



    (if you think I have too much time to code things ... yes, true, in a few days i will be off on vacation and i will not bring the laptop with me :D )

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • the new audio manager parses the audio utf files and copies german audio inside the utfs to the crossfire utf audios. this will ofcourse exclude crossfires new audios and keep the original english ones.


    I am also working on local AI integration (OLLAMA etc.) so next step is: translate audio automatically with speech-to-text and text-to-speech models to other languages. This only works locally on your PC if you have high end pc which can run a local AI. So I guess I am the only person in the world who will ever use this feature ... anyways.


    pasted-from-clipboard.png

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • .... which reminds me that I still have to figure out a halfway good way updating the 7500 voice samples for CF without breaking something. ;)

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • With this release v0.8.1 of FLAtlas I focused on the translator and the audio manager: it can only export samples, import samples and mass transfer samples from left freelancer install to right freelancer install. When it’s finished you will be able to mass edit the audio files…


    just drop some feature requests, and I will implement them 😝

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png

  • Not a request but something you need to consider.

    The length of the audio sample needs to be adjusted in the ini. If you switch voice samples you also need to edit the duration for that specific sample.


    Its one of the struggles I am currently confronted... hashing the sound nickname... creating the voice sample based on either the object IDs or the specific rulesets for the different nicknames... checking the length of the samples and then updating the durations... of ~7500 samples.

    Oh, and maybe even adding the mpa compression to the samples.

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • creating automations for just those things is basically my job ... so i may provide a powershell or python script for your usecase, will check it and also implement it, guess i did not notice that in the ini files.


    thanks

    widget-animated-flatlas-v2-progress.gif

    ...................... FL Atlas V2 (C++)..................................................Savegame Editor....................................................FL Lingo

    305973.png309587.png305505.png