Creating go-i18n JSON file by parsing your go source code
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.travis.yml
LICENSE
README.md
analyzer.go
analyzer_test.go

README.md

Build Status

goi18n-parser

Note: Please check go-i18n before to use this package.

Usage

very simple!

package main

import (
    "fmt"
    "goi18np"
    "encoding/json"
)

func main() {
    a := goi18np.Analyzer{
        Debug: true,
    }
    result := a.AnalyzeFromFile("path/to/code.go")

    out, err := json.Marshal(result)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(out))

    a.SaveJSON("path/to/translate.json")
}

Analyzer

Analyzer has fields:

name type description
FuncName string Analyze target function name
Debug bool If true, exec ast.Print for go source codes
Records []I18NRecord Analysis result with FuncName

you can analyze such as the following code:

fmt.Println(T("message_uniq_key"))
fmt.Println(SomeStruct.T("message_uniq_key"))

If you want to parse other function names, please fill FuncName:

a := Analyzer{
    FuncName: "Translation",
}