How to format and print data with localization and internationalization in Go?

To format and print data with localization and internationalization in Go, you can use the golang.org/x/text package. Follow these steps:

  1. Import the necessary packages:

    import ( "golang.org/x/text/message" "golang.org/x/text/language" )
  2. Create a formatter for the desired language:

    p := message.NewPrinter(language.YourDesiredLanguageTag)
  3. Format and print the data using the created formatter:

    p.Printf("Localized string: %s", yourData)

Here's a complete example for formatting and printing a number with localization:

package main import ( "golang.org/x/text/language" "golang.org/x/text/message" ) func main() { p := message.NewPrinter(language.French) p.Printf("The price is %.2f %s", 9.99, "EUR") }

In this example, the number 9.99 will be formatted as 9,99 (French decimal formatting) and the output will be The price is 9,99 EUR.

You can replace language.French with any other language tag available in the golang.org/x/text/language package to get the desired localization.

Make sure to include the required language tags data files to the project using the go get command, for example:

go get golang.org/x/text/unicode/ go get golang.org/x/text/message/

Refer to the golang.org/x/text package documentation for more information on how to handle localization and internationalization in Go.