我正在构建一个网站,我决定使用 codeIgniter 作为框架。我的网站将在发布时翻译成两种语言,之后可能会更多。我的网站会很简单,包括以下功能:创建帐户、登录、浏览教程/常见问题解答页面。
我希望我的 URL 简单易懂,并以各种语言呈现,以便人眼和搜索引擎更容易理解。
英语:
我的网站/注册
法语:
我的网站/铭文
有了这个设置,我需要为我的 routes.php 中的每个页面设置一个路由
$route['default_controller'] = 'home';
// SIGN UP
$route['signup'] = 'signup_c/main/english';
$route['inscription'] = 'signup_c/main/french';
我想知道这样做是否正确,因为我不会有太多页面,所以我需要为每个页面/语言添加一个路由。 另外,如果我需要在每个页面上提供一个链接让用户更改当前语言,最好的方法是什么?我想到了使用一个文件来存储每种语言的特定页面的所有 URL,并显示一个组合框,其中包含指向除当前页面语言之外的所有这些页面的链接。
$signup_url = array(
'english' => 'signup',
'french' => 'inscription'
);
或
$lang['url_form_signup'] = 'signup';
在/language/[language_here]/url_lang.php 但不确定如果我把它放在那里我如何遍历所有 URL
感谢指导新手! :)
最佳答案
使用国际化库可能是最好的方法。使用路由和不同的 Controller 功能将变得相当笨拙 - 将不同的语言与逻辑分开可能更容易理解和维护。
CodeIgniter 有几个国际化库,包括:
关于php - CodeIgniter SEO - 每种语言一个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915272/