[
スレッド全体
]
▽
2011/2/12 (土) 21:08:44
[513]
Re:.po ファイルのソースを参照したい
▼ Belgaeさん
はじめまして。
.poファイルのあるフォルダにcommonフォルダ、
そのcommonフォルダの中にversion.cがあり、.poファイルを開いた状態で
マクロを実行→version.cの59行目を開きたい、という仮定で組んでみました。
JScriptで組んでいますので、拡張子を.jsにしてマクロを登録してみてください。
とりあえず手元では動いています(sakura Ver1.6.6.0、WinXP)。
(グダグダしていて明快なコードじゃなくてごめんなさい)
//★ここから
// ファイルの親フォルダパスを取得
var filePath = ExpandParameter("$/");
var i = filePath.lastIndexOf("/");
var folderPath = filePath.substr(0, i+1);
// 1行目を取得して、.cのパスと行数を取得
var L1 = GetLineStr(1);
var reg =/#: (.+):(\d+)/;
if ( reg.test(L1) ) {
// ファイルパスと行数が取得できたっぽい
var openFilePath = folderPath + RegExp.$1;
var line = RegExp.$2;
// サクラエディタを呼び出して指定行数で開く
var sakura = ExpandParameter("$S");
ExecCommand(sakura + ' "' + openFilePath + '" -Y=' + line, 0);
};
// ファイルがない場合は勝手に作成されます。保存しないで閉じてください。
//★ここまで
普段ROMってます
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)
▽
2011/2/12 (土) 21:52:17
[514]
Re2:.po ファイルのソースを参照したい
▼ 普段ROMってますさん
ご返答ありがとうございます。
最初は動きませんでした。頂いたマクロをよく見たところ、パスがファイルの
1行目に書かれている前提になっていたためでした。私の説明が足りませんでした。
.poファイルにはエントリがたくさんあって、それぞれのエントリにコメントとして
その翻訳対象語が使用されているファイルのパスが付いているのです。
そこで、GetLineStr()の引数を1ではなく0(現在の行)に変えて
実行したところ、希望通りの動作になりました。
ありがとうございました。
Belgae
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13
▽
2011/2/13 (日) 00:10:29
[515]
Re3:.po ファイルのソースを参照したい
▼ Belgaeさん
こりゃ失敬。.poの中身をよく理解してなかった私が悪いですな。
行指定があるって事は1ファイルにエントリがずらっと並ぶものだと今更気がつきました。
何はともあれ動いたようで何よりです。
普段ROMってます
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.81