[mainline] there is a need for a en_US translation

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
Post Reply
demario
Posts: 131
Joined: July 3rd, 2019, 1:05 pm

Re: [mainline] change the policy for update of translatable strings

Post by demario »

This thread is running for about as long as 1.18 development cycle and I have warned early about the issues with the management of translations.

Rather to hear the concerns, the development team chose to discard them and to apply an extreme version of its policy on translation:
  • update of us_EN text with no consideration on impact for existing translations (#wesnoth-nr);
  • adding a new text domain invisible to the players (#wesnoth-tools);
  • a new 1300+ string update on an existing campaign a mere 6-month away from string freeze (#wesnoth-ei);
  • and numerous string updates during the string "freeze".
What could not be done is quantifying the amount of negative impact that the continuing policy would cause on translations for wesnoth. With the recent release of BfW 1.18, the impact is now clear, and it is even worse than what I feared.

In total, that is roughly 3500 strings that have been changed or added in this cycle, amounting for close to 17% (one sixth) of the full number of translatable strings in wesnoth. And it could only be worked on during a string freeze of 4 months. How many teams did succeed to reach this standard?
You guess it... Not many.
BfW1.18 translation coverage (top 20):
The Slovak translation was the only one to complete this translation (and more as it was starting from below full translation) during the string freeze. It appears that is a one-person effort. Congratulations!

Only three other teams made of several members have reached completion or close (Japanese, Czech, Italian) and they all did start work in the development branch long before the string freeze. This is a practice that is discouraged by the official process: a sign of translators actively looking for troubles and that they shouldn't be supported.

Three more teams made a dent into the 3500 strings to translate, and all did start before the string freeze too (German, French, Spanish) without reaching anywhere close to full translation (still off by more than 2000+ strings).

Four languages that were 100% translation in version BfW 1.16 have been left behind, with close to no work during the string freeze and dropping to ~83% coverage with the release of BfW 1.18 (Brazilian, Chinese, Turkish, Russian). Of course, it is hard to know why people did stop contributing, but the size of the repeating task may be a factor. What is clear: the large amount of losses in translation is caused by the huge number of changes that were allowed during the 2-year development cycle.

Two years after this thread was started, the data clearly confirms the original conclusion: there is a need for a change of policy for the update of translatable strings during the development cycle otherwise wesnoth is condemned on the long run to be playable only in English.
Mawmoocn
Posts: 160
Joined: March 16th, 2019, 3:54 pm

Re: [mainline] there is a need for a en_US translation

Post by Mawmoocn »

I want to suggest character intention on sentence translations.

The goal is to allow typography error correction by translating the intentions of the sentence.

For example:

This sentence is constructed this way:
"I want to be a dog"

However it's actually
"I want to hug my dog."

The final version released isn't actually:
"I want to hug my dog."

but
"I want to see my dog."

The true final version is "hug the dog" format.

The intent is different from the sentence.

For the example above:

"I want to be a dog"
#Intent: Owner wants to hug their dog

You can use future your previous translations to match the intent of "Owner wants to hug their dog".

While this may introduce new problems it can be partially resolved by the following:
  1. Define if exact translation is neccessary.
  2. Require the campaign maintainer to define the true intent of the sentence. (Examples of " hug the dog" above)
  3. Define if dialect is required or used and comment on the intention of the dialect.

If we do the suggestions above, it will look similar to this

#text"I, dog"
#Intent Owner wants to express their longing to hug their dog
#Translate: Intent
#Dialect Y (Yes)
#Dialect Intent: Thick and loud voice using the following expression: My dog, what have I done, I need your hug.
#example translation: "You think I don't miss my dog? HAH! I want to hug my dear lil pup so badly, ARGHHHHHH!"

If no dialect it becomes:

#text"I want to be a dog"
#Intent Owner wants to express their longing to hug their dog
#Translate: Intent
#Dialect N (No)
#Dialect Intent: N/A (Not available)
#example translation: "I want to hug my dog"

If translate exact:

#text"I want to be a dog"
#Intent N/A (Not available)
#Translate: Exact
#Dialect N (No)
#Dialect Intent: N/A (Not available)
#example translation: "I desire to be a dog"


#text"I want to be a dog" is intentionally a mistake of word use of intent, to highlight a use case example for example language translation.

Definition of use:
  • "#text" is the origanal text.
  • "#Intent" explains the message of the sentence and potential character traits and emotions.
  • "#Translate" uses "exact" (identical meaning and words), "intent" (different or borrowed words but has identical intention), "default" (uses the original meaning of text if it has no explanation on "#Intent"). There could be more but these are the basic value requirements.
  • "#Dialect" specific to languages that have this, Y (Yes) is required for non standard language use. N (No) is the default value.
  • "#Dialect Intent" When Y (Yes) is used, explanation to describe the dialect is required.
  • "#example translations" is the translated to "example" language.

Benefits:
  • If defined well, using "#Intent", you won't need to translate word typo and can consider translating the intent as close to the original.
  • "#Intent" is not required to be translated but is used as a reference for the final translated text.
  • "#Intent" clarifies character identity if used.
  • "#Dialect" explanation requirement eases the burden on translators by requiring creators to define it, or it won't be used, until it's defined.
  • "#Translate" may allow some freedom to loosely tranalate until the final string freeze.
Consequences:
  • When dialects are used, campaign mainline developers and creators will have to define dialects.
  • It will potentially take a long time to get used to and probably will be confusing at the start.
  • File using this method may increase the size by 75% to 140% from it's current state.
    Potentially not backwards compatible.
  • May consume more time.
  • Potential problems related to this are: incompatibility with current tools, may need regex, string maintainer for changes related to new content, confusing to read as "#Intent" is mostly english without other language support for intent.
  • While required in the future, non english language support for #Intent may greatly increase the size of the files.

Aditionally could probably benefit if we add a #typo fix or update type (revision, reconstruction of sentence/order of sentence, removed, different words but same intent) marker so they won't need to retranslate.

Also could probably help if there's a person/program/regex who compares string change would help the process a lot.
Duke_Anax
Posts: 35
Joined: March 29th, 2024, 10:50 pm

Re: [mainline] there is a need for a en_US translation

Post by Duke_Anax »

Ok, since the original discussion didn't lead anywhere productive, I'd like to introduce a new angle:

Why do fuzzies automatically revert to the English source in the first place?

Is it just for the technical reason of the translation being unable to match the strings? In that case, automatically propagate the changes to the translation files and mark them for optional review by the translator.

It seems like 99% of these cases are either spelling and grammar, where the translation is most likely not affected at all, or they are narrative style and color of language, where a (slightly) outdated translation would be vastly preferable to having no translation at all. It makes no sense to remove those translations.
User avatar
octalot
General Code Maintainer
Posts: 786
Joined: July 17th, 2010, 7:40 pm
Location: Austria

Re: [mainline] there is a need for a en_US translation

Post by octalot »

They revert to English because the fuzzy detection often comes up with incorrect suggestions, such as reusing "Bulgarian translation" for "Bengali translation", or missing a change of objective from "get to the dwarves' castle in the center" to "get to the dwarves' fortress in the northeast".
Post Reply