diff --git a/res/layout-finger/edit_contact.xml b/res/layout-finger/edit_contact.xml
index f2f8e38..027af9a 100644
--- a/res/layout-finger/edit_contact.xml
+++ b/res/layout-finger/edit_contact.xml
@@ -77,35 +77,8 @@
             />
         </LinearLayout>
 
-        <LinearLayout android:id="@+id/phonetic_name_layout"
-            android:layout_width="fill_parent"
-            android:layout_height="?android:attr/listPreferredItemHeight"
-            android:orientation="horizontal"
-            android:padding="0dip"
-            android:gravity="center_vertical"
-            android:baselineAligned="false"
-            android:visibility="gone"
-        >
-            <TextView android:id="@+id/phonetic_name_label"
-                android:layout_width="wrap_content"
-                android:layout_height="fill_parent"
-                android:paddingLeft="4dip"
-                android:gravity="left|center_vertical"
-                android:text="@string/label_phonetic_name"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-            />
-            <EditText android:id="@+id/phonetic_name"
-                android:layout_width="0dip"
-                android:layout_weight="1"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="8dip"
-                android:layout_marginRight="4dip"
-                android:gravity="center_vertical"
-                android:inputType="textPersonName|textCapWords"
-                android:hint="@string/ghostData_phonetic_name"
-                android:nextFocusDown="@id/data"
-            />
-        </LinearLayout>
+        <!-- "Phonetic name" entry widget, visible only in certain locales -->
+        <include layout="@layout/edit_phonetic_name"/>
 
         <View
             android:layout_width="fill_parent"
diff --git a/res/layout-finger/edit_phonetic_name.xml b/res/layout-finger/edit_phonetic_name.xml
new file mode 100644
index 0000000..afbbb1d
--- /dev/null
+++ b/res/layout-finger/edit_phonetic_name.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- "Phonetic name" field on the Edit contact screen.
+
+     In locales where a "phonetic name" is meaningful, like Japanese
+     (which uses a "furigana" or "yomi" field), this layout file
+     should include a visible label and EditText widget.
+
+     In the default locale, though, nothing here is visible.
+     This layout file MUST still provide an EditText widget with
+     id "phonetic_name" in *any* locale, though, since the Java code depends
+     on it.  (Even if the EditText is hidden we might still need to store
+     a value there, so we don't *lose* a phonetic name from the database
+     just because the user happened to edit it in a non-Japanese locale.)
+
+     For now, at least, this layout contains a complete (but hidden)
+     "phonetic name" row, so it's easy to test the phonetic_name feature
+     by temporarily removing the visibility="gone" attribute below.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="?android:attr/listPreferredItemHeight"
+    android:orientation="horizontal"
+    android:padding="0dip"
+    android:gravity="center_vertical"
+    android:baselineAligned="false"
+    android:visibility="gone"
+    >
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="fill_parent"
+        android:paddingLeft="4dip"
+        android:gravity="left|center_vertical"
+        android:text="@string/label_phonetic_name"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        />
+    <EditText android:id="@+id/phonetic_name"
+        android:layout_width="0dip"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="8dip"
+        android:layout_marginRight="4dip"
+        android:gravity="center_vertical"
+        android:inputType="textPersonName|textCapWords"
+        android:hint="@string/ghostData_phonetic_name"
+        android:nextFocusDown="@id/data"
+        />
+</LinearLayout>
diff --git a/res/layout-finger/view_contact.xml b/res/layout-finger/view_contact.xml
index 23393a4..e02e143 100644
--- a/res/layout-finger/view_contact.xml
+++ b/res/layout-finger/view_contact.xml
@@ -38,14 +38,8 @@
             android:background="@drawable/border"
         />
 
-        <TextView android:id="@+id/name"
-            android:layout_width="0dip"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:shadowColor="#BB000000"
-            android:shadowRadius="2.75"
-        />
+        <!-- "Name" field is locale-specific. -->
+        <include layout="@layout/view_contact_name"/>
 
         <CheckBox android:id="@+id/star"
             style="?android:attr/starStyle"
