Nintendo MessageStudio ヘルプ

# チーム管理機能について

全言語分のテキストを一人で作成するということはまずあり得ません。 多くの場合は複数人で協力してテキストの作成、翻訳、確認の流れに沿って作業を進めていくことになります。 ところが、ファイルを複数の作業者で同時に編集を行うといつ誰が編集したファイルが最新版なのか誰もわからなくなってしまいます。

そこで利用されるのがチーム管理機能です。 この機能を利用すると、複数の作業者によって問題なく並行作業を行うことができます。 行った作業は正しく共有され、システムを通して誰がいつどのような変更を行ったのかを追っていくことができます。 Message Studioでは、アプリケーション上からチーム管理を行う"Subversion"と呼ばれるシステムにアクセスすることができます。 これによって、本来ならば敷居が高いチーム管理の機能を手軽に利用することができます。

## Subversionについて

Subversionとは、ソフトウエア開発などでよく利用される「バージョン管理システム」の一つです (SCM：ソースコードマネージメントとも呼びます)。 バージョン管理システムとは、おもにプログラム開発などでデータの管理を行うために用いられるシステムのことで、 多人数が同時に作業を行っても問題が起こりにくくするためのサポートを行うソフトウエアです。 Subversionを用いると、すべての変更履歴(つまり、バージョン)がサーバ側で保存されているため、修正を手軽に行うことができます。 このようなバージョン管理システムは、SubversionのほかにドイツのNXN Software社が開発するAlienbrainなどのツールがあります。

Subversionを利用したことがない方は、まずこちらの解説ページをご一読ください。

もしさらに詳しくSubversionの動作原理などについて知りたい場合は、Subversion Bookを参照されることをお勧めします。 インターネットを通して無料で閲覧することができ、とても多くの内容が書かれています。 (ただし、普通にMessage Studioを使う程度であれば、このヘルプに書かれている程度のことで十分です)

ttp://svnbook.red-bean.com/en/1.5/index.html

# MMSを利用されていた方へ

任天堂情報開発本部ではMMSと呼ばれる、テキスト同時翻訳の機能をもったツールを提供しています。 Message Studioが提供するチーム管理機能とMMSの機能は基本的には似通っていますが、いくつかの点で異なっています。 ここでは移行するためのポイントをまとめました。

## ソフトウエア構成について

MMSは、メッセージエディタを補助するためのツールで、チーム管理のみの機能を提供していました。 そのため、MMSを利用する場合でもメッセージエディタを別途用意して二つのツールを併用する必要がありましたが、 Message Studioでは編集機能とチーム管理のための機能が統合されましたので、ふたつのツールを用意する必要はありません。

MMSもまた、背景にあるシステムとしてはSubversionを利用していましたが、Subversionにアクセスするためのソフトウエアを別途用意する必要がありました。 Message StudioではSubversionにアクセスするためのソフトウエアを用意する必要はありません。

## ディレクトリ構成について

MMSでは、各言語ごとに特定のディレクトリを作成する必要があり、ファイルが言語ごとに分割されて保存されていました。 Message Studioでは、ディレクトリ構成についての制限はなく、それについての設定を行う必要はありません。 また、すべての言語担当者が同一のファイルにアクセスすることになります。

## 「マージ」について

MMSとMessage Studioでは、「マージ」と呼ばれる操作の意味が異なります。 MMSでは前述のように、言語ごとにファイルを分けて管理していたため、他の言語で編集された内容を自分のところへ取り込む作業が必要でした。 MMSではそのための操作をマージと呼んでいます。

Message Studioでは、MMSでいうところの「マージ」作業は必要なくなりました。 これは、すべての言語担当者が同一のファイルを編集するためです。 すべての担当者が同一のファイルにアクセスすると、同じタイミングで編集を行ってしまうことがあります。 これをうまくすり合わせるための作業を、Message Studioではマージと呼びます(Subversionでもこの呼び方は同様です)。

Message Studioのバックエンドで動作しているSubversionは高機能なので、複数の作業者が同時に編集してもほとんどの場合は問題なくすり合わせを行うことができます。 つまり、マージ操作は基本的に手動で行われるものではなく、サーバからデータをとってくる(「更新」と呼びます)操作を行った場合にシステムによって自動的に行われます。 手動でマージ作業を行う必要があるのは、複数の担当者が同じ領域を同時に編集した場合に限ります(たとえば、同一のセルの内容を同時に書き換えた、など)。

- はじめに
- Message Studioの基礎
  - ゲーム製作のフロー
  - プロジェクトファイルについて
  - プロジェクトエクスプローラの操作
  - ウインドウ操作
  - 言語設定
  - カラーの設定
  - 属性の設定
- メッセージ編集
  - 基本操作
  - テキストの種類
  - クリップボードを利用した操作
  - 言語セルステータス
  - 表示のカスタマイズ
  - メッセージ一覧画面のTips
