Swift 中 NSLocalizedString 的等效方法是什麼?


在真實的 iOS 應用中,通常需要支援本地化以確保應用程式在全球範圍內的可訪問性。透過將本地化整合到您的應用程式中,您可以獲得更多使用者。在 Swift 中,我們使用 NSLocalizedString 函式來建立本地化字串。

什麼是本地化?

本地化是指允許您的應用程式支援多種語言的過程。它有助於為使用者建立更本地化的體驗,而不是僅使用單一語言的軟體。本地化在您的應用程式中非常易於整合。Apple 提供了一種完全原生的方法來將本地化整合到您的程式中。

語法

在 Swift 中使用 NSLocalizedString 的語法如下所示。

NSLocalizedString("key", comment: "")

在上述語法中,函式體中有兩個引數。首先是鍵,它需要是唯一的。根據您在函式中提供的鍵,將在字串檔案中搜索本地化字串。此外,您可以提供有關特定字串的附加資訊,這有助於其他開發人員理解該字串的作用。

NSLocalizedString 函式中的註釋引數是一個字串,用於提供附加資訊。此資訊對翻譯人員和其他開發人員很有幫助。

正如您所看到的,提供的函式中的註釋引數是可選的。但是,強烈建議傳遞簡短的資訊,以提供正在本地化的字串的上下文。例如,如果字串是錯誤訊息,則註釋可以解釋顯示錯誤訊息的情況。如果字串是按鈕標籤,則註釋可以解釋按鈕的作用。

NSLocalizedString

Swift 中的 NSLocalizedString 方法用於應用程式管理字串本地化。該字串在應用程式的字串表中查詢。此字串表包含專案中所有需要本地化的字串。如果需要向專案新增更多副本,只需將其新增到應用程式的字串表中即可。

當您將字串傳遞給此方法時,它會在應用程式的字串表(稱為鍵)中查詢它。一旦在表中找到指定的鍵,它就會返回給呼叫者。如果在本地化表中找不到該鍵,則返回相同的鍵作為值。

這種方法在應用程式中啟用多種語言非常簡單。每個字串副本必須根據程式碼將支援的語言放置在每個檔案中。請注意,您不需要為每種語言編寫單獨的程式碼。

以下是如何使用 NSLocalizedString 函式獲取本地化字串的示例

鍵“enter_name”的本地化字串應在應用程式的字串表中定義。以下是英語、西班牙語和法語的字串表示例

英語

"enter_name" = "Enter your full name";

西班牙語

"enter_name" = "Ingresa tu nombre completo";

法語

"enter_name" = "Entrez votre nom complet";

在此示例中,本地化字串取決於您的首選語言。例如,

  • 如果您偏好英語,NSLocalizedString 將返回“Enter your full name”。

  • 如果您偏好西班牙語,NSLocalizedString 將返回“Ingresa tu nombre completo”。

  • 如果您偏好法語,NSLocalizedString 將返回“Entrez votre nom complet”。

在 NSLocalizedString 函式中,您還可以將引數傳遞給 NSLocalizedString 以將動態值插入本地化字串。

鍵“greeting_message”的本地化字串應包含使用者名稱的佔位符。以下是英語、西班牙語和法語的字串表示例

英語

"greeting_message" = "Good morning, %@ !!";

西班牙語

"greeting_message" = "Buenos días, %@ !!";

法語

"greeting_message" = "Bonjour, %@ !!";

以下是如何在 NSLocalizedString 函式中插入動態值的示例

let message = NSLocalizedString("greeting_message", comment: "A message to greet the user")
let userName = "Amit"
let greeting = String(format: message, userName)

在此示例中,NSLocalizedString 用於檢索鍵“greeting_message”的本地化字串。“A message to greet the user”註釋提供了有關該字串的附加資訊。然後使用 String(format:) 方法將 userName 值插入本地化字串。

在此示例中,本地化字串取決於您的首選語言。例如,

  • 如果您偏好英語,NSLocalizedString 將返回“Good morning, Amit !!”。

  • 如果您偏好西班牙語,NSLocalizedString 將返回“Buenos días, Amit !!”。

  • 如果您偏好法語,NSLocalizedString 將返回“Bonjour, Amit !!”。

應用程式本地化的一些主要好處包括:

  • 改進的使用者體驗 − 當您將本地化整合到您的應用程式中時,您的使用者將獲得良好的體驗。它有助於為使用者提供更易於訪問的體驗,從而提高參與度和使用者滿意度。

  • 覆蓋範圍擴大 − 透過在應用程式中採用本地化,它將有助於增加數量。應用程式可以覆蓋更廣泛的受眾,無論其語言或位置如何。

  • 競爭優勢 − 透過支援多種語言,應用程式可以將自己與僅支援單一語言的競爭對手區分開來,並且還可以吸引那些正在尋找支援其語言的應用程式的客戶。

  • 文化意識 − 透過支援多種語言,應用程式可以展現對不同文化的尊重,同時也有助於消除語言障礙。

  • 增強 SEO: − 當應用程式本地化後,它可以針對多個位置進行定製,從而增加其在應用商店和搜尋結果中的曝光率,並使消費者更容易找到。

結論

總而言之,NSLocalizedString 是 Swift 中一個強大的工具,使開發人員能夠構建支援多種語言的應用程式。透過使用 NSLocalizedString 從應用程式的字串表中檢索字串,開發人員可以為其使用者提供本地化體驗,而無需為每種語言更改應用程式的程式碼。NSLocalizedString 還允許將動態值插入本地化字串以進一步定製使用者的體驗。無論您是為全球受眾開發應用程式,還是隻想在您的應用程式中支援多種語言,NSLocalizedString 都是您應該掌握的工具。

更新於:2023年4月11日

484 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.