多言語機能の基盤を大幅に刷新しました。
今回のアップデートにより、「言語ごとに独立した公開管理」や「特定言語のみのスマートなコンテンツ配信」が可能になります。
関連: 多言語機能の大幅アップデート(3/25)に伴う仕様変更と「互換モード」のご案内
本アップデートで実現すること
- 言語別のステータス管理: 日本語は公開、英語は下書き、といった柔軟な運用が可能になります。
- 言語切り替えの最適化:
include=_langsを追加するだけで、その記事が「どの言語で公開されているか」をAPIで一度に取得できます。 - フィルタリングの簡素化: 「翻訳がある記事だけを出す」ための複雑な条件指定が不要になります。
API挙動の変更と「フォールバック(lang_fallback=true)」指定による互換性維持
データ構造の変更に伴い、デフォルトの挙動が変わります。
これまでのレスポンスを維持したい場合は、APIリクエストに lang_fallback=true を追加することで対応可能です。
対象 | これまでの挙動 | アップデート後の挙動 | lang_fallback=true 指定時 |
|---|---|---|---|
一覧取得 | 全件ヒット(未翻訳はメイン言語で代替) | 翻訳済みの記事のみ ヒット | 全件ヒット(従来通り) |
個別取得(ID指定) | メイン言語を返却 | 404エラー | メイン言語を返却(従来通り) |
未翻訳項目 | 翻訳OFFならメイン言語の内容で代替 | メイン言語の値を保持 | メイン言語の値を保持 |
データメンテナンスについて
APIレスポンス内のフィールド構造が欠落することなく、これまで通りの実装で値を表示できるよう、以下のデータメンテナンスを実施しました。
- システム側でデータの一括変換を実施しました。
- 「一部のフィールドのみ翻訳済み」のコンテンツについては、未翻訳フィールドにメイン言語の内容を自動的にコピー・登録しました。
- 1フィールドも翻訳していないコンテンツは、該当の言語データが存在しない状態になります。
翻訳情報の取得(include=_langs)
コンテンツがどの言語で作成されているかを動的に取得できるようになります。
クエリパラメータに include=_langs を追加すると、レスポンスに以下の情報が含まれます。
"_langs": {
"current": "en", // 現在取得している言語
"available": [
"en",
"ja",
"zh-CN"
] // 作成済みの言語一覧
}これを利用することで、フロントエンドでの言語切り替えスイッチの表示・非表示などを効率的に実装いただけます。
今後のリリース予定
今後のアップデートでは下記機能のリリースを予定しています。
- 多言語RTL対応
- コンテンツ編集時、バリデーションエラーをリアルタイムに確認できるようにする
詳しくはロードマップをご確認ください。
開発状況によって予告なくロードマップ内容が変更される可能性があります。
ご意見・ご要望をお寄せください
ご意見・ご要望がありましたら、NILTOのお問い合わせページまたは公式Xアカウントへお気軽にご連絡ください。
これからもNILTOをよろしくお願いいたします。