Mantisの翻訳用glossaryファイルを作ってみた

といっても、本家の翻訳ファイルから対語を抜き出して、20文字以下の文字で%とか入っていない単語のリストを作っただけになります。

作成物

(select)	(選択してください。)
...Redirecting	...次のページ→
1 Week	過去1週間
ALL	全て
Access Denied.	アクセスが拒否されました。
Access Level	ロール
Access Levels	ロール
Account Preferences	選択
Account deleted...	アカウントを削除しました。
Acknowledge Issue	チケット承認
Actions	操作
Add	追加
Add Category	カテゴリの追加
Add File	ファイル登録
Add News	ニュース追加
Add Note	追加
Add Profile	プロフィール追加
Add Project	追加
Add Subproject	サブプロジェクト追加
Add User	追加
Add Version	バージョン追加
Add as Subproject	サブプロジェクトとして追加
Add notes	コメントの追加
Add profiles	プロフィールの追加
Add user to project	プロジェクトにユーザーを追加
Advanced Filters	詳細フィルター
Advanced Report	詳細
Advanced Update	更新(詳細)画面を表示
Advanced View	表示(詳細)画面を表示
Advanced summary	詳細
After	より後(当該日を含まない)
All Projects	全プロジェクト
All Users	全ユーザー
Amount	合計
And Above	とそれ以上
Announcement	周知
Anonymous	匿名
Apply Filter	表示
Arbitrary Dates	日付選択
Archives	履歴
Ascending	昇順
Assign	担当者決定
Assign Issue	チケット割り当て
Assign Issues	チケット割り当て
Assign To	担当者
Assign To:	担当者割り当て
Assign an issue	チケット割当て
Assign issues to	担当者を選択してください。
Assigned	割当済
Assigned Projects	参加プロジェクト
Assigned To	担当者
Attach	登録
Attach Tags	タグの設定
Attached Files	添付ファイル
Authenticate	認証
Average time	平均完了日数
Back	戻る
Back To Issue	チケットの内容へ
Back to Tag	タグ一覧に戻る
Balance	残り
Before	より前(当該日を含まない)
Between	期間
Billing	作業時間集計
Body	本文
Build	ビルド
By Category	カテゴリ
By Date (days)	日数
By Developer	開発者
By Priority	優先度
By Project	プロジェクト
By Reporter	レポーター
By Resolution	解決状況
By Severity	重要度
By Status	ステータス
CSV Export	CSV エクスポート
Capability	機能
Categories	カテゴリ
Category	カテゴリ
Category not found.	カテゴリがありません。
Change	変更内容
Change Filter	フィルター変更
Change Log	変更履歴
Change Status To:	ステータス変更:
Changed(hrs)	変更(時間)
Checkin	チェックイン
Choose Project	プロジェクト選択
Click here to login	ログイン→
Close	完了
Close Issue	完了
Close Issues	チケットの完了
Close immediately:	すぐに完了:
Closed	完了
Confirm Issue	チケット確認
Confirm Password	パスワード(確認)
Copy	コピー
Copy Categories To	指定したプロジェクトにコピー
Copy From	指定したプロジェクトからコピー
Copy Issues	チケットコピー
Copy To	指定したプロジェクトにコピー
Copy Users	ユーザーのコピー
Copy Users From	ユーザーのコピー元
Copy Users To	ユーザーのコピー先
Copy Versions From	指定したプロジェクトからコピー
Copy Versions To	指定したプロジェクトにコピー
Copy issues to	チケットコピー先
Cost	コスト
Create Clone	複製
Create New Account	アカウント作成
Create New Project	新しいプロジェクトを作成する
Create Permalink	Permalinkの作成
Create Short Link	Short Linkの作成
Create User	登録
Create project	プロジェクトの作成
Created user	ユーザーを作成しました。アカウント:
Creator	作成者
Cumulative	累積
Current Status	現在のステータス
Current issue	現在のチケットの
Custom Fields	カスタム項目
Date Created	作成日
Date Modified	変更年月日
Date Order	リリース日付
Date Submitted	登録日
Date of note	コメント登録年月日
Days	日数
Default Project	デフォルトプロジェクト
Default Value	デフォルト値
Delete	削除
Delete Account	アカウントの削除
Delete Category	削除
Delete Custom Field	カスタム項目の削除
Delete Field	項目の削除
Delete File	削除
Delete Filter	フィルター削除
Delete Issue	削除
Delete Issues	チケットの削除
Delete News Item	削除
Delete Note	コメントの削除
Delete Post	削除
Delete Profile	削除
Delete Project	削除
Delete Settings	設定を削除
Delete Tag	タグ削除
Delete User	アカウント削除
Delete Version	削除
Delete an issue	チケットの削除
Delete attachments	添付の削除
Delete note	コメントの削除
Delete project	プロジェクトの削除
Deleted profile...	プロフィールが削除されました。
Dependency Graph	依存グラフ
Descending	降順
Description	詳細
Description Updated	詳細更新
Developer Stats	開発者
Development Team	開発チーム
Docs	ドキュメント
Documentation	ドキュメント
Duplicate	二重登録
Duplicate ID	重複しているチケット
E-mail: 	メール: 
EMAIL NOTIFICATION	通知メール
ETA	予定工数
Edit	編集
Edit Account	アカウントの編集
Edit News	ニュース編集
Edit Note	コメントの編集
Edit Post	編集
Edit Profile	編集
Edit Project	プロジェクト情報の編集
Edit Site Settings	サイト設定の編集
Edit User	ユーザー情報の編集
Edit custom field	カスタム項目の編集
Edit or Delete News	ニュース編集/削除
Email	メール
Email Notes Limit	コメントのメール制限
Email Notifications	通知メール
Email on Closed	完了通知メール
Email on Deleted	削除通知メール
Email on Feedback	フィードバック通知メール
Email on New	新規チケット通知メール
Email on Reopened	差戻し通知メール
Email on Resolved	実装通知メール
Email on note Added	コメント追加通知メール
Enabled	有効
End Date	終了日
End Monitoring	監視終了
Existing tags	登録済タグ
False	無効
Field	項目
File Added	添付ファイル追加
File Deleted	添付ファイル削除
Filename	ファイル名
Filter Deleted	フィルターを削除しました。
Filter Name	フィルター名
First	先頭
Fixed in Version	修正済バージョン
From	差出人
Go Back	戻る
Graph	グラフ
Handle an issue	チケットを担当
Headline	見出し
Here	ここ
Hide Closed	完了を隠す
Hide Disabled	無効なユーザーを隠す
Hide Inactive	休止ユーザーを隠す
Hide Resolved	解決済を隠す
Hide Status	非表示にするステータス
Horizontal	横
ISSUES	チケット
Invalid email.	無効なメールアドレスです。
Invalid tag name.	タグ名が不正です。
Issue Deleted	チケット削除
Issue End Monitor	監視終了
Issue History	履歴
Issue ID	番号(ID)
Issue Monitored	監視開始
Issue cloned	チケット複製
Jump	ID 指定
Jump to Notes	コメント
Language	言語
Last	最終
Last Modified	最終更新日
Last Month	先月
Last Quarter	直前の四半期
Last Two Weeks	先週、先々週
Last Update	更新日
Last Updated	更新日
Last Visit	最終訪問日時
Last Week	先週
Last Year	去年
Link Custom Field	カスタム項目を設定
Linked Projects	設定済プロジェクト
Loading...	ロード中...
Logged Out...	ログアウト中...
Logged in as	ユーザー名
Login	ログイン
Login Anonymously	ゲストログイン
Logout	ログアウト
Longest open	最大放置日数
Longest open issue	最大放置 ID
Lost your password?	パスワードの紛失
Main	メイン
Make Default	デフォルトにする
Make Private	非公開
Make Public	公開
Manage	システム管理
Manage Accounts	アカウント管理
Manage Filters	フィルター管理
Manage Projects	プロジェクト管理
Manage Users	ユーザー管理
Manage news	ニュースの管理
Manage project	プロジェクトの管理
Mantis Login	Mantis ログイン
Max size	最大ファイルサイズ
Max. Length	項目長(最大値)
Message	メッセージ
Min. Length	項目長(最小値)
Monitor Issue	監視
Monitor an issue	チケットの監視
Monitored By	監視者
Monitored by Me	監視中
Most Active	活発なチケット
Move	移動
Move Issue	移動
Move Issues	チケットの移動
Move an issue	チケットの移動
Move issues to	チケットの移動先を選択してください。
My Account	アカウント設定
My Sponsorships	投票
My View	マイビュー
Myself	自身
NEWS	ニュース
NOTES	コメント
Name	名称
Never Logged In	未ログイン
New Accounts	新規アカウント
New Custom Field	カスタム項目の登録
New Issue	新規チケット
New Value	新しい値
New relationship	新規関連
Newer News	新しいニュース
News item added...	ニュースが追加されました。
Next	次
Next Status	次のステータス
No	いいえ
No file specified	ファイルが選択されていません。
No tags attached.	設定されていません。
None	未指定
Note	コメント
Note Added	コメント追加
Note Deleted	コメント削除
Note Edited	コメント編集
Note View State	コメントの公開/非公開
Note added...	コメントが追加されました。
Note description	コメント内容
Note handler	コメント登録者
Note not found.	コメントがありません。
Notes	コメント
Notes Sort Order	コメントの並び順
OR Fill In	↑選択 or 記入↓
OS Version	バージョン
OTHERS	その他
Old Value	古い値
Older News	過去のニュース
On	日時
On Or After	以降(当該日を含む)
On Or Before	以前(当該日を含む)
Opened	未完了
Operating System	OS
Or Unassigned	もしくは未アサイン
PROJECT DOCUMENTS	プロジェクトドキュメント
Password	パスワード
Password Reset	パスワードリセット
Per category	カテゴリ
Per priority	優先度
Per resolution	分析状況
Per severity	重要度
Per state	ステータス
Permissions Report	ロール
Platform	プラットフォーム
Please Select	選択してください。
Possible Values	取りうる値
Post News	投稿
Post to	投稿先
Preferences	選択
Prev	前
Print	印刷
Print Reports	一覧印刷
Printing Options	印刷オプション
Priority	優先度
Product Build	製品ビルド
Product Version	製品バージョン
Profile	プロフィール
Profile added...	プロフィールが追加されました。
Profile not found.	プロフィールがありません。
Profile updated...	プロフィールが更新されました。
Profiles	プロフィール
Project	プロジェクト
Project Count	プロジェクト数
Project Name	プロジェクト名
Project Selection	プロジェクトを選択
Projection	修正方法
Projects	プロジェクト
Protected	保護
Prune	削除
Prune Accounts	アカウント削除
Publish	公開
Read Access	読み取り
Real Name	本名
Recently Modified	最近修正
Recently Visited	参照履歴
Redirect Delay	リダイレクト時間
Refresh Delay	再表示時間
Regular Expression	正規表現
Related Tags	関連タグ
Relation Graph	関連グラフ
Relationship Graph	関連グラフ
Relationship added	関連追加
Relationships	関連
Released	リリース
Reminder	送信内容
Reminder sent to	リマインダーの送信
Remote IP address: 	リモート IP アドレス: 
Remove	プロジェクトから削除
Remove All Users	ユーザー全員削除
Remove Field	項目の削除
Remove User	ユーザーの削除
Remove all	全員削除
Reopen Issue	差戻し
Reopen an issue	チケットの差戻し
Replace	差替え
Report Issue	登録
Report More Issues	次のチケット
Report Stay	次のチケット
Report an issue	チケットの報告
Reported	登録済
Reported By	レポーター
Reported by Me	レポート
Reporter	レポーター
Reporter Stats	レポーター
Reproducibility	再現性
Request Feedback	フィードバック要求
Required On Close	完了時は必須
Required On Report	登録時は必須
Required On Resolve	解決時は必須
Required On Update	更新時は必須
Reset Filter	フィルターリセット
Reset Password	パスワードのリセット
Reset Prefs	リセット
Resolution	解決状況
Resolve	実装済
Resolve Issue	解決状況の更新
Resolve Issues	チケットの実装
Resolved	解決済
Roadmap	ロードマップ
SPONSORSHIPS	投票
Save Current Filter	現在のフィルターを保存
Save Login	パスワードの保存
Save Settings	保存
Save filters	フィルターの保存
Score	スコア
Search	検索
Select All	全選択
Select Category	*カテゴリを選択*
Select File	ファイル名
Select Post	選択
Select Profile	プロフィール選択
Select Project	選択
Select Severity	*重要度を選択*
Selected Issues	選択されたチケット
Selected project	選択したプロジェクト
Send	送信
Send a reminder	リマインダー送信
Send reminders	リマインダーの送信
Sequence	表示順
Set/Unset Sticky	Stickyの設定/解除
Severity	重要度
Show	表示数
Show All	すべてを表示
Show Content	表示
Show Graph	表示
Show Sticky Issues	チケット(Sticky)の表示
Show as Graph	グラフ
Show as Table	テーブル
Signup	登録
Simple Filters	簡易フィルター
Simple Report	簡易
Site Settings	サイト設定
Sort by	ソート順
Sponsor	投票
Sponsor issue	チケットへ投票
Sponsors List	投票一覧
Sponsorship Added	投票の追加
Sponsorship Deleted	投票の削除
Sponsorship Paid	支払済
Sponsorship Total	総投票額
Sponsorship Updated	投票の更新
Start Date	開始日
Status	ステータス
Status changes to	ステータス変更
Stays on Top	常に先頭に表示
Steps To Reproduce	再現方法
Still Open	未解決
Submit	次へ
Submit Report	登録
Subprojects	サブプロジェクト
Summary	チケットの要約
Summary Updated	一覧更新
Summary by Category	概要(カテゴリ)
Summary by Status	概要(ステータス)
Switch	変更
Synthesis	総合
System Description	システムの詳細説明
System Info	システム情報
Tag Attached	タグ設定
Tag Description	タグ説明
Tag Detached	タグ削除
Tag Details	タグの詳細
Tag ID	タグID
Tag Renamed	タグ名称変更
Tags	タグ
Target Version	修正予定バージョン
This Month	今月
This Quarter	四半期
This Week	今週
Threshold	閾値
Time tracking	作業時間
Timestamp	タイムスタンプ
Title	タイトル
To	宛先
Total	合計
Total Owing	総額
Total Paid	総支払い額
Total time	合計完了日数
Type	型
Unassigned	担当不在
Unassigned Projects	非参加プロジェクト
Unlink	解除
Update	更新
Update Advanced	詳細
Update Category	更新
Update Custom Field	カスタム項目の更新
Update File	更新
Update Information	更新
Update Issue	更新
Update News	更新
Update Prefs	更新
Update Priority	重要度の更新
Update Profile	更新
Update Project	更新
Update Simple	簡易
Update Status	ステータスの更新
Update Tag	タグ更新
Update User	更新
Update Version	更新
Update View Status	公開更新
Update an issue	チケットの更新
Update issue status	チケットのステータス変更
Update notes	コメントの更新
Updated	更新日
Upload File	ファイル登録
Upload File Path	ファイルの登録場所
Use Date Filters	日付フィルターの使用
Use Empty Password	空のパスワードの使用
Use Filter	フィルター使用
Use saved filters	保存したフィルターの使用
User Documentation	Mantisユーザーマニュアル
User List	ユーザー一覧
User not found.	ユーザーがありません。
Username	ユーザー名
Username: 	ユーザー名:
Users	プロジェクト設定
Validation Comment	コメント
Value	値
Verify Password	パスワード(確認)
Version	バージョン/ビルド
Versions	バージョン
Vertical	縦
View	参照
View Advanced	詳細
View Issue	チケット参照
View Issues	検索
View Next	↓
View Prev	↑
View Simple	簡易
View Status	公開
View private issues	非公開チケットの参照
View private news	非公開ニュースの参照
View private notes	非公開コメントの参照
Viewing Issues	チケット一覧
Votes	実装希望得票数
Workflow	ワークフロー
Workflow Thresholds	ワークフロー閾値
Workflow Validation	ワークフローの確認
Write Access	読み書き
Year to Date	1年前から今日まで
Yes	はい
administrator	管理者
any	全て
attachment(s)	添付
by Status	ステータス
child of	親
current	現在のプロジェクト
duplicate of	重複先
edited on: 	更新日時:
en	ja
filters	フィルター
has duplicate	重複元
issue	チケット
no relationship	関連なし
none	なし
p	保護
parent of	子
private	非公開
public	公開
related to	関連
required	必須
user	ユーザー
utf-8	UTF-8
ID	ID
Issue #	Issue #
OK	OK
OS	OS
P	P
RSS	RSS
Wiki	Wiki

