watar, if you tried, that was good. My files contained other hacks that were not suitable to you. Well here is my simply note and hope to solve your
"screw things". I made the note in order to apply it on the XOOPS next release before copy over on my site. So, you need to know which file and where changed for apply to next XOOPS version. That's great that XOOPS sounded to include this in next release. If you still busy or lazy, wait for other post the set of files or next XOOPS release.
#multilingual hack
INSTALL module language
# add include to include/common.php to line 117 before ### Include site-wide lang file; 205 OK
// ############ Include function for language selection ##############
include_once(XOOPS_ROOT_PATH."/modules/language/common/functions.php");
# core coding, content title of news, forums; 205 OK
vi /class/module.textsanitizer.php
function xoopsCodeDecode #line 149
global $xoopsConfig;
$patterns[] = "/\[cc](.*)\[\/cc\]/sU"; ...
$patterns[] = "/\[ee](.*)\[\/ee\]/sU"; ...
function makeTboxData4Show
$text =& $this->xoopsCodeDecode($text, 0);
function makeTboxData4Preview
$text =& $this->xoopsCodeDecode($text, 0);
# dropdown select
vi /class/xoopstree.php
function makeMySelBox
$name = $myts->makeTboxData4Show($name); # line 168
# blocksadmin; 205 OK
vi /class/xoopsblock.php
function &getAllBlocks
$myts =& MyTextSanitizer::getInstance(); # line 344
$ret[$block->getVar("bid")] = $myts->makeTboxData4Show($name); # line 377, under case list
# module names for listbox in admin, checkbox in adv. search, etc; 205 OK
vi /kernel/module.php
function &getList # line 501
$myts =& MyTextSanitizer::getInstance();
$ret[$i] = $myts->makeTboxData4Show($ret[$i]);
# modules names in userinfo; 205 OK
vi userinfo.php
$myts->makeTboxData4Show($module->getVar('name')) # line 175
# modules names in mainmenu; 205 OK
vi /modules/system/blocks/system_blocks.php
function b_system_main_show # line 106
$myts =& MyTextSanitizer::getInstance(); # line 109
$block['modules'][$i]['name'] = $myts->makeTboxData4Show($modules[$i]->getVar('name')); # line 122
# modules names in system preference; 205 OK
vi /modules/system/admin/preferences/main.php
case 'module_cache'
$selform = new XoopsFormSelect($myts->makeTboxData4Show($modules[$mid]->getVar('name')) # line 186
# recover if /kernel/module.php can handle <<---
# Block administration 205 OK
vi /modules/system/admin/blocksadmin/blocksadmin.php
function list_blocks
$myts =& MyTextSanitizer::getInstance(); # line 42 add
$title = $myts->makeTboxData4Show($block_arr[$i]->getVar("title")); # line 99->138
$name = $myts->makeTboxData4Show($block_arr[$i]->getVar("name")); # line 101->140
$myts->makeTboxData4Show($module_list2[$block_arr[$i]->getVar('mid')]) # line 102->141 echo
function edit_block
$myts =& MyTextSanitizer::getInstance(); #225 add
$myts->makeTboxData4Show($myblock->getVar('name')) #235
# block title, page title; 205 OK
vi header.php # block line 170, page title line 97,115
$myts =& MyTextSanitizer::getInstance(); # line 29 just after include xoopsblock.php
$xoopsTpl->assign('xoops_pagetitle', $myts->makeTboxData4Show($xoopsModule->getVar('name'))); # line 95, 113
$xoopsTpl->assign('xoops_pagetitle', $myts->makeTboxData4Show($xoopsConfig['slogan'])); # line 102, 120
switch ($block_arr[$i]->getVar('side')) # blocks title, line 169-197, 5 cases
$myts->makeTboxData4Show($block_arr[$i]->getVar('title'))
# for Admin->News->Modify Topic, show [cc] for edit, use 4Edit not 4Show ; 205 OK
vi /modules/news/admin/index.php
function topicsmanager
# 176 size 50
# 196 size
function modTopic
vi /modules/news/blocks/news_top.php
$title = substr($myts->makeTboxData4Show($myrow['title']),0,($options[2] -1))."..."; # 39 logic
# News title in blocks
vi /modules/news/blocks/news_top.php
function b_news_top_show
$title = substr($myts->makeTboxData4Show($myrow['title']),0,($options[2] -1))."..."; # line 39