Author Topic: Mod Translation Project  (Read 7956 times)

Offline SupSuper

  • Lazy Developer
  • Administrator
  • Commander
  • *****
  • Posts: 2162
    • View Profile
Mod Translation Project
« on: October 10, 2014, 01:23:46 am »
So we've moved to Transifex for translations. And as a result some language codes and stuff have changed which probably has broken a bunch of mod translations, sorry. :P
Really the current mod translation process is kind of a mess, as it's all manual. Translators have to manually edit files and translate files, modders have to manually update their mods each time, encoding gets broken, codes get changed, etc. Plus it completely ignores the large pool of translators we already have for OpenXcom.

Since Transifex supports the translation of multiple resources, I had the idea of having a global Mod Translation Project. Modders interested just add their English strings to the MTP language file. This single file can then be uploaded to Transifex, making all the mod text available to translators without needing to muck around with files. The resulting translations can then just be packaged into a single MTP ruleset for players to use.

Pros:
- Modders don't need to keep updating their mods with translations, they can just keep the English strings and not worry about it.
- Translators don't have to mess around with language files directly, they can just use Transifex and not worry about it.
- Players that want translations don't need to keep updating individual mods, they can just get the MTP and not worry about it.

Cons:
- Every mod string ID needs to be unique. Well this should already be the norm anyways, if multiple mods use the same string IDs they'll override each other when combined. An easy way to ensure this is to just put your mod name or author name on the string IDs. However changing string IDs will break any existing saves, so don't do it carelessly. :P
- How to manage the MTP language file: Just have modders submit their mods and someone adds their strings to the file each time? Have a publicly-editable file everyone can update and hope nobody wrecks it? Etc.

Discuss.

Offline ivandogovich

  • Commander
  • *****
  • Posts: 2381
  • X-Com Afficionado
    • View Profile
    • Ivan Dogovich Youtube
Re: Mod Translation Project
« Reply #1 on: October 10, 2014, 01:54:50 am »
Nice idea.  I think there is only one way to go about this.

I self-lessly volunteer Falko's services to create a tool that will check for unique strings.  ;)

  • Modder uses string checker to the tool.
  • Tool loads latest MTP file and checks against the current strings
  • Tool flags any conflict and modder resolves them.
  • Modder submits their strings to a clearinghouse dropbox.
  • "SomeOne" adds the strings to the official MTP file on a semi-regular basis?.

Cheers, Ivan :D

Offline Falko

  • Commander
  • *****
  • Posts: 802
    • View Profile
Re: Mod Translation Project
« Reply #2 on: October 10, 2014, 02:06:24 am »
my assumptions:
"managing the MTP language file" is a bit of work
there is not much deleting and renaming of strings in mods (the key word not the language-value) so there is rarely need for deletion
if there is overlap like two mods have a STR_BFG item the creators of the two mods can argue beween themself to find a common name or one of them changes the keyword without annoying the devs

idea to handle mod strings
dev makes a thread "mod string submission for november14"
makes a thread post for your keywords like this
Code: [Select]
en: 
  STR_HEAVY_TRANSPORTER: Heavy Troop Transporter
  STR_DROPSHIP: IRONFIST
  #all uppercase
  STR_DROPSHIP_UFOPEDIA: THIS ELERIUM-POWERED TROOP TRANSPORTER IS FAST AND POWERFUL.  IT IS EQUIPPED WITH A TWIN RADAR SYSTEM WITH ENHANCED RANGE.
  STR_PSIONICS: Psionics
  STR_STORMLANCE: STORMLANCE
  STR_STORMLANCE_MISSILE: Stormlance Missile
  STR_STORMLANCE_MISSILES: Stormlance Missiles
  STR_STORMLANCE_LAUNCHER: Stormlance Missile Launcher
  #all uppercase
  STR_STORMLANCE_UFOPEDIA: THIS ROCKET CONTAINS HIGH-POWERED ELERIUM WARHEAD.
  STR_ARMORED_VEST: Armored Vest
  STR_ARMORED_VEST_UC: ARMORED VEST
  STR_ARMORED_VEST_CORPSE: Corpse
  #all uppercase
  STR_ARMORED_VEST_UFOPEDIA: This ceramic ballistic vest offers protection against projectiles and explosions.
  STR_HYBRID_MIB: Hybrid/Men in Black
  STR_HYBRID_MIB_MEETING: Hybrid/Men in Black Meeting
  #all uppercase
  STR_HYBRID_MIB_MEETING_UFOPEDIA: One of the most dangerous organizations among half-human hybrids' associates are the so-called Men in Black, who pursue their own interests by seeking contact with aliens. The hybrid network sometimes meets MiB representatives on behalf of their masters to negotiate, share information and presumably plot against the humanity. Needless to say, such contacts are dangerous to X-Com and should be dealt with swiftly.
  STR_HYBRID_GROUND_CONVOY: Convoy
  #all uppercase
  STR_HYBRID_GROUND_CONVOY_UFOPEDIA: Infiltration of human institutions requires much preliminary work on the aliens' part, including transportation of vital cargo, such as documents, artifacts or people. This work is performed diligently by half-alien hybrids, who use their contacts and resources to move their contraband around the world. While inconspicuous, such activity is the basis of alien diplomacy, which in turn may lead to sinister agreements between the aliens and some human groups.
  STR_HYBRID_BASE: Hybrid Base
  #all uppercase
  STR_HYBRID_BASE_UFOPEDIA: Although the hybrid network is rather diffused, establishing some data and storage centers is inevitable. Hybrid bases are very well defended and pose a significant challenge to X-Com troops.
  STR_HYBRID_MEETING: Hybrid-Alien Meeting
  #all uppercase
  STR_HYBRID_MEETING_UFOPEDIA: Even though half-alien hybrids work autonomously, from time to time they are required to meet their masters in order to receive new instructions and equipment. Such meetings are conducted in remote areas, usually on premises that belong to the hybrids' network. Such meetings pose a significant threat to the X-com efforts, since they visibly strengthen alien influence on Earth.
  STR_SMALL_GROUND_CONVOY: Small Convoy
  STR_MEDIUM_GROUND_CONVOY: Medium Convoy
  STR_KEEP: Keep
  STR_ATRIUM: Atrium
