Categories
FileMaker お知らせ

縫製仕様書類の自動翻訳

DeepL

海外のメーカーさんと取引をしていると頻繁に相手側の言語に翻訳をしてコメントを出さなければいけないときがあります。
縫製指示書などもそうですが、一番多いのは上がってきたサンプルに対しての検品時かと思います。

翻訳時は勿論ご自身の能力で翻訳されたり、昔からある黄色のアパレル用語辞典を見ながら翻訳されている場合もあるかと思います。
最近であればGoogle TranslateやDeepLを始めとする優秀な翻訳サイトを活用される場合が増えているかと思います。

今回は、DeepLのAPIを利用してご自身で作成されたClaris FileMakerカスタムAppsに組み込む方法のご案内です。
本格的に使っていくのは有償版をおすすめしますが、取り急ぎは無料でご利用していただけます。
縫製関連には独自の用語や、一般的に翻訳しづらい技術的用語も多々ありますがDeepLの用語集で翻訳レベルを成長させていくことが可能です。
以下手順です。

1. DeepLサイトへ移動し無料会員登録を行います。
DeepL

2. 画面中程に移動し、「無料で登録する」を押して登録を行ってください。
DeepL

3. 会員登録後、DeepL開発者サイトへ移動し右上の「アカウント」へ移動します。
https://www.deepl.com/ja/docs-api/
DeepL

4. 「アカウント」タブ内の「DeepL APIで使用する認証キー」が今回のAPI利用時に必要となるのでコピーしておきます。
DeepL

5. ここからClaris FileMakerカスタムAppsを作成していきます。
以下が完成図です。
DeepL

大きな流れは、原文を入力し言語をボタンで選択するとDeepLへ原文と翻訳したい言語が送信されます。
優秀なDeepLは受け取った言語を自動検知し、原文を翻訳したい言語に変換し翻訳文を返してくれます。
この時に、先程取得した「DeepL APIで使用する認証キー」が必要となります。

6. 今回のサンプルファイルに沿って説明します。グローバルフィールドを用いていますが、グローバルフィールドである必要はありません。

フィールド名          タイプ                          オプション/コメント
g_text 1                 テキスト グローバル                          原文を入力します
g_text 2                 テキスト グローバル                          DeepLから取得した翻訳文が入力されます
g_lang                  テキスト グローバル                              翻訳する言語を設定します
g_認証キー           テキスト グローバル                          DeepLの認証キー

7. スクリプトを作成していきます。
スクリプトは3行のみです。
しかも DeepLサイトには設定する内容が認証キーも含めて記載してくれていますね。
基本的にはこのまま利用します。
DeepL

7. 実際のスクリプトの作成を行います。
先程、DeepLサイトからコピーしてきた内容を確認してみましょう。
以下の「認証キー」はご自身の認証キーに置き換えてください。
curl https://api-free.deepl.com/v2/translate \
-d auth_key=認証キー \
-d "text=Hello, world!" \
-d "target_lang=DE"

こちらをClaris FileMakerでつかやすいように分解すると以下のようになります。
接続先URL: https://api-free.deepl.com/v2/translate \
認証キー: ご自身の認証キー
原文:  Hello, world!
翻訳する言語: DE

翻訳する言語には2文字のコードを設定します。
英語に翻訳したい場合は EN です。
一覧は以下のページの”target_lang”を参照してください。
https://www.deepl.com/ja/docs-api/translating-text/request/

以下がスクリプトの内容です。
実際のカスタムAppsでは、グローバルフィールドを使う必要はありません。
またボタンで変換しなくても取引先ごとに翻訳する言語を事前にマスター化しておき「原文」フィールドにスクリプトトリガ”OnObjectSave”で翻訳スクリプトを自動実行すれば良いかと思います。
更に言えば、翻訳には多少のタイムラグが発生するので混雑時のいらいらを解消する為にもサーバーサイドで実行し翻訳文をバックグラウンドで放り込んでおくというのも良いかと思います。
1: フィールド設定 [ 自動翻訳::g_lang ; Get ( スクリプト引数 ) ]
2: URL から挿入 [ 選択 ; ダイアログあり: オフ ; ターゲット: $r ; "https://api-free.deepl.com/v2/translate" ; cURL オプション: " -d auth_key=" & 自動翻訳::g_認証キー & " -d \"text=" & 自動翻訳::g_text 1 & "\"" & " -d \"target_lang=" & 自動翻訳::g_lang & "\"" ]
3: フィールド設定 [ 自動翻訳::g_text 2 ; JSONGetElement ( $r ; "translations[].text" ) ]

○ 使い方
認証キーと原文を入力し言語ボタンを押すと翻訳文が表示されます。