Babel から必要な言語パックだけ選びましょう 2019-06版

# この記事を書くきっかけ
2014年に、[Babel から必要な言語パックだけ選びましょう](https://strysd.hatenablog.com/entry/20140820/1408532610) というタイトルではてなダイアリーに日本語化の注意点を書きました。その時は、Eclipse の Version は Luna という単語で表現されていました。

それから5年経過したところ、rt.rap の言語パックを選択するとトラブルになり、外すと解消する、という報告を @onozaty さんからいただきました。わたしの環境でも起きるか確認してみました。
![ecl_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/bcb4d40b-b3ea-d602-2197-5e554b608885.png)


# 調査の準備。必要な言語パックだけ選択
確認には、Eclipse 2019-06 の Java 開発環境を使用しました。(これは、メニューからヘルプ＞Eclipse について　を選択してダイアログを Welcome（ようこそ）画面と一緒に表示したものです。Babel 言語パック適用後の状態です)
<img width="637" alt="ecl_0.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/aaadde63-a801-6e5a-8e9c-b0ee2aeb61a4.png">

メニューから Help(ヘルプ)＞Install New Software(新しいソフトウェアをインストール)を選び、Work With(作業対象)欄に Babel R0.17.0 の 2019-06 用データ (https://download.eclipse.org/technology/babel/update-site/R0.17.0/2019-06/) を選びます。

言語パックのリストを表示するまでにしばらく時間がかかります。表示されたら、Babel Language Packs for Japanese を選びます。この時にチェックボックスにチェックしてはいけません。
左端の＞記号をクリックしてツリーを広げてから、個別の Babel Language Pack だけにチェックをつけていきます。

下の2枚の画像では、eclipse, emf, mylyn, technology.egit, technology.jgit, technology.packaging.mpc, tools.gef,  webtools の8種類にチェックをつけました。
<img width="488" alt="ecl_1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/817f1cd7-ce73-ac2a-ed72-3c880cee7739.png">

<img width="486" alt="ecl_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/37d45174-0e3a-c85d-2eda-5ab8f01972fb.png">

次の確認画面で選択した種類を確認できます。それぞれの重要度および影響を受ける機能をまとめました。
<img width="306" alt="ecl_3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/759f5001-433a-e205-e0ab-e8db31e89f74.png">

|パック名 |重要度 |影響を受ける機能 |
|:--------|-----:|:-------------|
|eclipse  |★★★ |必須です。各所に影響します |
|emf      |★    |適用しなくてもOK。モデリング・フレームワーク |
|mylyn    |★    |Mylyn によるタスク管理 |
|technology.egit |★★ |Git によるコード管理 |
|technology.jgit |★   |同上   |
|technology.packaging.mpc |★  |マーケット・プレイス |
|tools.gef |★   |適用しなくてもOK。色パレット |
|webtools  |★★ |Web 開発および XML 編集  |

# キー画面の表示を確認
今回報告をいただいた検証がおきるか、確認してみます。
rt.rap パックをまだ入れていない状態では正常に表示できます。
<img width="506" alt="ecl_10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/929de1b0-196f-43f8-0a7c-e9959525a7aa.png">

rt.rap パックを入れたあとに同じ画面を表示すると、Invalid thread access が表示されます。
<img width="499" alt="ecl_13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/90d81d68-53bb-7346-6e2b-12c0ee20a27e.png">

rt.rap パックと eclipse パックとの間で競合が起きている模様です。
<img width="330" alt="ecl_14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/c6a5e9e5-4391-09bc-9b84-465c2a2389e5.png">

過去に、rt.rap パックの中には、org.eclipse.rap で名前が始まるプラグインの翻訳データだけを含むようにしてほしい、とリクエストを出したのですが、再発しているのでしょうか。別途確認してみます。
https://bugs.eclipse.org/bugs/show_bug.cgi?id=411460

ちなみに私の環境では、rt.rap パックを除去してから同じ画面を表示してもエラーを起こし続けました。ワークスペースをクリーンしても、ini ファイルに clean を記述してもダメでした。
報告では rt.rap パック除去後はエラーが解消したとのことですので、何か残り続けてしまっているものがあるかもしれません

# 余談。過去のバグが再発していないことを確認
2014年の Eclipse Luna で、パッケージ・エクスプローラーで右クリックするとメニューが表示されない、という話がありました。
rt.rap をまだ入れていない状態の Eclipse 2019-06 でバグが再発していないか確認します。問題ありませんでした。
<img width="457" alt="ecl_4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/de61c2ac-0160-5611-2116-f0d10ede1269.png">

<img width="472" alt="ecl_5.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/24f1e7f8-d323-f179-9965-fb608e832ce5.png">

この件については、rt.rap パック追加しても再発しませんでした。

# まとめ
- Eclipse の Babel 言語パックのうち、rt.rap パックを適用するとトラブルが起きることがあります。Babel Language Packs for Japanese で選択されたすべてのパックを適用する代わりに、本当に必要なパックのみを選んで適用することをおすすめします。
- 環境により rt.rap パックを除去しても問題が発生し続ける場合があるようです。