可能重复:
Create a webpage with Multilanguage in PHP
PHP - how to translate a website into multiple languages?
我想建立一个有3种语言的网站 - 例如英语,阿拉伯语和意大利语 内容肯定会因语言而异。
我应该为每种语言制作不同的表格,例如:
en_articles
ar_articles
it_articles
每个人都有不同语言的同一篇文章,
或像这样制作一个表articles
:
article_id
article_en_title
article_ar_title
article_it_title
请告诉我。
答案 0 :(得分:3)
创建一个包含语言列表的表,以及一个包含语言列的文章表。这样,如果添加新语言,则只需将其添加到语言表中即可。
示例:
table `languages`:
| id | name |
================
| 1 | English |
| 2 | Arabic |
| 3 | Italian |
table `articles` (only relevant columns):
| language_id | title | content |
=======================================================================
| 1 | Some title | Some content in English |
| 3 | Ascia | Dio mio! C'e' un' ascia nella mia testa! |
| 1 | Axe | Oh my god! There's an axe in my head! |
这样,添加语言时无需更改数据库架构。如您所见,有一个articles
表和一个content
列 - 比多个文章表或多个内容列使用起来要简单得多。
答案 1 :(得分:1)
我建议您只为文章创建一个表,并为该语言添加一列。因此,如果您需要添加新语言,则无需更改数据库中的任何内容
答案 2 :(得分:1)
使用PHP时,您可以在此处看到:http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html
答案 3 :(得分:1)
如果您非常确定只使用3种语言,最好的选择是使用一个表,三列,一列用于语言:
article_id
article_en_title
article_ar_title
article_it_title
如果最终需要添加其他语言,只需添加其他列。
如果您认为要添加其他语言,或者您希望将代码用于其他不同语言的Web,我认为最佳解决方案是使用3个表,一个用于语言,一个用于文章和其他表格关系他们
表“语言”
language_iso
language_name
表“文章”
article_id
article_name (Internal name for the article)
表“articles_x_languages”
article_id
language_iso
article_title
article_text
我假设您将使用三种语言撰写每篇文章。例如:
Languages
language_iso | language_name
en | English
ar | Arabic
it | Italian
Articles
article_id | article_name
1 | Sample 1
2 | Sample 2
Articles_x_languages
article_id | language_iso | article_title | article_text
1 | en | english title | Lorem ipsum ..
1 | ar | arabic title | Lorem ipsum ..
1 | it | italian title | Lorem ipsum ..
2 | en | english title | Lorem ipsum ..
2 | ar | arabic title | Lorem ipsum ..
2 | it | italian title | Lorem ipsum ..
答案 4 :(得分:1)
如果您使用java编写网站,可能需要搜索JAVA ResourceBundle
,这是一个示例:http://java.sun.com/docs/books/tutorial/i18n/resbundle/propfile.html
如果您正在使用asp.NET,可能需要检查:http://msdn.microsoft.com/en-us/library/ms228208。
答案 5 :(得分:0)
如果你使用ASP.Net,请看这里