diff --git a/res/layout-finger/view_contact_name.xml b/res/layout-finger/view_contact_name.xml
new file mode 100644
index 0000000..01a361b
--- /dev/null
+++ b/res/layout-finger/view_contact_name.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- In the default locale, the "Name" field is a single TextView -->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/name"
+    android:layout_width="0dip"
+    android:layout_weight="1"
+    android:layout_height="wrap_content"
+    android:textAppearance="?android:attr/textAppearanceLarge"
+    android:shadowColor="#BB000000"
+    android:shadowRadius="2.75"
+    />
diff --git a/res/layout-ja-finger/edit_phonetic_name.xml b/res/layout-ja-finger/edit_phonetic_name.xml
new file mode 100644
index 0000000..41a4059
--- /dev/null
+++ b/res/layout-ja-finger/edit_phonetic_name.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- "Phonetic name" field on the Edit contact screen, for
+     Japanese-language locales (i.e. the "furigana" or "yomi" field.) -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="?android:attr/listPreferredItemHeight"
+    android:orientation="horizontal"
+    android:padding="0dip"
+    android:gravity="center_vertical"
+    android:baselineAligned="false"
+    >
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="fill_parent"
+        android:paddingLeft="4dip"
+        android:gravity="left|center_vertical"
+        android:text="@string/label_phonetic_name"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        />
+    <EditText android:id="@+id/phonetic_name"
+        android:layout_width="0dip"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="8dip"
+        android:layout_marginRight="4dip"
+        android:gravity="center_vertical"
+        android:inputType="textPersonName|textCapWords"
+        android:hint="@string/ghostData_phonetic_name"
+        android:nextFocusDown="@id/data"
+        />
+</LinearLayout>
diff --git a/res/layout-ja-finger/view_contact_name.xml b/res/layout-ja-finger/view_contact_name.xml
new file mode 100644
index 0000000..bd72bba
--- /dev/null
+++ b/res/layout-ja-finger/view_contact_name.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- In Japanese-language locales, the "Name" field contains two separate
+     TextViews: the name itself, and also the phonetic ("furigana") field. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="0dip"
+    android:layout_weight="1"
+    android:layout_height="wrap_content">
+
+    <TextView android:id="@+id/name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:shadowColor="#BB000000"
+        android:shadowRadius="2.75"
+        />
+
+    <TextView android:id="@+id/phonetic_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:shadowColor="#BB000000"
+        android:shadowRadius="2.75"
+        />
+
+</LinearLayout>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 99c99e4..d299e7f 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Kontakty"</string>
     <string name="shortcutContact">"Kontakt"</string>
     <string name="starredList">"Označené hvězdičkou"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index cf419a2..f004268 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Kontakte"</string>
     <string name="shortcutContact">"Kontakt"</string>
     <string name="starredList">"Markiert"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 6125ac1..9251140 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Contactos"</string>
     <string name="shortcutContact">"Contacto"</string>
     <string name="starredList">"Destacados"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index b8b088b..88285b0 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Contacts"</string>
     <string name="shortcutContact">"Contact"</string>
     <string name="starredList">"Marqués d\'une étoile"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index c54631d..2b16d13 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Contatti"</string>
     <string name="shortcutContact">"Contatto"</string>
     <string name="starredList">"Speciali"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 0c65789..18a280e 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"連絡先"</string>
     <string name="shortcutContact">"連絡先"</string>
     <string name="starredList">"スター付き"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 21c97f5..041c8c9 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Contactpersonen"</string>
     <string name="shortcutContact">"Contactpersonen"</string>
     <string name="starredList">"Met ster"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 71422cc..5917a28 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Kontakty"</string>
     <string name="shortcutContact">"Kontakt"</string>
     <string name="starredList">"Oznaczony gwiazdką"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index fec3012..b45528b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"Контакты"</string>
     <string name="shortcutContact">"Контакт"</string>
     <string name="starredList">"Помеченные"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 05dfe31..c787c16 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"联系人"</string>
     <string name="shortcutContact">"联系人"</string>
     <string name="starredList">"已加星标"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index d5fd578..c3f55e9 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1,8 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for applicationName (1951105221222584204) -->
-    <skip />
     <string name="contactsList">"連絡人"</string>
     <string name="shortcutContact">"連絡人"</string>
     <string name="starredList">"已標記星號"</string>
