Core: GetLngSet(const String& module)

git-svn-id: svn://ultimatepp.org/upp/trunk@3794 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2011-08-28 17:17:05 +00:00
parent 72258816ea
commit 937459ce58
2 changed files with 21 additions and 0 deletions

View file

@ -47,6 +47,7 @@ String GetLngString(const char *id);
String GetLngString(int lang, const char *id);
Index<int> GetLngSet();
Index<int> GetLngSet(const String& module);
void SaveLngFile(FileOut& out, int lang);
bool LoadLngFile(const char *file);

View file

@ -299,6 +299,26 @@ Index<int> GetLngSet()
return ndx;
}
Index<int> GetLngSet(const String& module)
{
CriticalSection::Lock __(slng);
Index<int> ndx;
Array<LngModule>& ma = sMod();
for(int i = 0; i < ma.GetCount(); i++) {
LngModule& m = ma[i];
if (m.name != module)
continue;
for (int j = 0; j < m.map.GetCount(); ++j) {
Vector<LngRec>& lr = m.map[j];
for(int k = 0; k < lr.GetCount(); k++)
ndx.FindAdd(lr[k].lang);
}
}
return ndx;
}
void SaveLngFile(FileOut& out, int lang)
{
CriticalSection::Lock __(slng);