iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
Software Development

JUCE 入門 @ 跨平台應用程式開發使用 C++系列 第 23

Day 22:多國語言

JUCE 處理多國語言的機制,關鍵在 juce::LocalisedStrings 類別。

為支援多國語言,呈現在 UI 上的文字以 juce::translate 函數包起來。如下程式碼片段,"Hello World!" 字串傳入 translate 函數,表示該字串可能會以不同語言呈現:

  void paint (juce::Graphics&) override
  {
    g.setFont (juce::Font (16.0f));
    g.setColour (juce::Colours::white);
    g.drawText (juce::translate("Hello World!"), getLocalBounds(), juce::Justification::centred, true);
  }

接著準備內含翻譯後文字的檔案,以 Key/Value Pair 的格式儲存,以下是範例:

language: French
countries: fr

Hello World!=Taiwan can help!

最後再透用官透過 LocalisedStrings 來載入預先準備的翻譯字串。開發者可依各種條件,於啟動時挑選適合的語言。LocalisedString 也可在程式執行中進行轉換。


上一篇
Day 21:非 GUI 類工具之三
下一篇
Day 23:優與劣
系列文
JUCE 入門 @ 跨平台應用程式開發使用 C++29

尚未有邦友留言

立即登入留言