Compare commits
3 Commits
3149ca25e1
...
a831d56d93
Author | SHA1 | Date | |
---|---|---|---|
a831d56d93 | |||
9d46db43c2 | |||
46d210d6d5 |
@ -1,11 +1,14 @@
|
||||
package error
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/lang"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/kernel"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/localizer"
|
||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||
"go.etcd.io/bbolt"
|
||||
)
|
||||
|
||||
type ViewContract interface {
|
||||
@ -14,23 +17,37 @@ type ViewContract interface {
|
||||
|
||||
type View struct {
|
||||
app kernel.AppContract
|
||||
isSetLanguage bool
|
||||
}
|
||||
|
||||
func NewView(app kernel.AppContract) *View {
|
||||
return &View{
|
||||
app: app,
|
||||
isSetLanguage: true,
|
||||
}
|
||||
}
|
||||
|
||||
func (v View) PanicError(err error) {
|
||||
if v.isSetLanguage {
|
||||
v.isSetLanguage = false
|
||||
_ = v.app.GetLocalizerService().SetCurrentLanguageByCode(lang.SystemLocale().LanguageString())
|
||||
}
|
||||
|
||||
messageHead := v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
|
||||
MessageID: "error",
|
||||
})
|
||||
|
||||
messagetText := err.Error()
|
||||
if errors.Is(err, bbolt.ErrTimeout) {
|
||||
messagetText = v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
|
||||
MessageID: "errorDatabaseTimeout",
|
||||
})
|
||||
}
|
||||
|
||||
v.app.GetWindow().SetContent(container.NewBorder(
|
||||
container.NewVBox(
|
||||
widget.NewLabel(messageHead),
|
||||
widget.NewLabel(err.Error()),
|
||||
widget.NewLabel(messagetText),
|
||||
),
|
||||
nil,
|
||||
nil,
|
||||
@ -42,6 +59,11 @@ func (v View) PanicError(err error) {
|
||||
}
|
||||
|
||||
func (v View) PanicErrorWriteDirectoryData() {
|
||||
if v.isSetLanguage {
|
||||
v.isSetLanguage = false
|
||||
_ = v.app.GetLocalizerService().SetCurrentLanguageByCode(lang.SystemLocale().LanguageString())
|
||||
}
|
||||
|
||||
message := v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
|
||||
MessageID: "errorDatabase",
|
||||
})
|
||||
|
@ -1,6 +1,7 @@
|
||||
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"
|
||||
)
|
||||
@ -28,10 +29,13 @@ func NewMainHandler(
|
||||
|
||||
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()
|
||||
|
@ -222,6 +222,10 @@ other = "Couldn't convert video"
|
||||
hash = "sha1-531abc3f0d12727e542df6e5a22de91098380fc1"
|
||||
other = "could not create file 'database' in folder 'data'"
|
||||
|
||||
[errorDatabaseTimeout]
|
||||
hash = "sha1-f8153516ac2442d19be4b6daccce839d204ff09f"
|
||||
other = "Could not open configuration file.\nMake sure another copy of the program is not running!"
|
||||
|
||||
[errorDragAndDrop1File]
|
||||
hash = "sha1-a8edb5cbd622f3ce4ec07a2377e22ec5fad4491b"
|
||||
other = "You can only drag and drop 1 file."
|
||||
|
@ -222,6 +222,10 @@ other = "Бейнені түрлендіру мүмкін болмады"
|
||||
hash = "sha1-531abc3f0d12727e542df6e5a22de91098380fc1"
|
||||
other = "'data' қалтасында 'database' файлын жасау мүмкін болмады"
|
||||
|
||||
[errorDatabaseTimeout]
|
||||
hash = "sha1-f8153516ac2442d19be4b6daccce839d204ff09f"
|
||||
other = "Конфигурация файлын аша алмады.\nБағдарламаның басқа көшірмесі іске қосылмағанына көз жеткізіңіз!"
|
||||
|
||||
[errorDragAndDrop1File]
|
||||
hash = "sha1-a8edb5cbd622f3ce4ec07a2377e22ec5fad4491b"
|
||||
other = "Тек 1 файлды сүйреп апаруға болады"
|
||||
|
@ -54,6 +54,7 @@ encoder_xbm = "XBM (X BitMap) image"
|
||||
error = "Произошла ошибка!"
|
||||
errorConverter = "не смогли отконвертировать видео"
|
||||
errorDatabase = "не смогли создать файл 'database' в папке 'data'"
|
||||
errorDatabaseTimeout = "Не смогли открыть файл конфигурации.\nУбедитесь, что другая копия программы не запущена!"
|
||||
errorDragAndDrop1File = "Можно перетащить только 1 файл"
|
||||
errorFFmpeg = "это не FFmpeg"
|
||||
errorFFmpegVersion = "Не смогли определить версию FFmpeg"
|
||||
|
Loading…
x
Reference in New Issue
Block a user