ServiceNow sys_translated と sys_translated_text の違いについて

1. 共通点

両方とも 多言語対応の翻訳文字列を格納するテーブルです。
ユーザーのロケール(ja, en, etc.)に応じて、翻訳済みの文字列を取り出して表示する仕組みです。

2. 違い

sys_translated テーブル

  • テーブル単位の翻訳を管理

  • 特定の レコード(例: Catalog Item, Variable, Field Label)に対する翻訳を保持

  • 主に ラベル / フィールド値 / 表示名など、特定フィールドの翻訳に使う

  • 構造イメージ:

    • Table(どのテーブルの翻訳か)

    • Document Key(どのレコードか)

    • Element(どのフィールドか)

    • Language

    • Value(翻訳文字列)

➡ 例: help_tag テーブルの「label」フィールドを日本語で「詳細情報」に翻訳

sys_translated_text テーブル

  • 再利用可能な「定型テキスト」翻訳を管理

  • 個別のレコードに紐付けられない、システム全体で使われる固定テキストを翻訳

  • 主に UI メッセージ、システム文言、共通定義 に使われる

  • 構造イメージ:

    • Language

    • Text(オリジナルの文字列)

    • Translation(翻訳後の文字列)

➡ 例: "More Information""詳細情報" のように、複数画面で共通して使われる文字列

ServiceNow

Posted by arkgame