[Miscellaneous Android Development] the_bit:
Well, aside of trying to integrate another phone's Hebrew support here I did try to add it to this one and did not success (yet)

My try focus was add 'Hebrew' (or even 'עברית') into the list of available languages (locales). I mean add 'Hebrew' into [Settings -> Language & keyboard -> Select language] list

My change include altering 3 files:

1. alter res/values/arrays.xml file to extend:

<string-array name="special_locale_codes">

<item>zh_CN</item>

<item>zh_TW</item>

<item>iw_IL</item>

</string-array>

<string-array name="special_locale_names">

<item>中文 (简体)</item>

<item>中文 (繁體)</item>

<item>עברית</item>

</string-array>

2. alter smali/com/android/settings/LanguageChangeReceiver.smali ro extend

.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V

...

801c801

< if-eqz v0, :cond_0

---

> if-eqz v0, :cond_f

806a807,829

>

> invoke-static {p1, v0, v1}, Lcom/android/settings/LanguageChangeReceiver;->LanguageChangeByChar(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V

>

> goto/16 :goto_0

>

> .line 100

> :cond_f

> invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

>

> move-result-object v0

>

> const-string v1, "com.settings.language.IWIL"

>

> invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

>

> move-result v0

>

> if-eqz v0, :cond_0

>

> .line 101

> const-string v0, "iw"

>

> const-string v1, "IL"

...

invoke-static {p1, v0, v1}, Lcom/android/settings/LanguageChangeReceiver;->LanguageChangeByChar(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V

goto/16 :goto_0

.end method

3. alter AndroidManifest.xml to extend:

<receiver android:name=".LanguageChangeReceiver">

<intent-filter>

<action android:name="com.settings.language.CNZH" />

<action android:name="com.settings.language.CNTW" />

<action android:name="com.settings.language.ENUS" />

<action android:name="com.settings.language.INID" />

<action android:name="com.settings.language.MSMY" />

<action android:name="com.settings.language.DEDE" />

<action android:name="com.settings.language.ESES" />

<action android:name="com.settings.language.FRFR" />

<action android:name="com.settings.language.ITIT" />

<action android:name="com.settings.language.PTBR" />

<action android:name="com.settings.language.TRTR" />

<action android:name="com.settings.language.RURU" />

<action android:name="com.settings.language.THTH" />

<action android:name="com.settings.language.VIVN" />

<action android:name="com.settings.language.AREG" />

<action android:name="com.settings.language.IWIL" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</receiver>

The problem that apktool creates encoded AndroidManifest.xml that cause faulty Setting.apk - at least after pushing it back it won't run .

But after reading google group 'How to Customise android Os For supporting regional launguages' it seems it should not help - in doubt should manifest changes take effect as it seems it depend on build-time configuration.

Another try I am going is to alter some existing locale setting to actualle appear act as hebrew - so no changes AndrosiManifest.xml required.

Of course all this is only language switch without default keyboard and translation issues.