@@ -3,6 +3,7 @@ package i18n
33import (
44 "fmt"
55 "sort"
6+ "strings"
67)
78
89// ValidationResult contains the results of validating translation files.
@@ -117,43 +118,43 @@ func (v *ValidationResult) String() string {
117118 return "✓ All translations are valid"
118119 }
119120
120- var report string
121+ var report strings. Builder
121122
122123 // Report errors
123124 if len (v .Errors ) > 0 {
124- report += "Errors:\n "
125+ report . WriteString ( "Errors:\n " )
125126 for _ , err := range v .Errors {
126127 if err .Key != "" {
127- report += fmt .Sprintf (" [%s] %s: %s\n " , err .Language , err .Key , err .Message )
128+ report . WriteString ( fmt .Sprintf (" [%s] %s: %s\n " , err .Language , err .Key , err .Message ) )
128129 } else {
129- report += fmt .Sprintf (" [%s] %s\n " , err .Language , err .Message )
130+ report . WriteString ( fmt .Sprintf (" [%s] %s\n " , err .Language , err .Message ) )
130131 }
131132 }
132- report += "\n "
133+ report . WriteString ( "\n " )
133134 }
134135
135136 // Report missing keys
136137 if len (v .Missing ) > 0 {
137- report += "Missing translations:\n "
138+ report . WriteString ( "Missing translations:\n " )
138139 for lang , keys := range v .Missing {
139- report += fmt .Sprintf (" [%s] %d missing keys:\n " , lang , len (keys ))
140+ report . WriteString ( fmt .Sprintf (" [%s] %d missing keys:\n " , lang , len (keys ) ))
140141 for _ , key := range keys {
141- report += fmt .Sprintf (" - %s\n " , key )
142+ report . WriteString ( fmt .Sprintf (" - %s\n " , key ) )
142143 }
143144 }
144- report += "\n "
145+ report . WriteString ( "\n " )
145146 }
146147
147148 // Report extra keys
148149 if len (v .Extra ) > 0 {
149- report += "Extra translations (not in base):\n "
150+ report . WriteString ( "Extra translations (not in base):\n " )
150151 for lang , keys := range v .Extra {
151- report += fmt .Sprintf (" [%s] %d extra keys:\n " , lang , len (keys ))
152+ report . WriteString ( fmt .Sprintf (" [%s] %d extra keys:\n " , lang , len (keys ) ))
152153 for _ , key := range keys {
153- report += fmt .Sprintf (" - %s\n " , key )
154+ report . WriteString ( fmt .Sprintf (" - %s\n " , key ) )
154155 }
155156 }
156157 }
157158
158- return report
159+ return report . String ()
159160}
0 commit comments