LocalAzz CLI/SDKでIOSアプリを翻訳する方法
この記事では、このワークフローをLocalAzyで最適化する方法を示し、自動化に関するヒントを提供します.
👨💻 新しいアプリを作る
新しいアプリを作成することから始めましょう.あなたが既に既存のアプリケーションを持っている場合externalized strings , 次のセクションまでスキップします.
Xcodeを開き、新しいXcodeプロジェクトを作成します.次に、IOSプラットフォームとアプリケーションのテンプレートを選択します.次の画面で、製品名を選択します.私はそのプロジェクトを「Swiftuiexample」と名付けました.残りのデフォルトオプションを残して確認してください.
あなたは新しいテンプレートプロジェクトで迎えられなければなりません.
私たちの新しいプロジェクトは、すでに翻訳できる1つの文字列を含んでいます.それを適切にローカライズできるが、外部ファイルからロードする必要がある.IOSでは、これは自動的に
.strings
ファイル形式なので、最初に作成しましょう.オープンファイル>>
⌘N
), 文字列ファイルを選択し、"localizable . string "と命名します.プロジェクトのルートフォルダーのどこかに置いておくとよいでしょう.その後、結果をチェックします新しいフォルダを作成します
en.lproj
, あなたの開発言語によってLocalized.strings
我々がちょうど我々のプロジェクトに加えたファイル.プロジェクトをローカライズするには、すべてのソースキーをこのファイルに外部化する必要があります.
.文字列ファイルは単純なキー値構造を持っているので、最も基本的なプロジェクトでは以下のようになります.
/*
Localizable.strings
SwiftUIExample
Created by Jan Bilek on 14.07.2021.
*/
"Hello, Localazy!"="Hello, Localazy!";
これでプロジェクトを実行し、文字列値を変更して、このファイルからテキストが自動的に読み込まれることを確認できます.💡 ヒント:既存のアプリ
あなた以外の多くの非外部化された文字列を持つアプリケーションがある場合は、製品に移動することによって自動的にローカライズをエクスポートしようとすることができます.
これは、ローカライズ可能なリソースを持つ新しいフォルダを作成します.エクスポートされた文字列を使用してソース言語ファイルを見つけ、その内容を新しく作成します
Localizable.strings
このステップからファイルします.畝📤 文字列をCLIでアップロードする
まだlocalazyとサインアップしていない場合は、アカウントを作成することができますhere . あなたがサインアップした後、新しいアプリケーションを作成します.私の名前Swift UI Example . その後、空のプロジェクトには、利用可能な統合の一覧を表示する必要がありますにリダイレクトされます.iOSを選択し、迅速な統合ガイドが表示されます.
自動化された方法でLocalAzyと対話するには、お使いのMac上でlocalazyのCLIツールをインストールする必要があります.いくつか異なるinstallation methods , しかし、最も簡単なのは、端末のアプリを開くとHomebrew パッケージマネージャー.
$ brew tap localazy/tools && brew install localazy
インストール終了後、ランニングlocalazy -h
すべてをチェックするoptions が正常に終了したことを確認します.次のステップとして、設定ファイルを作成します
localazy.json
プロジェクトのルートで.この例をクイックスタートからコピーし、ファイルへのパスを変更するか、以下の例をコピーして置換することもできますreadKey
and writeKey
あなた自身で.{
"writeKey": "<your-write-key>",
"readKey": "<your-read-key>",
"upload": {
"type": "ios-strings",
"files": "en.lproj/Localizable.strings"
},
"download": {
"files": "${iosLprojFolder}/${file}"
}
}
設定はCLIにどのようにローカライズファイルを処理するかを指示します.簡単にするためにここで認証キーを設定しますがexternalized .に
upload
セクションでは、file type アップロードしたいファイルへのパス(パターンがサポートされています).にdownload
セクションでは、自動パスを使用して出力パスとファイルを設定しますvariables .To learn more about the configuration options and uploading existing strings, please refer to the CLI documentation.
では、実行して文字列をアップロードしようとします
localazy upload
. 最初に設定をテストしたい場合は、実際にファイルをlocalazyにアップロードすることなく、-s
フラグを指定して出力をチェックします.その後、LocalAzyに戻ると、すぐにアップロードされたソース言語が表示されます.アップロードされたコンテンツをソース言語名の横のリストアイコンをクリックすることで閲覧できます.
💡 ヒント:アップロードステップを自動化する
ローカルに変更するたびに文字列を更新することを忘れたくない場合は、XCodeProj設定を開き、ターゲットをビルドします.最後に新しいものを追加し、
localazy upload
実行するコマンド.The same result can be achieved by running an upload step in your favorite CI tool, after each push or depending on your workflow. Read about the process in Automated Localization: GitHub Actions ❤ Localazy for more automation tips.
📥 ダウンロードこの動画またはmp 3
我々が我々のストリングをダウンロードしようとする前に、新しい言語を加えて、それを翻訳しましょう.スペイン語を選択し、すぐに言語リストに表示されます.翻訳ボタンをクリックすると、Aをもたらすでしょうtranslation このジョブを完了するために必要なすべてのコンテキストで画面を表示します.
ソースファイルの文字列の上にコメントが反映されていることに注意してください.これは、簡単にあなたのソースファイルから翻訳者のための追加のコンテキストを提供することができますので、特に便利です.
Xcodeにローカルファイルから追加の翻訳をロードするように指示するには、XCodeProj設定に再度移動し、インフォメーション->ローカライズセクションに移動し、そこにスペイン語を追加する必要があります.
私たちはすでに前のセクションで私たちのファイルのCLIダウンロードを構成しているので、今すぐダウンロードコマンドを実行しましょう.
$ localazy download
スペイン語に電話を設定すると、プロジェクトを再構築し、あなたのアプリケーションがローカライズされて表示されますああ!🎉できるだけ多くの新しい言語を繰り返します.
💡 ヒント:自動ダウンロードのステップ
我々は、アップロードの手順を自動化したのと同じようにダウンロードを自動化することができます.プロジェクトのビルドフレーズにダウンロードコマンドを追加したり、お気に入りのCIツールでステップを構成することによって.
💡 局所化試験のヒント
別の言語をチェックするたびに設定で携帯電話の言語を変更すると退屈で時間がかかるかもしれませんしかし、あなたはすぐにも、同時に様々な言語でアプリケーションをチェックするために使用できるトリックのカップルがあります.
⌘<
ショートカット、それは直接このウィンドウを開きます.Did you know that you can display multiple language versions of your app in the automatic preview canvas? Just add the following code to your content view and restart the preview.
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ForEach(["en", "es"], id: \.self) { id in
ContentView()
.environment(\.locale, .init(identifier: id))
}
}
}
📲 SDKによる翻訳の提供
LocalAzy CLIを使用すると、特にいくつかのCI/CDツールとリリースサイクルと組み合わせて、特に便利です.しかし、私はどのような場合は、アプリケーションストア内の新しいバージョンを公開する必要がなく、すぐにあなたのユーザーにあなたの更新された翻訳を提供する方法を教えてください?
確かにそれはLocalazy Swift SDK そして、それはあなたのアプリケーション内のいわゆる空気のアップデート(OTA)を可能にすることができます.それがどのように働くかについて、速い旅行をしましょう.
始めるためには、Swift Package Manager . 次のURLをコピーして、迅速なパッケージ依存性に追加してください.
https://github.com/localazy/localazy-swift
次に、新しい
Localazy.plist
設定ファイルとreadKey
それに.この構成ファイルでは、SDKの様々なパラメータを微調整することが可能ですただし、readKey
選択したプロジェクトからデータを正常に読み込む必要があります.より多くの設定オプションのチェックアウトthe documentation .次のステップインポート
Localazy_iOS
あなたのビューにライブラリを更新Text
使用するコンストラクタlocalazyKey
パラメータ.localazyLocalized
デフォルトのメソッドではなくSDKを使用した読み込みトランスレーションへの文字列拡張.struct ContentView: View {
var body: some View {
VStack {
Text(localazyKey: "Hello, Localazy!")
.padding()
}
}
}
To read more about the basic usage and methods of the SDK check out the documentation.
最後のステップは翻訳をテストすることです.LocalAzyに戻って別の言語を追加します.例えばフランス語を選びました.それを完全に翻訳し、完了するには、出版プロセスを待ちます.
現在、フランス語、再構築し、あなたのアプリケーションの言語を切り替えるには、翻訳をお使いのデバイスに表示されるはずです.すべての変更もすぐに出版後に表示する必要があります.
⚠️ ただSDKを含むあなたのアプリケーションの複数のレベルにキャッシュメカニズムがあるかもしれないので注意してください
Localazy.shared.forceReload()
デバッグ方法.SDKの最大の利点は、既存のユーザーのライブにすべての翻訳を提供することができます、あなたが必要とするときにあなたのアプリケーションのコピーを更新し、さらにその場で新しい言語を公開することです.それはちょうど動作しますそれを試してみてください!
📚 資源
Reference
この問題について(LocalAzz CLI/SDKでIOSアプリを翻訳する方法), 我々は、より多くの情報をここで見つけました https://dev.to/localazy/how-to-translate-ios-app-with-localazy-clisdk-14d2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol