forked from Elara6331/itd
		
	Add and fix comments, fix transliteration maps so only first character is capitalized
This commit is contained in:
		| @@ -124,16 +124,23 @@ var armenianMap = []string{ | |||||||
|  |  | ||||||
| func (at *ArmenianTranslit) Init() { | func (at *ArmenianTranslit) Init() { | ||||||
| 	if !at.initComplete { | 	if !at.initComplete { | ||||||
|  | 		// Copy map as original will be changed | ||||||
| 		lower := armenianMap | 		lower := armenianMap | ||||||
|  | 		// For every value in copied map | ||||||
| 		for i, val := range lower { | 		for i, val := range lower { | ||||||
|  | 			// If index is odd, skip | ||||||
| 			if i%2 == 1 { | 			if i%2 == 1 { | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
|  | 			// Capitalize first letter | ||||||
| 			capital := strings.Title(val) | 			capital := strings.Title(val) | ||||||
|  | 			// If capital is not the same as lowercase | ||||||
| 			if capital != val { | 			if capital != val { | ||||||
|  | 				// Add capital to map | ||||||
| 				armenianMap = append(armenianMap, capital, strings.Title(armenianMap[i+1])) | 				armenianMap = append(armenianMap, capital, strings.Title(armenianMap[i+1])) | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 		// Set init complete to true so it is not run again | ||||||
| 		at.initComplete = true | 		at.initComplete = true | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -39,6 +39,7 @@ func (ct *ChineseTranslit) Transliterate(s string) string { | |||||||
| 			outBuf.WriteRune(char) | 			outBuf.WriteRune(char) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 	// If buffer contains characters | ||||||
| 	if tmpBuf.Len() > 0 { | 	if tmpBuf.Len() > 0 { | ||||||
| 		// Convert to pinyin (without tones) | 		// Convert to pinyin (without tones) | ||||||
| 		out := pinyin.LazyConvert(tmpBuf.String(), nil) | 		out := pinyin.LazyConvert(tmpBuf.String(), nil) | ||||||
|   | |||||||
| @@ -41,7 +41,7 @@ type Transliterator interface { | |||||||
| } | } | ||||||
|  |  | ||||||
| // Map implements Transliterator using a slice where | // Map implements Transliterator using a slice where | ||||||
| // every odd element is a key and every even one is a value | // every even element is a key and every odd one is a value | ||||||
| // which replaces the key. | // which replaces the key. | ||||||
| type Map []string | type Map []string | ||||||
|  |  | ||||||
| @@ -155,7 +155,7 @@ var Transliterators = map[string]Transliterator{ | |||||||
| 		"Ζ", "Z", | 		"Ζ", "Z", | ||||||
| 		"Η", "I", | 		"Η", "I", | ||||||
| 		"Ή", "I", | 		"Ή", "I", | ||||||
| 		"Θ", "TH", | 		"Θ", "Th", | ||||||
| 		"Ι", "I", | 		"Ι", "I", | ||||||
| 		"Ί", "I", | 		"Ί", "I", | ||||||
| 		"Ϊ", "I", | 		"Ϊ", "I", | ||||||
| @@ -163,7 +163,7 @@ var Transliterators = map[string]Transliterator{ | |||||||
| 		"Λ", "L", | 		"Λ", "L", | ||||||
| 		"Μ", "M", | 		"Μ", "M", | ||||||
| 		"Ν", "N", | 		"Ν", "N", | ||||||
| 		"Ξ", "KS", | 		"Ξ", "Ks", | ||||||
| 		"Ο", "O", | 		"Ο", "O", | ||||||
| 		"Ό", "O", | 		"Ό", "O", | ||||||
| 		"Π", "P", | 		"Π", "P", | ||||||
| @@ -174,8 +174,8 @@ var Transliterators = map[string]Transliterator{ | |||||||
| 		"Ύ", "Y", | 		"Ύ", "Y", | ||||||
| 		"Ϋ", "Y", | 		"Ϋ", "Y", | ||||||
| 		"Φ", "F", | 		"Φ", "F", | ||||||
| 		"Χ", "CH", | 		"Χ", "Ch", | ||||||
| 		"Ψ", "PS", | 		"Ψ", "Ps", | ||||||
| 		"Ω", "O", | 		"Ω", "O", | ||||||
| 		"Ώ", "O", | 		"Ώ", "O", | ||||||
| 	}, | 	}, | ||||||
| @@ -188,8 +188,8 @@ var Transliterators = map[string]Transliterator{ | |||||||
| 		"є", "je", | 		"є", "je", | ||||||
| 		"і", "i", | 		"і", "i", | ||||||
| 		"ї", "ji", | 		"ї", "ji", | ||||||
| 		"Ґ", "GH", | 		"Ґ", "Gh", | ||||||
| 		"Є", "JE", | 		"Є", "Je", | ||||||
| 		"І", "I", | 		"І", "I", | ||||||
| 		"Ї", "JI", | 		"Ї", "JI", | ||||||
| 	}, | 	}, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user