http://akira.info/labs/mantis/mantis.lang.utf8

OmegaTの場合適当な名前で最後に文字コード名をつけて、glossaryフォルダに突っ込めば用語集として使えます。

んー、少し翻訳してみようかな。。。Mantisはすごく便利なツールだと思うのですがあまり日本語の情報がないんですよね。本家のマニュアルが更新されていなかったのも原因ですが、1.2.x以降はSGML形式になったのでもう少し頻繁に更新されることを期待しましょう!

翻訳画面

ちなみに翻訳画面です。この用語集が右下にでまして、右上に過去に翻訳した近い翻訳パターン。左が翻訳リストです!

って良く見たらオフィシャルの翻訳も少しおかしいですね。優先度の更新が重要度の更新になっている。。。こーいうのをなくすために必要なのがglossaryです!

変換スクリプト

<?php

$base = '../mantis-1.2.0a2/';

$en_filename = $base . 'lang/strings_english.txt';
$ja_filename = $base . 'lang/strings_japanese.txt';

require_once( $en_filename );
$lang_en = array();
foreach( $GLOBALS as $key => $item ){
	if( preg_match( '/^s_/', $key ) ){
		$lang_en['$'.$key] = $item;
		unset( $GLOBALS[$key] );
	}
}
foreach( $MANTIS_ERROR as $key => $item ){
	$lang_en['$MANTIS_ERROR['.$key.']'] = $item;
}
unset( $MANTIS_ERROR );

