internal/language: move package to internal

Change-Id: I6fff414e66cb08c5f09cba14c936319335b63dde
Reviewed-on: https://go-review.googlesource.com/95833
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/gen.go b/gen.go
index c936a55..3952fab 100644
--- a/gen.go
+++ b/gen.go
@@ -109,7 +109,8 @@
 
 	var (
 		cldr       = generate("./unicode/cldr", unicode)
-		language   = generate("./language", cldr)
+		langint    = generate("./internal/language", cldr)
+		language   = generate("./language", cldr, langint)
 		internal   = generate("./internal", unicode, language)
 		norm       = generate("./unicode/norm", unicode)
 		rangetable = generate("./unicode/rangetable", unicode)
diff --git a/language/internal/common.go b/internal/language/common.go
similarity index 100%
rename from language/internal/common.go
rename to internal/language/common.go
diff --git a/language/internal/compact.go b/internal/language/compact.go
similarity index 100%
rename from language/internal/compact.go
rename to internal/language/compact.go
diff --git a/language/internal/compose.go b/internal/language/compose.go
similarity index 100%
rename from language/internal/compose.go
rename to internal/language/compose.go
diff --git a/language/internal/compose_test.go b/internal/language/compose_test.go
similarity index 100%
rename from language/internal/compose_test.go
rename to internal/language/compose_test.go
diff --git a/language/internal/coverage.go b/internal/language/coverage.go
similarity index 100%
rename from language/internal/coverage.go
rename to internal/language/coverage.go
diff --git a/language/internal/gen.go b/internal/language/gen.go
similarity index 100%
rename from language/internal/gen.go
rename to internal/language/gen.go
diff --git a/language/internal/gen_common.go b/internal/language/gen_common.go
similarity index 100%
rename from language/internal/gen_common.go
rename to internal/language/gen_common.go
diff --git a/language/internal/language.go b/internal/language/language.go
similarity index 99%
rename from language/internal/language.go
rename to internal/language/language.go
index a036dc7..7875a7c 100644
--- a/language/internal/language.go
+++ b/internal/language/language.go
@@ -4,7 +4,7 @@
 
 //go:generate go run gen.go gen_common.go -output tables.go
 
-package language
+package language // import "golang.org/x/text/internal/language"
 
 // TODO: Remove above NOTE after:
 // - verifying that tables are dropped correctly (most notably matcher tables).
diff --git a/language/internal/language_test.go b/internal/language/language_test.go
similarity index 98%
rename from language/internal/language_test.go
rename to internal/language/language_test.go
index 2437b6e..6c7c108 100644
--- a/language/internal/language_test.go
+++ b/internal/language/language_test.go
@@ -230,8 +230,7 @@
 		{"XK", true},
 	}
 	for i, tt := range tests {
-		reg, _ := getRegionID([]byte(tt.reg))
-		r := reg
+		r, _ := getRegionID([]byte(tt.reg))
 		if r.IsCountry() != tt.country {
 			t.Errorf("%d: IsCountry(%s) was %v; want %v", i, tt.reg, r.IsCountry(), tt.country)
 		}
@@ -257,8 +256,7 @@
 		{"XK", false},
 	}
 	for i, tt := range tests {
-		reg, _ := getRegionID([]byte(tt.reg))
-		r := reg
+		r, _ := getRegionID([]byte(tt.reg))
 		if r.IsGroup() != tt.group {
 			t.Errorf("%d: IsGroup(%s) was %v; want %v", i, tt.reg, r.IsGroup(), tt.group)
 		}
diff --git a/language/internal/lookup.go b/internal/language/lookup.go
similarity index 100%
rename from language/internal/lookup.go
rename to internal/language/lookup.go
diff --git a/language/internal/lookup_test.go b/internal/language/lookup_test.go
similarity index 100%
rename from language/internal/lookup_test.go
rename to internal/language/lookup_test.go
diff --git a/language/internal/match.go b/internal/language/match.go
similarity index 100%
rename from language/internal/match.go
rename to internal/language/match.go
diff --git a/language/internal/match_test.go b/internal/language/match_test.go
similarity index 100%
rename from language/internal/match_test.go
rename to internal/language/match_test.go
diff --git a/language/internal/parse.go b/internal/language/parse.go
similarity index 100%
rename from language/internal/parse.go
rename to internal/language/parse.go
diff --git a/language/internal/parse_test.go b/internal/language/parse_test.go
similarity index 100%
rename from language/internal/parse_test.go
rename to internal/language/parse_test.go
diff --git a/language/internal/tables.go b/internal/language/tables.go
similarity index 100%
rename from language/internal/tables.go
rename to internal/language/tables.go
diff --git a/language/internal/tags.go b/internal/language/tags.go
similarity index 100%
rename from language/internal/tags.go
rename to internal/language/tags.go
diff --git a/language/compact.go b/language/compact.go
index 4e326fb..a9941cc 100644
--- a/language/compact.go
+++ b/language/compact.go
@@ -8,7 +8,7 @@
 	"sort"
 	"strings"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 type compactID uint16
diff --git a/language/coverage.go b/language/coverage.go
index e99fd34..fdb6156 100644
--- a/language/coverage.go
+++ b/language/coverage.go
@@ -8,7 +8,7 @@
 	"fmt"
 	"sort"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 // The Coverage interface is used to define the level of coverage of an
diff --git a/language/coverage_test.go b/language/coverage_test.go
index 8d59673..bbc092c 100644
--- a/language/coverage_test.go
+++ b/language/coverage_test.go
@@ -9,7 +9,7 @@
 	"reflect"
 	"testing"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 func TestSupported(t *testing.T) {
diff --git a/language/gen.go b/language/gen.go
index 30c8c97..b1a35da 100644
--- a/language/gen.go
+++ b/language/gen.go
@@ -19,7 +19,7 @@
 	"strings"
 
 	"golang.org/x/text/internal/gen"
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 	"golang.org/x/text/unicode/cldr"
 )
 
@@ -38,7 +38,7 @@
 	w := gen.NewCodeWriter()
 	defer w.WriteGoFile("tables.go", "language")
 
-	fmt.Fprintln(w, `import "golang.org/x/text/language/internal"`)
+	fmt.Fprintln(w, `import "golang.org/x/text/internal/language"`)
 
 	b := newBuilder(w)
 	gen.WriteCLDRVersion(w)
diff --git a/language/gen_index.go b/language/gen_index.go
index 349bbf9..2a84a91 100644
--- a/language/gen_index.go
+++ b/language/gen_index.go
@@ -14,7 +14,7 @@
 	"sort"
 	"strings"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 // Compact indices:
diff --git a/language/internal/doc.go b/language/internal/doc.go
deleted file mode 100644
index c5bcbaf..0000000
--- a/language/internal/doc.go
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package language implements BCP 47 language tags and related functionality.
-//
-// The most important function of package language is to match a list of
-// user-preferred languages to a list of supported languages.
-// It alleviates the developer of dealing with the complexity of this process
-// and provides the user with the best experience
-// (see https://blog.golang.org/matchlang).
-//
-//
-// Matching preferred against supported languages
-//
-// A Matcher for an application that supports English, Australian English,
-// Danish, and standard Mandarin can be created as follows:
-//
-//    var matcher = language.NewMatcher([]language.Tag{
-//        language.English,   // The first language is used as fallback.
-//        language.MustParse("en-AU"),
-//        language.Danish,
-//        language.Chinese,
-//    })
-//
-// This list of supported languages is typically implied by the languages for
-// which there exists translations of the user interface.
-//
-// User-preferred languages usually come as a comma-separated list of BCP 47
-// language tags.
-// The MatchString finds best matches for such strings:
-//
-//    handler(w http.ResponseWriter, r *http.Request) {
-//        lang, _ := r.Cookie("lang")
-//        accept := r.Header.Get("Accept-Language")
-//        tag, _ := language.MatchStrings(matcher, lang.String(), accept)
-//
-//        // tag should now be used for the initialization of any
-//        // locale-specific service.
-//    }
-//
-// The Matcher's Match method can be used to match Tags directly.
-//
-// Matchers are aware of the intricacies of equivalence between languages, such
-// as deprecated subtags, legacy tags, macro languages, mutual
-// intelligibility between scripts and languages, and transparently passing
-// BCP 47 user configuration.
-// For instance, it will know that a reader of Bokmål Danish can read Norwegian
-// and will know that Cantonese ("yue") is a good match for "zh-HK".
-//
-//
-// Using match results
-//
-// To guarantee a consistent user experience to the user it is important to
-// use the same language tag for the selection of any locale-specific services.
-// For example, it is utterly confusing to substitute spelled-out numbers
-// or dates in one language in text of another language.
-// More subtly confusing is using the wrong sorting order or casing
-// algorithm for a certain language.
-//
-//    All the packages in x/text that provide locale-specific services
-//    (e.g. collate, cases) should be initialized with the tag that was
-//    obtained at the start of an interaction with the user.
-//
-// Note that Tag that is returned by Match and MatchString may differ from any
-// of the supported languages, as it may contain carried over settings from
-// the user tags.
-// This may be inconvenient when your application has some additional
-// locale-specific data for your supported languages.
-// Match and MatchString both return the index of the matched supported tag
-// to simplify associating such data with the matched tag.
-//
-//
-// Canonicalization
-//
-// If one uses the Matcher to compare languages one does not need to
-// worry about canonicalization.
-//
-// The meaning of a Tag varies per application. The language package
-// therefore delays canonicalization and preserves information as much
-// as possible. The Matcher, however, will always take into account that
-// two different tags may represent the same language.
-//
-// By default, only legacy and deprecated tags are converted into their
-// canonical equivalent. All other information is preserved. This approach makes
-// the confidence scores more accurate and allows matchers to distinguish
-// between variants that are otherwise lost.
-//
-// As a consequence, two tags that should be treated as identical according to
-// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The
-// Matcher handles such distinctions, though, and is aware of the
-// equivalence relations. The CanonType type can be used to alter the
-// canonicalization form.
-//
-// References
-//
-// BCP 47 - Tags for Identifying Languages http://tools.ietf.org/html/bcp47
-//
-package language // import "golang.org/x/text/language/internal"
-
-// TODO: explanation on how to match languages for your own locale-specific
-// service.
diff --git a/language/language.go b/language/language.go
index b254794..25fd210 100644
--- a/language/language.go
+++ b/language/language.go
@@ -12,7 +12,7 @@
 import (
 	"strings"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 // Tag represents a BCP 47 language tag. It is used to specify an instance of a
diff --git a/language/match.go b/language/match.go
index 0edbc9d..8cf116a 100644
--- a/language/match.go
+++ b/language/match.go
@@ -8,7 +8,7 @@
 	"errors"
 	"strings"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 // A MatchOption configures a Matcher.
diff --git a/language/parse.go b/language/parse.go
index f0e0b64..d50c8aa 100644
--- a/language/parse.go
+++ b/language/parse.go
@@ -9,7 +9,7 @@
 	"strconv"
 	"strings"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 // ValueError is returned by any of the parsing functions when the
diff --git a/language/parse_test.go b/language/parse_test.go
index 3ac1642..2ff28bf 100644
--- a/language/parse_test.go
+++ b/language/parse_test.go
@@ -8,7 +8,7 @@
 	"strings"
 	"testing"
 
-	"golang.org/x/text/language/internal"
+	"golang.org/x/text/internal/language"
 )
 
 // equalTags compares language, script and region subtags only.
diff --git a/language/tables.go b/language/tables.go
index 52f4af4..1825af6 100644
--- a/language/tables.go
+++ b/language/tables.go
@@ -2,7 +2,7 @@
 
 package language
 
-import "golang.org/x/text/language/internal"
+import "golang.org/x/text/internal/language"
 
 // CLDRVersion is the CLDR version from which the tables in this package are derived.
 const CLDRVersion = "32"