Documentation ¶
Overview ¶
Package app は、engines, cache, utils などのパッケージを組み合わせてアプリを構成するパッケージです.
QiiTrans の本体でもありますが、main ではアプリのインスタンスの作成と実行だけで済むことで、テストを行いやすいように別のパッケージにしています.
Index ¶
- Constants
- Variables
- func GetMsgHelpUsage(nameApp string, nameCmd string) string
- type TApp
- func (a *TApp) CliRun(ctx *cli.Context) error
- func (a *TApp) GetUniformedInfo() (string, error)
- func (a *TApp) GetVersion() string
- func (a *TApp) InteractiveTranslation(orderLang []string) error
- func (a *TApp) NewEngine(nameEngine string, cacheID ...string) (*engine.Properties, error)
- func (a *TApp) PreRun() error
- func (a *TApp) PrintInfo(ctx *cli.Context) error
- func (a *TApp) Run() int
- func (a *TApp) SetArgValue(ctx *cli.Context) error
- func (a *TApp) SetEngine(nameEngine string) (err error)
- func (a *TApp) SingleShotTranslation(orderLang []string) (string, error)
- func (a *TApp) Translate(orderLang []string, inputText string) ([]TTranslation, error)
- type TFlagOptions
- type TTranslation
Constants ¶
const ( // NameDefault は、アプリの公式名称です. NameDefault = "QiiTrans" // VersionDefault はアプリのバイナリをビルドする際にバージョン指定がない場合のアプリのバージョンです. VersionDefault = "dev" // PrefixDefault は対話モードで翻訳済みメッセージに付ける接頭辞です. PrefixDefault = "再翻訳:" // PromptDefault は対話モードで入力の待受時に表示されるプロンプトです. PromptDefault = ">>> " // StopWordDefault は対話モードで、終了扱いにするワードです. StopWordDefault = "q" )
Variables ¶
var DebugReadBuildInfo = debug.ReadBuildInfo
DebugReadBuildInfo は debug.ReadBuildInfo のコピーです。テストで挙動を変えたい 場合にモック用の関数を割り当てるために利用します。
var ForceErrorGetUniformedInfo = false
ForceErrorGetUniformedInfo が true の場合、GetUniformedInfo はエラーを返します.
テスト時に強制的にエラーを返す必要がある場合のみ利用します.
var ForceFailRun bool = false
ForceFailRun は Run メソッドを強制的に失敗させる(1 を返す)ためのフラグです. 主にテスト目的で使われます.
Functions ¶
func GetMsgHelpUsage ¶
GetMsgHelpUsage はヘルプ(使い方)のテンプレートの定数 templateUsage から、name_app と name_cmd を置換した結果を返します.
Types ¶
type TApp ¶
type TApp struct { Argv *TFlagOptions Engine *engine.Properties Force map[string]bool Name string Prefix string // 対話モード時に翻訳結果の前につける接頭辞 Prompt string // 対話モード時の待受プロンプト文字(デフォルト: >>>) StopWord string // 対話モード時に終了を伝える単語(デフォルト: q) Version string // contains filtered or unexported fields }
TApp はアプリの構造体です.
func New ¶
New はアプリの新規オプジェクトのポインタを返します。
第 2 引数の cacheID は、コマンド・オプションの --cache-id でも指定できるため、 通常 cacheID は指定する必要はありません。 この ID は、API から受け取った翻訳済みのテキストを保存する際に使われます。テ スト中、キャッシュがテスト間でバッティングしないようにキャッシュ ID を指定し たい場合に利用します。
func (*TApp) GetUniformedInfo ¶
GetUniformedInfo は API 情報を読みやすいように整えた状態で返します.
func (*TApp) GetVersion ¶
GetVersion メソッドはアプリ名を含めたバージョン情報を返します.
Version フィールドの値が "v" で始まらない場合は、頭に付け加えます. Version フィールドの値が、空もしくは "dev" の場合は "dev version" になります.
func (*TApp) InteractiveTranslation ¶
InteractiveTranslation は、対話式(標準入力がない場合)の連続的な翻訳を行う メソッドです。
func (*TApp) Run ¶
Run メソッドはアプリを実行します. 実行に成功した場合は nil を、失敗した場合は error を返します.
テスト目的で強制的に失敗させる場合は ForceFail を true に設定します.
func (*TApp) SetArgValue ¶
SetArgValue は cli.Run 内で渡されるコンテキストからフラグやオプションの値をセットします.
func (*TApp) SingleShotTranslation ¶
SingleShotTranslation は標準入力から受け取ったテキストを翻訳する、単発翻訳用 のメソッドです。
type TFlagOptions ¶
type TFlagOptions struct { APIKey string `cli:"a,apikey" usage:"翻訳に使うエンジンのアクセス・トークンを指定します" dft:""` CacheID string `` /* 131-byte string literal not displayed */ NameEngine string `cli:"e,engine" usage:"翻訳に使うエンジンを指定します" dft:"deepl"` UsageApp string `cli:"-"` // アプリのヘルプ表示で使われる本文メッセージ ClearBeforeRun bool `cli:"clear" usage:"実行前にキャッシュを完全に削除します。(API の利用枠を消費します)"` Help bool `cli:"h,help" usage:"ヘルプを表示します"` IsModeDebug bool `cli:"debug" usage:"デバッグ情報を標準エラー出力に出力します"` IsNoCache bool `` /* 134-byte string literal not displayed */ IsPiped bool `cli:"-"` // パイプ渡しで値を受け取っているか IsVerbose bool `cli:"verbose" usage:"中間翻訳も出力します。"` ShowInfo bool `cli:"info" usage:"API のリクエスト可能な残数など、API 情報を出力します"` ShowInfoOnly bool `cli:"-"` // 他の引数がない場合は true になり API 情報のみの出力になります Version bool `cli:"v,version" usage:"アプリのバージョン情報を表示します"` }
TFlagOptions はアプリ(コマンド)のフラグやオプションの設定やその設定値およびヘルプの表示内容を定義した構造体です. アプリの bool オプション(フラグ)や string オプションなどは、ここで定義します.
func (*TFlagOptions) AutoHelp ¶
func (argv *TFlagOptions) AutoHelp() bool
AutoHelp は cli.AutoHelper インターフェースの実装です.
この関数は cli.Run() から呼び出され、AutoHelp() が true を返した場合は cli.Run() は argv のオプションのヘルプを表示します.
func (*TFlagOptions) SetHelpMsg ¶
func (argv *TFlagOptions) SetHelpMsg()
SetHelpMsg はヘルプのテンプレートに現在のアプリ名及び実行ファイル名を流し込みセットします.
type TTranslation ¶
TTranslation は翻訳結果を保持するオブジェクトを定義します。
func NewTranslation ¶
func NewTranslation(langFrom, langTo, originalInput string) TTranslation
NewTranslation returns an initialized TTranslation object.
Source Files ¶
- CONSTANTS.go
- GetMsgHelpUsage.go
- New.go
- TApp.CliRun.go
- TApp.GetUniformedInfo.go
- TApp.GetVersion.go
- TApp.InteractiveTranslation.go
- TApp.NewEngine.go
- TApp.PreRun.go
- TApp.PrintInfo.go
- TApp.Run.go
- TApp.SetArgValue.go
- TApp.SetEngine.go
- TApp.SingleShotTranslation.go
- TApp.Translate.go
- TApp.go
- TFlagOptions.AutoHelp.go
- TFlagOptions.SetHelpMsg.go
- TFlagOptions.Validate.go
- TFlagOptions.go
- TTranslation.NewTranslation.go
- TTranslation.go
- docs.go