2010-07-04 69 views
0

可能重複:
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 

請建議我。

+1

我想我會去爲每種語言的多個表,並有一個表與所有可用的語言或相同集中在一個數組或類似的東西。 – Prix 2010-07-04 15:14:47

+1

這已經在很多變化中被問到過了。搜索「php i18n」和「php多語言」應該會產生一些結果。 – 2010-07-04 15:27:32

+0

另請參閱:http://stackoverflow.com/questions/954160/php-how-to-translate-a-website-into-multiple-languages – Piskvor 2010-07-04 15:44:44

回答

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 .. 
0

如果你與ASP.Net工作,在這裏看看

http://msdn.microsoft.com/en-us/library/c6zyy3s9.aspx

+0

否我使用php – 2010-07-04 15:17:41

+0

看看這些: http:// www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html ---------------------- -------------- http://devzone.zend.com/article/4469 – onurbaysan 2010-07-04 15:20:13

1

我會建議你創建的物品只有一張桌子,把一個列的語言。所以,如果你需要添加一個新的語言,你不需要在你的數據庫進行任何更改

+0

如果我想添加一個新的這需要在表中添加一個新的領域的變化lang如果我使用了你的方法 – 2010-07-04 15:19:20

+0

在你的第一種方法中,你必須創建一個新的表格,在第二種方法中,你必須創建一個新的列。在我介紹的方法中,當您添加新條目時,請在語言欄中添加新語言的值 – 2010-07-04 15:33:03

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列 - 比多個文章表或多個內容列顯着簡單。