diff --git a/src/com/android/contacts/EditContactActivity.java b/src/com/android/contacts/EditContactActivity.java
index cdf2cef..fb8dd70 100644
--- a/src/com/android/contacts/EditContactActivity.java
+++ b/src/com/android/contacts/EditContactActivity.java
@@ -105,7 +105,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 
 /**
@@ -177,8 +176,7 @@
     private LayoutInflater mInflater;
     private MenuItem mPhotoMenuItem;
     private boolean mPhotoPresent = false;
-    private EditText mPhoneticNameView;
-    private LinearLayout mPhoneticNameLayout;
+    private EditText mPhoneticNameView;  // invisible in some locales, but always present
 
     /** Flag marking this contact as changed, meaning we should write changes back. */
     private boolean mContactChanged = false;
@@ -319,17 +317,6 @@
         mPhotoButton.setOnClickListener(this);
         mSendToVoicemailCheckBox = (CheckBox) findViewById(R.id.send_to_voicemail);
         mPhoneticNameView = (EditText) findViewById(R.id.phonetic_name);
-        mPhoneticNameLayout = (LinearLayout) findViewById(R.id.phonetic_name_layout);
-
-        // Setup phonetic name field.  mPhoneticNameLayout is GONE by default.
-        // TODO: Don't do this here in Java; instead do it purely using
-        // resources, by having mPhoneticNameLayout come from an XML
-        // <include> file that contains the real UI in layout-ja, but is
-        // empty in layout-finger...
-        String language = Locale.getDefault().getLanguage();
-        if (language != null && language.equals("ja")) {
-            mPhoneticNameLayout.setVisibility(View.VISIBLE);
-        }
 
         // Setup the bottom buttons
         View view = findViewById(R.id.addMore);
diff --git a/src/com/android/contacts/ViewContactActivity.java b/src/com/android/contacts/ViewContactActivity.java
index 9a11f76..4690b12 100644
--- a/src/com/android/contacts/ViewContactActivity.java
+++ b/src/com/android/contacts/ViewContactActivity.java
@@ -19,6 +19,7 @@
 import static com.android.contacts.ContactEntryAdapter.CONTACT_CUSTOM_RINGTONE_COLUMN;
 import static com.android.contacts.ContactEntryAdapter.CONTACT_NAME_COLUMN;
 import static com.android.contacts.ContactEntryAdapter.CONTACT_NOTES_COLUMN;
+import static com.android.contacts.ContactEntryAdapter.CONTACT_PHONETIC_NAME_COLUMN;
 import static com.android.contacts.ContactEntryAdapter.CONTACT_PROJECTION;
 import static com.android.contacts.ContactEntryAdapter.CONTACT_SEND_TO_VOICEMAIL_COLUMN;
 import static com.android.contacts.ContactEntryAdapter.CONTACT_STARRED_COLUMN;
@@ -182,6 +183,7 @@
     }
 
     private TextView mNameView;
+    private TextView mPhoneticNameView;  // may be null in some locales
     private ImageView mPhotoView;
     private int mNoPhotoResource;
     private CheckBox mStarView;
@@ -195,6 +197,7 @@
         getListView().setOnCreateContextMenuListener(this);
 
         mNameView = (TextView) findViewById(R.id.name);
+        mPhoneticNameView = (TextView) findViewById(R.id.phonetic_name);
         mPhotoView = (ImageView) findViewById(R.id.photo);
         mStarView = (CheckBox) findViewById(R.id.star);
         mStarView.setOnClickListener(this);
@@ -280,7 +283,7 @@
         }
         return null;
     }
-    
+
     private void dataChanged() {
         mCursor.requery();
         if (mCursor.moveToFirst()) {
@@ -292,6 +295,11 @@
                 mNameView.setText(name);
             }
 
+            if (mPhoneticNameView != null) {
+                String phoneticName = mCursor.getString(CONTACT_PHONETIC_NAME_COLUMN);
+                mPhoneticNameView.setText(phoneticName);
+            }
+
             // Load the photo
             mPhotoView.setImageBitmap(People.loadContactPhoto(this, mUri, mNoPhotoResource,
                     null /* use the default options */));
@@ -1029,5 +1037,3 @@
         }
     }
 }
-
-
