You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
730 B
28 lines
730 B
// Copyright 2014 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 |
|
|
|
// BaseLanguages returns the list of all supported base languages. It generates |
|
// the list by traversing the internal structures. |
|
func BaseLanguages() []Language { |
|
base := make([]Language, 0, NumLanguages) |
|
for i := 0; i < langNoIndexOffset; i++ { |
|
// We included "und" already for the value 0. |
|
if i != nonCanonicalUnd { |
|
base = append(base, Language(i)) |
|
} |
|
} |
|
i := langNoIndexOffset |
|
for _, v := range langNoIndex { |
|
for k := 0; k < 8; k++ { |
|
if v&1 == 1 { |
|
base = append(base, Language(i)) |
|
} |
|
v >>= 1 |
|
i++ |
|
} |
|
} |
|
return base |
|
}
|
|
|