Jump to content

Phrases / variables do not work in the game


DarkFell
  • Branch: Live Branch Pending

The following phrases / variables do not work in the game:

This Duplicant is making a {Item}
Fabricating {Item}
This Duplicant is using the {Target} to produce electrical power

Example:
bug_translation_7.png


Steps to Reproduce
not required



User Feedback


ChoreType class seems to be overriding the status items established in DuplicantStatusItems class.

Edit: Nope. GeneratingPower is actually ignoring both resolveStringCallback methods. Going further down the rabbit hole.

Edit 2: Klei. Really. You're overriding multiple status items in the same method,
but never assigning the resolveStringCallback to the exact copies.

This bug looks entirely intentional and I want to know why.
 

Edited by Risu

Share this comment


Link to comment
Share on other sites

After removing the 6 lines of questionable copypasta...

20170622040953_1.jpg

For reference the 6 status items were GeneratingPower, Emptying, Toggling, Deconstructing, Upgrading, and Fabricating.
 

Share this comment


Link to comment
Share on other sites

Also the {Item} parameters are not currently used so I finished writing code for them.
Had to rewrite the resolveStringCallback to allow it.

20170622053916_1.jpg
 

Share this comment


Link to comment
Share on other sites

I found these bugs (it's impossible to translate phrases), but my bug-report was closed. All phrases are translated, but the game does not work! 

Quote

#. STRINGS.BUILDINGS.DAMAGESOURCES.CONDUIT_CONTENTS_BOILED
msgctxt "STRINGS.BUILDINGS.DAMAGESOURCES.CONDUIT_CONTENTS_BOILED"
msgid "when the contents of its pipes boiled"
msgstr ", когда содержимое его труб вскипело"

#. STRINGS.DUPLICANTS.PERSONALITIES.NIKOLA.DESC
msgctxt "STRINGS.DUPLICANTS.PERSONALITIES.NIKOLA.DESC"
msgid "This {0} once claimed he could build a laser so powerful it would rip the colony in half. No one asked him to prove it."
msgstr "{0} однажды заявил, что он может построить лазер настолько мощный, что он разрежет колонию пополам. Никто не рискнул сказать, чтобы {0} это доказал."

#. STRINGS.UI.UISIDESCREENS.TEMPERATURESWITCHSIDESCREEN.ACTIVATE_IF
msgctxt "STRINGS.UI.UISIDESCREENS.TEMPERATURESWITCHSIDESCREEN.ACTIVATE_IF"
msgid "Activate if:"
msgstr "Активировать, если:"

If delete the second {0}, the translation will work
msgstr "{0} однажды заявил, что он может построить лазер настолько мощный, что он разрежет колонию пополам. Никто не рискнул сказать, чтобы это доказал."

bug_translation_2.png

bug_translation_3.png

bug_translation_1.png

Share this comment


Link to comment
Share on other sites

The localization code checks that there are the exact number of parameters in the source text and new text.
No idea why. It can easily support it.

There should be a warning in the output_log.txt if that is the case.
 

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...