メッセージテキストファイル (.mstxt)のXML仕様
ルート要素およびルート直下に展開される要素の一覧
MessageStudioText(Root Element)
MessageStudioText 要素 ( Root Element )
宣言
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <MessageStudioText Format="1.2" xmlns="nintendo:msgstudio"> ... </MessageStudioText>
説明
MessageStudioText要素は、メッセージテキストファイルのルート要素となります。 この要素は以下の属性を持ちます。また子要素としてTextRow要素を持ちます。
| 属性名 | 説明 |
|---|---|
| xmlns | XML名前空間です。 この値は常に nintendo:msgstudio となります。 |
| Format | メッセージテキストファイルのフォーマットバージョンです。 このフォーマットバージョンは、メッセージテキストファイルのフォーマットバージョンであり、 Message Studio本体のバージョンとは異なることに注意して下さい。 現在のバージョンは1.2です。 |
TextRow 要素
宣言
<TextRow Label="MyText" Style="MyStyle" Category="381EEEB1-2B01-4b48-AB47-A32FB9B172E0"> ... </TextRow>
説明
TextRow要素は、Message Studioのメッセージグリッド1行(1テキスト)分のデータを持ちます。 この要素は以下の属性および要素を持ちます。
| 属性名 | 説明 |
|---|---|
| Label | テキスト(テキスト行)を一意に判別するための名前です。 |
| Category |
テキストの種類を示します。
この部分は、外部のプラグインによって拡張が可能な部分です。
利用するプラグインを識別するために、XML属性「Category」には、プラグインのGUIDが書き込まれます。
Messaeg Studioが提供する基本機能の、GUID値は以下のとおりです。
|
| Style | テキストに適用されるスタイル設定です。この値はプロジェクトファイルの StyleClass に設定されているスタイルであるべきですが、 存在を保証するものではありません。 |
以下の要素はこの順番であらわれます。
| 要素名 | 説明 |
|---|---|
| LanguageCell | LanguageCell要素を参照。 |
| CommentCell | CommentCell要素を参照。 |
| AttributeCell | AttributeCell要素を参照。 |
| ExtraCell | ExtraCell要素を参照。 |
LanguageCell 要素
宣言
<LanguageCell Language="US_English"> <Text>Hello, Message Studio.</Text> <TextModifiedBy User="userA:USERA-PC" Time="2009-09-01T01:48:52" /> <Status>Editing</Status> <StatusModifiedBy User="userA:USERA-PC" Time="2009-09-10T01:48:51" /> <Review>ReviewConfirmed</Review> <ReviewModifiedBy User="userB:USERB-PC" Time="2009-09-12T02:43:11" /> <CompletedAt>2009-09-10T01:48:51</CompletedAt> <ReviewedAt>2009-09-12T02:43:11</ReviewedAt> <TextHistory> <OldText>Hello, this is Message Studio.</OldText> <OldTextModifiedBy User="userA:USERA-PC" Time="2009-08-31T01:48:52" /> </TextHistory> <TextHistory> <OldText>test test test</OldText> <OldTextModifiedBy User="userA:USERA-PC" Time="2009-08-30T01:48:52" /> </TextHistory> </LanguageCell>
説明
LanguageCell要素は、1テキスト(TextRow要素)内の、 言語1つ分のテキスト情報を持ちます。 この要素は以下の属性および要素を持ちます。
| 属性名 | 説明 |
|---|---|
| Language | この属性には言語名が入ります。 プロジェクト設定に存在する言語名であるべきですが、 存在を保証するものではありません。 |
以下の要素はこの順番であらわれます。
| 要素名 | 説明 | ||||||
|---|---|---|---|---|---|---|---|
| Text | テキスト内容(メッセージ)です。 詳しくは詳細をご覧下さい。 | ||||||
| TextModifiedBy |
テキスト内容(Text要素)の更新者情報です。以下の属性を持ちます。
|
||||||
| Status |
翻訳ステータスです。
この値は以下のいずれかである必要があります。
|
||||||
| StatusModifiedBy | ステータス(Status要素)の更新者情報です。 TextModifiedBy要素と同じ属性を持ちます。 | ||||||
| Review |
レビュー状態です。
この要素は、レビュー機能でない、または1度もレビュー申請が出されて
いない場合は記述されません。
|
||||||
| ReviewModifiedBy | レビュー状態(Review要素)の更新者情報です。 Review要素が記述される場合にこの要素も記述されます。 TextModifiedBy要素と同じ属性を持ちます。 | ||||||
| CompletedAt | 以前にStatus要素の値がCompletedになった日時です。 Status要素が一度もCompletedになったことがない場合は記述されません。 この値は、Status要素の値が一度Completedになってから、再びEditingになった場合などに Message Studioがその状況を知るために利用されます。 | ||||||
| ReviewedAt | 以前にReview要素の値がReviewConfirmedになった日時です。 Review要素が一度もReviewConfirmedになったことがない場合は記述されません。 この値は、Review要素の値が一度ReviewConfirmedになってから、再びReviewRequestedになった場合などに Message Studioがその状況を知るために利用されます。 | ||||||
| TextHistory | この要素はフォーマットVer1.2以降で利用可能です。 ユーザーが「再編集」を行うたびに自動的に作成される要素で、 これを参照することで、翻訳者は何が変わったのかを サーバに問い合わせることなくスムーズに表示することが出来ます。 この要素はLanguageCell要素の中に複数個出現させることが出来ます。 まだ再編集が行われていない場合、この要素は出現しません。 |
詳細
Text要素の内容は、Message Studioでのソース文字列形式で記述されています。 Message Studioでは、この形式のテキストをパース(構文解析)して取り込みます。 詳しい文法については、ソース文字列に ついての解説をご覧ください。
Message Studioでのセルステータスについて
LanguageCell要素は、自身のセルのステータスのみを保持しています。
しかし、実際には、Message Studio上では「翻訳依頼中」など、Status要素
に記述される値以外にもステータスが存在します
Message Studioでは、メッセージテキストファイルが開かれたときに、言語ツリー
に従って親子関係を確認しながらセルのステータスを決定します。
詳しくは言語セルステータスを参照して下さい。
以下は親子関係にある2つの言語セルの状態によって、子のセルがどのようなステータスになるかを示した例です。
| Parent Status | Child Status | Time Stamp | Child Status in the Grid |
|---|---|---|---|
| Completed | NotYet | Translation Required | |
| Completed | Editing | Translation Required | |
| Completed | Completed | Parent < Child | Completed |
| Editing | Completed | Parent Editing | |
| Completed | Completed | Child <= Parent | Translation Required Again |
注意
LanguageCell要素は、プロジェクトファイルに設定されている言語全てに対して 記述されるわけではないことに注意して下さい。 メッセージグリッド上で空のセル(背景が白色)、つまりStatus要素がNotYetとなるような場合、 そもそもその言語に対応するLanguageCell要素自体が記述されません。
また、プロジェクトに設定されていない言語に対応するLanguageCell要素 を含むこともありません。 万が一そのようなLanguageCell要素が含まれていた場合、Message Studioでは これを無視します。
Message Studioでは、プロジェクトをチーム管理 したときのコンフリクトの発生を最小限に抑えるため、 LanguageCell要素を言語名(Language属性)によってソートされた順番で記述します。
CommentCell要素
宣言
<CommentCell Language="US_English"> <Comment>This is test comment.</Comment> <CommentModifiedBy User="user:USER-PC" Time="2009-09-11T05:13:27" /> </CommentCell>
説明
CommentCell要素は、1テキスト(TextRow要素)内の、 言語1つ分のコメント情報を持ちます。 この要素は以下の属性および要素を持ちます。
| 属性名 | 説明 |
|---|---|
| Language | この属性には言語名が入ります。 プロジェクト設定に存在する言語名であるべきですが、 存在を保証するものではありません。 |
以下の要素はこの順番であらわれます。
| 要素名 | 説明 |
|---|---|
| Comment | コメント内容です。 |
| CommentModifiedBy | コメント(Comment要素)の更新者情報です。 TextModifiedBy要素と同じ属性を持ちます。 |
注意
LanguageCell要素と同じく、CommentCell要素は、プロジェクトファイルに設定されている言語 全てに対して記述されるわけではないことに注意して下さい。 コメントセルが空の言語に関してはCommentCell要素は記述されません。
また、プロジェクトに設定されていない言語に対応するCommentCell要素 を含むこともありません。 万が一そのようなCommentCell要素が含まれていた場合、Message Studioでは これを無視します。
Message Studioでは、プロジェクトをチーム管理 したときのコンフリクトの発生を最小限に抑えるため、 CommentCell要素を言語名(Language属性)によってソートされた順番で記述します。
AttributeCell要素
宣言
<AttributeCell Name="MyAttribute"> <Text>This is String Type attribute.</Text> <TextModifiedBy User="user:USER-PC" Time="2009-09-11T05:13:27" /> </AttributeCell>
説明
CommentCell要素は、1テキスト(TextRow要素)内の、 言語1つ分のコメント情報を持ちます。 この要素は以下の属性および要素を持ちます。
| 属性名 | 説明 |
|---|---|
| Name | 属性の名前です。 |
以下の要素はこの順番であらわれます。
| 要素名 | 説明 |
|---|---|
| Text | 設定されている値です。 |
| TextModifiedBy | 属性値の更新者情報です。 TextModifiedBy要素と同じ属性を持ちます。 |
注意
AttributeCell要素は、プロジェクトファイルに設定されている属性全てに対して 記述されるわけではないことに注意して下さい。 設定されている値がデフォルト値である 属性についてはAttributeCell要素は記述されません。
ExtraCell要素
宣言
<ExtraCell DataHolder="EABC1FB1-D8A2-4869-BB83-8C0ABD1CA33D"> <CellData>data</CellData> <CellModifiedBy User="user:USER-PC" Time="2009-09-11T05:13:27" /> </ExtraCell>
説明
ExtraCell要素は、追加メッセージカラムプラグイン によって追加できる、任意のデータを持ちます。 この要素は以下の属性および要素を持ちます。
| 属性名 | 説明 |
|---|---|
| DataHolder | 追加メッセージカラムプラグインを識別するためのGUIDです。 すべてのプラグインは各々に割り当てられたGUIDで一意に 識別されます。 |
以下の要素はこの順番であらわれます。
| 要素名 | 説明 |
|---|---|
| CellData | 設定されている値です。 任意のデータを文字列として保持します。 |
| CellModifiedBy | このセルの更新者情報です。 TextModifiedBy要素と同じ属性を持ちます。 |
はじめに
言語設定
メッセージ編集
共通のバイナリフォーマット