Refactor localization system and migrate to Fyne's built-in support
Replaced the `i18n` and `toml` dependencies with Fyne's built-in language system for localization management. Updated the `Localizer` implementation to handle translations using JSON files and embed functionality. Simplified language selection and persisted settings via Fyne's preferences API.
This commit is contained in:
@@ -6,7 +6,6 @@ import (
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/encoder"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/encoder/libx264"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/kernel"
|
||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||
)
|
||||
|
||||
func View(encoder encoder.EncoderContract, app kernel.AppContract) []*widget.FormItem {
|
||||
@@ -28,7 +27,7 @@ func presetParameter(encoder encoder.EncoderContract, app kernel.AppContract) []
|
||||
presetDefault := ""
|
||||
|
||||
for _, name := range libx264.Presets {
|
||||
title := app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{MessageID: "preset_" + name})
|
||||
title := app.GetLocalizerService().GetMessage("preset_" + name)
|
||||
presetsForSelect = append(presetsForSelect, title)
|
||||
presets[title] = name
|
||||
if name == parameter.Get() {
|
||||
@@ -45,7 +44,7 @@ func presetParameter(encoder encoder.EncoderContract, app kernel.AppContract) []
|
||||
elementSelect.SetSelected(presetDefault)
|
||||
elementSelect.Hide()
|
||||
|
||||
checkboxTitle := app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{MessageID: "parameterCheckbox"})
|
||||
checkboxTitle := app.GetLocalizerService().GetMessage("parameterCheckbox")
|
||||
elementCheckbox := widget.NewCheck(checkboxTitle, func(b bool) {
|
||||
if b == true {
|
||||
parameter.SetEnable()
|
||||
@@ -58,7 +57,7 @@ func presetParameter(encoder encoder.EncoderContract, app kernel.AppContract) []
|
||||
|
||||
return []*widget.FormItem{
|
||||
{
|
||||
Text: app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{MessageID: "formPreset"}),
|
||||
Text: app.GetLocalizerService().GetMessage("formPreset"),
|
||||
Widget: container.NewVBox(elementCheckbox, elementSelect),
|
||||
},
|
||||
}
|
||||
|
Reference in New Issue
Block a user