Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Elevator

#46
Bugs / Re: "Male"/"Female" entries are not localizable
December 24, 2017, 04:44:48 PM
QuoteMy suggested usages, for the English base, would be:
"male/female" (singular noun)
"male/female" (plural noun)
"male/female" (singular adjective)
"male/female" (plural adjective)
This look like a good solution. But I'm afraid, even in this case there could be some tricky situations. For example for a specific context in English a noun form should be used, but in some other language there should be an adjective.

In my opinion, a better solution would be to let localization teams specify gender words for each context.
For instance:

<LetterIncidentPsychicDrone>Every {0} in the colony winces in pain...</LetterIncidentPsychicDrone>
<LetterIncidentPsychicDrone_Male>man</LetterIncidentPsychicDrone_Male>
<LetterIncidentPsychicDrone_Female>woman</LetterIncidentPsychicDrone_Female>


If keys like LetterIncidentPsychicDrone_Male and LetterIncidentPsychicDrone_Female were added for all gender-related contexts (there are not so many of them), then both translators and players would be happy

Of course, the final solution is up to development team.
#47
Translations / Pawns' age is not properly formatted
December 23, 2017, 08:36:09 AM
At the description frame and in the Health tab pawn's age in years is given (see the screenshot below).
The better solution would be to place localized values of "year" or "years" after the number. In this case it will look like:
age 80 (153) years
Furthermore, in some languages the "years" entry is necessary:
мужчина, 80 (153) года

Technically, localized values for "year" and "years" are already given in keyed values in localizations: "Period1Year", "PeriodYears"
The code lloks like that:
int num = (int)(yearsFloat * 3600000f);
num = Mathf.Min(num, 3599999);
int num2;
int num3;
int num4;
float num5;
num.TicksToPeriod(out num2, out num3, out num4, out num5);
if (num2 > 0)
{
if (num2 == 1)
{
return "Period1Year".Translate();
}
return "PeriodYears".Translate(new object[]
{
num2
});
}

So there shouldn't be a problem to implement the suggested solution.

[attachment deleted by admin: too old]
#48
A lot of strings are hard-composed in the game code, which is not convenient for localization to other languages. For example, here is the code for tooltip generation:


StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append(this.LabelCap);
string text = string.Empty;
if (this.gender != Gender.None)
{
text = this.gender.GetLabel();
}
if (!this.LabelCap.EqualsIgnoreCase(this.KindLabel))
{
if (text != string.Empty)
{
text += " ";
}
text += this.KindLabel;
}
if (text != string.Empty)
{
stringBuilder.Append(" (" + text + ")");
}
stringBuilder.AppendLine();
if (this.equipment != null && this.equipment.Primary != null)
{
stringBuilder.AppendLine(this.equipment.Primary.LabelCap);
}


The order of words is fixed, and nobody except developers can change it.
If there was a possibility to use template lines from localization, all the entries could be translated accurately.
#49
Bugs / "Male"/"Female" entries are not localizable
December 22, 2017, 06:07:13 PM
"Male"/"female" values are taken from "Keyed/Menus_Main.xml" file. These values are used in many contexts and meanings:

  • as noun
  • as adjective
  • for singular form
  • for plural form
  • for people
  • for animals
The same word ("male" or "female") can be used in such a number of cases only in English language. This makes proper localization almost impossible.
#50
The problem doesn't seem to be fixed.
#51
Translations / Re: Official: Russian | Русский
December 11, 2017, 05:39:38 PM
Много букаф.

