ローカライズファイルを異なる形式に変える方法?


あなたのために幸運なFormat Conversions 私たちのマルチプラットフォームをダウンロードして利用できる機能command-line interface (CLI) そして広大な支持formats and integrations .

❓ どのようなローカライズ可能なファイル形式の変換ですか?


プロジェクトをローカライズするには、プロジェクトを外部/地域/国に適応させる必要があるときは常に、新しいロケールを追加するたびにコードをフィドルする必要はありません.

Read our guide on How to prepare your app for i18n & l10n


テキストは主にユーザーと通信する方法です.したがって、ファイルの外部に文字列を保持する必要があります.異なったフレームワーク/ライブラリがそれらが働く特定の構造を持っているので、この形式は我々が使用しているフレームワーク/ライブラリに依存します.
それで、我々が我々の製品を新しいプラットホームに適応させたいか、新しいツールを統合して、異なるlocalizableなファイル形式を利用するならば、何が起こりますか?あなたのファイルは使えませんか?いいえ、localazyあなたの背中を得た私たちはあなたのためのファイル形式をFormat Conversions 機能.

Localazy無料または有料でlocalizableファイルの変換ですか?


形式の変換はすべてのユーザーのために利用可能ですProfessional ティアアップ.

See the pricing page for options


これは、フォーマット、操作の数、または変換データのボリュームの制限を実行しない最初の単一の変換で支払うことになる.ワークフローを自動化し、ローカライズ可能なファイルを変換すると、あなたのdevの生活は簡単になります.🤩

📃 localizableファイルを異なる形式に変換するサンプルユースケース


