奥斯类类别翻译未显示前端


Osclass Category Translation not showing front end

在这里,我的网站安装了osclass script.it 需要多语言,所以翻译成当地的僧伽罗语(si_SI)。 类别也更新了僧伽罗语和英语。 但是在前端,当切换到语言时,其类别仅以英语显示。 有没有人有以其他语言显示类别的解决方案?

  1. 僧伽罗语前端http://i60.tinypic.com/17cy9j.jpg "僧伽罗语前端"

  2. 英语前端http://i59.tinypic.com/314s1u1.jpg "英语前端"

Osclass bug。它们为以下类别生成错误的 SQL:

SELECT *
FROM ((SELECT a.*,  b.*,  c.i_num_items,  FIELD(fk_c_locale_code,  'sv_SE') as locale_order
FROM (oc_t_category as a)
INNER  JOIN oc_t_category_description as b ON a.pk_i_id = b.fk_i_category_id
LEFT  JOIN oc_t_category_stats  as c  ON a.pk_i_id = c.fk_i_category_id
WHERE b.s_name != ''
AND a.b_enabled = 1
ORDER BY locale_order DESC) dummytable)
GROUP BY pk_i_id
ORDER BY i_position ASC

这是瑞典的 SQL 示例。SQL 本身按locale_order对行进行排序。这是 1 - sv_SE 和 0 - en_US。并且只是尝试按pk_i_id分组。在某些 mysql 配置上它可以工作,但在某些配置上则不然。

如MySQL参考手册(https://dev.mysql.com/doc/refman/5.0/en/group-by-extensions.html)中所述,GROUP BY扩展选择的值是不确定的 - 不能"保证"在最终结果中选择具有不同值的第一行(自上而下>下)。

这篇文章中没有提供任何解决方案。

当您回显 select 元素中的类别时,它可能需要准备好翻译。 例如<?php _e('categoryName', 'translationName');?>

翻译和编辑语言文件 奥斯类