Здравствуйте, есть такой код:
Code
static public List<TwoStrings> ReadLangFile (string Lang, string LangFile){
List<TwoStrings> res = new List<TwoStrings>();
StreamReader sr = new StreamReader(LOC_DIR+Lang+"/"+LangFile);
string str;
char[] splitchars = {'='};
TwoStrings aw = new TwoStrings();
while(!sr.EndOfStream)
{
str = sr.ReadLine();
string[] words = str.Split(splitchars);
if(words[0]!=null && words[1]!=null)
{
aw.IDString = words[0];
aw.TargerString = words[1];
res.Add(aw);
}
}
sr.Close();
return res;
}
static public string GetLocalGUIString (string LocalString)
{
GameObject game = GameObject.Find("Game");
Localisation loc = (Localisation)game.GetComponent("Localisation");
List<TwoStrings> locbase = loc.LocGUI;
string res=LocalString;
foreach (TwoStrings ts in locbase)
{
if (ts.IDString == LocalString)
{
res = ts.TargerString;
}
}
return res;
}
Проблема заключается в том, что, при использовании его для локализации меню, локализованной оказывается только последняя строчка, которая записана в файле. Например, если в файле написано только:
Соответствующая кнопка будет отображаться корректно. Но если написать:
Quote
NEWGAME=Новая игра
LOAD=Загрузить
Только кнопка "LOAD" получит текст, "NEWGAME" же так и будет с "NEWGAME".