require_once( $ja_filename );
$lang_ja = array();
foreach( $GLOBALS as $key => $item ){
	if( preg_match( '/^s_/', $key ) ){
		$lang_ja['$'.$key] = $item;
		unset( $GLOBALS[$key] );
	}
}
foreach( $MANTIS_ERROR as $key => $item ){
	$lang_ja['$MANTIS_ERROR['.$key.']'] = $item;
}
unset( $MANTIS_ERROR );

$glossary = array();
$glossary2 = array();
foreach( $lang_en as $key => $item ){
	if( 20 <= strlen( $item ) ){
		continue;
	}

	if( isset( $lang_ja[$key] ) ){
		if( $lang_ja[$key] == $item ){
			// 同じ
			$glossary2[$item] = $lang_ja[$key];
		} else {
			// 訳
			$glossary[$item] = $lang_ja[$key];
		}
	}
}

ksort($glossary);
ksort($glossary2);

foreach( $glossary as $key => $item ){
	echo "$key\t$item\n";
}
foreach( $glossary2 as $key => $item ){
	echo "$key\t$item\n";
}

あまりたいしたことやっていませんが、いちおうアップしておきます。英語と日本語の文字を取り込んで同じ文字は統一して、20文字未満の単語のみリストで出力しています。

その結果から%とか含んでいるのを目視で削除しています。