RETURNS VARCHAR(64) DETERMINISTIC
BEGIN
DECLARE ret VARCHAR(64);
--- DECLARE v_id INTEGER
+ DECLARE v_id INTEGER;
SET ret = '';
- SELECT CASE inlang WHEN in_inlang='zh_TW' THEN in_inlang='zh_HK' END
- FROM i18n;
--- SET v_id = 0;
- SELECT lval INTO ret FROM i18n
+ SELECT id, lval INTO v_id, ret FROM i18n
WHERE ltype=in_ltype AND lkey=in_lkey and inlang=in_inlang LIMIT 1;
--- IF NOT FOUND THEN
--- SELECT CASE WHEN in_inlang='zh_TW' THEN 'zh_HK'
--- END IF;
--- if (v_id < 1) THEN
+ IF v_id > 0 THEN
+ RETURN ret;
+ END IF;
+
+ -- we do not have it - return the english.
+ SELECT id, lval INTO v_id, ret FROM i18n
+ WHERE ltype=in_ltype AND lkey=in_lkey and inlang='en' LIMIT 1;
+ IF v_id > 0 THEN
+ RETURN ret;
+ END IF;
+
- RETURN ret;
+ RETURN '??';
END $$
DELIMITER ;