components - joomla 自定义组件翻译兼容性

标签 components translate joomla3.1

使 joomla3.1 自定义组件多语言平台兼容的最佳解决方法是什么?我的意思是我的网站以 3 种语言运行,我的组件应该能够显示我的组件的翻译项

realestates

  --realestate(items) - en-EN
  --realestate(items) - de-DE
  --realestate(items) - cn-CN

使用列 translation 扩展我的项目表将是一个很好的解决方法每次查询都会考虑到这一点,它会保留翻译语言代码
select * item from realestets where translation = 'en-EN'

还是有更好的方法来做到这一点?

最佳答案

为了使您的组件成为多语言,您需要定义存储在 language 中的语言文件。网站管理员和公共(public)端的文件夹。这些语言文件是 .ini应该为您想要包含的每种语言定义的文件。因此,如果您使用英语和荷兰语来处理您的文件 .ini文件应位于:
/language/en-GB/en-GB.com_yourcom.ini/language/nl-NL/nl-NL.com_yourcom.ini
然后每个字符串都应该传递给翻译方法_() (是的,这是一个下划线)在 JText像这样的类:
JText::_("COM_YOURCOM_STRING")在哪里 COM_YOURCOM_STRING只是组件中的一个字符串。

如果您要翻译的字符串是一大块文本,我建议使用简短的字符串描述。

编辑:
对于您的具体情况,我会添加一列 translation_id到您存放元素的 table 。然后创建一个包含 3(或 4)列存储翻译的新表:
id, item_id, (language), translation
在您的组件 xml 中,您可以添加一个条目,该条目会生成一个下拉列表来定义您的项目所使用的语言。如果它不是默认语言,它应该在翻译表中创建一个新条目。

我还建议看看 Joomla!在内部管理语言以及 Joomfish 的工作方式!

好资源:

http://docs.joomla.org/Embedding_translatable_strings_in_the_template

http://docs.joomla.org/Specification_of_language_files

http://docs.joomla.org/Language_Guidelines_for_3rd_Party_Extensions

关于components - joomla 自定义组件翻译兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18969945/

相关文章:

javascript - Vue.js 组件中未定义方法

powershell - 可变音译(powershell)

jquery - 尝试为 .css() 向 Jquery 添加更多属性

joomla - 在 Joomla 3 中添加快捷图标

templates - 错误500/严重错误: Class 'Jhtml' not found

java - Unity的 "MonoBehaviour Components"相当于实体-组件-系统设计模式中的系统吗?

android - TextView 和 EditText android

javascript - reactjs 服务和表示组件拆分

xml - 将 XML 节点名称转换为大写 (XSLT 1.0)

postgresql - 支持 PostgreSQL 的 Joomla 扩展安装