Nintendo MessageStudio ヘルプ

# チーム管理サーバのセットアップ

## Message Studioのチーム管理について

Message Studioは、概要のページで解説したとおり、 Subversionと呼ばれるシステムをバックエンドとして利用しています。 そのため、チーム管理機能を利用するためにはチーム管理をホスティングするためのサーバーが必要になります。 まず最初に、部署のネットワーク管理者にSubversionが利用可能であるかどうかをたずねてください。

## Message Studio向けのSubversionのセットアップ

Message Studioで利用可能なSubversionサーバは、 Message Studioが搭載しているSubversionライブラリよりも低いバージョンである必要があります。 Message Studioが搭載しているSubversionライブラリのバージョン情報を確認するためには、 「ヘルプ」から「バージョン情報」を選択します。

※この画像は開発時のものです。実際の表示とは異なる場合があります。

もしもMessage Studioが搭載しているライブラリよりも新しいサーバを利用している場合、接続できる保障はありません。 可能ならばSubversionサーバのバージョンを落とすか、Message Studioのバージョンを上げることで解決してください。

バージョン番号さえ正しい状態であれば、ホスティングするサーバのOSは特に問いません。

## リポジトリを作成する

Subversionのマニュアルに従って、Message Studioのチーム管理を行うためのリポジトリを作成します。 必要であれば、認証設定を行ってセキュリティ保護をしてください。 そのほかはMessage Studioのために特別な設定をする必要はなく、普段の開発用プロジェクトと同等の方法で設定を行います。

## サーバ設定のときに特に考慮すべき内容

まず、ネットワーク回線を確認してください。 サーバが正常にセットアップできたとしても、そのサーバに接続するための回線が繋がらないと、 Message Studioはサーバにアクセスできません。 特にローカライズが始まった場合、地球の裏側にいる翻訳スタッフがセキュアにサーバにアクセスするまでの回線が必要です。 場合によっては特別な設定が必要な場合もありますし、システム室への申請が必要な場合もあります。 詳しくはネットワーク管理者にご確認ください。

Message Studioは通常のSubversionリポジトリに直接アクセスできます。 ただ、普通の開発用リポジトリ(こちらはプログラマがプログラムを上げてゲームを作っている)と、 同一のリポジトリにMessage Studioのファイルを置いてしまう場合、 翻訳者用に設定されたパスワードとユーザー名によっても、 ゲームを構成する他のファイルにアクセスできてしまいます。 これはセキュリティ的に問題があると判断される場合もあることに注意してください。 情報の漏洩を防ぐためにも、また、意図しないファイルの破損を防ぐためにも、 なるべく開発用のリポジトリと翻訳用のリポジトリを分割しておくとよいでしょう。

## Tips：複数のリポジトリを結合する

上記に従い、開発用と翻訳用リポジトリを分けてしまうと、今度は別の問題が発生します。 それは、リポジトリが二つに分離されてしまうことによって、管理が面倒になるという点です。 このような状況では、ゲームをビルドするときにいくつもの手順が必要になってしまいます。

この問題の解決方法はいくつかあるので、 開発チームごとに最も合うパターンを選択するのがよいのですが、 あえて１つのお勧めを挙げるとすれば、svn:externalを利用することです。 svn:externalとは、Subversionのディレクトリにつけることが出来るプロパティ情報で、 外部リポジトリと結合することが出来るようにする機能です。 これによって、開発用リポジトリが翻訳用リポジトリを直接含むような形にしてしまえば、 開発用リポジトリから見ればあたかも一つの構造になっているかのような扱いにすることが出来ます。

svn:externalに関して詳しくは解説書やWebサイトなどを参考にしてください。 なお、Subversionへのプロパティ設定はMessage Studio上からは行うことが出来ませんので、 別のクライアントソフトウエアを利用することになります。

- はじめに
- 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
- 扱うファイルの拡張子一覧
- よくある質問