コラム:メッセージの変数置換

翻訳にもちょっとだけ関係ありますが、どっちかと言うとこれはアドオン作者目線のお話です。
メッセージを表示するイベントで、状況によってメッセージの内容を微妙に変化させたいときに変数置換はとても便利です。
※変数置換とは、$と|の間に変数名を入れておくと、その部分を変数の値に入れ替えてくれる機能です。
ですが、この方法は翻訳者にとっては非常に迷惑なやり方になる場合があります。
例えば「Get 5 potions.」の5の部分を変化させたい場合、_ "Get $variable| potions." として、数字を変数置換することが出来ます。これを翻訳する場合は"ポーションを$variable|個拾った。"のような感じでしょうか、まだ対処は簡単に見えます。
次に、_ "Get $variable| $variable_2|." とアイテム名も置換するようにしてみます。そこで翻訳文を"$variable_2|$variable|個拾った。"としてみます。ここで、ちょっとした問題が発生します。
日本語では物の数を数えるときに個・本・冊・体などと単位が変わることがあります。"$variable_2|$variable|個拾った。"は個の部分が$variable_2|の内容によっては不自然になる訳です。
さらに pot には文章のパーツがバラバラに全く別の行に点在することになり、文章の全体像が把握しにくくなります。
日本語以外の言語でもそのような問題は発生するわけで、これを回避するためには文章の途中に変数置換を仕込むのは出来るだけ避けたほうが良いという事になります。
ならばいっその事、文章丸ごと置換したらいいのでは? 中々いい考えです。ただし・・・
_ "$variable_3|" メッセージの記述をこのようにすると、potにリストされるメッセージは "$variable_3|" となり、これは翻訳のしようがありません。potのリストにこんなのがたくさん並んでいたら、かなりウザいですね。
翻訳可能な部分には、”_” を付けなければいけないと思い込んでいると、このようなウザい結果を招きます。メッセージ全体が変数置換の対象となる場合は、”_” を付ける必要はありません。

[message]
speaker = narrator
caption = _ "caption"
image = "imege pass"
message = "$variable_3|"
[/message]

message の値に “_” が無ければ pot に無駄な行がリストされなくなり、翻訳者をウザがらせる事も無くなります。
そして、置換するメッセージはどこで翻訳可能になるかと言うと、

[set_variable]
name = variable_3
value = _ "message"
[/set_variable]

変数の値に “_” を付ける事で pot にリストされます。

変数の値に “_” が付いていて翻訳ファイルが存在する場合は “_” が付いた変数の値は、変数が作られた段階で翻訳文に置換され、値は「 _ “message” 」から「 “メッセージ” 」と変更されます。
そして[message]イベントで発生する変数置換により「 message = “$variable_3|” 」は「 message = “メッセージ” 」となるわけです。

で、何故こんなことに気を使うのかと言うと・・・翻訳が面倒な状態になって苦しむのは自分だからなのです。英語圏のアドオン作者なら気にしないかもしれませんが異言語圏の作者は最終的に母国語の翻訳を添付したくなりますよね。
結局、自分で翻訳ファイルを用意する訳ですから苦労するのも自分な訳です。(以上、苦労した本人からでした)

カテゴリー: 未分類 | コメントする

バージョン1.14の新機能・変更点

Battle for Wesnoth 1.14がリリースされました。

https://www.wesnoth.org/start/1.14/

変更点・新機能に関しては上記のサイトで紹介されています。英文ですが、グラフィックの変化は画像を見るだけでも分かると思います。

ここではプレイヤー向けの変更点・新機能を日本語で紹介します。

Steam リリース

今までのリリースとは違い、普段通りの実行ファイルの配布に加えて、Steamプラットフォームでも公開されています。

https://store.steampowered.com/app/599390/Battle_for_Wesnoth/

Steamユーザの皆さんはこちらを利用すると良いでしょう。

