学校が毎月出す学年だよりとお知らせを外国籍の保護者向けに多言語へ訳し、日付・持ち物・提出期限を原文と照らしてから配る
学校が毎月出す学年だよりやお知らせを、外国籍の保護者の言語に訳します。訳す前に原稿から日付・持ち物・提出期限を取り出し、訳文の中で同じ値が残っているかを照らしてから配ります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- 教育/自治体
- 対象部門
- 総務
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 翻訳
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 学年主任が日本語の原稿をドキュメントで作り、教務主任が日付と内容を確かめる
- 教務主任が、訳が要る言語と配る日を一覧にし、母語支援員の来校日に合わせて依頼する
- 母語支援員が来校日に原稿を訳す。来校日に間に合わない文書は、学年主任が機械翻訳にかける
- 機械翻訳したものは、読めないまま体裁だけ整える。日付や持ち物は原文と見比べようがない
- 母語支援員が訳したものは、本人が日付と持ち物を原文と見比べる
- 訳文をPDFにして、言語ごとに一斉配信の宛先を選んで送る
- 当日、忘れ物や未提出があれば、担任が個別に電話や連絡帳で伝え直す
- 人学年主任が日本語の原稿をドキュメントで作り、教務主任が確かめる(ここは変わらない)
- 人教務主任が依頼シートに原稿のURL、訳す言語、配る日を書き、状態を「依頼」にする
- 自動10分ごとに動く Google Apps Script が「依頼」の行を拾い、原稿の本文を段落ごとに取り出す
- 自動Gemini API が原稿から日付・時刻・持ち物・提出物と期限・金額・場所を要点表に取り出す
- 自動Apps Script が、要点表の値が原稿に実在するか、日付と曜日が合っているかを確かめる
- 自動Gemini API が、学校の用語集に沿って段落ごとに訳し、要点表の各行の訳も返す
- 自動Apps Script が、訳文の中に要点表の数字(日・時刻・金額・個数)がそろっているかを照らす
- 自動Apps Script の LanguageApp で訳文を日本語に訳し戻し、原文と並べた確認用の表を作る
- 自動訳文の冒頭に「大事なことの箱」を入れたドキュメントを言語ごとに作り、確認待ちにする
- 人母語支援員(来校日でなくても自宅から確認できる)または教務主任が、照合の結果と訳し戻しを見る
- 人確認が済んだものを教務主任がPDFにして、一斉配信で送る
各工程の詳しい説明を読む
- 学年主任が日本語の原稿をドキュメントで作り、教務主任が日付と内容を確かめる
- 教務主任が、訳が要る言語と配る日を一覧にし、母語支援員の来校日に合わせて依頼する
- 母語支援員が来校日に原稿を訳す。来校日に間に合わない文書は、学年主任が機械翻訳にかける
- 機械翻訳したものは、読めないまま体裁だけ整える。日付や持ち物は原文と見比べようがない
- 母語支援員が訳したものは、本人が日付と持ち物を原文と見比べる
- 訳文をPDFにして、言語ごとに一斉配信の宛先を選んで送る
- 当日、忘れ物や未提出があれば、担任が個別に電話や連絡帳で伝え直す
(a)訳す人が足りない。 5言語それぞれに母語支援員が週1回来るとして、1回の来校で訳せるのは数本です。締め切りまで1週間のお知らせは、次の来校を待つと配るのが締め切りの直前になります。 急ぎの文書ほど機械翻訳のまま配られます。
(b)機械翻訳で、日付と持ち物が別の意味になる。 「15日(水)までに提出」が「15日から提出」に読める訳、「上履き」が直訳で意味の通らない語、「名札」が「名刺」になる訳が出ます。学年主任はその言語が読めないので、誤りに気づく方法がありません。
(c)点検できる人が限られる。 訳文が正しいかを確かめられるのは母語支援員だけで、支援員が来ない週は誰も点検していません。 どの言語のどの文書が点検済みかも、教務主任の頭の中にしかありません。
(d)伝え直しに時間を取られる。 当日の忘れ物や未提出が出るたびに、担任が個別に伝え直します。それが毎月くり返されます。
- 【人】 学年主任が日本語の原稿をドキュメントで作り、教務主任が確かめる(ここは変わらない)
- 【人】 教務主任が依頼シートに原稿のURL、訳す言語、配る日を書き、状態を「依頼」にする
- 【自動】 10分ごとに動く Google Apps Script が「依頼」の行を拾い、原稿の本文を段落ごとに取り出す
- 【自動】 Gemini API が原稿から日付・時刻・持ち物・提出物と期限・金額・場所を要点表に取り出す
- 【自動】 Apps Script が、要点表の値が原稿に実在するか、日付と曜日が合っているかを確かめる
- 【自動】 Gemini API が、学校の用語集に沿って段落ごとに訳し、要点表の各行の訳も返す
- 【自動】 Apps Script が、訳文の中に要点表の数字(日・時刻・金額・個数)がそろっているかを照らす
- 【自動】 Apps Script の LanguageApp で訳文を日本語に訳し戻し、原文と並べた確認用の表を作る
- 【自動】 訳文の冒頭に「大事なことの箱」を入れたドキュメントを言語ごとに作り、確認待ちにする
- 【人】 母語支援員(来校日でなくても自宅から確認できる)または教務主任が、照合の結果と訳し戻しを見る
- 【人】 確認が済んだものを教務主任がPDFにして、一斉配信で送る
10番目が、この設計の分かれ目です。 確認する人が見るのは訳文の全体ではなく、照合で食い違いが出た行と、大事なことの箱です。 全文を読み比べる設計にすると、支援員の手が足りないという元の問題が残ります。
8番目で、訳し戻しに別の翻訳の仕組みを使うのも意図してのことです。 訳したのと同じ生成AIに訳し戻させると、自分の訳の癖をそのまま戻すので、意味のずれが見えにくくなります。 訳し戻しは、その言語が読めない教務主任が「意味が大きく外れていないか」を見るための補助です。
02今回想定するシステム構成
日本語の原稿(Google ドキュメント) │ 教務主任が依頼シートに URL・言語・配る日を書く ▼【トリガー】10分ごとの時間主導型トリガー(状態が「依頼」の行) Google Apps Script ├──▶ 段落ごとに本文を取り出す ▼ Gemini API ── 要点表を作る(日付・時刻・持ち物・提出物と期限・金額・場所) ▼ Google Apps Script ── 要点が原稿に実在するか/日付と曜日が合うか ▼ Gemini API ── 用語集に沿って段落ごとに訳す/要点表の各行も訳す ▼ Google Apps Script ── 訳文に要点の数字がそろっているかを照らす ├──▶ LanguageApp ── 訳文を日本語に訳し戻す(確認用) ▼ 言語ごとのドキュメント(冒頭に「大事なことの箱」)+ 照合の結果 ▼ 【母語支援員または教務主任が食い違いの行と箱を確認】 ▼ PDF にして一斉配信
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Google Apps Script | Power Automate、Make |
| 生成AI | Gemini API(要点表の取り出しと訳文の作成) | Claude API、OpenAI API |
| 訳し戻し | Apps Script の LanguageApp | Cloud Translation API |
| 連携 | Google ドキュメントと Google ドライブ | Microsoft 365 の Word と OneDrive |
| 依頼と照合の台帳 | Googleスプレッドシート | Microsoft 365 の共有ブック |
一斉配信の仕組みには書き込みません。 送るのは教務主任で、この構成が作るのは確認済みの訳文のドキュメントまでです。誤った訳が確認を経ずに保護者へ届く経路を作らないためです。
Google Apps Script を置いているのは、原稿も用語集も依頼の一覧も Google Workspace の中にあるからです。 読む・訳させる・ドキュメントを作るまでが1つの環境で完結し、追加の契約は生成AIの利用分だけです。
ただし、Apps Script には1回の実行時間に上限があります。 公式の割り当ての表では、スクリプトの実行時間は1回あたり6分、トリガーによる実行の合計は1日あたり無料のアカウントで90分、Google Workspace のアカウントで6時間です。1本の文書の5言語分を1回でまとめて処理しようとすると、6分を超えることがあります。 そのため、1回の実行で処理するのは「文書と言語の組」1つだけにし、残りは次の実行に回します。
訳し戻しに使う LanguageApp は、Apps Script に組み込まれた翻訳のサービスです。 translate(text, sourceLanguage, targetLanguage) で文字列を訳し、元の言語に空の文字列を渡すと自動で判定するとされています。contentType に 'html' を指定すると、タグを残したまま訳せます。翻訳の呼び出しは1日あたり無料のアカウントで5,000回、Google Workspace のアカウントで20,000回が上限です。月60件の訳し戻しなら、段落ごとに呼んでも十分に収まります。なお、割り当ての表は予告なく変わることがあるとされています。
03どうやって実装するのか
処理の起点を決める
依頼シートの状態が「依頼」になった行を、10分ごとに拾います。 Apps Script のインストール型トリガーには、時間主導型、スプレッドシートを開いたとき・編集したとき・構造を変えたとき、フォームの送信、カレンダーの予定の更新があります。ドライブのフォルダにファイルが置かれたことを直接の起点にするトリガーは、公式の一覧にありません。 そのため、原稿をフォルダに置くのではなく、依頼シートに1行書くことを起点にします。
編集のトリガーで即時に動かさないのは、書きかけの行を拾わないためです。 「依頼」を最後に選んだ行だけを拾い、書き終わった合図にします。
時間主導型トリガーは一定の幅の中で実行時刻が選ばれるとされ、数分のずれは出ます。前日の夕方に依頼すれば翌朝には確認待ち、という速さを想定します。
1回の実行では、「依頼」の行のうち配る日が近いものから、文書と言語の組を1つだけ処理します。処理を始めた組には状態「処理中」と開始時刻を書き、終わったら「確認待ち」にします。処理中のまま30分を超えた組は、途中で止まったとみなして「依頼」に戻します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 日本語の原稿 | 段落ごとの本文、見出し、表 | Google ドキュメント |
| 依頼の内容 | 原稿のURL、訳す言語(複数)、配る日、文書の種類(学年だより/お知らせ など) | 依頼シート |
| 学校の用語集 | 「上履き」「体操服」「名札」「連絡帳」「集金」「引き渡し訓練」「授業参観」などの、言語ごとの決まった訳と一言の説明 | 用語集シート |
| 学校の年間予定 | 行事の日付、休校日、短縮授業の日 | 年間予定シート |
| 過去の確認の記録 | 支援員が直した語と直し方 | 照合の台帳 |
質を決めるのは、3行目の用語集です。 「上履き」「引き渡し訓練」のような学校の言葉は、一般の辞書の訳では意味が伝わりません。用語集に「室内で履く運動靴(上履き)」のように説明を添えた訳を決めておけば、生成AIは毎回その訳を使います。 用語集は最初に母語支援員と30語ほど作り、確認のたびに直された語を足していきます。
原稿に児童の名前や家庭の事情が入っていないことを前提にします。 学年だよりに作文の一部や児童の名前が載ることはありますが、その段落は訳す対象から外すよう、依頼シートで印を付けられるようにします。
データの取得方法を決める
原稿は、Apps Script の DocumentApp でドキュメントを開き、本文を段落ごとに取り出します。 表は行と列のまま取り出し、見出しは見出しの印を付けます。段落ごとに番号を振り、以降の処理はすべてこの番号で結び付けます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 段落の本文と番号 | 原稿のドキュメント | 訳す単位、要点表の出どころ |
| 表のセル | 原稿の中の表 | 持ち物や日程の一覧(表のまま訳す) |
| 用語集の該当語 | 用語集シート | 原稿に出てくる語だけを選んで生成AIに渡す |
| 行事の日付 | 年間予定シート | 要点表の日付との照合 |
用語集は、原稿に出てくる語だけを選んで渡します。 全部を渡すと関係の無い語まで訳文に混ざることがあるため、含まれる見出し語とその訳だけを指示に入れます。
Gemini API は、Apps Script の UrlFetchApp から REST で呼びます。 構造化出力の公式ページでは、/v1beta/interactions に response_format を付け、mime_type に application/json、schema に JSON スキーマを入れる書き方になっています。要点表と訳文の両方を、この形でJSONとして受け取ります。
AIへ渡す前に整形する
- 段落の番号付け … 原稿の段落と表のセルに通し番号を振ります。訳文も同じ番号で返させ、段落の抜けを数で検知します
- 訳さない段落の除外 … 依頼シートで印を付けた段落(児童の作文、名前の入った段落)を外します
- 日付の書き方のそろえ … 「10/15」「10月15日」「十五日」を、照合のために
2026-10-15の形に直した控えを作ります。原稿そのものは書き換えません - 曜日の確かめ … 原稿の「15日(水)」の日付と曜日が暦と合うかを Apps Script で確かめます。合わなければ訳さずに教務主任へ戻します
- 年間予定との照合 … 行事名と日付の組を年間予定と照らし、ずれていれば同じく戻します
- 用語集の語の選び出し … 原稿に出てくる見出し語を選び、その言語の訳と説明を並べます
- 長さの確認 … 1本の原稿が長い場合は、見出しの区切りで分けて訳します
4番目と5番目で原稿の誤りを止めるのは、訳す前でないと手遅れになるからです。 原稿の曜日が間違ったまま5言語に訳すと、直すときに5つの訳文を全部直すことになります。 なお、原稿そのものの点検を本格的に行うなら UC-0287 の構成が向いています。ここでは訳す前に止める最低限の確認だけを置きます。
AIに処理させる
生成AIにさせるのは2つです。 1つ目は原稿から要点表を取り出すこと、2つ目は用語集に沿って段落ごとに訳し、要点表の各行の訳も返すことです。照合(数字がそろっているか)は生成AIにさせず、Apps Script の側で行います。
| 段 | させること | 判断できないときの扱い |
|---|---|---|
| 要点表の取り出し | 日付、時刻、持ち物、提出物と期限、金額、場所を、原稿の段落番号と元の文字列とともに書き出す | 期限か開始日か読み分けられない文は ambiguous |
| 訳文の作成 | 段落ごとの訳、要点表の各行の訳、用語集の語をどう訳したか | 用語集に無い学校の言葉は unknown_terms に入れる |
| させないこと | 理由 |
|---|---|
| 原稿に無い日付や持ち物を補う | 「たぶん必要」で足された持ち物は、保護者が用意してしまう |
| 日付の書き換え(曜日の訂正など) | 原稿の誤りは教務主任が直す。訳文だけ直ると原文と食い違う |
| 用語集と違う訳語に言い換える | 毎月訳語が変わると、保護者が同じ物だと分からない |
| 段落の要約・省略 | 本文を短くすると、どこが省かれたか確認する人に見えない |
| 照合の結果を自分で判定する | 数字がそろっているかは機械で数える |
1行目がいちばん起きやすい失敗です。 遠足のお知らせを訳させると、「水筒」「タオル」が書かれていないのに「水筒をお持ちください」と足すことがあります。原稿に無い持ち物は、要点表にも訳文にも入れさせません。 要点表の各行には原稿の段落番号と元の文字列を必ず付けさせ、Apps Script で元の文字列が原稿にそのまま含まれるかを確かめます。 含まれない行は、生成AIが作った行として捨てます。
「期限」と「開始」の読み分けは、要点表の段階で決めます。 「15日(水)までに」は期限、「15日(水)から」は開始、「15日(水)に」はその日です。要点表の kind を deadline / start / on_date に分けさせ、訳文の側でもその区別が保たれているかを確認の対象にします。
指示内容を固定する
あなたは日本の公立小学校で、保護者へ配る文書を訳す担当の補助をする立場です。
次の2つを行い、指定のJSONの形で返してください。
(1) 要点表:原稿から、保護者が行動するために必要な情報を取り出す
(2) 訳文:原稿を {target_language} に段落ごとに訳し、要点表の各行も訳す
【要点表に入れるもの】
- 日付、時刻、持ち物、提出物と期限、金額、場所
- 各行に、原稿の段落番号(para_no)と、原稿の文字列をそのまま(source_text)付ける
- kind は date / time / item / deadline / start / on_date / money / place から選ぶ
- 「〜までに」は deadline、「〜から」は start、「〜に」は on_date
- どれか読み分けられないときは kind を ambiguous にする
【訳文の決まり】
- 段落番号ごとに訳し、番号を変えない、段落を足さない・まとめない
- 用語集にある語は、必ず用語集の訳を使う。説明が付いている語は
最初に出てくる1回だけ、訳のあとに括弧で説明を添える
- 日付は {date_format} の形で書き、日と月の数字を必ず残す
- 時刻は24時間制にせず、午前・午後を明示する
- 金額は数字のまま、円の単位を付けて書く
- やわらかい言い回しより、何をいつまでにするかが分かる文を優先する
【厳守事項】
- 原稿に書かれていない日付・持ち物・金額・場所を足さないでください。
一般に必要そうな物でも、書かれていなければ書かないでください。
- 原稿の日付や曜日が誤っているように見えても、直さずにそのまま訳し、
notes に「原稿の確認が必要」と書いてください。
- 段落を要約したり省略したりしないでください。
- 用語集に無い学校の言葉(行事名、学校独自の呼び名)は、
直訳せずに unknown_terms に入れ、訳文には日本語の読みを残してください。
- 訳文が正しいかどうかの評価は書かないでください。
【原稿(段落番号つき)】{paragraphs}
【この原稿に出てくる用語集の語】{glossary}
【訳す言語】{target_language}
「書かれていない持ち物を足さない」を、一般に必要そうな物まで含めて明記しないと足されます。 生成AIは遠足と聞けば水筒と雨具を思い浮かべ、親切のつもりで書き加えます。親切な訳ほど、原文との食い違いを生みます。
「日付や曜日が誤っていても直さない」も明記します。 訳文だけ直すと、原稿と訳文で曜日が違う文書が配られます。
出力形式を固定する
次の形のJSONで受け取ります。 Gemini API の構造化出力で schema を指定し、この形に固定します。
{
"doc_id": "2026-10-gakunen-3",
"target_language": "pt",
"key_points": [
{ "point_id": "K1", "para_no": 4, "kind": "deadline",
"source_text": "10月15日(水)までに",
"normalized": "2026-10-15",
"translated": "" }
],
"paragraphs": [
{ "para_no": 4, "translated": "", "glossary_used": ["上履き"] }
],
"unknown_terms": [],
"notes": []
}
key_points と paragraphs は生成AIが埋めます。照合の結果は生成AIの出力に含めず、Apps Script が次の表として別に書き出します。
| 照合の項目 | 見るもの | 食い違いの扱い |
|---|---|---|
| 実在 | source_text が原稿の該当段落に含まれるか | 含まれない行は捨てて記録 |
| 数字 | normalized の月・日、時刻、金額の数字が translated と該当段落の訳文の両方に含まれるか | mismatch |
| 区別 | kind が deadline の行が、訳文で期限として訳されているか | 確認の対象(人が見る) |
| 段落 | 原稿と訳文で段落の数と番号がそろっているか | 足りなければ missing_paragraph |
| 用語 | 用語集の語が原稿にあるのに glossary_used に無い | glossary_miss |
1つ目の理由は、照合を数字で行えることです。 要点表に normalized があるので、訳文の中に「15」と「10」が残っているかを Apps Script で数えられます。言語が読めなくても、数字の食い違いは機械が見つけます。
2つ目は、要点表の1行が訳文のどの段落から来たかが分かることです。 para_no で段落と結び付いているので、確認する人は食い違いの出た段落だけを開けば済みます。
3つ目は、大事なことの箱を機械で組めることです。 key_points の source_text と translated を2列に並べれば、そのまま訳文の冒頭の表になります。
構造化出力の公式ページでは、使える JSON スキーマのキーワードは一部に限られ、大きすぎる・深すぎるスキーマは拒否されることがあるとされています。kind は enum で選ばせ、入れ子は2段までにとどめます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 依頼シート | Apps Script で読み書き | 依頼を拾い、状態(依頼/処理中/確認待ち/確認済み)を書く |
| 原稿のドキュメント | DocumentApp で読み取りのみ | 段落と表を取り出す |
| Gemini API | UrlFetchApp から REST | 要点表と訳文をJSONで受け取る |
| LanguageApp | Apps Script の組み込みのサービス | 訳文を日本語へ訳し戻す |
| 訳文のドキュメント | DocumentApp で新規作成 | 言語ごとに1つ。冒頭に大事なことの箱 |
| 照合の台帳 | スプレッドシートへの書き込み | 食い違いの行、訳し戻し、確認者の直し |
原稿のドキュメントには書き込みません。 原稿の誤りが見つかっても、直すのは教務主任です。訳文のドキュメントは、言語ごとのフォルダに「確認待ち」の名前で置き、確認が済んだら名前を変えます。 確認待ちのファイルを誤って配らないよう、配信の担当が見るフォルダには確認済みのものしか置きません。
生成AIは、1つの文書と言語の組につき2回呼びます。 要点表の取り出しは言語にかかわらず1回で済むので、5言語の最初の1つのときだけ取り出し、残りの4言語では同じ要点表を使い回します。 言語ごとに要点表を取り直すと、言語によって要点の行が違う、という食い違いが生まれます。
人が確認する
確認する人は、言語ごとに決めておきます。 その言語の母語支援員がいれば支援員、いなければ教務主任です。母語支援員は来校日でなくても、共有された照合の台帳と訳文を自宅から見られるようにします。
- 大事なことの箱を読む … 原文と訳文が並んでいるので、日付・持ち物・期限が正しく伝わるかを見ます。ここだけは全件で必ず見ます
- 食い違いの行を見る …
mismatch、missing_paragraph、glossary_missの出た段落を開いて直します ambiguousとunknown_termsを決める … 期限か開始か読み分けられなかった文は、原稿を書いた学年主任に聞きます。用語集に無い語は、訳を決めて用語集に足します- 訳し戻しを流し読む(支援員がいない言語のとき) … 教務主任が、訳し戻しの日本語を原文と並べて、意味が大きく外れていないかだけを見ます
- 直した箇所を台帳に残す … どの語を、何から何へ直したかを書きます
4番目は代わりの手段で、確認として十分ではありません。 支援員のいない言語は、月に1回まとめて見てもらう日を教育委員会と決めておきます。
目標は、60件をならして1件15分です。 食い違いの無い文書は箱を見るだけで数分、食い違いのある文書は段落を直すので20分以上かかります。15分を超える月が続くなら、用語集が足りていないか、原稿の書き方が訳しにくい形になっています。
例外に対処する
| 起きること | 対応 |
|---|---|
| 原稿の曜日が暦と合わない | 訳さずに「原稿の確認」として教務主任へ戻す |
| 行事の日付が年間予定と違う | 同じく戻す。年間予定のほうが古い場合もあるので、どちらが正しいかは教務主任が決める |
| 原稿に画像の地図や手書きの図がある | 画像は訳せない。訳文に「地図は日本語版をご覧ください」と入れ、原稿の画像をそのまま貼る |
| 要点表の行が原稿に実在しない | その行を捨て、捨てた記録を台帳に残す |
| 段落の数が原稿と訳文で合わない | 訳し直しを1回だけ行い、それでも合わなければ確認の対象にする |
| 1回の実行が6分に近づく | 処理中の組の状態を残して終わり、次の実行で続きから行う |
| Gemini API が応答しない・エラー | 状態を「依頼」に戻し、3回続けて失敗したら教務主任に知らせる |
| 配る日を過ぎても確認待ちのまま | 配る日の前日の夕方に、確認待ちの一覧を教務主任へメールで送る |
| 保護者から「意味が分からない」と問い合わせ | 該当の語を台帳に記録し、用語集の訳と説明を見直す |
上から3行目までが、最初の数か月で最も多く出ます。 どれも訳ではなく原稿の作り方の問題で、日付を表にまとめ、持ち物を箇条書きにすると確認が軽くなります。
記録を残す
- 依頼の内容(原稿のURL、言語、配る日、依頼した人と日時)
- 原稿のそのときの本文(段落番号つきの控え)
- 生成AIに渡した指示と用語集の該当語、返ってきた要点表と訳文のJSON
- 照合の結果(食い違いの種類と段落)と、訳し戻しの日本語
- 確認した人、確認した日時、直した箇所と直し方
- 配信した日時と、配信したPDFの版
- 保護者からの問い合わせと、それを受けて直した用語集の語
2つ目で原稿の控えを残すのは、原稿が後から直されるためです。 どの版をもとに訳したかが分からないと、食い違いの原因を追えません。
5つ目の直しの記録は、用語集を育てる材料です。 同じ語が毎月同じように直されていれば、それは用語集に足すべき語です。3か月分の直しを見れば、用語集のどこが足りないかが分かります。
04実装レベルの3段階
半自動化だけでも、①の35分と③の15分の多くが消えます。 ただし、②の見比べはまだ人の手で、支援員のいない言語は見比べる人がいないまま残ります。 本格構成で1件15分になり、この段階が本記事の想定です。 違いは、数字の照合が機械で行われ、人が見る場所が食い違いの行と箱に絞られることです。支援員のいない言語でも、少なくとも数字の食い違いは見つかります。 段階を飛ばさないでください。 半自動化を2か月使うと、用語集に足りない語と、訳しにくい原稿の書き方が分かります。それを直してから照合を足します。
05工数削減シミュレーション
導入後 60件 × 15分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 外国につながる児童生徒が在籍し、保護者の言語が3つ以上に分かれている公立の小中学校。学年だよりやお知らせを日本語で作っており、訳すのが週に1回来る母語支援員か、教員の機械翻訳の手直しに頼っている場合。持ち物や提出期限の伝わり違いで、当日に忘れ物や未提出が出ている場合。Google Workspace を校務で使っている場合。
- 外国籍の保護者が数世帯で、言語も1つにまとまっている学校。お知らせの多くが手書きの図や地図で、文字として取り出せない場合。校務の文書を外部のAIサービスへ渡すことが自治体の規程で認められていない場合。なお、訳文の内容を保護者が正しく受け取ったかの確認や、個別の事情への対応は、この構成では代替できません。
07最小構成で試す方法
- 先月配った学年だよりとお知らせから、日付と持ち物が多いものを3本選ぶ
- 3本それぞれについて、日付・時刻・持ち物・提出期限・金額を人の手で表に書き出す(正解の要点表)
- 母語支援員と相談し、学校の言葉を20〜30語、5言語の訳と説明つきで用語集の表にする
- 手元のAIサービスに原稿と用語集を貼り、「日付・持ち物・提出期限を表にし、そのあと用語集の訳を使って○○語に訳してください。書かれていない物を足さないでください」と指示する
- 出てきた要点表を正解の要点表と比べ、訳文を母語支援員に読んでもらう
この段階ではスクリプトを作りません。 確かめたいのは、要点表が正しく取れるかと、用語集を渡したときに訳語がそろうかの2つです。
| 出てきた内容 | 判断 |
|---|---|
| 要点表が正解とほぼ一致し、訳語が用語集どおり | Apps Script でつなぐ段階に進む |
| 要点表に書かれていない持ち物が混ざる | 指示の書き方で直る。構成は有効 |
| 期限と開始の読み分けが外れる | 原稿の書き方を「〜までに提出」にそろえるほうが早い |
3行目が出ることは珍しくありません。 「15日(水)提出」は日本語でもあいまいです。原稿の書き方を決めるきっかけにしてください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 原稿に無い持ち物が訳文に足される | 指示で禁じたうえで、要点表の source_text が原稿に実在するかを確かめる |
| 「までに」が「から」の意味で訳される | 要点表で deadline / start / on_date を分け、箱で人が確かめる |
| 訳語が毎月変わる | 用語集を渡し、glossary_used で使ったかを数える |
| 関係の無い語まで訳文に混ざる | 用語集は全部を渡さず、原稿に出てくる語だけを選んで渡す |
| 5言語分を1回で処理して途中で止まる | 1回6分の上限。1回の実行で1組だけ処理する |
| 処理中のまま止まった組が残る | 処理中が30分を超えたら「依頼」に戻す |
| 言語ごとに要点表が違う | 要点表は最初の1言語で1回だけ取り、使い回す |
| 訳し戻しでずれが見えない | 訳したのと同じ生成AIに訳し戻させない。LanguageApp を使う |
| 原稿の曜日の誤りが5言語に広がる | 訳す前に暦と年間予定で確かめ、原稿のほうを先に直す |
| 地図や図が訳文から抜ける | 画像はそのまま貼り、「日本語版をご覧ください」と添える |
| 児童の名前が外部へ渡る | 依頼シートで訳さない段落に印を付け、名前の入る段落は外す |
| 確認待ちのまま配る日を過ぎる | 前日の夕方に確認待ちの一覧を教務主任へ送る |
上の2行が、訳の失敗のほとんどです。 どちらも、訳文が日本語のわからない人には正しく見えることが厄介です。要点表という別の層を作り、数字と区別を機械で数えるのは、そのためです。
下の3行は、運用に乗るかを決めます。 学校の文書は配る日が決まっています。確認待ちのまま止まる文書を作らないことが、訳の質より先に効きます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 学年だより・お知らせの原稿(行事の日程、持ち物、集金の金額、学校の所在地や集合場所)、学校の用語集、依頼と確認の記録。原則として児童個人の情報は含みませんが、学年だよりには作文や名前が載ることがあります。
- 児童の名前と家庭の事情を外部へ渡さない … 名前や作文の入る段落は、依頼シートで印を付けて訳す対象から外します。外国につながる児童であること自体が、慎重に扱うべき情報です
- 自治体の規程で認められたサービスだけを使う … 校務の文書を外部のAIサービスへ渡してよいか、学習に使われない設定かを、教育委員会と確かめてから始めます
- 訳文を確認なしに配らない … 保護者が訳文に従って行動するので、誤った日付や持ち物は、そのまま子どもの当日の困りごとになります。 大事なことの箱は全件で人が見ます
- 訳文が正しく伝わったかは、別に確かめる … 訳文を配っても、読まれたか、理解されたかは分かりません。重要な連絡(引き渡し訓練、集金)は、担任が個別に確かめる運用を残します
- 受け取る言語は保護者に選んでもらう … 同じ言語の家庭でも、日本語で受け取りたい保護者もいます
- 配った訳文の版を残す … 保護者から「書いてあったとおりにした」と言われたときに、どの訳文を配ったかを示せるようにします
誤りが起きた場合のリスクは、誤った日付・持ち物・期限が伝わることと、児童の情報が外部へ渡ることの2つです。 前者は要点表の照合と箱の確認で、後者は訳す段落の選別で防ぎます。どちらも、配る前に人が見る設計で守ります。
10まず何から始めるか
1週目:用語集の最初の30語を作る
母語支援員と一緒に、学年だよりとお知らせによく出る学校の言葉を30語選び、5言語の訳と一言の説明を表にします。「上履き」「引き渡し訓練」「集金」「連絡帳」から始めます。 あわせて、外部のAIサービスを使ってよいかを教育委員会に確かめます。
2週目:3本で試す
先月の文書から3本を選び、手元のAIサービスで要点表と訳文を作らせます。人の手で作った要点表と比べ、書かれていない持ち物が混ざらないかを最優先で見ます。
3週目:原稿の書き方をそろえる
学年主任と、日付は表にまとめる、期限は「〜までに提出」と書く、持ち物は箇条書きにするという書き方を決めます。訳しやすい原稿は、日本語の保護者にも読みやすくなります。
4週目:依頼シートと Apps Script をつなぐ
依頼シートを作り、Apps Script で原稿を読み、Gemini API で要点表と訳文を作ってドキュメントにするところまで組みます。この時点では照合を付けず、支援員に訳文を全部見てもらいます。
2か月目: 数字の照合と大事なことの箱、LanguageApp の訳し戻しを足し、確認する場所を食い違いの行と箱に絞ります。3か月目以降: 直した語を用語集に足し、1件60分が何分になったかを実測します。支援員のいない言語でも数字の食い違いが見つかり、配る日までに全言語がそろう月が続いた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
LanguageApp の translate(text, sourceLanguage, targetLanguage) で文字列を訳せること。元の言語に空の文字列を渡すと自動で判定されること。advancedArgs の contentType に 'text'(既定)か 'html' を指定でき、'html' ではタグを残して訳せること | Google Apps Script: Class LanguageApp | 2026-10-07 |
| スクリプトの実行時間が1回あたり6分であること。トリガーによる実行の合計が1日あたり無料のアカウントで90分、Workspace で6時間であること。翻訳の呼び出しが1日あたり5,000回/20,000回であること。割り当てが予告なく変わりうること | Google Apps Script: Quotas for Google Services | 2026-10-07 |
| インストール型トリガーに時間主導型、開いたとき、編集、変更、フォーム送信、カレンダーの予定の更新があること。時間主導型は一定の幅の中で実行時刻が選ばれること。トリガーは作成した人のアカウントで動くこと | Google Apps Script: Installable Triggers | 2026-10-07 |
構造化出力を /v1beta/interactions の response_format(mime_type に application/json、schema に JSON スキーマ)で指定すること。使えるキーワードが一部(enum、required、items など)に限られ、大きすぎる・深すぎるスキーマは拒否されることがあること | Gemini API: Structured output | 2026-10-07 |
校務の文書を外部のAIサービスへ渡してよいかは、教育委員会の規程に従ってください。 本記事は製品の公開ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0638)についてのご相談はこちらから。
