Index: /trunk/src/org/openstreetmap/josm/tools/I18n.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 19240)
+++ /trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 19241)
@@ -155,8 +155,9 @@
     private static final String HANT = "hant";
     private static final String HANS = "hans";
+    private static final String BOPOMOFO = "bopo";
 
     // Matches ISO-639 two and three letters language codes + scripts
     private static final Pattern LANGUAGE_NAMES = Pattern.compile(
-            "name:(\\p{Lower}{2,3})(?:[-_](?i:(" + String.join("|", HIRAGANA, KATAKANA, LATIN, PINYIN, LATINPINYIN, ROMAJI, HANI, HANS, HANT) + ")))?");
+            "name:(\\p{Lower}{2,3})(?:[-_](?i:(" + String.join("|", HIRAGANA, KATAKANA, LATIN, PINYIN, LATINPINYIN, ROMAJI, HANI, HANS, HANT, BOPOMOFO) + ")))?");
 
     private static String format(String text, Object... objects) {
@@ -733,4 +734,6 @@
                 case HANT:
                     return /* I18n: Traditional Chinese */ tr("Trdaditional");
+                case BOPOMOFO:
+                    return /* I18n: Mandarin Phonetic Symbols/Zhuyin */ tr("Bopomofo");
                 case ROMAJI:
                     return /* I18n: a Japanese syllabary (latin script) */  tr("Rōmaji");