機能を実証するために、我々はYAML ファイルを作成し、変換を行いますJSON . これらは、変換のために利用可能な形式の様々な2つだけ例です変換できます:
  • android - アンドロイドに変換
  • arb - フラッタに変換する
  • ini - に変換する
  • ini-multilingual - 多言語対応のINIに変換する
  • ios-strings - IOSのに変換します.弦
  • ios-stringsdict - IOSのに変換します.文字列
  • json - JSONに変換する
  • json-mozilla - Mozillaに変換する
  • json-multilingual - 多言語JSONに変換する
  • yaml - YAMLに変換
  • yaml-multilingual - 多言語対応YAMLに変換
  • yaml-rails - レールに変換する
  • ファイルを作る


    作成するファイルには次の文字列が含まれています.
    calendar:
      one: "Calendar"
      other: "Calendars"
    field:
      one: "Field"
      other: "Fields"
    hello_localazy: "Hello Localazy!"
    
    ファイル名を指定しますen.yml . それで、我々がlocalizableなファイルを持っているので、我々は何をしますか?

    ディレクトリ構造の作成


    この例では、次のレイアウトでディレクトリ構造を作成します
    .
    ├── locales
    │   └── en.yml
    ├── converted
    ├── localazy.exe   
    └── localazy.json
    
    The locales フォルダーは、私たちが変換するファイルを維持する場所ですconverted フォルダは、変換されたファイルを格納します.このすべては、我々の中で構成されなければならないでしょうlocalazy.json ファイル.
    LocalAzyexeファイルはlocalazy cliです.別のOSを使用する場合は、ダウンロードして保存する必要はないかもしれません.

    For more information about the CLI, check The Basics – Localazy.


    localazyの設定を設定する


    これを行うことで、我々はlocalazy.json 以下の設定ファイル
    {
    
        "writeKey": "your-write-key",
        "readKey": "your-read-key",
    
        "upload": {
          "type": "yaml",
          "files": "/locales/en.yml" 
        },
        "conversion": {
          "actions": 
            {
              "type": "json",
              "output": "converted/${lang}.json"
            }    
        }
      }
    
    我々は、Aを加えませんでしたdownload セクションへのlocalazy.json 設定ファイルは、単にファイル変換をしています.
    あなたが我々のCLIに精通しているならば、あなたは我々が使うということを知っていますwriteKeay and readKey ファイルをアップロードしてダウンロードする.これらのキーが割り当てられるようにするにはcreate a new project LocalAzyで、変換のソースとして使用する形式を選択します.

    Remember that the Format Conversions feature is only available for users with the Professional tier and up, meaning that the following steps will not function if you are on the Free plan and the feature is locked. However, you can activate a 7-day trial of the Professional plan to try everything out.


    転換


    あなたのキー準備ができたら、ちょうどそれらを追加するlocalazy.json ファイルを作成し、文字列をアップロードして変換されたファイルをダウンロードします.ちょうど実行するlocalazy upload - これは、すべての魔法が発生するサーバーに文字列をアップロードします.localazy download - これは変換形式のファイルをダウンロードします.
    フォルダのレイアウトは次のようになります.
    .
    ├── locales
    │   └── en.yml
    ├── converted
    |   └── en.json
    ├── localazy.exe   
    └── localazy.json
    
    ご覧のように、変換されたフォルダの中に、変換されたファイルがあります.このファイルは.json 拡張モジュールは次のようになります.
    {
      "calendar": {
        "one": "Calendar",
        "other": "Calendars"
      },
      "field": {
        "one": "Field",
        "other": "Fields"
      },
      "hello_localazy": "Hello Localazy!"
    }
    

    📏 構造化キー平坦化


    いくつかのケースでは、複数のレベルでローカライズ可能なファイルに遭遇する例えば、JSON 我々がちょうど変えたファイル.
    私たちはいくつかの形式に同じレベルの構造を移すことができません.状況によっては、書式変換は、次のような複数のキーの平坦化オプションを提供します.
  • 構造化キーを平坦化しない
  • ドット(.)で構造化キーを平らにします;
  • アンダースコアを使用して構造化キーを平らにする
  • 構造的なキーをダッシュ(-
  • Androidへの変換のデフォルトの出力結果は次のようになります.
    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
      <string name="hello_localazy">"Hello Localazy!"</string>
      <string name="calendar_one">"Calendar"</string>
      <string name="calendar_other">"Calendars"</string>
      <string name="field_one">"Field"</string>
      <string name="field_other">"Fields"</string>
    </resources>
    
    平坦化を指定する場合は、以下を追加します.
    "actions": 
               other specifications 
    
              {
              "params": {
                "flatten_keys": "dot"
              }
            }
    
    すべてのオプションと仕様を念頭に置いてくださいあなたが変換している形式に依存しています.
    参照Format Conversions CLI documentation すべての利用可能なオプションについては、コンバージョンを構成するために使用することができます.

    🔌 あなたは、複数のプロジェクトを持っていますか?接続プロジェクトをお試しください!


    フォーマット変換はファイルの1 : 1変換に最適です.しかし、時々、あなたの製品は非常に類似しているが、同じでないファイルを含むことができる複数のサブプロジェクトから成ります.
    この場合は、Connected Projects 機能は、独自のプロジェクト間のシームレスな翻訳共有を支援するために設計されているプロの計画に含まれています.
    接続されたプロジェクトは、あなたのコンテンツを一度だけ翻訳し、Localazyに残りを処理させます.マルチプラットフォーム開発または同じテキストを共有する同様のアプリのポートフォリオに最適です.
    したら、すべてを設定すると、LocalAzy同期を自動的に一致するテキストを承認することによって翻訳プロセスをスピードアップする必要がない余分な手順なしで同期を維持し、すべてのプロジェクトを1つの中央用語集にタップすることができます.

    Read more about Connected Projects in the documentation


    ✔️ 結論


    私たちはあなたがlocalizableファイル形式を変換する上で、この短いチュートリアルが好き願っています.ファイル変換があなたがあなたと戦っている何かであるならばCI/CD , を得るLocalazy Professional plan そして、あなたのdevの生活を自動ファイル形式の変換を容易にします.✌️

    また、

  • Guide: How to prepare your application for i18n & l10n
  • How to localize Go app with go-i18n and Localazy
  • Create multi-language newsletters for free using Google Sheets and Localazy