多语种网站导航菜单建议

时间:2013-12-14 作者:meWantToLearn

我已经完成了单页wordpress主题。我必须添加多种语言的功能。所以我决定让用户创建一个页面,比如about gr,哪个gr代表德国。该网站有一个导航菜单,可以通过ajax加载页面内容。在我的jqueyr ajax调用中,如果他们选择德语作为语言,我会在链接中附加-gr并加载关于-gr的页面。这样做很好。但问题是如何更改菜单的语言。

*用户是否应该为每种语言创建多个菜单并加载相关菜单?我发现这对于用户来说很难处理。有没有其他方法可以更改菜单的语言*

2 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

用户是否应该为每种语言创建多个菜单并加载相关菜单?

显然,菜单是网站内容的一部分,除了网站所有者之外,没有其他人可以决定内容是什么。

我发现这对于用户来说很难处理。有没有其他方法可以更改菜单的语言?

当然,本地化很难。您可以使用google translate API自动翻译。在我看来,这种方法不推荐给任何不想被嘲笑的网站(谷歌翻译足以给出短语的一般含义,但有时它会给你一个脱离上下文的有趣翻译)。

旁注:你正在重新发明轮子。这种本地化通常通过使用专用插件(如WPML)或通过为每种语言设置不同的站点(可能通过网络安装)来解决。

SO网友:okonik

最好的方法是,如果您的菜单是在某个模板中编写的*。php文件。然后您可以使用

<li><?php _e("Main", "your_theme_id"); ?>
而不是

<li>Main</li>
并生成区域设置文件。我使用WCM Lang Switch(用户语言切换插件)做到了这一点。

但如果您没有一个需要翻译的大列表,您可以只使用函数并返回所需的值。这是一个非常简单的方法。

接下来,您可以使用JS。伟大而有力的方式。例如,检查是否为*-gr页面,然后用德语更改所有菜单htmlinner和标题。通过这种方式,您还可以更改链接的目的地、链接颜色等。如果您添加了带有内置wordpress功能的菜单,它就会工作。不要忘记将此js函数添加到单个*。js文件和in标题。php尽可能提高了这个js的加载速度。

结束

相关推荐

private functions in plugins

我开发了两个插件,其中一个功能相同(相同的名称,相同的功能)。当试图激活两个插件时,Wordpress会抛出一个错误,因为它不允许我以相同的名称定义函数两次。有没有一种方法可以使这个函数只对插件私有,而不使用面向对象编程,也不简单地重命名函数?我不想使用OOP,因为我首先要学习它。此外,我不想重命名该函数,因为我可能也想在其他插件中使用它,而重命名感觉不太合适。