- タグ
  - 概要
  - タグを用いた編集
  - タグのソース文字列
  - タグ比較について
- 検索機能
  - 概要
  - 簡易検索
  - 詳細検索
  - 正規表現
- スペルチェック
  - スペルチェックについて
  - スペルチェックの利用方法
- ロールとパーミッション
  - 概要
  - ロールの追加とパーミッションの設定
  - ロールの選択
- メッセージの統計情報
  - 統計情報について
  - 統計情報の利用方法
- スタイル機能と幅計算
  - スタイルと幅計算について
  - テキスト幅の全体チェック
  - レンダリング方式について
  - スタイルの設定方法
- フォント
  - フォント機能の概要
  - フォントに関するワークフローについて
  - フォントの設定
- チーム管理機能
  - 概要
  - ファイル管理のされ方
  - チーム管理機能を利用する
  - 基本操作
  - コミットログを表示する
  - 差分(diff)を表示する
  - 競合とマージ
  - プロキシサーバの設定
  - サーバーの設定
- メタ情報の設定
  - メタ情報の設定について
  - 設定可能なメタ情報一覧
- リソースファイル関連
  - リソースについての概要
  - リソースファイルを出力する
  - 出力設定を行う
  - ビルドイベントについて
  - 共通のバイナリフォーマット
  - メッセージバイナリフォーマット
  - フローチャートバイナリフォーマット
  - プロジェクトバイナリフォーマット
    - プロジェクトバイナリフォーマット
    - カラー情報
    - コンテンツ情報
    - 属性情報
    - タグ情報
    - スタイル情報
  - タグについて
- マクロ文字列展開機能
  - マクロ文字列とは
  - 利用可能なマクロ一覧
- コマンドライン関連
  - コマンドライン制御について
  - /convertスイッチについて
- プラグインについて
  - プラグインの概要
  - プラグインの種類について
- プラグインの作成方法
  - 単純なプラグイン作成チュートリアル
  - 開発環境を利用しない作成方法
  - サンプルについて
- Message Studioのアセンブリ設定
  - Caspol：アセンブリセキュリティ設定
  - Ngen：ネイティブイメージ生成
- XML仕様
  - 概要
  - プロジェクトファイル（.msproj）のXML仕様
  - メッセージファイル（.mstxt）のXML仕様
- libmsについて
  - 概要
  - コンパイルの仕方
- 共通の関数
  - LMS_SetMemFuncs
- メッセージに関する関数
  - LMS_InitMessage
  - LMS_CloseMessage
  - LMS_SearchMessageBlockByName
  - LMS_GetMessageBlockInfoByName
  - LMS_GetTextNum
  - LMS_GetTextIndexByLabel
  - LMS_GetText
  - LMS_GetTextSize
  - LMS_GetTextByLabel
  - LMS_GetLabelByTextIndex
  - LMS_GetTextStyle
  - LMS_GetTextStyleByLabel
  - LMS_GetAttributeSize
  - LMS_GetAttribute
  - LMS_GetAttributeText
- フローチャートに関する関数
  - LMS_InitFlowchart
  - LMS_CloseFlowchart
  - LMS_GetNodeNum
  - LMS_GetEntryNodeIndex
  - LMS_GetNodeDataPtr
  - LMS_GetFlowNodeIndex
  - LMS_GetCaseIndexesFromBranchNode
  - LMS_GetFlowParamText
- プロジェクトに関する関数
  - LMS_InitProject
  - LMS_CloseProject
  - LMS_SearchProjectBlockByName
  - カラー情報に関する関数
    - LMS_GetColorIndexByName
    - LMS_GetColor
    - LMS_GetColorByName
    - LMS_GetColorNum
  - コンテンツ情報に関する関数
    - LMS_GetContentsNum
    - LMS_GetContentPath
  - 属性情報に関する関数
    - LMS_GetAttrInfoIndexByName
    - LMS_GetAttrType
    - LMS_GetAttrTypeByName
    - LMS_GetAttrOffset
    - LMS_GetAttrOffsetByName
    - LMS_GetAttrListItemName
    - LMS_GetAttrListItemNameByName
    - LMS_GetAttrNum
    - LMS_GetAttrListItemNum
  - タグ情報に関する関数
    - LMS_GetTagGroupName
    - LMS_GetTagName
    - LMS_GetTagParamName
    - LMS_GetTagParamType
    - LMS_GetTagListItemName
    - LMS_GetTagGroupNum
    - LMS_GetTagNum
    - LMS_GetTagParamNum
    - LMS_GetTagListItemNum
  - スタイル情報に関する関数
    - LMS_GetStyleIndexByName
    - LMS_GetRegionWidth
    - LMS_GetRegionWidthByName
    - LMS_GetLineNum
    - LMS_GetLineNumByName
    - LMS_GetFontIndex
    - LMS_GetFontIndexByName
    - LMS_GetStyleNum
- 扱うファイルの拡張子一覧
- よくある質問