Joom!Fish - 多語系網站使用教學

(18 次投票)

image

 

想建造多國語言網站的朋友們應該都多少知道有個強大的套件叫做JoomFish。不過剛開始沒經過教學的話,很多人可能無法立即摸清它的使用方式。因此Asika做了點簡易的教學,讓沒接觸過的人立即上手。

 

Joom!Fish怎麼運作?

首先,JoomFish不是翻譯套件,無法幫你翻譯文章。它的功能是讓Joomla中的文章同時出現多種不同語言的版本,但這些版本的內容還是要自行翻譯貼上該語系的內容。對Joomla來說,文章還是只有一篇。只是依照語系顯示不同的語言版本而已。

Joomla中每個套件(包括文章在內)都需要有相對應的資料庫來儲存,而JoomFish便是產生一個一模一樣的資料庫來儲存這些文章或套件內容的多語系版本。

 

取得JoomFish

官網下載區:按此連結

JoomlaTaiwan討論區的中文化:按此連結

Asika包好的JoomFish2.0.4主程式含中文化檔案:按此下載 (兩個檔案,要先解壓縮)

 

安裝JoomFish

首先,下載主程式與中文化檔案。安裝完主程式會看見一併安裝了許多配套外掛與模組。

image

jf-01

 

然後在同一個安裝畫面,直接安裝中文化語系檔即可。剛剛提供的語系檔有自動安裝功能。

jf-02

 

JoomFish主控台畫面

jf-04

 

此時到前台觀看,從一些按鈕上可以看見網站被轉成英語狀態,並表示文章沒有被翻譯。這是因為我們尚未在JoomFish中啟動中文語系的關係。因為JoomFish預設是英語為主。

jf-03

 

啟用多語言功能

我們先到語言設定中,這裡看到的是網站中的所有已安裝語系。因為繁中版只有英語還有正體中文,所以就這兩個選項。要其它語言的話,只要去官方找該語言的joomla語系檔安裝即可。

勾選正體中文啟動選項,按下儲存。此時正體中文啟動了,並且是預設狀態。

 jf-05

 

接著我們要把國旗換回青天白日滿地紅。到語言管理把簡碼zh改為tw。再按一次儲存。

 image

 

現在應該可以看到中華明國國旗出現了。

 jf-08 jf-09

 

 

開始翻譯文章

進入翻譯頁面,一開始是空的。我們必須先選擇要翻譯哪些內容以及要翻譯的語言才行。現在我要建立英文內容的文章,所以內容元素選擇Contents,語言選擇English。然後空空如也的頁面就會出現很多選項。

jf-10

 

隨便選擇一個文章,我先選擇了「Joomla! 社群入口網站」這篇文章。然後進入翻譯頁面。

點選複製可以直接把原始內容複製過來,點選刪除則是清空欄位,每個欄位上方都會附上原始內容供參考用。

因為我是要把中文翻譯成英文,所以就填入了「Joomla! 社群入口網站」的英文版本。儲存前別忘記把發佈打勾。

jf-12

 

往下捲會看見,發表文章時有什麼選項,這裡就有什麼。所有設定皆可調整,同樣可以複製原始文章中的參數。依照不同元件會有不同的參數設置。

jf-15

 

儲存後,可以看見這篇文章亮出綠燈,表示翻譯完成。紅燈表示尚未有翻譯版本。

jf-13

 

到前台選擇英文語系的選項,有沒有看到,第一篇中文文章被轉換成英文了。其他都還是中文。

jf-14

 

同樣的我們還可以翻譯許多不同的選單、元件、模組等等。如下圖是選單的翻譯,還有很多其它元件。

jf-16

 

這樣我們就可以成功把整個網站連同元件模組任何地方都做成多國語系。下圖是Asika很久以前架的網站,便是JoomFish的使用案例之一。

image

image

 

其他功能

「統計」是用來記錄翻譯過與未翻譯的項目數量。

jf-18

 

「孤兒翻譯」 指的是原始文件已經不存在的翻譯文章,根本不會再有出現的機會。

image

 

「內容元素」 則是可供翻譯的程式種類。一開始看到的只有內建元件,若是有新的元件要翻譯,可以安裝該元件為JoomFish設計的XML外掛。(未提供的也可以自己製作)

jf-19

jf-20

 

延伸資源:

GTranslate - Google翻譯模組,使用Google API即時翻譯整個網站

JGTdoc - 文章翻譯外掛,同樣用Google API即時翻譯。不過這是針對每篇文章單獨翻譯的功能。

ST Chinese Switch - 文章簡繁中文即時切換外掛


建立0rz短址
Related Posts with Thumbnails

文章回應

avatar Asika
+1
 
 
因為JoomFish實在有些複雜,想在短短一篇講清楚使用方式,不知道會不會敘述的很難懂呢???
avatar jerry7797
0
 
 
謝謝Asika大大的介紹~讓我多少瞭解了這個套件的功能~其他的教學文章也都讓我獲益良多^^
avatar plugmoon
0
 
 
Asika大大您好,
依據您的步驟安裝發生錯誤如下,以下是我安裝的版本,是否可提供可能解決方法?(網路上找過都沒看到), 謝謝

Joomla 版本: 1.5.22
JoomlaFish版本: 試過2.0.4以及2.1.5 均有錯誤
PHP版本: 試過5.2.11以及5.3.5
MySQL版本:5.5.8
Apache版本:2.2.17
-----------------------------------------------------------------------------
錯誤訊息:

JInstaller::install: SQL 錯誤 DB function failed with error number 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8' at line 13 SQL=CREATE TABLE IF NOT EXISTS `jos_languages` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) NOT NULL default '', `active` tinyint(1) NOT NULL default '0', `iso` varchar(20) default NULL, `code` varchar(20) NOT NULL default '', `shortcode` varchar(20) default NULL, `image` varchar(100) default NULL, `fallback_code` varchar(20) NOT NULL default '', `params` text NOT NULL default '', `ordering` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
SQL =
CREATE TABLE IF NOT EXISTS `jos_languages` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL default '',
`active` tinyint(1) NOT NULL default '0',
`iso` varchar(20) default NULL,
`code` varchar(20) NOT NULL default '',
`shortcode` varchar(20) default NULL,
`image` varchar(100) default NULL,
`fallback_code` varchar(20) NOT NULL default '',
`params` text NOT NULL default '',
`ordering` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;元件 安裝: SQL錯誤或遺失或不可讀取的sql文件 DB function failed with error number 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8' at line 13 SQL=CREATE TABLE IF NOT EXISTS `jos_languages` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) NOT NULL default '', `active` tinyint(1) NOT NULL default '0', `iso` varchar(20) default NULL, `code` varchar(20) NOT NULL default '', `shortcode` varchar(20) default NULL, `image` varchar(100) default NULL, `fallback_code` varchar(20) NOT NULL default '', `params` text NOT NULL default '', `ordering` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
SQL =
CREATE TABLE IF NOT EXISTS `jos_languages` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL default '',
`active` tinyint(1) NOT NULL default '0',
`iso` varchar(20) default NULL,
`code` varchar(20) NOT NULL default '',
`shortcode` varchar(20) default NULL,
`image` varchar(100) default NULL,
`fallback_code` varchar(20) NOT NULL default '',
`params` text NOT NULL default '',
`ordering` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
請登入後回應