Przeglądaj źródła

correct error with param index calculation in normal translations.

Dean Karn 9 lat temu
rodzic
commit
6f955ef45e
2 zmienionych plików z 6 dodań i 7 usunięć
  1. 1 1
      README.md
  2. 5 6
      translator.go

+ 1 - 1
README.md

@@ -1,6 +1,6 @@
 ## universal-translator
 <img align="right" src="https://raw.githubusercontent.com/go-playground/universal-translator/master/logo.png">
-![Project status](https://img.shields.io/badge/version-0.12.0-green.svg)
+![Project status](https://img.shields.io/badge/version-0.12.1-green.svg)
 [![Build Status](https://semaphoreci.com/api/v1/joeybloggs/universal-translator/branches/master/badge.svg)](https://semaphoreci.com/joeybloggs/universal-translator)
 [![Coverage Status](https://coveralls.io/repos/github/go-playground/universal-translator/badge.svg)](https://coveralls.io/github/go-playground/universal-translator)
 [![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/universal-translator)](https://goreportcard.com/report/github.com/go-playground/universal-translator)

+ 5 - 6
translator.go

@@ -107,19 +107,16 @@ func (t *translator) Add(key interface{}, text string, override bool) error {
 
 	var i int
 	var idx int
-	var cum int
 
 	for {
 		s := "{" + strconv.Itoa(i) + "}"
-		idx = strings.Index(text[idx:], s)
+		idx = strings.Index(text, s)
 		if idx == -1 {
 			break
 		}
 
-		trans.indexes = append(trans.indexes, idx+cum)
-		idx += len(s)
-		trans.indexes = append(trans.indexes, idx+cum)
-		cum += idx
+		trans.indexes = append(trans.indexes, idx)
+		trans.indexes = append(trans.indexes, idx+len(s))
 		i++
 	}
 
@@ -261,6 +258,8 @@ func (t *translator) T(key interface{}, params ...string) (string, error) {
 
 	var start, end, count int
 
+	fmt.Println(trans)
+
 	for i := 0; i < len(trans.indexes); i++ {
 		end = trans.indexes[i]
 		b = append(b, trans.text[start:end]...)