На гитхабе есть удобнейший механизм под названием пул-реквест (https://guides.github.com/activities/forking/), который позволяет вносить корректировки в предлагаемые изменения, а не бахать их сразу в мастер. А поскольку твои изменения были безо всяких обсуждений залиты сразу в мастер-ветку, они были безо всяких обсуждений мной откорректированы.

Что было откорректировано:
1. Теги для solid-стори (то есть, для бэкстори, привязанных к полу и имени) не надо было удалять. Они там были не случайно.
2. "(а)" и "(ла)" для этих solid-стори не следовало возвращать. Убраны они были намеренно, чтобы не создавать визуальный мусор игроку, а дать возможность комфортно ознакомиться с биографией персонажа. Существование "читерского" мода "Prepare Carefully" и ему подобных не должно этому мешать, и может быть смело проигнорировано. Нельзя гарантировать совместимость со всеми существующими модами.
3. Стори не следовало перемешивать. Ничего бы это толком не дало, а порядок работы нарушило бы.

Все остальные правки (там, где они были лучше предыдущей версии), были оставлены.
Мне для этих исправлений тоже потребовалось несколько часов работы, кстати говоря. А чтобы в будущем не тратить время друг друга, существуют каналы общения:
1. Пулреквест. Даёт возможность обсуждения конкретных строк изменений. Крайне удобно и полезно.
2. Электронная почта. Есть у каждого пользователя гитхаба и отображается в каждом коммите. Я, к слову, сразу написал на указанную тобой почту, но ответа так не получил.
3. Телеграм. Ссылка на группу лежит прямо на заглавной странице репозитория. Все общие вопросы обсуждаются там.

А жаловаться на форуме на якобы необъективное решение переводчиков, не воспользовавшись перед этим ни одним из перечисленных очевидных способов связи с ними, довольно бессмысленно, как видишь. Ответ ты получил только через 6 дней. Делай выводы.
#52
Ideas / Custom word files in DefInjections for rule packs
November 26, 2017, 03:17:46 PM
A lot of languages have different forms of the same word: plural/singular, gender-specific, etc.
RulePackDefs in current implementation only allow to use one single form for each word, which is often not appropriate for different contexts.
For example, in English version NamerFactionPirate rule pack contains lines:

        <li>name->The [badassadjective] [groupname]</li>
        <li>name->The [badassadjective] [badassanimal]s</li>
        <li>name->The [badassadjective] [badassperson]s</li>

These rules generate faction names in plural form just by adding "s" to the end. This trick is only actual for English, but not for many other languages. Moreover, some languages, for example Russian, require using plural form of [badassadjective] (because the adjective is connected to the plural noun). This is really annoying thing that leads to poor quality of translation.

There is a way to get rid of this problem by adding extra <rulesRaw> in Def files:
  <RulePackDef>
    <defName>NamerFactionPirate</defName>
    <rulePack>
      <rulesStrings>
      ...
      </rulesStrings>
      <li Class="Rule_File">
        <keyword>badassanimal</keyword>
        <path>Words/Nouns/Animals_Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>badassadjective</keyword>
        <path>Words/Adjectives/Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>badassperson</keyword>
        <path>Words/Nouns/People_Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>badassconcept</keyword>
        <path>Words/Nouns/Concepts_Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>groupname</keyword>
        <path>Words/Nouns/GroupNames</path>
      </li>
      <li Class="Rule_File">
        <keyword>badasscolor</keyword>
        <path>Words/Nouns/Colors_Badass</path>
      </li>
      <!--EXTRA FILES-->
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
    </rulesRaw>
  </rulePack>
</RulePackDef>


This allows translators to add custom files with custom keywords, which could be used in DefInjections for rulesStrings:

<NamerFactionPirate.rulePack.rulesRaw.7.keyword>badassadjective_plural</NamerFactionPirate.rulePack.rulesRaw.7.keyword>
<NamerFactionPirate.rulePack.rulesRaw.7.path>Words/Adjectives/Badass_plural</NamerFactionPirate.rulePack.rulesRaw.7.path>
<NamerFactionPirate.rulePack.rulesRaw.8.keyword>badassperson_plural</NamerFactionPirate.rulePack.rulesRaw.8.keyword>
<NamerFactionPirate.rulePack.rulesRaw.8.path>Words/Nouns/People_Badass_plural</NamerFactionPirate.rulePack.rulesRaw.8.path>


If you add extra rulesRaws to RulePackDef files it will be a convenient and easy way to improve quality of translations for all languages!
#54
Way to reproduce:

  • Choose any language except English, for example Russian
  • Go to Mods\Core\Languages\Russian\DefInjected\RulePackDef folder
  • Replace or add file RulePacks_NameMakers_WorldFeatures.xml with RulePacks_NameMakers_WorldFeatures_Cyrillic.xml (see attachments)
  • Start new game and create the world map
Result: no geographical names are shown (see first image in attachments).

If you replace this file with RulePacks_NameMakers_WorldFeatures_Latin.xml (from attachments) and restart the game, all names will be shown properly. These files differ only in language, they have no references to any external rulepack.

[attachment deleted by admin: too old]
#55
Translations / Custom word files in rule packs
August 30, 2017, 06:28:41 PM
A lot of languages have different forms of the same word: plural/singular, gender-specific, etc.
RulePackDefs in current implementation only allow to use one single form for each word, which is often not appropriate for different contexts.
For example, in English version NamerFactionPirate rule pack contains lines:

        <li>name->The [badassadjective] [groupname]</li>
        <li>name->The [badassadjective] [badassanimal]s</li>
        <li>name->The [badassadjective] [badassperson]s</li>

These rules generate faction names in plural form just by adding "s" to the end. This trick is only actual for English, but not for many other languages. Moreover, some languages, for example Russian, require using plural form of [badassadjective] (because the adjective is connected to the plural noun). This is really annoying thing that leads to poor quality of translation.

There is a way to get rid of this problem by adding extra <rulesRaw> in Def files:
  <RulePackDef>
    <defName>NamerFactionPirate</defName>
    <rulePack>
      <rulesStrings>
      ...
      </rulesStrings>
      <li Class="Rule_File">
        <keyword>badassanimal</keyword>
        <path>Words/Nouns/Animals_Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>badassadjective</keyword>
        <path>Words/Adjectives/Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>badassperson</keyword>
        <path>Words/Nouns/People_Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>badassconcept</keyword>
        <path>Words/Nouns/Concepts_Badass</path>
      </li>
      <li Class="Rule_File">
        <keyword>groupname</keyword>
        <path>Words/Nouns/GroupNames</path>
      </li>
      <li Class="Rule_File">
        <keyword>badasscolor</keyword>
        <path>Words/Nouns/Colors_Badass</path>
      </li>
      <!--EXTRA FILES-->
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
      <li Class="Rule_File">
        <keyword>extra</keyword>
        <path>Some_Empty_File</path>
      </li>
    </rulesRaw>
  </rulePack>
</RulePackDef>


This allows translators to add custom files with custom keywords, which could be used in rulesStrings:

<NamerFactionPirate.rulePack.rulesRaw.7.keyword>badassadjective_plural</NamerFactionPirate.rulePack.rulesRaw.7.keyword>
<NamerFactionPirate.rulePack.rulesRaw.7.path>Words/Adjectives/Badass_plural</NamerFactionPirate.rulePack.rulesRaw.7.path>
<NamerFactionPirate.rulePack.rulesRaw.8.keyword>badassperson_plural</NamerFactionPirate.rulePack.rulesRaw.8.keyword>
<NamerFactionPirate.rulePack.rulesRaw.8.path>Words/Nouns/People_Badass_plural</NamerFactionPirate.rulePack.rulesRaw.8.path>


Please add extra rulesRaws to RulePackDef files! We really want to make translation better and easier for players to read!
#56
Русская локализация ничем системно не отличается от, например, немецкой или японской. А вот английский язык - это как раз отсутствие локализации.
Включи любой другой (кроме русского и английского) язык и проверь, действительно ли именно в русской локализации дело.
#57
Translations / Backstories' translation guideline?
March 09, 2017, 06:17:58 PM
During translatiion of backstories we found different types of them:

  • Name and gender neutral. These ones contain "NAME", "HE", "HIS" entries. The game replaces these entries by character name and gender specific pronouns.
  • Gender specific. These ones contain only "NAME" entries. Hardcoded gender pronouns ("his", "him" ) are scattered in the description. Stories of this type: FallenProdigy22, MadScientist28, FarmKid40, CivilEngineer41 and many others.
  • Name and gender specific. These ones are full-hardcoded. No "NAME" or "HE" keywords. Stories with the same name seem follow in pairs: (FarmerBoy63, ArmyCook51),  (UrbworldCriminal64, UrbworldPolitican16), (OptimisticChild43, GraphicDesigner99) and others.

According to the message of ZorbaTHut there are many backstories that are linked to the specific backer-created character:
https://ludeon.com/forums/index.php?topic=30936.msg317305#msg317305

How these types of backstories should be translated?
Will types 2 and 3 be ever made generic in future? Or they are connected to a specific gender or name forever?

Will any guidelines be provided?
#58
MadScientist28 backstory description is not gender neutral:
"Continuing his research with nothing left to lose, he made minions to carry out the tasks that bored him."
"HIS", "HE", "HIM" should be used there instead of "his", "he" and "him".
#59
Translations / Re: Official: Russian | Русский
February 20, 2017, 05:50:44 AM
Что поделать. Перевод - это командный проект на Гитхабе. И работать с ним приходится, как с любым другим командным проектом на Гитхабе.
А группу переводчиков создать нужно. Если её будет видно из других русскоязычных групп по Римворлду, то как минимум будет отклик от пользователей, и будет проще искать ошибки. Как максимум, это и новых переводчиков может привлечь.
#60
Translations / Re: Official: Russian | Русский
February 10, 2017, 03:14:38 AM
Группы по локализации, конечно, нужны. Над такими вещами нужно работать коллективно. Главное, найти желающих.
Ибо желающих делать даже официальную локализацию - можно пересчитать по пальцам одной руки.