你好,我目前已建立中文版的資料庫以及英文版的資料庫,想要在語言切換的時候可以跟著連動切換語言,目前想到的方式是連結另一個資料庫的內容,想問有沒有什麼方法可以設定連結?或是有沒有辦法寫程式更改途徑,讓a資料庫的頁面點擊可以變成b資料庫頁面?
1. 不好意思, 現時資料庫的內容, 未能使用多國語言應用程式翻譯成其他語言。請於這裡投票,加 快開發進程。
2. 基於以上原因, 如果網站有設定多國語言應用程式, 點擊另一語言的時候, 資料庫上的內容, 就不能切換成該種語言, 只會顯示第一語言。
3. 但是, 我們可以使用開發模式設定, 有一點點複雜, 而且, 當瀏覽者點擊動態頁面(items)的另一語言的時候, 由於沒有辦法直接翻譯, 可能會顯示又中又英的情況(以下將會解釋)。
4. 我們參考了這裡有關開發模式的文件, 製作了資料庫切換語言樣板, 是使用資料庫連結重複項>點擊項目顯示動態頁面, 請參考:
首先刪除預設語言選單
開啟開發模式
自行製作一個語言選單, 是使用按鈕式的, Toggle樣式的也可以, 但不是Dropdown, 因為語法會不同, 放置在頁首
把中英文資料全部放置在同一個資料庫文件, 並且新增一個Column叫做"language", 如下圖:
打開動態頁面上的重復項(All), 在該頁面的程式碼標籤, 加入以下代碼:
import wixWindow from 'wix-window'; import wixData from 'wix-data'; $w.onReady( function () { let language = wixWindow.multilingual.currentLanguage; $w("#資料集的ID").setFilter( wixData.filter().eq("language的欄位金鑰", language) ); })
然後, 點擊頁首上自訂的語言選單按鈕, 打開masterPage.js程式碼標籤, 加入以下的代碼:
import wixWindow from 'wix-window'; $w.onReady( function () { $w("#語言選單按鈕ID").onClick( (event) => { if(wixWindow.multilingual.currentLanguage === "第一語言代號"){ wixWindow.multilingual.currentLanguage = "第二語言代號"; } else { wixWindow.multilingual.currentLanguage = "第二語言代號"; } } ); } );
然後再設定一下手機版, 把自訂的語言按鈕放入手機版選單就可以了。你可能需要發佈才可看到網站現場的真實情況。
只是有一個問題, 當瀏覽者瀏覽動態頁面的時候, 如果他選擇另一個語言, 就會可能把模板預設的文字(text on the dynamic page)翻譯成中文/英文, 但又不會影響資料庫的內容, 變成又中又英(可查看我們的樣板), 這個也是沒有辦法, 因為同一篇動態網頁, 不能直接切換為另一語言。
#資料庫語言切換