Categorygithub.com/mixarchitecture/i18np
repositorypackage
0.0.0-20230822003812-2969b27e32d7
Repository: https://github.com/mixarchitecture/i18np.git
Documentation: pkg.go.dev

# README

this repository has been moved into cillop.

I18n Plus

I18n Plus allows you to translate your entire application.

Dependencies

Installation

go get github.com/mixarchitecture/i18np

Usage

package main

import (
    "fmt"

    "github.com/mixarchitecture/i18np"
)

func main() {
 i18n := i18np.New("en") // generate a new i18n instance with fallback locale "en"
    i18n.Load("./locales", "en", "tr") // load locales from "./locales" directory for "en" and "tr" locales
    i18n.Translate("my_key") // translate "my_key" with "en" locale
    i18n.Translate("my_key", "tr") // translate "my_key" with "tr" locale
    i18n.Translate("my_key", "tr", "en") // translate "my_key" with "tr" locale, fallback to "en" locale

    i18n.TranslateWithParams("my_param_key", i18np.P{"Name": "John"}) // translate "my_param_key" with "en" locale and "Name" parameter

    err := i18n.NewError("myKey") // generate translateable error
    translatedErr := i18n.TranslateFromError(err) // translate error with "en" locale
}

Bad Usage

package example

func Example() error {
    return errors.New("blabla")
}

Good Usage

package example

import (
    "github.com/mixarchitecture/i18np"
)

func Example() *i18np.Error {
    return i18np.NewError("my_errorKey")
}

func Example2() *i18np.Error {
    return i18np.NewError("my_errorKey", i18np.P{"Name": "John"})
}

Documentation

Documentation is available at pkg.go.dev.

Contributing

Contributions are always welcome!

License

MIT