/*
* -----
* Screenshot Sender - language.js
* -----
* Language download functions for Screenshot Sender
* -----
*/
function GetLanguages(pPlusWnd) {
_debug.getfuncname(arguments);
var url = 'http://screenshotsender.com/update/ss5/ss.lang.xml';
_win32.DeleteUrlCacheEntryW(url);
var xml = createXml();
xml.onreadystatechange=function () {
if (xml.readyState === 4) {
var languages = xml.selectNodes('//Languages/Language'), nIndex = 0;
for (var i=0;i<languages.length;i ++) {
var uilang = languages[i].selectSingleNode('uilang').text,
version = languages[i].selectSingleNode('version').text,
name = languages[i].selectSingleNode('name').text;
if (FileExists(MsgPlus.ScriptFilesPath + '\\Languages\\' + uilang + '\\' + uilang + '.xml') == false) {
nIndex = pPlusWnd.LstView_AddItem('LvLanguages', name);
pPlusWnd.LstView_SetItemText('LvLanguages', nIndex, 1, version);
pPlusWnd.LstView_SetItemText('LvLanguages', nIndex, 2, uilang);
} else {
var xml_lang = createXml();
xml_lang.onreadystatechange=function () {
if (xml_lang.readyState === 4) {
//if (xml_lang.selectSingleNode('//Translation/About/Version').toString(16) > 4
}
};
xml_lang.load('http://screenshotsender.com/update/ss5/Languages/' + uilang + '/' + uilang + '.xml');
}
}
xml = null;
}
}
xml.load(url);
}
function LoadAvailableLanguages(pPlusWnd) {
_debug.getfuncname(arguments);
var Win32_Find_Data = Interop.Allocate(592);
var hSearch = _win32.FindFirstFileW(MsgPlus.ScriptFilesPath + '\\Languages\\*', Win32_Find_Data);
var hResult, nIndex = 0;
while (hResult != 0) {
if ((Win32_Find_Data.ReadDWORD(0) & _win32._const._FILE_ATTRIBUTE_DIRECTORY)) {
if (Win32_Find_Data.ReadString(44) !== '.' && Win32_Find_Data.ReadString(44) !== '..' && Win32_Find_Data.ReadString(44) !== '.svn') {
var xml = new ActiveXObject('MSXML.DOMDocument');
xml.async = true;
xml.load(MsgPlus.ScriptFilesPath + '\\Languages\\' + Win32_Find_Data.ReadString(44) + '\\' + Win32_Find_Data.ReadString(44) + '.xml');
nIndex = pPlusWnd.LstView_AddItem('LvLanguages', xml.selectSingleNode('//Translation/About/Language').text);
pPlusWnd.LstView_SetItemText('LvLanguages', nIndex, 1, Win32_Find_Data.ReadString(44));
pPlusWnd.LstView_SetItemText('LvLanguages', nIndex, 2, xml.selectSingleNode('//Translation/About/UICode').text);
}
}
hResult = _win32.FindNextFileW(hSearch, Win32_Find_Data)
}
_win32.FindClose(hSearch);
}
function LoadLanguageDetails(pPlusWnd, LangId) {
_debug.getfuncname(arguments);
var xml = createXml();
xml.load(MsgPlus.ScriptFilesPath + '\\Languages\\' + LangId + '\\' + LangId + '.xml');
pPlusWnd.SetControlText('lblAuthor', _lang.text['LanguageFound_Author'] + ' ' + xml.selectSingleNode('//Translation/About/Author').text);
pPlusWnd.SetControlText('lbLversion', _lang.text['LanguageFound_Version'] + ' ' + xml.selectSingleNode('//Translation/About/Version').text);
pPlusWnd.SetControlText('lblCompatibility', _lang.text['LanguageFound_Compatibility'] + ' ' + xml.selectSingleNode('//Translation/About/Compatibility').text);
pPlusWnd.SetControlText('lnkWebsite', xml.selectSingleNode('//Translation/About/Website').text);
}