Steamリリースと従来の配布との間に、今回のバージョンでは機能的な違いはありません。トロフィー機能やSteam IDとの連携については話が出ていましたが、今回は見送られたようです。

ただ、Steamクラウドに対応しているため、複数のマシンで設定やセーブデータを共有できます。実際にUbuntuとWindows間でセーブデータの共有ができることを確認しました。これだけでも、Steam版を利用するには十分な理由になるはずです。

日本語関連

日本語翻訳

開発者用のAIテストシナリオを除けば、翻訳は完了しているはずです。

また、翻訳の半分以上がレビューされ、不自然な日本語や誤訳が減りました。

日本語入力

入力中の文字列が表示されるようになりました。これにより、Windowsでの日本語入力が不可能ではなくなりました(候補リストは相変わらず表示されないため、不便ですが)。LinuxとWindowsでは動作を確認していますが、Macに関しては手元に環境が無いので把握していません。

グラフィック

ここらへんはプレイしていくうちに気付くと楽しいですし、細かいことは書きません。

  • UIとそのテーマの刷新
  • 新しいドット絵・ポートレイト
  • 新しい地形グラフィック

デバイスへの対応

  • マルチモニタ時のフルスクリーン表示の改善
  • Apple Retinaデバイスでの不具合修正

キャンペーン

Modを適用可能に

すべてのキャンペーンに対して、従来まではマルチプレイヤーゲームにしか適用できなかったMod系のアドオンを適用できるようになりました。

XP Modでお気に入りのユニットをより強く強化するなど、キャンペーンをより楽しむことができるでしょう。

古代の秘密(Secrets of the Ancients)

1.14で追加された新キャンペーンです。「闇に堕ちて」と同じく、アンデッド主体のキャンペーンです。

もともとは1.12向けのアドオンキャンペーンです。1.12のアドオンが翻訳済みだったのですが、メインラインキャンペーンになるとは予想外でした。

燃える太陽の下で(Under the Burning Suns)

ストーリー自体に変化はありませんが、ユニットの性能・グラフィックともに刷新されています。Quenothエルフの全ユニットにポートレイトが追加されています。

