Skip to content

Commit a1ee29a

Browse files
committed
wip
1 parent 7950593 commit a1ee29a

File tree

6 files changed

+136
-6
lines changed

6 files changed

+136
-6
lines changed

‎v2/go.mod‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/nicksnyder/go-i18n/v2
33
go 1.9
44

55
require (
6-
github.com/BurntSushi/toml v0.3.0
6+
github.com/BurntSushi/toml v0.3.1
77
golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284 // indirect
88
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c // indirect
99
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b // indirect

‎v2/go.sum‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
github.com/BurntSushi/toml v0.3.0 h1:e1/Ivsx3Z0FVTV0NSOv/aVgbUWyQuzj7DDnFblkRvsY=
22
github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
3+
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
4+
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
35
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
46
golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
57
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=

‎v2/i18n/fallback.txt‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
goos: darwin
2+
goarch: amd64
3+
pkg: github.com/nicksnyder/go-i18n/v2/i18n
4+
BenchmarkLocalizer_Localize/message_id_mismatch-8 30000000 38.1 ns/op 32 B/op 1 allocs/op
5+
BenchmarkLocalizer_Localize/message_id_not_mismatched-8 5000000 279 ns/op 0 B/op 0 allocs/op
6+
BenchmarkLocalizer_Localize/missing_translation_from_default_language-8 5000000 335 ns/op 96 B/op 2 allocs/op
7+
BenchmarkLocalizer_Localize/empty_translation_without_fallback-8 5000000 381 ns/op 48 B/op 1 allocs/op
8+
BenchmarkLocalizer_Localize/missing_translation_from_default_language_with_other_translation-8 5000000 334 ns/op 96 B/op 2 allocs/op
9+
BenchmarkLocalizer_Localize/missing_translation_from_not_default_language-8 5000000 263 ns/op 96 B/op 2 allocs/op
10+
BenchmarkLocalizer_Localize/missing_translation_not_default_language_with_other_translation-8 5000000 266 ns/op 96 B/op 2 allocs/op
11+
BenchmarkLocalizer_Localize/accept_default_language,_message_in_bundle-8 5000000 274 ns/op 0 B/op 0 allocs/op
12+
BenchmarkLocalizer_Localize/accept_default_language,_message_in_bundle,_default_message-8 5000000 282 ns/op 0 B/op 0 allocs/op
13+
BenchmarkLocalizer_Localize/accept_not_default_language,_message_in_bundle-8 5000000 283 ns/op 0 B/op 0 allocs/op
14+
BenchmarkLocalizer_Localize/accept_not_default_language,_other_message_in_bundle,_default_message-8 10000000 214 ns/op 0 B/op 0 allocs/op
15+
BenchmarkLocalizer_Localize/accept_not_default_language,_message_in_bundle,_default_message-8 5000000 291 ns/op 0 B/op 0 allocs/op
16+
BenchmarkLocalizer_Localize/accept_default_language,_default_message-8 3000000 524 ns/op 368 B/op 4 allocs/op
17+
BenchmarkLocalizer_Localize/accept_not_default_language,_default_message-8 3000000 453 ns/op 368 B/op 4 allocs/op
18+
BenchmarkLocalizer_Localize/fallback_to_non-default_less_specific_language-8 2000000 767 ns/op 56 B/op 4 allocs/op
19+
BenchmarkLocalizer_Localize/fallback_to_non-default_more_specific_language-8 5000000 284 ns/op 0 B/op 0 allocs/op
20+
BenchmarkLocalizer_Localize/plural_count_one,_bundle_message-8 1000000 1187 ns/op 592 B/op 9 allocs/op
21+
BenchmarkLocalizer_Localize/plural_count_other,_bundle_message-8 1000000 1178 ns/op 592 B/op 9 allocs/op
22+
BenchmarkLocalizer_Localize/plural_count_float,_bundle_message-8 1000000 1359 ns/op 624 B/op 10 allocs/op
23+
BenchmarkLocalizer_Localize/plural_count_one,_default_message-8 300000 6123 ns/op 2862 B/op 42 allocs/op
24+
BenchmarkLocalizer_Localize/plural_count_missing_one,_default_message-8 300000 5894 ns/op 2797 B/op 42 allocs/op
25+
BenchmarkLocalizer_Localize/plural_count_missing_other,_default_message-8 2000000 800 ns/op 784 B/op 8 allocs/op
26+
BenchmarkLocalizer_Localize/plural_count_other,_default_message-8 300000 5874 ns/op 2861 B/op 42 allocs/op
27+
BenchmarkLocalizer_Localize/plural_count_float,_default_message-8 200000 6793 ns/op 2894 B/op 43 allocs/op
28+
BenchmarkLocalizer_Localize/template_data,_bundle_message-8 2000000 918 ns/op 208 B/op 6 allocs/op
29+
BenchmarkLocalizer_Localize/template_data,_default_message-8 200000 6006 ns/op 2257 B/op 35 allocs/op
30+
BenchmarkLocalizer_Localize/template_data,_custom_delims,_bundle_message-8 2000000 881 ns/op 208 B/op 6 allocs/op
31+
BenchmarkLocalizer_Localize/template_data,_custom_delims,_default_message-8 200000 5982 ns/op 2257 B/op 35 allocs/op
32+
BenchmarkLocalizer_Localize/template_data,_plural_count_one,_bundle_message-8 1000000 1357 ns/op 288 B/op 9 allocs/op
33+
BenchmarkLocalizer_Localize/template_data,_plural_count_other,_bundle_message-8 1000000 1365 ns/op 288 B/op 9 allocs/op
34+
BenchmarkLocalizer_Localize/template_data,_plural_count_float,_bundle_message-8 1000000 1547 ns/op 336 B/op 10 allocs/op
35+
BenchmarkLocalizer_Localize/template_data,_plural_count_one,_default_message-8 200000 9328 ns/op 2833 B/op 49 allocs/op
36+
BenchmarkLocalizer_Localize/template_data,_plural_count_other,_default_message-8 200000 9385 ns/op 2833 B/op 49 allocs/op
37+
BenchmarkLocalizer_Localize/template_data,_plural_count_float,_default_message-8 200000 9897 ns/op 2881 B/op 50 allocs/op
38+
BenchmarkLocalizer_Localize/test_slow_path-8 3000000 412 ns/op 96 B/op 2 allocs/op
39+
BenchmarkLocalizer_Localize/test_slow_path_default_message-8 2000000 645 ns/op 416 B/op 5 allocs/op
40+
BenchmarkLocalizer_Localize/test_slow_path_no_message-8 3000000 408 ns/op 96 B/op 2 allocs/op
41+
PASS
42+
ok github.com/nicksnyder/go-i18n/v2/i18n 66.175s

‎v2/i18n/fallback2.txt‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
goos: darwin
2+
goarch: amd64
3+
pkg: github.com/nicksnyder/go-i18n/v2/i18n
4+
BenchmarkLocalizer_Localize/message_id_mismatch-8 50000000 37.0 ns/op 32 B/op 1 allocs/op
5+
BenchmarkLocalizer_Localize/message_id_not_mismatched-8 5000000 280 ns/op 0 B/op 0 allocs/op
6+
BenchmarkLocalizer_Localize/missing_translation_from_default_language-8 5000000 292 ns/op 48 B/op 1 allocs/op
7+
BenchmarkLocalizer_Localize/empty_translation_without_fallback-8 5000000 381 ns/op 48 B/op 1 allocs/op
8+
BenchmarkLocalizer_Localize/missing_translation_from_default_language_with_other_translation-8 5000000 296 ns/op 48 B/op 1 allocs/op
9+
BenchmarkLocalizer_Localize/missing_translation_from_not_default_language-8 10000000 222 ns/op 48 B/op 1 allocs/op
10+
BenchmarkLocalizer_Localize/missing_translation_not_default_language_with_other_translation-8 10000000 226 ns/op 48 B/op 1 allocs/op
11+
BenchmarkLocalizer_Localize/accept_default_language,_message_in_bundle-8 5000000 274 ns/op 0 B/op 0 allocs/op
12+
BenchmarkLocalizer_Localize/accept_default_language,_message_in_bundle,_default_message-8 5000000 279 ns/op 0 B/op 0 allocs/op
13+
BenchmarkLocalizer_Localize/accept_not_default_language,_message_in_bundle-8 5000000 289 ns/op 0 B/op 0 allocs/op
14+
BenchmarkLocalizer_Localize/accept_not_default_language,_other_message_in_bundle,_default_message-8 10000000 223 ns/op 0 B/op 0 allocs/op
15+
BenchmarkLocalizer_Localize/accept_not_default_language,_message_in_bundle,_default_message-8 5000000 304 ns/op 0 B/op 0 allocs/op
16+
BenchmarkLocalizer_Localize/accept_default_language,_default_message-8 3000000 538 ns/op 368 B/op 4 allocs/op
17+
BenchmarkLocalizer_Localize/accept_not_default_language,_default_message-8 3000000 444 ns/op 368 B/op 4 allocs/op
18+
BenchmarkLocalizer_Localize/fallback_to_non-default_less_specific_language-8 2000000 764 ns/op 56 B/op 4 allocs/op
19+
BenchmarkLocalizer_Localize/fallback_to_non-default_more_specific_language-8 5000000 294 ns/op 0 B/op 0 allocs/op
20+
BenchmarkLocalizer_Localize/plural_count_one,_bundle_message-8 1000000 1175 ns/op 592 B/op 9 allocs/op
21+
BenchmarkLocalizer_Localize/plural_count_other,_bundle_message-8 1000000 1180 ns/op 592 B/op 9 allocs/op
22+
BenchmarkLocalizer_Localize/plural_count_float,_bundle_message-8 1000000 1359 ns/op 624 B/op 10 allocs/op
23+
BenchmarkLocalizer_Localize/plural_count_one,_default_message-8 300000 5972 ns/op 2862 B/op 42 allocs/op
24+
BenchmarkLocalizer_Localize/plural_count_missing_one,_default_message-8 200000 5917 ns/op 2797 B/op 42 allocs/op
25+
BenchmarkLocalizer_Localize/plural_count_missing_other,_default_message-8 2000000 787 ns/op 784 B/op 8 allocs/op
26+
BenchmarkLocalizer_Localize/plural_count_other,_default_message-8 300000 5921 ns/op 2862 B/op 42 allocs/op
27+
BenchmarkLocalizer_Localize/plural_count_float,_default_message-8 200000 6109 ns/op 2894 B/op 43 allocs/op
28+
BenchmarkLocalizer_Localize/template_data,_bundle_message-8 2000000 877 ns/op 208 B/op 6 allocs/op
29+
BenchmarkLocalizer_Localize/template_data,_default_message-8 200000 6041 ns/op 2257 B/op 35 allocs/op
30+
BenchmarkLocalizer_Localize/template_data,_custom_delims,_bundle_message-8 2000000 873 ns/op 208 B/op 6 allocs/op
31+
BenchmarkLocalizer_Localize/template_data,_custom_delims,_default_message-8 200000 6007 ns/op 2257 B/op 35 allocs/op
32+
BenchmarkLocalizer_Localize/template_data,_plural_count_one,_bundle_message-8 1000000 1386 ns/op 288 B/op 9 allocs/op
33+
BenchmarkLocalizer_Localize/template_data,_plural_count_other,_bundle_message-8 1000000 1372 ns/op 288 B/op 9 allocs/op
34+
BenchmarkLocalizer_Localize/template_data,_plural_count_float,_bundle_message-8 1000000 1537 ns/op 336 B/op 10 allocs/op
35+
BenchmarkLocalizer_Localize/template_data,_plural_count_one,_default_message-8 200000 9499 ns/op 2833 B/op 49 allocs/op
36+
BenchmarkLocalizer_Localize/template_data,_plural_count_other,_default_message-8 200000 9542 ns/op 2833 B/op 49 allocs/op
37+
BenchmarkLocalizer_Localize/template_data,_plural_count_float,_default_message-8 200000 10114 ns/op 2881 B/op 50 allocs/op
38+
BenchmarkLocalizer_Localize/test_slow_path-8 5000000 369 ns/op 48 B/op 1 allocs/op
39+
BenchmarkLocalizer_Localize/test_slow_path_default_message-8 2000000 643 ns/op 416 B/op 5 allocs/op
40+
BenchmarkLocalizer_Localize/test_slow_path_no_message-8 5000000 369 ns/op 48 B/op 1 allocs/op
41+
PASS
42+
ok github.com/nicksnyder/go-i18n/v2/i18n 68.989s

‎v2/i18n/localizer.go‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,11 @@ func (l *Localizer) LocalizeWithTag(lc *LocalizeConfig) (string, language.Tag, e
132132
messageID = lc.DefaultMessage.ID
133133
}
134134

135+
tag, template, err1 := l.getMessageTemplate(messageID, lc.DefaultMessage)
136+
if template == nil {
137+
return "", language.Und, err1
138+
}
139+
135140
var operands *plural.Operands
136141
templateData := lc.TemplateData
137142
if lc.PluralCount != nil {
@@ -147,11 +152,6 @@ func (l *Localizer) LocalizeWithTag(lc *LocalizeConfig) (string, language.Tag, e
147152
}
148153
}
149154

150-
tag, template, err1 := l.getMessageTemplate(messageID, lc.DefaultMessage)
151-
if template == nil {
152-
return "", language.Und, err1
153-
}
154-
155155
pluralForm := l.pluralForm(tag, operands)
156156
msg, err := template.Execute(pluralForm, templateData, lc.Funcs)
157157
if err != nil {
@@ -162,6 +162,7 @@ func (l *Localizer) LocalizeWithTag(lc *LocalizeConfig) (string, language.Tag, e
162162
return msg2, tag, errors.Append(err1, err)
163163
}
164164
}
165+
// TODO this?
165166
return "", language.Und, errors.Append(err1, err)
166167
}
167168
return msg, tag, err1

