Firebase Extensionsとは?
Firebase Extensionsは、あらかじめパッケージ化されたソリューションを簡単に使用できるやつです。ベータの現在9つのソリューションがオフィシャルで用意されています。
本日はそのうちの一つTranslate Textの使い方を説明。
Translate Textとは?
Firebaseのイベント(CREATE,DELETE,UPDATE)をトリガーに、テキストを特定の言語に翻訳して、指定したフィールドに書き込んでくれるFunction。
使い方
FirebaseコンソールのExtensionsのセクションからTranslate Textをインストール。
FreeプランではTranslate Textは使えないので、プランのアップグレードしてください(無料枠での使用なら課金されないので、安心して。)
以下の構成を聞かれるのでそれぞれ入力してインストールします。
- リージョン
- 翻訳言語(対応言語)https://cloud.google.com/translate/docs/languages
- コレクションパス
- 翻訳元テキストのある
field名
- 翻訳されたテキストを保存する
field名
ここでは、コレクションをtranslations
翻訳されるテキストfield名をinput
翻訳されたテキストfield名をtranslated
に指定してます。
![スクリーンショット 2019-12-12 4.13.23.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54825%2Fb86a898d-ea41-25e6-bf10-b94b67177de4.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2b1365dca41bddb745e899120811b7f4)
設定はこれだけでインストールが完了し、Function一覧にext-firestore-translate-text-fstranslate
(下図)の関数が追加されてたらokです。
![スクリーンショット 2019-12-12 4.18.06.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54825%2Fbcf8355b-35d0-424e-79c6-33b2de908f4b.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=35ade6f5811c83ded852f9256e944b46)
指定したコレクションのfieldにテキストを追加するとトリガーが走り翻訳されたテキストが追加されていきます。
translations
のinput
にテキストを入れることで、translated
が作られ翻訳されたテキストが追加されました。
![スクリーンショット 2019-12-12 5.10.51.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54825%2Fc22523f4-6f62-79df-63d1-dc0d7d0e76df.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2c418335ea3541f1f1abc354489924d2)
Translate Text Extensionsのコード
fucntion内でやっていることはfirestoreのonWrite
イベントをトリガーにCloud Translation API
でテキストを翻訳し、ドキュメントに書き込んでいるだけです。簡単ですね。
おわりに
今はまだ簡単なExtensionsが公開されているだけですが、今後の発展に期待です。
開発者がfunctionをextension化して公開したり、公開されたものを利用したりしてエコシステムが充実したらコード書かずになんでもできちゃうんじゃないかって夢が広がりますね!
あんなextensionが欲しい、このfunctionをextension化したいとか、とか。
規模が大きいfirebaseの運用とか世にはあまり出ない、知見やtipsをextensionという形で共有できるんじゃないか、そしたらより良いfirebase生活を送れそうです。
クローズドFirebase勉強会@アル
実はアルでは、Firebaseを本番投入運用している人たちだけで知見を持ち寄りクローズドなFirebase勉強会を開催してたりします。
知見を溜め込んでいるそこのあなた、次回は1/30ですよ。
どうぞ私のTwitterまでご連絡ください〜
↓↓↓extensionが公開された直後ぐらいの勉強会のトピック↓↓↓
![スクリーンショット 2019-12-12 5.02.37.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54825%2Fe8b43987-9a9e-4dd5-0dd2-d28d9b3b2cd6.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=bb08dcd7f5754690e75640ccf1936646)
アルでやってるクローズドなFirebase勉強会、次回は2020/1/31です
— ken5@アルEngineer (@keng0o_) December 11, 2019