The notice should stay for users with previous versions. An additional note should say, that it is not needed for XOOPS versions from 2.4.0 and higher.
Upgraded to preload version and hack for php5.2 but still doesn't work.
Try by replacing all $langs by $GLOBALS['langs'] in both files. I think the unset for it can be put in comments:
The admin interface can give weights to the languages. To view them weighted, you need to change in /class/language.php:
$sql = 'SELECT * FROM '.$this->db->prefix($prefix);
$sql = 'SELECT * FROM '.$this->db->prefix($prefix).' ORDER BY weight';
Further suggestion. Because the language switching links can be someting as server/isomefile.php?someoption=somevalue&lang=nl some systems (at eg Google) may get confused and accidentily (also erronnous) take this as the html lang entity ⟨, which make an ugly character (〈) in your URL, which make them to arrive on another pages than intented. To avoid this alter the definition for the query field to:
Very interesting. Now language block is appeared. But language switching is not working. Interesting is that [lang_code] tags seems to be working, but only if i change default language in Admin console. Doesn't work if i switch languages in language selection block.
can you explain me what exactly have you done? I have a fresh xoops 2.4.5 and xlanguage 3.11 and it doesn't works. It shows the angle brackets of the languages i don't have prefixed. Ex: [it]ciao[/it][engood bye[/en] i see ciao[en]good bye[/en]