i18n

package
v0.27.0-alpha.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2023 License: Apache-2.0 Imports: 10 Imported by: 331

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	LoadTranslationsFunc = func() error {
		return LoadTranslations("kubectl", nil)
	}
)

Functions

func Errorf

func Errorf(defaultValue string, args ...int) error

Errorf produces an error with a translated error string. Substitution is performed via the `T` function above, following the same rules.

func LoadTranslations

func LoadTranslations(root string, getLanguageFn func() string) error

LoadTranslations loads translation files. getLanguageFn should return a language string (e.g. 'en-US'). If getLanguageFn is nil, then the loadSystemLanguage function is used, which uses the 'LANG' environment variable.

func SetLoadTranslationsFunc added in v0.27.0

func SetLoadTranslationsFunc(f func() error) error

SetLoadTranslationsFunc sets the function called to lazy load translations. It must be called in an init() func that occurs BEFORE any i18n.T() calls are made by any package. You can accomplish this by creating a separate package containing your init() func, and then importing that package BEFORE any other packages that call i18n.T().

Example Usage:

package myi18n

import "k8s.io/kubectl/pkg/util/i18n"

func init() {
	if err := i18n.SetLoadTranslationsFunc(loadCustomTranslations); err != nil {
		panic(err)
	}
}

func loadCustomTranslations() error {
	// Load your custom translations here...
}

And then in your main or root command package, import your custom package like this:

import (
	// Other imports that don't need i18n...
	_ "example.com/myapp/myi18n"
	// Other imports that do need i18n...
)

func T

func T(defaultValue string, args ...int) string

T translates a string, possibly substituting arguments into it along the way. If len(args) is > 0, args1 is assumed to be the plural value and plural translation is used.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL