为了使您的组件成为多语言,您需要定义语言文件,这些文件存储在language
网站管理员和公共端的文件夹中。这些语言文件是.ini
应该为您想要包含的每种语言定义的文件。因此,如果您使用英语和荷兰语,您的文件.ini
文件应位于:
/language/en-GB/en-GB.com_yourcom.ini
/language/nl-NL/nl-NL.com_yourcom.ini
然后每个字符串都应该传递给类中的翻译方法_()
(是的,这是一个下划线),JText
如下所示:
JText::_("COM_YOURCOM_STRING")
whereCOM_YOURCOM_STRING
只是组件中的一个字符串。
如果您要翻译的字符串是一大块文本,我建议使用简短的字符串描述。
编辑:对于您的具体情况,我会translation_id
在存储项目的表中添加一列。然后创建一个包含 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