Skip to content

Transifex

Transifex は、言語に関係なく、ユーザー群全体で堅牢なローカライゼーションを可能にします。

この統合は Transifex によって管理されます。

統合について

BrazeとTransifexインテグレーションでは、Connected Contentを使用して、リソース文字列コレクションをプルし、言語ベースの条件付き書式の行ではなく、関連する翻訳をメッセージに含めることができます。これにより、翻訳が自動化され、チームは優れたカスタマー・エクスペリエンスの提供に集中することができる。

前提条件

統合

Transifex 統合では、Transifex のリソース翻訳 API を使用します。次の cURL を使用すると、翻訳に関連付けられたコンテンツ値がアカウントにあるかどうかを確認できます。

まず、Transifexアカウントにある <ORGANIZATION_NAME><PROJECT_NAME><RESOURCE_NAME> を入力します。次に、<LANGUAGE> を翻訳をフィルタリングしたい言語コードに、<TRANSIFEX_BEARER_TOKEN> をTransifexのベアラートークンに置き換える。

1
2
3
4
curl --request GET \
     --url 'https://rest.api.transifex.com/resource_translations?filter\[resource\]=o:<ORGANIZATION_NAME>:p:<PROJECT_NAME>:r:<RESOURCE_NAME>&filter\[language\]=l:<LANGUAGE>' \
     --header 'Accept: application/vnd.api+json' \
     --header 'Authorization: Bearer 1/<TRANSFIX_BEARER_TOKEN>'

たとえば、Transifex プロジェクトがhttps://www.transifex.com/appboy-3/french2/french_translationspo/ にある場合、project_name は”french2&quot になり、resource_name は次のようになります “french_translationspo”.

コネクテッドコンテンツメッセージの例

このコード例は、Transifexリソース翻訳APIとユーザーのlanguage 属性を利用している。必要に応じて文字列オブジェクトをループし、Liquid `` を使用して関連するコンテンツを取得できます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{% assign organization = "<ORGANIZATION_NAME>" %}
{% assign project = "<PROJECT_NAME>" %}
{% assign resource = "<RESOURCE_NAME>" %}

{% if {{${language}}} == "en" or {{${language}}} == "it" or {{${language}}} == "de" or {{${language}}} == "another_language_you_support"  %}
{% connected_content
     https://rest.api.transifex.com/resource_translations?filter[resource]=o:{{organization}}:p:{{project}}:r:{{resource}}&filter[language]=l:{{${language}}}
     :method GET
     :headers {
       "Authorization": "Bearer <TRANSIFEX_BEARER_TOKEN>"
  }
     :accept application/vnd.api+json
     :save strings
%}
{% endif %}

{% if {{strings}} != null and {{strings.data[0].attributes.strings.other}} != "" and {{${language}}} != null %}
  {{strings.data[0].attributes.strings.other}}
{% else %}
  {% abort_message('null or blank') %}
{% endif %}
New Stuff!