前言
在WordPress網站設計中,常常會聽到需要製作多國語系的網站的需求,一般人可能都是直接朝安裝相關外掛方向去思考,的確,安裝外掛是一個方式,但不見得是最佳方式。
在我剛出道前幾年,也是遇過一個客戶需要製作多國語系網站的需求,那時候是使用「WPML」多國語系外掛,這是一個付費式外掛,每年持續需要付訂閱費用(也不便宜),重點是這外掛在使用上有點複雜,光我自己在操作就覺得有難度了,交接給業主時他們也是覺得不太好管理整個後台也是很不順手,而且這外掛也會滿拖慢整個網站效能的,自該次案子的經驗後,我就不再使用這支「WPML」多國語系外掛來製作多國語系的網站了。
不一定要靠外掛
後來隨著自己的接案經驗越來越豐富,也開始有一點程式能力了之後,讓我體會到製作多國語系網站,因應不同需求則會有不同的作法,這些不同的作法中也可以用外掛,但有些需求可以完全不用外掛,僅靠jQuery也能在前端直接判斷處理導向另一語系 ,這讓我在製作多國語系中呈現出與別人完全不一樣的思維與作法。
假設是一頁式網站(不含電商)的多國語系需求
一次先設計好不同語系的頁面,透過點擊事件判斷並做網址導向就好了。
假設是形象網站(不含電商)的多國語系需求
也是一次先設計好不同語系的頁面,透過點擊事件判斷並做網址導向就好了,但尚須把主選單預先建好多組、頁面的階層架構或網址格式須先規劃出一致性,以利jQuery判斷。
假設含有文章功能的網站(不含電商)的多國語系需求
在文章分類上也都要預先建好不同語系的分類名稱,並讓文章分類網址的「slug」有規則性,以利jQuery判斷。
當然以後業主在新增文章上架時,也是要同時寫好不同語言的文章,並勾選對應的語系分類。
假設是含有電商功能的網站
在結帳時因考量到貨幣的不同、結帳欄位須要填的類型也不同、運送方式、付款方式的不同,
我是覺得直接做成「不同網站」處理更為方便,網址就用子網域的方式或資料夾目錄的方式都可以,這樣比較好管理,
然後也是用jQuery判斷訪客的語系或點擊想切換的語系做網址導向的處理。
網址規劃
做多國語系的網站很注重網址的規則,這一定要事先規劃好,會影響製作時的難易度,甚至也會影響SEO,
這邊只是先提個概念,實務上要執行時仍須與業主討論,因網址格式可能的有一些不同的考量。
注意版型破版
假設是製作「中英」兩個語系,任每一頁的文案都是中文與翻好的英文來分別置入,對吧?
但中文與英文,同樣一句話或同一個單字,它的字元長度完全不一樣,
例如「資訊」、「infortamtion」這單字的中英文的字元長度不一樣,甚至「中文一句話」在翻成英文後就變得更長了,那麼假設首頁的中文與英文的版型都是長得一樣的,但因不同字元長度的影響,會造成英文版的首頁可能會因過長的文字造成版面高度被撐開撐高了,或是跑出區塊範圍,造成整體頁面的排版都走鐘了,這個問題絕對是製作多國語系網站的痛,與用多國語系外掛或不用多國語系外掛的作法並無關係。
解決方式,就是兩個網站的每一頁的版型,統統要用頁面編輯器(例如Elementor)重新排版或微調過,或是適時把文案做修改刪修,請翻譯人員重新配合版型把譯文簡化至大意與中文一樣即可。
誰說兩個語系的內容一定要完全一樣?
有人覺得多國語系網站就是要長得一模一樣,只要有辦法把裡面的字翻成不同語言的字就好,若是這樣,我建議他直接用「Google翻譯外掛」就好,這樣就不用每一頁都要製作2次以上且還要調整版型,不過「Google翻譯外掛」所直翻的文法、語意常常會不順,甚至專有名詞也是無法識別,絕對會出很多問題。
我的看法是兩個語系的架構、內容可以大同小異就行了,不一定要長得完全一樣,甚至有些內容在中文版網頁可以出現,在英文版網頁可以不出現,這都是可以跟業主商討的,不須強制死腦筋硬把兩個網站搞成像鏡射一般。
總結
目前以我的能力,我是不再靠肥大又難用的多國語系外掛了,針對不同的需求寫點jQuery處理,反而輕鬆許多,也不影響整個主機的效能,慢慢的會把這些技巧整理上來,當然該收費時仍是要收費,畢竟這都是我的智慧財產權與心得經驗。