お知らせ

2012年02月21日をもちまして、World of Warcraftの活動を全て終了しました。 WoWの日本語化AddonのCraftJapanizerにつきましても、開発を終了しました。 ご利用ありがとうございました。

2012年07月19日

CraftJapanizer仕様解説:Glyphの日本語の表示

ファイル
CraftJapanizerGlyphToolTip.lua
(CraftJapanizerToolTip.lua)
CraftJapanizerTooltip.xml

Glyphの日本語訳は、CraftJapanizer独自のCraftJapanizerAssistTooltipに表示
CraftJapanizerAssistTooltipはGameTooltipTemplateを継承している

GlyphのTooltipの表示の際には、SpellのときにhookしたOnTooltipSetSpellのイベントは発生しない。(ItemのOnTooltipSetItemも発生しない)

そのため、GlyphウィンドウのLoadをhookしてイベントを追加している

GlyphFrame_LoadUI
http://wowprogramming.com/utils/xmlbrowser/live/FrameXML/UIParent.lua
のfunction GlyphFrame_LoadUI

GlyphFrameScrollFrame.buttonsから取得できるボタン全てのOnEnter/OnLeaveイベントに日本語訳の表示する処理を追加している
これは、ウィンドウ右側のリストに表示されるものの日本語表示対応。

さらに、

GlyphFrameGlyph_OnEnter
GlyphFrameGlyph_OnLeave
http://wowprogramming.com/utils/xmlbrowser/live/AddOns/Blizzard_GlyphUI/Blizzard_GlyphUI.lua

にもイベントを追加している
これは、メインウィンドウ側(Glyphをソケットに設定するところ)の日本語表示対応。

■ 余談
Glyphは、以前は、OnTooltipSetSpellかOnTooltipSetSpellかのイベントでSpell IDかItem IDが取得できたが、独自のGlyph IDというのが割り当てられるようになったっぽく、それ以降、イベントが発生しなくなった。

また、wowheadがGlyph IDには対応していなかったため、Glyph IDから原文を取得することができなかった。
(ゲーム内からがんばって取得するというのもあるけど、やらなかった)
そのため、Glyphは、Glyph名称からSpell IDと特定するという方法で対応している。
posted by Astal at 23:04| Comment(0) | CraftJapanizer | このブログの読者になる | 更新情報をチェックする

CraftJapanizer仕様解説:Buffの日本語の表示

ファイル
CraftJapanizerBuffToolTip.lua
(CraftJapanizerToolTip.lua)
CraftJapanizerTooltip.xml

Buffの日本語訳は、CraftJapanizer独自のCraftJapanizerAssistTooltipに表示
CraftJapanizerAssistTooltipはGameTooltipTemplateを継承している

Item/Spellのように、GameToolTipに追加しないで、独自のもので表示しているのは、Buffの説明文の表示の場合、有効時間がリアルタイムに表示されている関係で、何度も再表示がかかり、その影響を受けて、きれいに表示できないため、その影響を避けるために、独自のTooltipで表示させることにした。

BuffのTooltipの表示の際には、SpellのときにhookしたOnTooltipSetSpellのイベントは発生しない。
そのため、Buff用のボタン(ボタンっぽくないけど、UIとしてはボタン扱い)をhookして、イベントを追加する形で対応している。

AuraButton_Update
http://wowprogramming.com/utils/xmlbrowser/live/FrameXML/BuffFrame.lua
のfunction AuraButton_Update

のときに、Buffがセットされるので、これをhookし、buffのボタンのOnEnter/OnLeaveイベントに日本語訳の表示する処理を追加している
posted by Astal at 22:27| Comment(0) | CraftJapanizer | このブログの読者になる | 更新情報をチェックする

CraftJapanizer仕様解説:Spellの日本語の表示

ファイル
CraftJapanizerToolTip.lua
(CraftJapanizerGameToolTip.lua)
(CraftJapanizerItemRefTooltip.lua)

Spellの日本語訳は、GameTooltipとItemRefTooltipに追加

SpellのTooltipの表示の際に

OnTooltipSetSpell
http://wowprogramming.com/docs/scripts/OnTooltipSetSpell

のイベントが発生するため、これをhookする。

Spell IDは

GameTooltip:GetSpell()
http://wowprogramming.com/docs/widgets/GameTooltip/GetSpell

で、取得できる(Item IDと違って直接取得できる。便利!)

■ 備考
GameTooltip : ItemやSpellにカーソルをあわせると表示されるTooltip
ItemRefTooltip : チャットのリンクなどをクリックすると、中央下段に表示される小ウィンドウ
posted by Astal at 21:57| Comment(0) | CraftJapanizer | このブログの読者になる | 更新情報をチェックする

CraftJapanizer仕様解説:Itemの日本語の表示

ファイル
CraftJapanizerToolTip.lua
(CraftJapanizerGameToolTip.lua)
(CraftJapanizerItemRefTooltip.lua)

Itemの日本語訳は、GameTooltipとItemRefTooltipに追加

ItemのTooltipの表示の際に

OnTooltipSetItem
http://wowprogramming.com/docs/scripts/OnTooltipSetItem

のイベントが発生するため、これをhookする。

Item IDは、直接取得する手段はなく、

GameTooltip:GetItem()
http://wowprogramming.com/docs/widgets/GameTooltip/GetItem

から、linkを取得し、”Hitem:数値:”の数値の箇所がItem IDとなる
http://wowprogramming.com/docs/api_types#hyperlink

■ 備考
GameTooltip : ItemやSpellにカーソルをあわせると表示されるTooltip
ItemRefTooltip : チャットのリンクなどをクリックすると、中央下段に表示される小ウィンドウ
posted by Astal at 21:23| Comment(0) | CraftJapanizer | このブログの読者になる | 更新情報をチェックする

CraftJapanizer仕様解説:改行箇所について

CraftJapanizerでは、以下のように改行コードをデータに含めています。

Item/Spell/Achievement : \n
Quest : 半角スペース x 2。データを表示するときに、\nに変換している (QuestJapanizerのなごり)

改行コードを含める箇所は、以下。

<<Item/Spell/Achievement>>

日本語形態素解析API
http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html

で、単語に分割。

その後に、以下を考慮して、適宜改行を入れる。

・単語の途中に改行コードが入らないようにする
・括弧の開始の直後に改行コードが入らないようにする
・句読点の直前に改行が入らないようにする
・マクロ$N数値の途中に改行が入らないようにする
・半角1、全角2で計算し、36前後で改行を入れるようにする

など。
また、事前に改行を含めてあるデータに関しては、その改行箇所を優先した上で、上記の対応を行っている。

<<Quest>>

wikiの改行箇所をそのまま採用
posted by Astal at 21:01| Comment(0) | CraftJapanizer | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。