Swiftuiアプリケーションを翻訳する方法
5040 ワード
我々のアプリケーションのローカライズは、我々が考えるより重要です.私たちは普通英語を第一言語として扱う.世界の78億人の住民の4.9 %が英語を話す.ほとんどの人は英語のネイティブスピーカーではない.物事の壮大なスキームでは、たったの360万人が最初の言語として英語を話す.
Swiftuiは、複数の言語に我々のアプリケーションを翻訳するには、偉大な使いやすいオプションを与えます.我々は、すべてのことに精通している可能性があります
さらに、Xcodeは、ビルド設定を変更し、システム言語自体を変更せずに既定の言語を変更するオプションがあります.
この記事では、我々はどのように組み込み機能をチェックアウトすることによってSwiftuiアプリを翻訳する方法について説明します.また、動的に変更するテキストを翻訳する方法も参照してください.
ほとんどすべてのSwiftuiビルディングブロックのような
例えば、私たちがAを作ると言いましょう
少し深く掘りましょう
The
別の使い方
今、我々は静的な翻訳作業を知っているが、どのように動的に作成されたテキストで動作しますか?たとえば、私たちは、ユーザー提供の名前で挨拶を表示するテキストビューを持っています.であろう
上の例では、
地球上のすべての人々の4.9 %だけが彼らの最初の言語として英語を話します.これは、我々はより広い視聴者に到達し、よりアクセスできるように我々のアプリを翻訳する必要があることを意味します.
SwifTuiは、翻訳を容易にする組み込み機能の素晴らしいセットをしています.ビュー要素のほとんどは、
動的テキストを使用すると、文字列の補間を使用し、それに応じて書式を指定する必要があります.Swiftuiはユーザの定義されたロケールでそれをフォーマットします.
Sample code Localization guide by Apple Localization in SwiftUI Localization in SwiftUI forum thread Localization with SwiftUI, how to preview your localized content Localization with Zach Brass Introduction to SwiftUI Localization tutorial Localize your SwiftUI app WWDC talk Preparing Views for Localization
Swiftuiは、複数の言語に我々のアプリケーションを翻訳するには、偉大な使いやすいオプションを与えます.我々は、すべてのことに精通している可能性があります
Localizable.strings
すべての翻訳を置くファイル.私はあなたのプロジェクトのためにこれを作成する方法には行かない.さらに、Xcodeは、ビルド設定を変更し、システム言語自体を変更せずに既定の言語を変更するオプションがあります.
この記事では、我々はどのように組み込み機能をチェックアウトすることによってSwiftuiアプリを翻訳する方法について説明します.また、動的に変更するテキストを翻訳する方法も参照してください.
テキストアプローチ
ほとんどすべてのSwiftuiビルディングブロックのような
Text
, Button
, TextField
, そして、より多くのイニシアチブが舞台裏でローカライズを使用して来る.例えば、私たちがAを作ると言いましょう
Text
タイトルを見るName
. 我々は、それを加えることができますLocalizable.strings
ファイルは、何もしないで翻訳されます.翻訳が提供されないならば、それは指定されたデフォルトタイトルに戻るでしょう.我々はSwiftuiは余分な仕事を行うことなく私たちのアプリを翻訳の世話をすることができます.少し深く掘りましょう
Text
初期化.init(_ key: LocalizedStringKey, tableName: String? = nil, bundle: Bundle? = nil, comment: StaticString? = nil)
最初のパラメータはLocalizedStringKey
. 探検しましょう.LocalizedStringKeyは何ですか?
The
LocalizedStringKey
魔法は、我々のSwiftuiアプリのすべての翻訳をパワーです.それは何をしているLocalizable.strings
ファイルとチェックがこのキーであるならば、チェックしてください.準拠ExpressibleByStringLiteral
そして、それは我々が我々のSwiftui View Initializersでそれを使うことができる理由です.別の使い方
LocalizedStringKey
翻訳がビューに渡されるときです.挨拶テキストをパラメータとして受け取る挨拶ビューがあるとしましょう.このような場合、型を持つパラメータを作成する必要がありますLocalizedStringKey
. これを構築するとき、我々はString
値初期化LocalizedStringKey
を使用してLocalizedStringKey(_ value: String)
初期化.この場合、それは単なるテキストとして扱われませんが、翻訳文字列ファイルからのキーです.文字列補間
今、我々は静的な翻訳作業を知っているが、どのように動的に作成されたテキストで動作しますか?たとえば、私たちは、ユーザー提供の名前で挨拶を表示するテキストビューを持っています.であろう
Hello, Mary!
, でもMary
テキストフィールドからエントリを置換します.この種のテキストを翻訳するには、文字列補間を使用する必要があります.上の例では、
Localizable.strings
ファイル入力Hello, %@!
と%@
はString
パラメータの作成時にLocalizedStringKey
このように:Text("Hello, \(name)!")
舞台裏では、あなたのユーザーのロケールを考慮に入れて、数字、日付、通貨とより多くをフォーマットすることができるストリング書式設定を使用しています.このブログ記事では、私たちはそのトピックに深く掘り下げるつもりはありません.TLドクター
地球上のすべての人々の4.9 %だけが彼らの最初の言語として英語を話します.これは、我々はより広い視聴者に到達し、よりアクセスできるように我々のアプリを翻訳する必要があることを意味します.
SwifTuiは、翻訳を容易にする組み込み機能の素晴らしいセットをしています.ビュー要素のほとんどは、
Localizable.strings
ファイル.動的テキストを使用すると、文字列の補間を使用し、それに応じて書式を指定する必要があります.Swiftuiはユーザの定義されたロケールでそれをフォーマットします.
リンク
Reference
この問題について(Swiftuiアプリケーションを翻訳する方法), 我々は、より多くの情報をここで見つけました https://dev.to/fassko/how-to-translate-swiftui-applications-89lテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol