Is there any way to alter an English string without breaking every other language?

Occasionally we find typos in our native strings. I have been correcting these in the Translation field rather than the Source, on the assumption that other languages are based on the Source field. I was wrong.

Editing the Translation field for English causes the string to show up as “untranslated” in EVERY OTHER LANGUAGE and discards the previous translations with no warning.

Is there any way to avoid this? I would like to be able to fix punctuation errors without having to re-translate the string or do a bunch of unnecessary data entry from backups.

Also - is there any way to compare translations of a given string (for example, checking that control codes are preserved in every translation)? At the very least the option to export to a .CSV…

Yeah, the option for “stale” translations is called “Skip Source Check” in the Localization Dashboard (or bSkipSourceCheck in the GenerateTextLocalizationResource step in the INI file).

If you want to automate some bespoke sanity checking of your translations, then using FLocTextHelper in a commandlet would probably be the best way. You can call EnumerateSourceTexts to process each source string, and then call GetRuntimeText for each of your cultures to compare the translations.

I’ve now found that this issue was raised 18 months ago here - that info would have saved us a lot of time had it been added to the documentation.

Note the “Skip Source Check” does not solve the problem. As soon as the native culture’s Translation changes, all translations of that string are flushed from the archive.

I am VERY WARY of attempting to change our project’s native language now that all the localisation is complete, but I’ll have a go once I’ve cleared any other local changes…

Skip Source Check makes no difference to this issue, unfortunately.

FWIW I haven’t accepted this answer. I’m still currently attempting to retrofit a new native culture.

Skip Source Check should, that’s what it exists for, but it only affects the LocRes data and not the PO exports.

The fake native culture is a horrible hack that people really shouldn’t need to use anymore.

OK, so I was able to rebuild the archive using a fake native culture to work around this.

Skip Source Check is ineffective because editing the native translation instantly removes the corresponding string entries from the archive with no warning.