iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
自我挑戰組

用 ODK 和 Access VBA 打造行動化資料收集流程系列 第 25

Day25: 表格語言(Form Language)

  • 分享至 

  • xImage
  •  

原始網站: https://docs.getodk.org/form-language/
另可參考: https://docs.getodk.org/guide-form-language/

XLSForm 支援多語言表單,如果有多國語言切換的需求,可將其他語言新增至 XLSForm 欄位內,將面對使用者的內容放到特定於語言的欄位內。

從Collect上面對使用者的文字或媒體內容的設定欄位,都可以是多語言的,可以設定的欄位如下:

  • label
  • hint
  • image
  • audio
  • video
  • constraint_message
  • required_message
  • guidance_hint

設定方式為,每個語言欄位,加上兩個冒號和語言名稱,後面跟著括號中的兩個字母語言代碼。

例如:

  • label::English (en)
  • hint::Arabic (ar)
  • image::Español (es)

注意

Collect 的使用者介面(例如按鈕、選單、對話方塊)中顯示的文字由應用程式控制,而不是由表單控制。

有關如何變更介面語言的訊息,可參閱使用者介面設定:
https://docs.getodk.org/collect-settings/#interface-settings

如果您使用 RTL 語言(例如阿拉伯語,由右往左書寫的語言),請設定 Collect 的使用者介面語言和表單語言以確保正確的 RTL 佈局。

XLSForm — 單一語言

survey

type name label hint
select_multiple colors color_prefs What colors do you like? Select three.

choices

list_name name label
colors red Red
colors blue Blue
colors yellow Yellow
colors green Green
colors orange Orange
colors purple Purple

XLSForm — 多國語言

survey

type name label::English (en) label::Español (es) hint::English (en) hint::Español (es)
select_multiple colors color_prefs What colors do you like? ¿Qué colores te gustan? Select three. Seleccione tres.

choices

list_name name label::English (en) label::Español (es)
colors red Red Rojo
colors blue Blue Azul
colors yellow Yellow Amarillo
colors green Green Verde
colors orange Orange Anaranjado
colors purple Purple Púrpura

注意

沒有後備語言。如果您為欄位指定了語言,則該欄位的非特定版本將被視為單獨的語言。
(“更改語言”選單會將其列為“預設”。)

為了避免這種情況,所有可以設定為多語言的欄位都需要為多語言表單建立。
例如,即使使用相同的圖像作為問題提示,您也需要為每種語言提供一個 image::開頭的欄位。

但是,您可以為每個提供相同的媒體檔案名稱。
當語言處於活動狀態時,特定語言列中的空白儲存格在表單中將為空白,即使「預設」列有值也是如此。

XLSForm — 多種語言與媒體範例

survey

type name label::English (en) label::Español (es) image::Español (es) image::English (en)
text coffee Do you want coffee? ¿Quieres café? mug_es.jpg mug_en.jpg

切換語言

如果您的表單定義了多種語言,並且您知道大多數資料收集器將需要使用相同的語言,則您應該設定明確的預設語言。

您可以在 XLSForm 的設定表中執行此操作:

settings

form_id version default_language
my_form 2024050301 Español (es)

如果沒有設定,Collect 將預設使用定義的第一種語言。
若要在表單上的可用語言之間切換,請前往表單右上角 ⋮ 點下去,然後選擇[更改語言]

筆記

即使您切換設備的介面語言,Collect也會記住您在表單上切換到的最後一種語言。
更改表單的語言顯示,並不會更改介面語言。
如果您所處的環境需要經常切換語言,請確保您知道在裝置的「設定」功能表中的何處執行此操作。


上一篇
Day24: 表單資料集(Form Datasets)
下一篇
Day26: ODK Central API與Access VBA – Login與Logout
系列文
用 ODK 和 Access VBA 打造行動化資料收集流程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言