Hi there,
I'm in the process of localizing my game into various languages, but I've hit a snag. Some text doesn't appear in the CSV after I gather text and export it. Specifically, a certain player speech line is missing from the CSV, and I also can't seem to get text from Event Editors (Menu → Update Content) to appear either.
Every time I add new text, I save to GitHub, push, then use "Gather text" and "Export text." In the Row Filtering, I always set "Everything" in the "Limit to type(s)" field. I've also tried searching for the missing text using the text filter, but it doesn't show up.
The only thing that makes this particular speech line different is that it's inside a custom script that triggers when the player attempts to run.
Here is my Game Text setup:
https://drive.google.com/file/d/1Hrx7p19zYZ5bWYLmm0CTshJV3v3r0uer/view?usp=sharing (this shows that speech line not appearing in the filter, as well as the Update Content text)
My Unity version is Unity 6 (6000.0.31f1), and my AC version is 1.81.6.
As always, thank you in advance!
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
I believe the issue of Events not being included in the gather process has since been addressed in the latest release.
For your custom line: AC won't know that this is part of your game if it isn't directly referenced in a scene or Manager. See this thread for details on how to have AC reference it indirectly.
thank you @ChrisIceBox! I'll update the AC and look at the thread. Have a wonderful weekend!
https://drive.google.com/file/d/1-Od_0v289BvodRT8o3-VcBS9x_GYCC35/view?usp=sharing
The update seems to have done the trick, however there seems to be a new problem now. The "[paramlabel:0]" don't seem to translate anymore. Before the update the reverse was true. It would translate whatever it was between the quotes but ignore the text Menu:Update Content "New Label" text. Has anyone else encountered this or have I made some sort of mistake?
I'll need clear steps to demonstrate and reproduce the issue.
Sure thing.
In the Event Editor, I've created various OnObjectiveUpdate/Start/End events with Parameters. This particular one has "Objective Started" under Parameters.
In the ActionList, when triggered, I have Menu: Update Contents with two types of text in the "New label" field.
Example:
New Objective: "[paramlabel:0]" Press "O" to see Objectives Menu.
[Link to example]
https://drive.google.com/file/d/1vRldr9xy342_FO9T4miHG5Hi1Lo5b3DT/view?usp=sharing ← Here's an example of it working in default English.
Before updating to the latest version of AC, whenever I changed the language and one of these popups appeared, I'd see the objective in quotes translated and the generic text in English.
Now, I seem to get the reverse: the generic text is translated, but the objective that should be in quotes appears as shown in the previous image. ← "[paramlabel:0]"
Could it just be a format issue from the CSV, something that's happening during the import? Or is it caused by the update to AC?
As always, thank you in advance!
Try unchecking Pre-process tokens?.
Otherwise: is the token included in your translation entries for that line in the Speech Manager? Let's see full-screen screenshots of the ActionLists / parameters / Speech line involved.
I've tried unchecking Pre-process tokens? but it didn't fix the issue.
https://drive.google.com/file/d/15CQwyZukkIwzaJ5TOssBZPHE5lAPnZUq/view?usp=sharing <- Objective that won't show up translated and appears as "[paramlabel:0]"
https://drive.google.com/file/d/1vRldr9xy342_FO9T4miHG5Hi1Lo5b3DT/view <- This is the AC
What's weird is, before the update to the latest version, the issue was reversed. I could see the "paramlabel" translated but not the generic text.
I've checked to be sure it's not just that line. Any line of text that contains "paramlabel" isn't being translated.
Is there any other screenshots I can provide for clarification?
There's definatly some weirdness happening. If you click the "P" and override this field with a parameter it translates [paramlabel:0]. If you uncheck it and run the game a second time the generic text inside the "New Label" will revert to not being translated.
I've added a video here:
https://drive.google.com/file/d/1urKHlYKTffirDYOr5G5JpF_EiZpLs2lF/view?usp=sharing
I'm referring to the speech manager entry of the text that contains the token - i.e. the New objective [paramlabel:0] etc.
https://drive.google.com/file/d/1dY9ZhF1JBGU7vUqFslg48KU3A_145MJy/view?usp=sharing <- apologies for the confusion.
The issue is that the label's translation data is sent over to the Menu element. Meaning, it'll be able to show the correct translation if you were to change language after running this Action - but the parameter token will remain because the parameter token data was only a part of the ActionList.
A feasible workaround would be to have an option for AC to handle the translation before sending it to the element. This will prevent it from being dynamic (you'd need to re-run the Action if you were to later change the language), however the token would be processed in the correct language.
I'll PM you a potential fix.