Nintendo MessageStudio ヘルプ

メッセージテキストファイル (.mstxt)のXML仕様

ルート要素およびルート直下に展開される要素の一覧

MessageStudioText(Root Element)

TextRow

LanguageCell

CommentCell

AttributeCell

ExtraCell

MessageStudioText 要素 ( Root Element )

宣言

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<MessageStudioText Format="1.2" xmlns="nintendo:msgstudio">
	...
</MessageStudioText>

説明

MessageStudioText要素は、メッセージテキストファイルのルート要素となります。 この要素は以下の属性を持ちます。また子要素としてTextRow要素を持ちます。

属性名説明
xmlnsXML名前空間です。 この値は常に 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値は以下のとおりです。
BD926301-75EE-44ce-B96E-8F26EE289788
通常のテキストのGUID値です。 通常のテキスト状態の場合に限り、XML属性「Category」は表記を省略することが可能です。
381EEEB1-2B01-4b48-AB47-A32FB9B172E0
未使用のテキストです。
AE0E0905-E6CF-44be-8AB1-508E5F158DEF
テクスチャに書き込む形で使用されるテキストです。
68A54FCA-5809-4bdf-970D-8976D35CB10B
外部リソースとしてではなく、プログラムに直接埋め込まれるテキストです。 例えばDVDからリソースを読み込むことができない場合に表示するエラーメッセージ などに使用されます。
Styleテキストに適用されるスタイル設定です。この値はプロジェクトファイルStyleClass に設定されているスタイルであるべきですが、 存在を保証するものではありません。

以下の要素はこの順番であらわれます。

要素名説明
LanguageCellLanguageCell要素を参照。
CommentCellCommentCell要素を参照。
AttributeCellAttributeCell要素を参照。
ExtraCellExtraCell要素を参照。

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要素)の更新者情報です。以下の属性を持ちます。
属性名説明
User更新者名です。 ユーザ名:コンピュータ名 という形で示されます
Time更新日時です。 ISO8601形式のUTC(Universal Time, Coordinated)で表されます
Status 翻訳ステータスです。 この値は以下のいずれかである必要があります。
NotYet
未着手です。まだ一度も編集されていません。 この値は実際に使用可能ですが、原則として この値になるような場合はそもそもLanguageCell要素自体を 記述しません。つまり、値としてNotYetが使用されることは 原則ありません。
Editing
編集中です。
Completed
編集が完了しています。
StatusModifiedBy ステータス(Status要素)の更新者情報です。 TextModifiedBy要素と同じ属性を持ちます。
Review レビュー状態です。 この要素は、レビュー機能でない、または1度もレビュー申請が出されて いない場合は記述されません。
NotYet
まだレビュー申請もされていません。 この値は実際に使用可能ですが、原則として この値になるような場合はそもそもReview要素自体を 記述しません。つまり、値としてNotYetが現れることは 原則ありません。
ReviewRequested
レビュー申請中です。
ReviewRejected
レビューした結果、却下されました。
ReviewConfirmed
レビューした結果、承認されました。
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 StatusChild StatusTime StampChild Status in the Grid
CompletedNotYetTranslation Required
CompletedEditingTranslation Required
CompletedCompletedParent < Child Completed
EditingCompletedParent Editing
CompletedCompletedChild <= ParentTranslation 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要素と同じ属性を持ちます。