何をするのか
notion-translator を使って、Notionの特定のページの翻訳ページを作る。
準備
1)Notion インテグレーションの作成とトークンの発行
インテグレーションにアクセスする。
- 名前
- インテグレーションの名前。自分でわかりやすいものでOK。
- コンテンツ機能
- 「コンテンツを読み取る」「コンテンツを挿入」について、チェックをつける
- 「送信」を押す
- トークンが発行されるので、後でこれを利用します。
2)DeepL API
- DeepL API のページにアクセスする
- テストのみなら無料で十分。セキュリティ対策的にはPROの方が良い。
- アカウントを作成後、マイページの「アカウント」からトークンを取得する。
環境設定
CLIのインストール
$ npm install -g notion-translator
環境変数の指定
~/.bashrc
や, ~/.bash_profile
, ~/.zshrc
などを開いて下記の通り環境変数を追加する(変数部分は先程取得したものを入れてください)
export NOTION_API_TOKEN=xxxxxxxxxxxxxxxx
export DEEPL_API_TOKEN=xxxxxxxxxxxxxxxx
Notion側の作業
- 翻訳したいページにインテグレーションを追加する
- ページ右上の「…」から、メニュー下部の「+コネクトの追加」を押して、自分がさきほど作成したインテグレーションを追加する。
- 翻訳したいページがDB内にある場合、DBからサイドバーなどを使って普通のページに一旦戻す。
- 下記のような部分を削除しておく。
- リスト内の画像
- Slack/Figmaの埋め込みリンク
インラインコードやコードブロックなど- 多分この辺りがあるとエラーが出て翻訳失敗します
- 逆に問題ないケース
- DBの項目ページ内に作られた子ページ(=親がページであること)
- 画像・添付ファイル(勝手にリムーブされるが翻訳はストップしない。翻訳後に画像や添付ファイルの補完をしておく)
ターミナルで作業
$ notion-translator --from ja --to en-us --url https://www.notion.so/{{ワークスペース名}}/{{ページID}}
翻訳完了したら下記のような表示とともに翻訳後のページができる
Wait a minute! Now translating the following Notion page:
https://www.notion.so/xxxx
(this may take some time) ............ Done!
Disclaimer:
Some parts might not be perfect.
If the generated page is missing something, please adjust the details on your own.
Here is the translated Notion page:
https://www.notion.so/xxxx
以上です。