‎v2/i18n/master.txt‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
goos: darwin
2+
goarch: amd64
3+
pkg: github.com/nicksnyder/go-i18n/v2/i18n
4+
BenchmarkLocalizer_Localize/message_id_mismatch-8 50000000 36.5 ns/op 32 B/op 1 allocs/op
5+
BenchmarkLocalizer_Localize/message_id_not_mismatched-8 5000000 290 ns/op 0 B/op 0 allocs/op
6+
BenchmarkLocalizer_Localize/missing_translation_from_default_language-8 5000000 267 ns/op 16 B/op 1 allocs/op
7+
BenchmarkLocalizer_Localize/empty_translation_without_fallback-8 50000 34128 ns/op 8829 B/op 188 allocs/op
8+
BenchmarkLocalizer_Localize/empty_translation_with_fallback-8 50000 34616 ns/op 8956 B/op 190 allocs/op
9+
BenchmarkLocalizer_Localize/missing_translation_from_default_language_with_other_translation-8 50000 35813 ns/op 9421 B/op 208 allocs/op
10+
BenchmarkLocalizer_Localize/missing_translation_from_not_default_language-8 10000000 207 ns/op 16 B/op 1 allocs/op
11+
BenchmarkLocalizer_Localize/missing_translation_not_default_language_with_other_translation-8 50000 37135 ns/op 10038 B/op 229 allocs/op
12+
BenchmarkLocalizer_Localize/accept_default_language,_message_in_bundle-8 5000000 289 ns/op 0 B/op 0 allocs/op
13+
BenchmarkLocalizer_Localize/accept_default_language,_message_in_bundle,_default_message-8 5000000 296 ns/op 0 B/op 0 allocs/op
14+
BenchmarkLocalizer_Localize/accept_not_default_language,_message_in_bundle-8 5000000 295 ns/op 0 B/op 0 allocs/op
15+
BenchmarkLocalizer_Localize/accept_not_default_language,_other_message_in_bundle,_default_message-8 10000000 231 ns/op 0 B/op 0 allocs/op
16+
BenchmarkLocalizer_Localize/accept_not_default_language,_message_in_bundle,_default_message-8 5000000 308 ns/op 0 B/op 0 allocs/op
17+
BenchmarkLocalizer_Localize/accept_default_language,_default_message-8 3000000 529 ns/op 368 B/op 4 allocs/op
18+
BenchmarkLocalizer_Localize/accept_not_default_language,_default_message-8 3000000 446 ns/op 368 B/op 4 allocs/op
19+
BenchmarkLocalizer_Localize/fallback_to_non-default_less_specific_language-8 2000000 779 ns/op 56 B/op 4 allocs/op
20+
BenchmarkLocalizer_Localize/fallback_to_non-default_more_specific_language-8 5000000 302 ns/op 0 B/op 0 allocs/op
21+
BenchmarkLocalizer_Localize/plural_count_one,_bundle_message-8 1000000 1191 ns/op 592 B/op 9 allocs/op
22+
BenchmarkLocalizer_Localize/plural_count_other,_bundle_message-8 1000000 1182 ns/op 592 B/op 9 allocs/op
23+
BenchmarkLocalizer_Localize/plural_count_float,_bundle_message-8 1000000 1349 ns/op 624 B/op 10 allocs/op
24+
BenchmarkLocalizer_Localize/plural_count_one,_default_message-8 300000 5844 ns/op 2862 B/op 42 allocs/op
25+
BenchmarkLocalizer_Localize/plural_count_missing_one,_default_message-8 300000 5857 ns/op 2797 B/op 42 allocs/op
26+
BenchmarkLocalizer_Localize/plural_count_missing_other,_default_message-8 2000000 795 ns/op 784 B/op 8 allocs/op
27+
BenchmarkLocalizer_Localize/plural_count_other,_default_message-8 300000 5897 ns/op 2862 B/op 42 allocs/op
28+
BenchmarkLocalizer_Localize/plural_count_float,_default_message-8 200000 6175 ns/op 2894 B/op 43 allocs/op
29+
BenchmarkLocalizer_Localize/template_data,_bundle_message-8 2000000 903 ns/op 208 B/op 6 allocs/op
30+
BenchmarkLocalizer_Localize/template_data,_default_message-8 200000 6074 ns/op 2257 B/op 35 allocs/op
31+
BenchmarkLocalizer_Localize/template_data,_custom_delims,_bundle_message-8 2000000 899 ns/op 208 B/op 6 allocs/op
32+
BenchmarkLocalizer_Localize/template_data,_custom_delims,_default_message-8 200000 6018 ns/op 2257 B/op 35 allocs/op
33+
BenchmarkLocalizer_Localize/template_data,_plural_count_one,_bundle_message-8 1000000 1399 ns/op 288 B/op 9 allocs/op
34+
BenchmarkLocalizer_Localize/template_data,_plural_count_other,_bundle_message-8 1000000 1367 ns/op 288 B/op 9 allocs/op
35+
BenchmarkLocalizer_Localize/template_data,_plural_count_float,_bundle_message-8 1000000 1551 ns/op 336 B/op 10 allocs/op
36+
BenchmarkLocalizer_Localize/template_data,_plural_count_one,_default_message-8 200000 9456 ns/op 2833 B/op 49 allocs/op
37+
BenchmarkLocalizer_Localize/template_data,_plural_count_other,_default_message-8 200000 9436 ns/op 2833 B/op 49 allocs/op
38+
BenchmarkLocalizer_Localize/template_data,_plural_count_float,_default_message-8 200000 9986 ns/op 2881 B/op 50 allocs/op
39+
BenchmarkLocalizer_Localize/test_slow_path-8 50000 37866 ns/op 9493 B/op 211 allocs/op
40+
BenchmarkLocalizer_Localize/test_slow_path_default_message-8 100000 12631 ns/op 1280 B/op 32 allocs/op
41+
BenchmarkLocalizer_Localize/test_slow_path_no_message-8 100000 12297 ns/op 928 B/op 29 allocs/op
42+
PASS
43+
ok github.com/nicksnyder/go-i18n/v2/i18n 70.236s

0 commit comments

Comments
 (0)