北部の再興(Northern Rebirth

マップが変更されたようです。

闇に堕ちて(Descent into Darkness)

マップのグラフィックが更新されたようです。

マルチプレイヤー

標準の時代については、バランス調整はされていないようです。

  • 9つの新マップ
  • カリフェイト(Khalifate)が、デューンフォーク(Dunefolk)に名称変更

ゲーム画面

ユニットの宝珠(HPバーの上についてるアレ)の色を自分で設定できるようになりました。

カテゴリー: 未分類 | コメントする

[BfW] チュートリアルが終わったら次はどうする?

The Battle for Wesnothはシナリオや機能が盛り沢山なのでチュートリアルを終えて次はどうしたらいいんだろう?と悩むのはありがちです。いきなりオンラインでの対戦や難易度が高いキャンペーンシナリオに手をだしてもコツをつかむ前に飽きてしまうかもしれません。

しかし、このゲームはそういう方のために適切な道が用意されています。「キャンペーン」の「オークの襲撃」がそれです。このキャンペーンシナリオはThe Battle for Wesnothをはじめたばかりの人がユニットの特性や戦略・戦術を学ぶための仕組みが盛り込まれています。まずはこのキャンペーンシナリオから遊んでみましょう!

カテゴリー: 未分類 | コメントする

[BfW] ターン制戦略ゲームThe Battle for Wesnothの紹介

The Battle for Wesnoth(ざ ばとる ふぉー うぇすのす)は、ファンタジーをテーマとしてロールプレイングゲームの要素を盛り込んだターン制戦略シミュレーションゲームです。マルチプラットフォーム対応であり、Microsoft WindowsやOS X、Linux、OpenPandoraなどで動きます。現在の安定版は1.10ブランチで、安定版最新バージョンは1.10.7となっています。

オープンソースソフトウェア(GNU GPLv2)であるため、Microsoft WindowsやOS Xなどでは無料で遊ぶことができます。

主言語は英語ですが、世界中の有志によって様々な言語に翻訳されており、もちろん日本語にも翻訳されています。(ただし、100%翻訳されているわけではありませんし、一部日本語として不自然な翻訳になっている箇所もあります)

The Battle for Wesnothの主な特徴は以下の通りです。

  • たくさんのキャンペーンシナリオ
  • インターネットを介した対人プレイ
  • たくさんのマップを使ったソロプレイ
  • 世界中の人が作成した様々なアドオン(キャンペーンシナリオやオリジナルの陣営など)

その他にもマップエディタなども用意されており、自分自身でキャンペーンシナリオなどを作成することもできます。

操作方法やゲームの仕組みを学ぶためのチュートリアルもありますので、興味を持たれた方はまずはチュートリアルをやってみてください!

カテゴリー: 情報 | コメントする

[BfW] 開発版1.9.5での日本語翻訳での大きな変更点

The Battle for Wesnothの開発版1.9.5がリリースされました。日本語翻訳での主な変更点は次の通りです。

  • ドレーク族の粉砕者系ユニット名の翻訳と訳語変更

テストプレイや翻訳のチェックをお願いします。翻訳に対する修正提案などの方法はバグ/誤訳報告をご覧ください。

カテゴリー: news | タグ: , | コメントする

[BfW]OSC2011 Tokyo/Springの「翻訳・ローカリゼーション BoF」に参加します

2011年3月5日には、オープンソースカンファレンス2011 Tokyo/Spring内でDoc-ja Archive Projectが開催する「翻訳・ローカリゼーション BoF」があります。BoFとはBirds of a Featherの略称で、特定の話題に関心がある人々が集まるイベントのことです。

今回のBoFには、日本語メンテナーのiwaimは参加する予定です。The Battle for Wesnothの翻訳をやっている方や翻訳に興味がある方がいらっしゃれば、是非会場でお会いしましょう。

カテゴリー: news | タグ: | コメントする

[BfW] 開発版1.9.4での日本語翻訳での大きな変更点

The Battle for Wesnothの開発版1.9.4がリリースされました。日本語翻訳での主な変更点は次の通りです。

  • 「燃える太陽の下で」(Under the Burning Suns)完訳
  • ドワーフ族の未翻訳ユニット名の翻訳

テストプレイや翻訳のチェックをお願いします。翻訳に対する修正提案などの方法はバグ/誤訳報告をご覧ください。

カテゴリー: news | タグ: , | コメントする

[BfW] FOSDEM 2011

2011年2月にベルギーのブリュッセルで開催されるFOSDEM 2011にて、The Battle for Wesnothの開発者が集まるようです。BfWのWikiによれば、general hacking roomsの一角で開発などが行われる予定となっています。

カテゴリー: news | タグ: | コメントする

[BfW] 1.9系ではヘルプに「事典」が追加されています

いつ追加されたのかは知りませんが、リビジョン48085ではヘルプに「事典」が追加されていました。今のところ「地理」のカテゴリしかありませんが、今後内容が充実していくのかもしれません。

次期安定版のリリースまでには「事典」の内容も全部訳してしまいたいとは思っています。ご協力いただける方はwesnoth翻訳フォーラムなどに連絡をください。

カテゴリー: news | タグ: | コメントする

[BfW] 開発版での日本語化不具合のお知らせ 2010-12-26

1.9.3がリリースされた後に「wesnoth-help」というtextdomainが導入され、poファイルが分離されています。おそらくはその影響でsvnのリビジョン48046の時点では「特性」の表示など、様々な場所で日本語翻訳の結果が反映されていない状態になっているようです。

この現象は日本語翻訳自体の不具合ではありません。すぐに解決すると思いますし、1.9.4までには必ず解決するとは思います。

カテゴリー: news | タグ: | コメントする