1
NGUI 3 Support / Re: Localized strings sometimes missing the first characters
« on: August 27, 2014, 04:59:48 PM »
I realize this may be thread > 60 days old but I thought I'd propose a hack for anyone else who stumbles on this issue. As both vallcrist and Ernest indicated, when an actual newline character is present in a localization value the first character of the value will not be present in the game.
Example Localization.txt:
Using "name" in English yields "ommon Name
Latin Name".
To remedy this you have two choices:
The first is to use the localizations as intended by replacing the newline character with "\n", so that the name line becomes
The other option is to modify NGUI/Scripts/Internal/ByteReader.cs by commenting out line 220:
I'm not completely sure of what other solutions this might impact but it seems to work for my localizations csv so far.
Hope this helps someone in the future.
Example Localization.txt:
- KEY,English,Spanish
- name,"Common Name
- Latin Name","ES Translation Missing
- Latin Name"
- anotherKey,"Some Value","ES Translation Missing"
Using "name" in English yields "ommon Name
Latin Name".
To remedy this you have two choices:
The first is to use the localizations as intended by replacing the newline character with "\n", so that the name line becomes
- name,"Common Name\nLatin Name","ES Translation Missing\nLatin Name"
The other option is to modify NGUI/Scripts/Internal/ByteReader.cs by commenting out line 220:
- while (canRead)
- {
- if (insideQuotes)
- {
- string s = ReadLine(false);
- if (s == null) return null;
- s = s.Replace("\\n", "\n");
- line += "\n" + s;
- // ++wordStart; // comment out this line
- }
I'm not completely sure of what other solutions this might impact but it seems to work for my localizations csv so far.
Hope this helps someone in the future.
