language: carry over all extensions
Not just the āuā extension.
Change-Id: Ia8fac679ecec066d1cd7af3f6b91d78010b3146a
Reviewed-on: https://go-review.googlesource.com/55991
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/language/match.go b/language/match.go
index b7779ed..4c4b137 100644
--- a/language/match.go
+++ b/language/match.go
@@ -83,9 +83,8 @@
// to do after the fact, so we do it here.
// TODO: add in alternative variants to -u-va-.
// TODO: add preferred region to -u-rg-.
- // TODO: add other extensions. Merge with existing extensions.
- if u, ok := w.Extension('u'); ok {
- t, _ = Raw.Compose(t, u)
+ if e := w.Extensions(); len(e) > 0 {
+ t, _ = Raw.Compose(t, e)
}
return t, index, c
}
diff --git a/language/testdata/GoLocaleMatcherTest.txt b/language/testdata/GoLocaleMatcherTest.txt
index cc42009..4f4c609 100644
--- a/language/testdata/GoLocaleMatcherTest.txt
+++ b/language/testdata/GoLocaleMatcherTest.txt
@@ -9,7 +9,7 @@
zh-CN, zh-TW, iw ; zh ; zh-CN
zh-CN, zh-TW, iw ; zh-Hans-CN ; zh-CN
zh-CN, zh-TW, iw ; zh-Hant-HK ; zh-TW
-zh-CN, zh-TW, iw ; he-IT ; iw ; iw # should the surface tag be he?
+zh-CN, zh-TW, iw ; he-IT ; iw ; iw
# language-specific script fallbacks 1
en, sr, nl ; sr-Latn ; sr
@@ -217,9 +217,10 @@
en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-ST ; pt-PT
en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-TL ; pt-PT
-# preserve Unicode extension
+# preserve extensions
en, de, sl-nedis ; de-FR-u-co-phonebk ; de ; de-u-co-phonebk
en, de, sl-nedis ; sl-nedis-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur
en, de, sl-nedis ; sl-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur
en, de, sl-nedis ; sl-HR-nedis-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur
+en, de, sl-nedis ; de-t-m0-iso-i0-pinyin ; de ; de-t-m0-iso-i0-pinyin