KDE4.10のKATEでプロジェクト

Tags : OpenSUSE   KATE   KDE4.10  

本当はしばらくOpenSUSEをアップデートする予定はなかったのですが、デフォルトのPHPがついに5.4になるというガセネタを掴んでアップデートしました。結局5.3のままでした。最近やっとバグが取れ、快適に使えるようになって来ました。

KDEは4.10です。それに伴いKAKEもアップデートされていました。基本的に開発はNetBeansを使用します。ですからKATEはエディターとしてのみ使用しています。

特に活躍するのが翻訳の時です。最初、Laravelの翻訳を始める時、いろいろと方法を検討しました。結局最後にdiffを使用するか、sedで置き換えるかという二択になりました。翻訳はテキストファイルの行というより、自然言語の行単位で行います。ですから、sedで置き換える方法を選択しました。

元ファイルはMarkdownかPHPファイルです。PHPはともかくMarkdownのコードハイライトをサポートしてくれているエディターは開始当初は少なかったようです。そしてSedをサポートしてくれるものも2つしか見つけられませんでした。(一つはWindows上です)

結局両方ともサポートしてくれるのはKATEだけでしたので、翻訳作業はLinuxマシン上で行なっています。

今回、いろいろ翻訳するものが増えそうなため、プロジェクトの使い方を調べてみました。今回のバージョンからちょっと変更になるようで、情報が少ないですね。

これを試す方は、KDEのバージョンに気をつけてください。現バージョンからいろいろなプラグインが変更になったり、付け加えられています。古いバージョンの場合、別途インストールする必要があるかも知れません。

なお、Kateでプロジェクトを利用する利点については以下の英語の記事をご覧ください。

プラグインを有効にする

最初に上部メニュー設定→Kateを設定で、プラグインのカテゴリーをクリックします。すると、使用できるプラグインが表示されます。

その中のProject Pluginを有効にしてください。一度Kateを終了しましょう。

Gitを用意する

一番簡単なプロジェクト管理はGitを利用することです。KateはGitで管理されているファイルをオープンするとそのGitで管理されているファイルを全部プロジェクトとして扱ってくれます。

これには一長一短がありますね。プロジェクトとして取り込むにはGitのリポジトリーとして追加する必要があります。

ですか、管理方法としてはすっきりしています。ナイスアイデアでしょう。後はKateがGitをサポートしてくれていれば完璧ですが、残念ながらそこまでは開発されていないようです。(F5で画面下に端末を表示できるので、そこからコマンドライン操作しろという意味でしょう。まあ、これが便利なんですが。)

もちろん、Gitを使用しない方法もあります。

プロジェクトの設定ファイル

Kateでプロジェクトを使用するためには、プロジェクトファイルを用意する必要があります。.kateprojectファイルを作成します。

Gitを使用する場合、以下の通りです。

{
  "name": "翻訳プロジェクト"
, "files": [ { "git": 1 } ]
}

Gitを使用せず、ファイルを指定する方法は以下のサンプルを参考にしましょう。

{
  "name": "超翻訳プロジェクト"
, "files": [ { "directory": "kate", "filters": ["*.cpp", "*.h", "*.ui", "CMakeLists.txt", "Find*.cmake"], "recursive": 1 } ]
}

ビルドの機能もありますので、プロジェクト単位でビルド方法を変えたい場合、方法を指定できます。(ビルドシステムを使用する場合、プラグインのビルドプラグインを有効にする必要があります。)

{
  "name": "神翻訳プロジェクト"
, "files": [ { "git": 1 } ]
, "build": {
    "directory": "build"
  , "build": "make all"
  , "clean": "make clean"
  , "install": "make install"
  }
}

上記の指定でinstallは使用できません。多分、コンパイルの指定方法の間違いだと思われます。試したのですが、指定方法がわかりませんでした。

ただし、ビルドの方法はカテゴリーごとに分け、保存できるようになっています。画面の下のビルド出力→ターゲットの設定タブで指定できます。ですから、無理にプロジェクトで指定する必要はありません。