Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion app_error.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ func (e *defaultAppError) BuildConfig(lang Language, options ...InfoBuilderOptio
Language: lang,
ErrorSeparator: globalConfig.MultiErrorSeparator,
TranslationFunc: globalConfig.TranslationFunc,
TranslateTitle: true,
FallbackToErrorContentOnMissingTranslation: globalConfig.FallbackToErrorContentOnMissingTranslation,
}
for _, opt := range options {
Expand Down Expand Up @@ -253,7 +254,7 @@ func (e *defaultAppError) buildMessage(buildCfg *InfoBuilderConfig, result *Info
}
}

if title != "" {
if buildCfg.TranslateTitle && title != "" {
transTitle, err := buildCfg.TranslationFunc(buildCfg.Language, title, params)
if err != nil {
result.TransMissingKeys = append(result.TransMissingKeys, title)
Expand Down
8 changes: 8 additions & 0 deletions error_info.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type InfoBuilderConfig struct {
Language Language
ErrorSeparator string
TranslationFunc TranslationFunc
TranslateTitle bool
FallbackToErrorContentOnMissingTranslation bool
}

Expand Down Expand Up @@ -62,6 +63,13 @@ func InfoBuilderOptionTranslationFunc(translationFunc TranslationFunc) InfoBuild
}
}

// InfoBuilderOptionTranslateTitle sets flag indicating title translation
func InfoBuilderOptionTranslateTitle(translateTitle bool) InfoBuilderOption {
return func(cfg *InfoBuilderConfig) {
cfg.TranslateTitle = translateTitle
}
}

// InfoBuilderOptionSeparator sets custom content separator
func InfoBuilderOptionSeparator(errorSeparator string) InfoBuilderOption {
return func(cfg *InfoBuilderConfig) {
Expand Down
3 changes: 3 additions & 0 deletions error_info_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ func Test_InfoBuilderOption(t *testing.T) {
})(buildConfig)
assert.NotNil(t, buildConfig.TranslationFunc)

InfoBuilderOptionTranslateTitle(true)(buildConfig)
assert.True(t, buildConfig.TranslateTitle)

InfoBuilderOptionSeparator("abc123")(buildConfig)
assert.Equal(t, "abc123", buildConfig.ErrorSeparator)

Expand Down
Loading