golang.org/toolchain@v0.0.1-go1.9rc2.windows-amd64/blog/content/matchlang/complete.go (about)

     1  // +build OMIT
     2  
     3  package main
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"golang.org/x/text/language"
     9  	"golang.org/x/text/language/display"
    10  )
    11  
    12  var userPrefs = []language.Tag{
    13  	language.Make("gsw"), // Swiss German
    14  	language.Make("fr"),  // French
    15  }
    16  
    17  var serverLangs = []language.Tag{
    18  	language.AmericanEnglish, // en-US fallback
    19  	language.German,          // de
    20  }
    21  
    22  var matcher = language.NewMatcher(serverLangs)
    23  
    24  func main() {
    25  	tag, index, confidence := matcher.Match(userPrefs...)
    26  
    27  	fmt.Printf("best match: %s (%s) index=%d confidence=%v\n",
    28  		display.English.Tags().Name(tag),
    29  		display.Self.Name(tag),
    30  		index, confidence)
    31  	// best match: German (Deutsch) index=1 confidence=High
    32  }