(the #comments are included as string specific comment while importing)
and once a month (subject to change) the thread is closed the strings uploaded to the site, and a new thread created

Offline VodkaBear

  • Sergeant
  • **
  • Posts: 45
    • View Profile
Re: Mod Translation Project
« Reply #3 on: October 10, 2014, 08:39:22 am »
Easiest solution will be adding STR_+NAMEMODE+_ETC and somehow checking for unique modname, nor for unique str at all. But still they must somehow get list of modnames.

Offline Ishmaeel

  • Captain
  • ***
  • Posts: 55
    • View Profile
Re: Mod Translation Project
« Reply #4 on: October 10, 2014, 10:10:03 am »
This project warms my heart, but I cannot see a very clean way of managing all mods.

As a free transifex project, are we limited in the number of resources? As in, one resource per mod?

Yes, I realize this would become unwieldy very fast, but we should also consider that some greater mods (total conversions) need to have their own style and language "flavor", so to speak, and having their strings mixed up with all the other vanilla-compliant mods would result in a discordant translation project.

Offline Falko

  • Commander
  • *****
  • Posts: 802
    • View Profile
Re: Mod Translation Project
« Reply #5 on: October 10, 2014, 10:27:19 am »
Easiest solution will be adding STR_+NAMEMODE+_ETC and somehow checking for unique modname, nor for unique str at all. But still they must somehow get list of modnames.
that would mean you jave to rename ALL things in your mod
i don see whats the problem is if STR_MIB is declared "Men in Black" if someone makes a STR_MIB gun he can still use extrastrings: to overwrite stuff
sure there is pirates that make their own style and (IIRC) rename existing items/missions/research but perhaps an established mod of this size can get their own sub project

Offline VSx86

  • Sergeant
  • **
  • Posts: 29
    • View Profile
Re: Mod Translation Project
« Reply #6 on: October 10, 2014, 04:38:03 pm »
 :D

That's very good idea! The multi-language translations will be very useful for global mods (total conversions)
like PirateZ! or Xeno Operations and will make them more popular worldwide, i think.

Online Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11728
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: Mod Translation Project
« Reply #7 on: October 10, 2014, 06:22:50 pm »
What about vanilla items that come up in various mods with changed descriptions?

Offline Yankes

  • Global Moderator
  • Commander
  • *****
  • Posts: 3350
    • View Profile
Re: Mod Translation Project
« Reply #8 on: October 11, 2014, 01:22:48 am »
I think its possible to create tool (request for Falko :))  that will rename all "STR_[A-Z_]+" to new form "STR_{MODNAME}_[A-Z_]+" And updated references in another file.

Its should store current list of all strings and new versions. It will get list of files with information how handle sting in it. e.g.
Code: [Select]
RenameNames --base Xcom1Ruleset.rul --mod ModX.rul "MODNAME_X" --mod ModY.rul "MODNAME_Y" --modUniq  ModZ.rul "MODNAME_Z" --save ~/OpenXcom/save_using_XYZ.sav
base: will load all orginal strings and keep them safe.
mod: will add new string and rename them, if string already was used in previous file its replace it with value form that file.
modUniq: same like "mod" but it will override string from previous mods with new value.
save: only replace strings with new value.

Offline SupSuper

  • Lazy Developer
  • Administrator
  • Commander
  • *****
  • Posts: 2162
    • View Profile
Re: Mod Translation Project
« Reply #9 on: October 11, 2014, 10:56:00 pm »
I doubt string uniqueness is an issue. After all people use dozens of mods together, and if they shared string IDs they wouldn't work together, so that would probably get reported to the mod author quickly. And if you change IDs now, you're just asking for angry bug reports from every single player, which always end up escalated to us, so I'd appreciate it if you didn't.

This project warms my heart, but I cannot see a very clean way of managing all mods.

As a free transifex project, are we limited in the number of resources? As in, one resource per mod?

Yes, I realize this would become unwieldy very fast, but we should also consider that some greater mods (total conversions) need to have their own style and language "flavor", so to speak, and having their strings mixed up with all the other vanilla-compliant mods would result in a discordant translation project.
Transifex doesn't have a limit, you can shove as many resources as you want in there. The problem isn't having tons of resources per-se, but automating this process for every single one:



Repeating this for every single mod would get silly, so this project was more aimed at the most common type of mod that just adds 1 or 2 new things with a few never-changing strings, that can easily be collected and packed together. Piratez and other TCs are their own thing anyways since they override vanilla strings and a lot more, and would need their own process.

Offline Esrael

  • Sergeant
  • **
  • Posts: 10
    • View Profile
Re: Mod Translation Project
« Reply #10 on: March 18, 2016, 08:06:36 pm »
Sorry, if I simply haven't lurked enough, but has this idea materialized? I'm just asking, because in the current nightly builds, many of the things that used to be in the ADVANCED settings (such as TFTD damage model), have now been moved to the MODS section, and the mod descriptions aren't available for translation in Transifex (and I NEED my daily fix of translating OpenXcom). :P

Even if a global mod translation project doesn't become a reality, I'd like that at least these 'vanilla' mods, that ship with OpenXcom, could be added to Transifex and be translated.  :)