Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 1.2 KB

README.md

File metadata and controls

60 lines (43 loc) · 1.2 KB

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",
}