Hackers' Pub アップデート: LLM ベースの記事翻訳機能

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LLM ベースの記事翻訳機能が追加されました。まず、自分が書いた記事が LLM を利用して翻訳されることを許可するには、記事の公開設定で「LLM ベースの自動翻訳を許可」オプションをオンにする必要があります。既存の記事はすべてこのオプションがオフになっていますが、新しく書く記事の場合はデフォルトでオンになっています。


上記のようにオプションをオンにした記事は、上部に次のように「他の言語で読む」メニューが表示されます。このメニューに表示される言語リストは言語設定で設定できます。


このうち、すでに翻訳が完了している言語はすぐに表示されますが、まだ翻訳が完了していない言語の場合、以下のように待機を促すメッセージが表示されます。記事の量によって翻訳時間は異なりますが、短いもので30秒、長いもので5分程度かかります。


翻訳が完了すると、以下のようにメッセージが変わります。


翻訳機能は、私が Hackers' Pub を最初に構想した時から核心機能として考えていたものでした。ソフトウェアプログラマーとして一定レベル以上成長するためには必ず英語を学ばなければならないという不合理さや、日本語や中国語など英語以外の言語で書かれた多様な資料にほとんどの外国人がアクセスできないという残念さを長い間感じていたからです。幸いなことに、最近 LLM の翻訳品質が非常に向上し、これを活用して Hackers' Pub のような小さなウェブサイトでもかなり良質な翻訳機能を実装できるようになりました。
ちなみに、現在翻訳に使用しているモデルは Claude Sonnet 3.7 です。決して安価とは言えないモデルですが、試験的に運用してみて、コストが負担になりすぎると判断した場合は、Gemini 2.5 Flash のような他のモデルへの切り替えも検討しています。
とにかく、せっかく追加した翻訳機能ですので、多くの方々に有用性を感じていただければ嬉しいです。
以下は、私がサンプルとして事前に作成しておいた翻訳版です:
- Ditch the DIY Drama: Why Use Fedify Instead of Building ActivityPub from Scratch? (英語) → 〈DIY 드라마는 그만: 왜 ActivityPub을 처음부터 구축하는 대신 Fedify를 사용해야 할까요?〉 (韓国語)
- 〈애플리케이션 개발 측면에서 본 Drizzle ORM 대 Kysely 비교〉 (韓国語) → 「アプリケーション開発の観点から見たDrizzle ORMとKyselyの比較」 (日本語)
- 〈deno-task-hooks: Git 훅을 Deno 태스크로 쉽게 관리하기〉 (韓国語) → deno-task-hooks: Easily Manage Git Hooks as Deno Tasks (英語)
- Browser-Native Translation and Language Detection APIs Coming Soon (英語) → 〈브라우저 네이티브 번역 및 언어 감지 API 곧 출시 예정〉 (韓国語)