I made it so that if the OS language matches the language into which there is a translation, it would be used by default. And if not, then I would suggest choosing which language to use.
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package handler
|
|
|
|
import (
|
|
"fyne.io/fyne/v2/lang"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/kernel"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/localizer"
|
|
)
|
|
|
|
type MainHandler struct {
|
|
app kernel.AppContract
|
|
convertorHandler ConvertorHandlerContract
|
|
menuHandler MenuHandlerContract
|
|
localizerRepository localizer.RepositoryContract
|
|
}
|
|
|
|
func NewMainHandler(
|
|
app kernel.AppContract,
|
|
convertorHandler ConvertorHandlerContract,
|
|
menuHandler MenuHandlerContract,
|
|
localizerRepository localizer.RepositoryContract,
|
|
) *MainHandler {
|
|
return &MainHandler{
|
|
app: app,
|
|
convertorHandler: convertorHandler,
|
|
menuHandler: menuHandler,
|
|
localizerRepository: localizerRepository,
|
|
}
|
|
}
|
|
|
|
func (h MainHandler) Start() {
|
|
language, err := h.localizerRepository.GetCode()
|
|
if err != nil {
|
|
err = h.app.GetLocalizerService().SetCurrentLanguageByCode(lang.SystemLocale().LanguageString())
|
|
if err != nil {
|
|
h.menuHandler.LanguageSelection()
|
|
return
|
|
}
|
|
}
|
|
_ = h.app.GetLocalizerService().SetCurrentLanguageByCode(language)
|
|
|
|
h.convertorHandler.MainConvertor()
|
|
}
|