語言代碼備用廣告

Lookup API 會實作自動語言比對功能, 語言代碼備用。這些機制可供呼叫 C++ 函式 intl::Lookup::New 的樹狀結構內用途使用

語言代碼備用是指搜尋翻譯內容、語言代碼資料或其他資源的程序,按照確定性模式從較具體的資源「備用」至較一般性的資源。

針對含有語言代碼的訊息的查詢要求是簡單的備用範例 如果「否」,en-US 會改回使用語言代碼 en 的訊息 系統已將 en-US 專屬訊息提供給系統。

備用方案未必能讓人一目瞭然。舉個簡單的例子,en-US 會回溯至 en,但 en-IN 會回溯至 en-GB。備用廣告 CLDR 和 Fuchsia 的本地化子系統定義了 並根據這項資訊選出正確的備用本地化。

Fuchsia 的本地化訊息查詢有兩個層級的備用方案:

  1. 語言比對。 使用者最多只能指定 10 個偏好的語言代碼,並按照下列順序排列: 偏好設定。這種類型是類型的一部分 fuchsia.intl.Profile

    這項設定可將這項設定轉移至 Lookup API,網址為 Lookup 施工時間:

    auto lookup = intl::Lookup::New({"es", "en-US"});
    

    本例顯示,使用者設定在 語言代碼 es,且返回為 en-US 的意思是該語言代碼 資訊在執行階段的正常來自 fuchsia.intl.Profile

  2. 備用廣告。 即使使用者未明確要求,查詢程式庫也會自動從較特定的語言代碼切換至較不特定的語言代碼。在先前的範例中:

    auto lookup = intl::Lookup::New({"es", "en-US"});
    

    這個範例也定義,如果無法使用 en-US,則語言代碼應改回 en。透過這種做法,我們可以為產品提供一組最常見的語言代碼,即使產品不需全球覆蓋率,仍可涵蓋最常見的語言代碼。

上述兩種方法的組合會利用自動規則,找出最佳選擇 還能讓程式庫呼叫端指定精細的語言代碼 一系列要使用的偏好語言代碼序列。

日後的工作

如要進一步瞭解已規劃但尚未實作的備用功能,請參閱「未來工作」一節。