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"
→ "詳細情報"
のように、複数画面で共通して使われる文字列