From 926c946a52e51ae67a3d4d1a0e67c7b83d27317b Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Tue, 11 Jun 2024 15:18:30 +0800 Subject: [PATCH 1/9] fixed: toolbar icons are not scaled properly on 100% DPI #1936 --- .../Components/ImageGlass.Settings/Config.cs | 9 +++------ .../ImageGlass.UI/Themes/IgTheme.cs | 20 ++++++++----------- .../ImageGlass.UI/Toolbar/ModernToolbar.cs | 4 ++-- Source/ImageGlass/FrmMain.cs | 5 +++++ .../ImageGlass/FrmMain/FrmMain.IGMethods.cs | 2 +- Source/igcmd/Tools/FrmSlideshow.cs | 7 +++---- 6 files changed, 22 insertions(+), 25 deletions(-) diff --git a/Source/Components/ImageGlass.Settings/Config.cs b/Source/Components/ImageGlass.Settings/Config.cs index 46d53930d..8609cae95 100644 --- a/Source/Components/ImageGlass.Settings/Config.cs +++ b/Source/Components/ImageGlass.Settings/Config.cs @@ -1568,11 +1568,8 @@ public static void LoadThemePack(bool darkMode, bool useFallBackTheme, bool thro /// private static IgTheme? FindAndLoadThemePack(string themeFolderName, bool useFallBackTheme, bool throwIfThemeInvalid) { - // support 400% DPI - var iconHeight = Config.ToolbarIconHeight * 4; - // look for theme pack in the Config dir - var th = new IgTheme(App.ConfigDir(PathType.Dir, Dir.Themes, themeFolderName), iconHeight); + var th = new IgTheme(App.ConfigDir(PathType.Dir, Dir.Themes, themeFolderName)); var themeConfigPath = th.ConfigFilePath; if (!th.IsValid) @@ -1580,7 +1577,7 @@ public static void LoadThemePack(bool darkMode, bool useFallBackTheme, bool thro // look for theme pack in the Startup dir th.Dispose(); th = null; - th = new(App.StartUpDir(Dir.Themes, themeFolderName), iconHeight); + th = new(App.StartUpDir(Dir.Themes, themeFolderName)); // cannot find theme, use fall back theme if (!th.IsValid && useFallBackTheme) @@ -1589,7 +1586,7 @@ public static void LoadThemePack(bool darkMode, bool useFallBackTheme, bool thro th = null; // load default theme - th = new(App.StartUpDir(Dir.Themes, Const.DEFAULT_THEME), iconHeight); + th = new(App.StartUpDir(Dir.Themes, Const.DEFAULT_THEME)); } } diff --git a/Source/Components/ImageGlass.UI/Themes/IgTheme.cs b/Source/Components/ImageGlass.UI/Themes/IgTheme.cs index f8297ea3a..dfcdfaf04 100644 --- a/Source/Components/ImageGlass.UI/Themes/IgTheme.cs +++ b/Source/Components/ImageGlass.UI/Themes/IgTheme.cs @@ -62,7 +62,6 @@ public virtual void Dispose() #endregion - private int _iconHeight = Const.TOOLBAR_ICON_HEIGHT; private Bitmap? _defaultIcon = null; @@ -176,12 +175,8 @@ public string NavRightImagePath /// /// Initializes theme pack and reads the theme config file. /// - public IgTheme( - string themeFolderPath = "", - int? iconHeight = null) + public IgTheme(string themeFolderPath = "") { - _iconHeight = iconHeight ?? _iconHeight; - // read theme config _ = ReadThemeConfig(themeFolderPath); } @@ -260,7 +255,8 @@ await Parallel.ForEachAsync(JsonModel.Settings, async (item, _) => // property is WicBitmapSource if (prop?.PropertyType == typeof(WicBitmapSource)) { - using var bmp = await PhotoCodec.GetThumbnailAsync(Path.Combine(FolderPath, value), _iconHeight, _iconHeight); + var navBtnSize = Const.TOOLBAR_ICON_HEIGHT * 4; + using var bmp = await PhotoCodec.GetThumbnailAsync(Path.Combine(FolderPath, value), navBtnSize, navBtnSize); var wicBmp = BHelper.ToWicBitmapSource(bmp); prop.SetValue(Settings, wicBmp); @@ -388,7 +384,7 @@ public async Task SaveConfigAsFileAsync(string filePath) /// Theme pack's icon name or image file path. /// Example: OpenFile, or .\Themes\Kobe\OpenFile.svg /// - public async Task GetToolbarIconAsync(string? name) + public async Task GetToolbarIconAsync(string? name, int iconHeight) { if (string.IsNullOrEmpty(name)) return null; @@ -405,12 +401,12 @@ public async Task GetToolbarIconAsync(string? name) // load icon from full path icon = await PhotoCodec.GetThumbnailAsync( !string.IsNullOrEmpty(iconPath) ? iconPath : name, - _iconHeight, _iconHeight); + iconHeight, iconHeight); } catch { // set empty icon - _defaultIcon ??= BHelper.CreateDefaultToolbarIcon(_iconHeight, Settings.IsDarkMode); + _defaultIcon ??= BHelper.CreateDefaultToolbarIcon(iconHeight, Settings.IsDarkMode); icon = _defaultIcon; } @@ -425,9 +421,9 @@ public async Task GetToolbarIconAsync(string? name) /// Theme pack's icon name or image file path. /// Example: OpenFile, or .\Themes\Kobe\OpenFile.svg /// - public Bitmap GetToolbarIcon(string? name) + public Bitmap GetToolbarIcon(string? name, int iconHeight) { - return BHelper.RunSync(() => GetToolbarIconAsync(name)); + return BHelper.RunSync(() => GetToolbarIconAsync(name, iconHeight)); } } diff --git a/Source/Components/ImageGlass.UI/Toolbar/ModernToolbar.cs b/Source/Components/ImageGlass.UI/Toolbar/ModernToolbar.cs index f8025c24a..4abf0ba23 100644 --- a/Source/Components/ImageGlass.UI/Toolbar/ModernToolbar.cs +++ b/Source/Components/ImageGlass.UI/Toolbar/ModernToolbar.cs @@ -604,7 +604,7 @@ await Parallel.ForAsync(0, Items.Count, async (i, _) => // update item from metadata var tagModel = bItem.Tag as ToolbarItemTagModel; - bItem.Image = await Theme.GetToolbarIconAsync(tagModel?.Image); + bItem.Image = await Theme.GetToolbarIconAsync(tagModel?.Image, IconHeight); } }); @@ -717,7 +717,7 @@ public ToolbarAddItemResult AddItem(ToolbarItemModel model, OnClick = model.OnClick, }, - Image = Theme?.GetToolbarIcon(model.Image), + Image = Theme?.GetToolbarIcon(model.Image, IconHeight), }; } diff --git a/Source/ImageGlass/FrmMain.cs b/Source/ImageGlass/FrmMain.cs index 1ec88b7fc..f32d7a27b 100644 --- a/Source/ImageGlass/FrmMain.cs +++ b/Source/ImageGlass/FrmMain.cs @@ -80,10 +80,15 @@ protected override void OnDpiChanged() base.OnDpiChanged(); SuspendLayout(); + // update toolbar icon size + _ = Toolbar.UpdateThemeAsync(Config.ToolbarIconHeight); + _ = ToolbarContext.UpdateThemeAsync(Config.ToolbarIconHeight); // update Frame Navigation toolbar state UpdateFrameNavToolbarButtonState(); + UpdateGallerySize(); + // update picmain scaling PicMain.NavButtonSize = this.ScaleToDpi(new SizeF(50f, 50f)); PicMain.CheckerboardCellSize = this.ScaleToDpi(Const.VIEWER_GRID_SIZE); diff --git a/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs b/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs index 60e83906e..07e01ede8 100644 --- a/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs +++ b/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs @@ -3166,7 +3166,7 @@ private void UpdateFrameNavToolbarButtonState() model.Image = nameof(Config.Theme.ToolbarIcons.Pause); } - btn.Image = Config.Theme.GetToolbarIcon(model.Image); + btn.Image = Config.Theme.GetToolbarIcon(model.Image, ToolbarContext.IconHeight); } } diff --git a/Source/igcmd/Tools/FrmSlideshow.cs b/Source/igcmd/Tools/FrmSlideshow.cs index 12b129c3a..cb32cf774 100644 --- a/Source/igcmd/Tools/FrmSlideshow.cs +++ b/Source/igcmd/Tools/FrmSlideshow.cs @@ -403,8 +403,7 @@ private void IgTool_ToolMessageReceived(object? sender, MessageReceivedEventArgs // update theme if (e.MessageName.Equals(ImageGlassEvents.THEME_UPDATED, StringComparison.InvariantCultureIgnoreCase)) { - var iconHeight = Config.ToolbarIconHeight * 4; - Config.Theme = new IgTheme(e.MessageData, iconHeight); + Config.Theme = new IgTheme(e.MessageData); ApplyTheme(Config.Theme.Settings.IsDarkMode); return; @@ -480,9 +479,9 @@ private void PicMain_MouseWheel(object? sender, MouseEventArgs e) #region Get mouse wheel action // get user-defined mouse wheel action - if (Config.MouseWheelActions.ContainsKey(eventType)) + if (Config.MouseWheelActions.TryGetValue(eventType, out MouseWheelAction value)) { - action = Config.MouseWheelActions[eventType]; + action = value; } // if not found, use the defaut mouse wheel action else From b11e4e4c6f256f24210f4021249417124dbdcabb Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Thu, 13 Jun 2024 22:22:43 +0200 Subject: [PATCH 2/9] fixed: image is stretched when rotating #1937 --- Source/Components/ImageGlass.Views/DXCanvas.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Components/ImageGlass.Views/DXCanvas.cs b/Source/Components/ImageGlass.Views/DXCanvas.cs index d1707b5c2..b3a15d234 100644 --- a/Source/Components/ImageGlass.Views/DXCanvas.cs +++ b/Source/Components/ImageGlass.Views/DXCanvas.cs @@ -3166,7 +3166,7 @@ public bool RotateImage(float degree, bool requestRerender = true) // render the transformation if (requestRerender) { - Refresh(resetZoom: false); + Refresh(); } return true; From ffa7fd1527c18e4c2a9d09a305e7d7745eb6a11d Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Mon, 24 Jun 2024 00:47:27 +0200 Subject: [PATCH 3/9] MovableForm: show mover control for frameless dragging #1951 --- .../Forms}/MovableForm.cs | 107 +++++++++++++----- .../ImageGlass.UI/NativeMethods.txt | 2 + .../ImageGlass.UI/Themes/IconFile.cs | 1 + .../ImageGlass/FrmMain/FrmMain.IGMethods.cs | 13 ++- Source/ImageGlass/Icons/ArrowMove.svg | 8 ++ Source/ImageGlass/ImageGlass.csproj | 3 + Source/igcmd/Tools/FrmSlideshow.cs | 8 +- 7 files changed, 108 insertions(+), 34 deletions(-) rename Source/Components/{ImageGlass.Base/WinApi => ImageGlass.UI/Forms}/MovableForm.cs (60%) create mode 100644 Source/ImageGlass/Icons/ArrowMove.svg diff --git a/Source/Components/ImageGlass.Base/WinApi/MovableForm.cs b/Source/Components/ImageGlass.UI/Forms/MovableForm.cs similarity index 60% rename from Source/Components/ImageGlass.Base/WinApi/MovableForm.cs rename to Source/Components/ImageGlass.UI/Forms/MovableForm.cs index ada6a2f40..da14b310d 100644 --- a/Source/Components/ImageGlass.Base/WinApi/MovableForm.cs +++ b/Source/Components/ImageGlass.UI/Forms/MovableForm.cs @@ -17,10 +17,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +using ImageGlass.Base; +using ImageGlass.Base.WinApi; using Windows.Win32; using Windows.Win32.Foundation; -namespace ImageGlass.Base.WinApi; +namespace ImageGlass.UI; /// @@ -31,8 +33,10 @@ public class MovableForm private const int WM_NCLBUTTONDOWN = 0xA1; private const int HT_CAPTION = 0x2; - private readonly Form _form; + private readonly ModernForm _form; private bool _isKeyDown = true; + private Control? _moverControl = null; + private bool _isMoverControlDarkMode = true; #region Public props @@ -42,6 +46,11 @@ public class MovableForm /// public bool EnableFreeMoving { get; set; } = true; + /// + /// Sets visibility of mover control. + /// + public bool ShowMover { get; set; } = false; + /// /// Gets, sets the mouse button press for moving /// @@ -64,56 +73,43 @@ public class MovableForm /// Initialize the MovableForm /// /// The form to make it movable - public MovableForm(Form form) => _form = form; + public MovableForm(ModernForm form) => _form = form; #region Public methods /// - /// Enable moving ability on this form + /// Enable moving ability on the given controls /// - public void Enable() + /// + public void Enable(params Control[] controls) { _isKeyDown = Key == Keys.None; _form.KeyDown += Form_KeyDown; _form.KeyUp += Form_KeyUp; _form.MouseDown += Event_MouseDown; - } - /// - /// Enable moving ability on the given controls - /// - /// - public void Enable(params Control[] controls) - { - _isKeyDown = Key == Keys.None; - foreach (var item in controls) + foreach (var ctr in controls) { - item.MouseDown += Event_MouseDown; + ctr.MouseDown += Event_MouseDown; } } /// - /// Disable moving ability on this form + /// Disable moving ability on the given controls /// - public void Disable() + /// + public void Disable(params Control[] controls) { _form.KeyDown -= Form_KeyDown; _form.KeyUp -= Form_KeyUp; _form.MouseDown -= Event_MouseDown; - } - /// - /// Disable moving ability on the given controls - /// - /// - public void Disable(params Control[] controls) - { - foreach (var item in controls) + foreach (var ctr in controls) { - item.MouseDown -= Event_MouseDown; + ctr.MouseDown -= Event_MouseDown; } } @@ -132,19 +128,28 @@ private void Form_KeyDown(object? sender, KeyEventArgs e) { _isKeyDown = e.KeyData == Key; } + + if (_isKeyDown && ShowMover) + { + SetMoverControlVisibility(true); + } } + private void Form_KeyUp(object? sender, KeyEventArgs e) { _isKeyDown = Key == Keys.None; + SetMoverControlVisibility(false); } + private void Event_MouseDown(object? sender, MouseEventArgs e) { // check if 'sender' can move without keydown event var control = (Control?)sender; - var isFreeMove = FreeMoveControlNames.Count > 0 - && FreeMoveControlNames.Contains(control.Name); + var isFreeMove = control.Name == _moverControl?.Name + || (FreeMoveControlNames.Count > 0 + && FreeMoveControlNames.Contains(control.Name)); if (e.Clicks == 1 && e.Button == MouseButton @@ -156,6 +161,52 @@ private void Event_MouseDown(object? sender, MouseEventArgs e) } } + + private void SetMoverControlVisibility(bool visible) + { + if (_moverControl != null) + { + _form.Controls.Remove(_moverControl); + _moverControl.MouseDown -= Event_MouseDown; + } + + + if (visible) + { + _moverControl ??= new Panel() + { + Name = "PanMoverControl", + Width = DpiApi.Scale(100), + Height = DpiApi.Scale(100), + ForeColor = Color.White, + BackgroundImageLayout = ImageLayout.Center, + Cursor = Cursors.SizeAll, + }; + + // set movable icon + if (_moverControl.BackgroundImage == null || _isMoverControlDarkMode != _form.DarkMode) + { + _isMoverControlDarkMode = _form.DarkMode; + + var iconSize = DpiApi.Scale(50); + var svgPath = IconFile.GetFullPath(IconName.ArrowMove); + _moverControl.BackgroundImage?.Dispose(); + _moverControl.BackgroundImage = BHelper.ToGdiPlusBitmapFromSvg(svgPath, _form.DarkMode, iconSize, iconSize); + } + + // set center position + _moverControl.Left = _form.Width / 2 - _moverControl.Width / 2; + _moverControl.Top = _form.Height / 2 - _moverControl.Height / 2 - SystemInformation.CaptionHeight; + + // set mouse event + _moverControl.MouseDown += Event_MouseDown; + + _form.Controls.Add(_moverControl); + _moverControl.BringToFront(); + } + } + + #endregion // Events: Free form moving diff --git a/Source/Components/ImageGlass.UI/NativeMethods.txt b/Source/Components/ImageGlass.UI/NativeMethods.txt index 5f97debf9..44982695a 100644 --- a/Source/Components/ImageGlass.UI/NativeMethods.txt +++ b/Source/Components/ImageGlass.UI/NativeMethods.txt @@ -2,3 +2,5 @@ DwmIsCompositionEnabled DwmSetWindowAttribute DwmExtendFrameIntoClientArea +ReleaseCapture +SendMessage diff --git a/Source/Components/ImageGlass.UI/Themes/IconFile.cs b/Source/Components/ImageGlass.UI/Themes/IconFile.cs index bb7387b23..46a96caac 100644 --- a/Source/Components/ImageGlass.UI/Themes/IconFile.cs +++ b/Source/Components/ImageGlass.UI/Themes/IconFile.cs @@ -74,5 +74,6 @@ public enum IconName ArrowDown, ArrowLeft, ArrowRight, + ArrowMove, ArrowExchange, } diff --git a/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs b/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs index 07e01ede8..c84447f9b 100644 --- a/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs +++ b/Source/ImageGlass/FrmMain/FrmMain.IGMethods.cs @@ -2418,6 +2418,13 @@ public bool IG_ToggleFrameless(bool? enable = null, bool showInAppMessage = true WindowApi.SetRoundCorner(Handle); } + // enable mover control + if (_movableForm != null) + { + _movableForm.ShowMover = Config.EnableFrameless; + } + + // update toolbar items state UpdateToolbarItemsState(); @@ -2775,13 +2782,11 @@ public void IG_SetWindowMoveable(bool? enable = null) if (enable.Value) { - _movableForm.Enable(); - _movableForm.Enable(Toolbar, ToolbarContext, PicMain); + _movableForm.Enable(Toolbar, ToolbarContext); } else { - _movableForm.Disable(); - _movableForm.Disable(Toolbar, ToolbarContext, PicMain); + _movableForm.Disable(Toolbar, ToolbarContext); } } diff --git a/Source/ImageGlass/Icons/ArrowMove.svg b/Source/ImageGlass/Icons/ArrowMove.svg new file mode 100644 index 000000000..fc72d0fbe --- /dev/null +++ b/Source/ImageGlass/Icons/ArrowMove.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Source/ImageGlass/ImageGlass.csproj b/Source/ImageGlass/ImageGlass.csproj index 7b4e23a99..87cc8520b 100644 --- a/Source/ImageGlass/ImageGlass.csproj +++ b/Source/ImageGlass/ImageGlass.csproj @@ -125,6 +125,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest diff --git a/Source/igcmd/Tools/FrmSlideshow.cs b/Source/igcmd/Tools/FrmSlideshow.cs index cb32cf774..9c87c345e 100644 --- a/Source/igcmd/Tools/FrmSlideshow.cs +++ b/Source/igcmd/Tools/FrmSlideshow.cs @@ -1771,6 +1771,12 @@ private bool IG_ToggleFrameless(bool? enable = null, bool showInAppMessage = tru // update menu item state MnuFrameless.Checked = Config.EnableFrameless; + // enable mover control + if (_movableForm != null) + { + _movableForm.ShowMover = Config.EnableFrameless; + } + if (showInAppMessage) { var langPath = $"FrmMain.{nameof(MnuFrameless)}"; @@ -1803,12 +1809,10 @@ public void IG_SetWindowMoveable(bool? enable = null) if (enable.Value) { _movableForm.Enable(); - _movableForm.Enable(PicMain); } else { _movableForm.Disable(); - _movableForm.Disable(PicMain); } } From e195e0e008f6defb62d8dae4a9db6cec45e6ab1c Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Tue, 25 Jun 2024 17:37:28 +0200 Subject: [PATCH 4/9] fixed: frameless window shrunk after restart #1924 --- .../ImageGlass.Settings/WindowSettings.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Source/Components/ImageGlass.Settings/WindowSettings.cs b/Source/Components/ImageGlass.Settings/WindowSettings.cs index 606fea801..4f0b8f568 100644 --- a/Source/Components/ImageGlass.Settings/WindowSettings.cs +++ b/Source/Components/ImageGlass.Settings/WindowSettings.cs @@ -90,12 +90,25 @@ public static void LoadFrmMainPlacementFromConfig(Form frm, /// public static void SaveFrmMainPlacementToConfig(Form frm) { + var extraW = 0; + var extraH = 0; + + // if window is borderless, we need to get the size of bordered window. + // if not, the frameless window size in next launch will be shrunk + // https://github.com/d2phap/ImageGlass/issues/1924 + if (frm.FormBorderStyle == FormBorderStyle.None) + { + using var tempFrm = new Form(); + extraW = tempFrm.Bounds.Width - tempFrm.ClientSize.Width; + extraH = tempFrm.Bounds.Height - tempFrm.ClientSize.Height; + } + var placement = WindowApi.GetWindowPlacement(frm); Config.FrmMainPositionX = placement.Bounds.Left; Config.FrmMainPositionY = placement.Bounds.Top; - Config.FrmMainWidth = placement.Bounds.Width; - Config.FrmMainHeight = placement.Bounds.Height; + Config.FrmMainWidth = placement.Bounds.Width + extraW; + Config.FrmMainHeight = placement.Bounds.Height + extraH; Config.FrmMainState = placement.State; } From de2badd634dcab0fda5dc10bf53b3978faf6f062 Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Wed, 26 Jun 2024 13:02:13 +0200 Subject: [PATCH 5/9] fixed: IG crashed when Inkscape adds system PATH #1935 --- .../ImageGlass.Base/BHelper/Photoing.cs | 3 +- .../Photoing/Codecs/PhotoCodec.cs | 58 ++++++++++--------- .../ImageGlass.UI/Themes/IgTheme.cs | 7 ++- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/Source/Components/ImageGlass.Base/BHelper/Photoing.cs b/Source/Components/ImageGlass.Base/BHelper/Photoing.cs index 0f36a4dac..00e6fa2af 100644 --- a/Source/Components/ImageGlass.Base/BHelper/Photoing.cs +++ b/Source/Components/ImageGlass.Base/BHelper/Photoing.cs @@ -372,7 +372,8 @@ public static Bitmap ToGdiPlusBitmap(string filePath, bool useICM = true) { if (string.IsNullOrEmpty(svgFilePath)) return null; - using var imgM = PhotoCodec.ReadSvgWithMagick(svgFilePath, darkMode, width, height); + using var imgM = BHelper.RunSync(() => PhotoCodec.ReadSvgWithMagickAsync(svgFilePath, darkMode, width, height)); + return imgM.ToBitmap(ImageFormat.Png); } diff --git a/Source/Components/ImageGlass.Base/Photoing/Codecs/PhotoCodec.cs b/Source/Components/ImageGlass.Base/Photoing/Codecs/PhotoCodec.cs index 4ebbe3d30..a5adb111e 100644 --- a/Source/Components/ImageGlass.Base/Photoing/Codecs/PhotoCodec.cs +++ b/Source/Components/ImageGlass.Base/Photoing/Codecs/PhotoCodec.cs @@ -383,41 +383,42 @@ public static string GetThumbnailBase64(string filePath, int width, int height) /// Reads and processes the SVG file, replaces #000 or #fff /// by the corresponding hex color value of the . /// - public static MagickImage? ReadSvgWithMagick(string svgFilePath, bool darkMode, int? width, int? height) + public static async Task ReadSvgWithMagickAsync(string svgFilePath, bool? darkMode, int? width, int? height, CancellationToken token = default) { - // preprocess SVG content - var svg = string.Empty; - using var fs = new StreamReader(svgFilePath); - svg = fs.ReadToEnd(); - - - if (darkMode) - { - svg = svg.Replace("#000", "#fff"); - } - else + // set up Magick settings + var settings = ParseSettings(new CodecReadOptions() { - svg = svg.Replace("#fff", "#000"); - } - - using var ms = new MemoryStream(Encoding.UTF8.GetBytes(svg)); + Width = width ?? 0, + Height = height ?? 0, + }, false, svgFilePath); + var imgM = new MagickImage(); - // set up Magick settings - var settings = new MagickReadSettings(); - settings.SetDefine("svg:xml-parse-huge", "true"); - settings.Format = MagickFormat.Svg; - settings.BackgroundColor = MagickColors.Transparent; - if (width > 0 && height > 0) + // change SVG icon color if requested + if (darkMode != null) { - settings.Width = width; - settings.Height = height; - } + // preprocess SVG content + using var fs = new StreamReader(svgFilePath); + var svg = await fs.ReadToEndAsync(token); + if (darkMode.Value) + { + svg = svg.Replace("#000", "#fff"); + } + else + { + svg = svg.Replace("#fff", "#000"); + } - var imgM = new MagickImage(); - imgM.Read(ms, settings); + using var ms = new MemoryStream(Encoding.UTF8.GetBytes(svg)); + imgM.Read(ms, settings); + } + else + { + await imgM.ReadAsync(svgFilePath, settings, token); + } + return imgM; } @@ -1289,8 +1290,9 @@ private static MagickReadSettings ParseSettings(CodecReadOptions? options, bool if (ext.Equals(".SVG", StringComparison.OrdinalIgnoreCase)) { - settings.BackgroundColor = MagickColors.Transparent; settings.SetDefine("svg:xml-parse-huge", "true"); + settings.Format = MagickFormat.Rsvg; + settings.BackgroundColor = MagickColors.Transparent; } else if (ext.Equals(".HEIC", StringComparison.OrdinalIgnoreCase) || ext.Equals(".HEIF", StringComparison.OrdinalIgnoreCase)) diff --git a/Source/Components/ImageGlass.UI/Themes/IgTheme.cs b/Source/Components/ImageGlass.UI/Themes/IgTheme.cs index dfcdfaf04..51f476d9e 100644 --- a/Source/Components/ImageGlass.UI/Themes/IgTheme.cs +++ b/Source/Components/ImageGlass.UI/Themes/IgTheme.cs @@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License using ImageGlass.Base; using ImageGlass.Base.Photoing.Codecs; using ImageGlass.Base.WinApi; +using ImageMagick; using WicNet; namespace ImageGlass.UI; @@ -397,11 +398,11 @@ public async Task GetToolbarIconAsync(string? name, int iconHeight) try { var iconPath = GetToolbarIconFilePath(name); + var iconFile = !string.IsNullOrEmpty(iconPath) ? iconPath : name; // load icon from full path - icon = await PhotoCodec.GetThumbnailAsync( - !string.IsNullOrEmpty(iconPath) ? iconPath : name, - iconHeight, iconHeight); + using var imgM = await PhotoCodec.ReadSvgWithMagickAsync(iconFile, null, iconHeight, iconHeight); + icon = imgM.ToBitmap(); } catch { From 54e2d0fd8caec868238da049124f47921c4ef26d Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Wed, 26 Jun 2024 13:08:03 +0200 Subject: [PATCH 6/9] bump version --- Source/Components/ImageGlass.Base/ImageGlass.Base.csproj | 4 ++-- .../Components/ImageGlass.Gallery/ImageGlass.Gallery.csproj | 2 +- .../Components/ImageGlass.Settings/ImageGlass.Settings.csproj | 2 +- Source/Components/ImageGlass.UI/ImageGlass.UI.csproj | 2 +- Source/Components/ImageGlass.Views/ImageGlass.Viewer.csproj | 2 +- Source/ImageGlass/ImageGlass.csproj | 2 +- Source/igcmd/igcmd.csproj | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/Components/ImageGlass.Base/ImageGlass.Base.csproj b/Source/Components/ImageGlass.Base/ImageGlass.Base.csproj index 6e9dddae9..19b4892cf 100644 --- a/Source/Components/ImageGlass.Base/ImageGlass.Base.csproj +++ b/Source/Components/ImageGlass.Base/ImageGlass.Base.csproj @@ -7,7 +7,7 @@ enable true x64;ARM64 - 9.1.6.14 + 9.1.7.627 $(Version) Copyright © 2010 - 2024 Duong Dieu Phap Debug;Release;Publish_Release @@ -89,7 +89,7 @@ - + diff --git a/Source/Components/ImageGlass.Gallery/ImageGlass.Gallery.csproj b/Source/Components/ImageGlass.Gallery/ImageGlass.Gallery.csproj index 381880aa1..04745f3dd 100644 --- a/Source/Components/ImageGlass.Gallery/ImageGlass.Gallery.csproj +++ b/Source/Components/ImageGlass.Gallery/ImageGlass.Gallery.csproj @@ -5,7 +5,7 @@ enable true enable - 9.1.6.14 + 9.1.7.627 $(Version) Copyright © 2010 - 2024 Duong Dieu Phap x64;ARM64 diff --git a/Source/Components/ImageGlass.Settings/ImageGlass.Settings.csproj b/Source/Components/ImageGlass.Settings/ImageGlass.Settings.csproj index abb5006ad..fcb441686 100644 --- a/Source/Components/ImageGlass.Settings/ImageGlass.Settings.csproj +++ b/Source/Components/ImageGlass.Settings/ImageGlass.Settings.csproj @@ -6,7 +6,7 @@ true enable x64;ARM64 - 9.1.6.14 + 9.1.7.627 $(Version) Copyright © 2010 - 2024 Duong Dieu Phap Debug;Release;Publish_Release diff --git a/Source/Components/ImageGlass.UI/ImageGlass.UI.csproj b/Source/Components/ImageGlass.UI/ImageGlass.UI.csproj index 85219fc4e..6bf0250a7 100644 --- a/Source/Components/ImageGlass.UI/ImageGlass.UI.csproj +++ b/Source/Components/ImageGlass.UI/ImageGlass.UI.csproj @@ -7,7 +7,7 @@ enable True x64;ARM64 - 9.1.6.14 + 9.1.7.627 $(Version) Copyright © 2010 - 2024 Duong Dieu Phap Debug;Release;Publish_Release diff --git a/Source/Components/ImageGlass.Views/ImageGlass.Viewer.csproj b/Source/Components/ImageGlass.Views/ImageGlass.Viewer.csproj index 76336847a..8cb3026f1 100644 --- a/Source/Components/ImageGlass.Views/ImageGlass.Viewer.csproj +++ b/Source/Components/ImageGlass.Views/ImageGlass.Viewer.csproj @@ -6,7 +6,7 @@ true enable x64;ARM64 - 9.1.6.14 + 9.1.7.627 $(Version) Copyright © 2010 - 2024 Duong Dieu Phap Debug;Release;Publish_Release diff --git a/Source/ImageGlass/ImageGlass.csproj b/Source/ImageGlass/ImageGlass.csproj index 87cc8520b..6314799e6 100644 --- a/Source/ImageGlass/ImageGlass.csproj +++ b/Source/ImageGlass/ImageGlass.csproj @@ -14,7 +14,7 @@ A lightweight, versatile image viewer Copyright © 2010 - 2024 Duong Dieu Phap Duong Dieu Phap - 9.1.6.14 + 9.1.7.627 $(Version) $(AssemblyName).exe diff --git a/Source/igcmd/igcmd.csproj b/Source/igcmd/igcmd.csproj index b362cc602..948705abf 100644 --- a/Source/igcmd/igcmd.csproj +++ b/Source/igcmd/igcmd.csproj @@ -11,7 +11,7 @@ Igcmd: Command-line utility for ImageGlass Copyright © 2010 - 2024 Duong Dieu Phap Duong Dieu Phap - 9.1.6.14 + 9.1.7.627 $(Version) $(AssemblyName).exe From 9d16fb79146494407106a293bb10ce3ad3b304ba Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Wed, 26 Jun 2024 13:14:59 +0200 Subject: [PATCH 7/9] updated languages --- .../Language/Chinese Simplified.iglang.json | 48 +++++++------- Setup/Assets/Language/Lithuanian.iglang.json | 48 +++++++------- Setup/Assets/Language/Malay.iglang.json | 58 ++++++++--------- Setup/Assets/Language/Portuguese.iglang.json | 64 +++++++++---------- 4 files changed, 109 insertions(+), 109 deletions(-) diff --git a/Setup/Assets/Language/Chinese Simplified.iglang.json b/Setup/Assets/Language/Chinese Simplified.iglang.json index 29a20f9bb..da5beb1f9 100644 --- a/Setup/Assets/Language/Chinese Simplified.iglang.json +++ b/Setup/Assets/Language/Chinese Simplified.iglang.json @@ -26,16 +26,16 @@ "FrmMain.MnuRename._Description": "输入新文件名:", "_._No": "否", "FrmSlideshow.MnuToggleCountdown": "显示每页幻灯片播放倒计时", - "FrmSettings._OpenStartupAppsSetting": "Open Startup apps setting", + "FrmSettings._OpenStartupAppsSetting": "打开启动应用设置", "FrmMain.MnuViewPreviousFrame": "查看上一帧", "_.ImageOrderBy._DateModified": "修改日期", "FrmMain.MnuViewNextFrame": "查看下一帧", "FrmMain.MnuUnload": "卸载图像", "FrmSettings.Toolbar._HideToolbarInFullscreen": "全屏模式隐藏工具栏", "_.ImageOrderType._Desc": "降序", - "_._Update": "Update", - "FrmSettings._EnableImageAsyncLoading": "Enable image asynchronous loading", - "FrmSettings._DefaultPhotoViewer._Description": "Register the supported formats of ImageGlass with Windows. You might need to open the Default apps settings and manually select ImageGlass from the list for it to take effect.", + "_._Update": "更新", + "FrmSettings._EnableImageAsyncLoading": "启用图像异步加载", + "FrmSettings._DefaultPhotoViewer._Description": "在 Windows 中注册 ImageGlass 支持的格式。 您可能需要打开默认应用设置并手动从列表中选择 ImageGlass 才能生效。", "_.MouseWheelAction._BrowseImages": "查看下一张/上一张图片", "FrmSettings._EditApps": "图像编辑应用", "FrmColorPickerSettings.ChkShowCIELabA": "使用含 Alpha 值的 CIELAB 格式", @@ -79,7 +79,7 @@ "FrmQuickSetup._StepInfo": "步骤 {0}", "FrmMain.MnuColorPicker": "取色工具", "FrmCrop.SelectionAspectRatio._FreeRatio": "自由比例", - "FrmSettings._ResetSettings": "Reset settings", + "FrmSettings._ResetSettings": "重置设置", "FrmSettings._Startup": "启动", "_.BackdropStyle._None": "无", "FrmSettings._LoadDefaultZoomLevels": "载入默认缩放级别", @@ -87,7 +87,7 @@ "FrmSettings._UseThemeForDarkMode": "将此主题用于深色模式", "FrmSettings._ShowDeleteConfirmation": "删除文件时显示确认对话框", "FrmSettings._ShowAppIcon": "在标题栏上显示应用图标", - "_._InvalidAction": "Invalid action", + "_._InvalidAction": "无效操作", "FrmQuickSetup._SelectProfile": "选择一个配置文件", "_.Metadata._FileCreationTime": "创建日期", "FrmSettings._SlideshowImagesToNotifySound": "触发通知声音的图像数量", @@ -109,7 +109,7 @@ "FrmSettings._ShouldAutoOpenNewAddedImage": "自动打开新添加的图像", "FrmCrop.SelectionAspectRatio._Custom": "自定义...", "FrmMain.MnuCopyPath._Success": "已复制当前图像路径。", - "FrmSettings._StartupBoost._Error": "Could not change Startup Boost setting", + "FrmSettings._StartupBoost._Error": "无法更改自启动设置", "FrmToolNotFound.LblDescription": "ImageGlass 无法定位可执行文件 '{0}' 的路径。 要解决这个问题,请按需更新 '{0}' 的路径。", "FrmMain.MnuClearClipboard": "清空剪贴板", "FrmSettings._ColorManagement": "色彩管理", @@ -152,14 +152,14 @@ "FrmMain.MnuScaleToFill": "填满窗口", "FrmCrop.BtnCrop": "裁剪", "_.AfterEditAppAction._Minimize": "最小化", - "FrmSettings._StartupBoost": "Startup Boost", + "FrmSettings._StartupBoost": "自启动", "FrmMain.MnuViewFirstFrame": "查看第一帧", "_.MouseWheelEvent._CtrlAndScroll": "按住 Ctrl 滚动", "FrmSettings._HideMainWindowInSlideshow": "自动隐藏主窗口", "_.Metadata._FrameCount": "帧数", "FrmSettings._EnableCopyMultipleFiles": "允许一次复制多个文件", "FrmMain.MnuFrameless._EnableDescription": "按住 Shift 键移动窗口。", - "_.ImageOrderBy._ExifDateTaken": "EXIF: Date taken", + "_.ImageOrderBy._ExifDateTaken": "EXIF:日期已使用", "FrmAbout._Credits": "致谢", "FrmSettings._AddNewFileExtension": "添加新文件扩展名", "FrmMain.MnuQuickSetup": "打开 ImageGlass 快速设置", @@ -181,7 +181,7 @@ "_.Position._Right": "右侧", "_._Icon": "图标", "FrmSettings._ShouldLoadHiddenImages": "加载隐藏图像", - "_._InvalidAction._Transformation": "ImageGlass does not support rotation, flipping for this image.", + "_._InvalidAction._Transformation": "ImageGlass 不支持旋转、翻转该图像。", "FrmSettings._MakeDefault": "设为默认", "FrmMain.MnuCopyImageData._Copying": "正在复制图像数据。 这需要一些时间…", "FrmSettings._UseEmbeddedThumbnailRawFormats": "仅为RAW格式加载缩略图", @@ -219,8 +219,8 @@ "FrmMain.MnuExit": "退出", "_._Yes": "是", "FrmMain.MnuRotateLeft": "向左旋转", - "FrmSettings._EnableStartupBoost": "Enable Startup Boost", - "_.ImageOrderBy._ExifRating": "EXIF: Rating", + "FrmSettings._EnableStartupBoost": "启用自启动", + "_.ImageOrderBy._ExifRating": "EXIF:评分", "FrmMain.MnuZoomIn": "放大", "_.Metadata._ColorSpace": "色彩空间", "FrmAbout._Version": "版本:", @@ -235,7 +235,7 @@ "FrmMain.MnuCropTool": "裁剪图像", "_._IgCommandExe._DefaultError._Heading": "无效命令", "_._Refresh": "刷新", - "FrmMain.MnuLosslessCompression._Description": "This tool uses Magick.NET library for lossless compression, optimizing file size. Overwrites only if the compressed file is smaller than the original.", + "FrmMain.MnuLosslessCompression._Description": "此工具使用 Magick.NET 库进行无损压缩,优化文件大小。 仅在压缩文件小于原始文件时覆盖。", "_._MoveDown": "下移", "FrmSettings._GetExtensionIconPacks": "获取扩展图标包...", "FrmSettings._InAppMessageDuration": "应用内消息持续时间 (毫秒)", @@ -243,7 +243,7 @@ "_._Reset": "重置", "FrmSettings._ConfigDir": "配置文件位置", "FrmQuickSetup._SettingsWillBeApplied": "以下设置将被应用:", - "FrmSettings._UnmanagedSettingReminder": "This setting is not managed by ImageGlass. Don't forget to disable it before you remove or relocate the app because ImageGlass does not handle this automatically.", + "FrmSettings._UnmanagedSettingReminder": "此设置不由 ImageGlass 管理。 请在您删除或移动应用之前禁用它,因为ImageGlass 不会自动处理。", "FrmMain.MnuClipboard": "剪贴板", "FrmMain.MnuCustomZoom": "自定义缩放...", "FrmSettings._DisplayLanguage": "显示语言", @@ -256,9 +256,9 @@ "FrmSettings._ShowCheckerboardOnlyImageRegion": "仅在图像区域内显示棋盘格", "FrmMain.MnuClearClipboard._Success": "清除剪贴板。", "FrmQuickSetup._Text": "ImageGlass 快速设置", - "FrmMain.MnuLosslessCompression._Done": "Done lossless compression.\r\nThe new file size is {0}, saved {1}.", - "FrmMain.MnuLosslessCompression": "Magick.NET Lossless Compression", - "FrmSettings._StartupBoost._Disabled": "Startup Boost is disabled", + "FrmMain.MnuLosslessCompression._Done": "无损压缩完成\r\n新文件大小为 {0},已保存 {1}。", + "FrmMain.MnuLosslessCompression": "Magick.NET 无损压缩", + "FrmSettings._StartupBoost._Disabled": "自启动已禁用", "FrmMain.MnuToggleCheckerboard": "启用网格背景", "FrmSettings._MinEmbeddedThumbnailSize._Height": "高度", "FrmSettings.Nav._General": "一般", @@ -293,7 +293,7 @@ "FrmExportFrames._OpenOutputFolder": "打开输出文件夹", "FrmMain.MnuOpenLocation": "打开图片所在位置", "FrmMain.MnuLockZoom": "锁定缩放比例", - "FrmSettings._StartupBoost._Description": "Preload and run ImageGlass in the background for a few seconds during Windows startup to accelerate the first launch.", + "FrmSettings._StartupBoost._Description": "在 Windows 启动时预加载并短暂后台运行以加速 ImageGlass 的首次启动。", "FrmSettings._WindowBackdrop": "窗口背景", "FrmSettings._EnableRealTimeFileUpdate": "监控文件夹中的文件更改并实时更新", "_._NotSupported": "不支持的格式", @@ -346,7 +346,7 @@ "_._Name": "名称", "FrmColorPickerSettings.ChkShowHslA": "使用含 Alpha 值的 HSL 格式", "FrmMain.MnuToggleImageAnimation": "开始/停止图像动画", - "FrmSettings._DisableStartupBoost": "Disable Startup Boost", + "FrmSettings._DisableStartupBoost": "禁用自启动", "FrmMain.MnuCopyFile._Success": "已复制 {0} 个文件。", "FrmMain.MnuSave._ConfirmDescription": "ImageGlass 并非专业照片编辑器,请注意在保存图像时,质量、元数据、图层等信息可能丢失。", "FrmToolNotFound.BtnSelectExecutable": "选择…", @@ -394,9 +394,9 @@ "FrmMain.MnuCopyFile": "复制文件", "_._CreatingFile": "创建临时图像文件…", "FrmMain.MnuToggleTopMost": "保持窗口最前", - "FrmMain.MnuLosslessCompression._Confirm": "Are you sure you want to proceed?", + "FrmMain.MnuLosslessCompression._Confirm": "您确定要操作吗?", "FrmMain.MnuImage": "图像", - "FrmSettings._StartupBoost._Enabled": "Startup Boost is enabled", + "FrmSettings._StartupBoost._Enabled": "自启动已启用", "FrmQuickSetup._SetDefaultViewer": "您要设置 ImageGlass 为默认的照片查看器吗?", "FrmMain.MnuScaleToWidth": "适配宽度", "_._FileExtension": "文件扩展名", @@ -439,7 +439,7 @@ "_._ID": "ID", "FrmSettings._UserConfigFile": "用户设置文件(igconfig.json)", "FrmMain.MnuLoadingOrders": "加载顺序", - "FrmSettings._OpenSaveAsDialogInTheCurrentImageDir": "Open the Save As dialog in the current image directory", + "FrmSettings._OpenSaveAsDialogInTheCurrentImageDir": "在当前图像目录中打开另存为对话框", "_.MouseWheelEvent._ShiftAndScroll": "按住 Shift 滚动", "FrmSettings._UseSmoothZooming": "使用平滑缩放", "FrmSettings._Theme": "主题", @@ -464,7 +464,7 @@ "FrmSettings.Tools._AddNewTool": "添加外部工具", "FrmMain.MnuRename": "重命名图像...", "FrmMain.MnuViewLastFrame": "查看最后一帧", - "_._Webview2._NotFound": "Please install the latest version of WebView2 Runtime.", + "_._Webview2._NotFound": "请安装 WebView2 运行时的最新版本。", "FrmMain.MnuGetMoreTools": "获取更多工具…", "FrmSettings.Nav._Appearance": "外观", "FrmSettings._SlideshowInterval": "幻灯片放映间隔:", @@ -480,7 +480,7 @@ "FrmSettings.Nav._Edit": "编辑", "FrmMain.MnuToggleGallery": "相册面板", "_._IgCommandExe._DefaultError._Description": "请确保您输入了正确的命令!\r\n该可执行文件包含 ImageGlass 软件的命令行功能。\r\n\r\n要探索所有命令行, 请访问:\n{0}", - "FrmMain.MnuLosslessCompression._Compressing": "Performing lossless compression…", + "FrmMain.MnuLosslessCompression._Compressing": "无损压缩中…", "FrmSettings._ShouldGroupImagesByDirectory": "按目录分组图像", "FrmMain.MnuPanToRightSide": "平移图像至右侧", "_.Metadata._ExifRatingPercent": "评级", diff --git a/Setup/Assets/Language/Lithuanian.iglang.json b/Setup/Assets/Language/Lithuanian.iglang.json index 9eccc9afe..162cb17ac 100644 --- a/Setup/Assets/Language/Lithuanian.iglang.json +++ b/Setup/Assets/Language/Lithuanian.iglang.json @@ -26,16 +26,16 @@ "FrmMain.MnuRename._Description": "Įveskite naują failo pavadinimą:", "_._No": "No", "FrmSlideshow.MnuToggleCountdown": "Rodyti skaidrių demonstravimo laikmatį", - "FrmSettings._OpenStartupAppsSetting": "Open Startup apps setting", + "FrmSettings._OpenStartupAppsSetting": "Atidaryti paleidžiamųjų programų nustatymų puslapį", "FrmMain.MnuViewPreviousFrame": "Rodyti praeitą kadrą", "_.ImageOrderBy._DateModified": "Modifikavimo data", "FrmMain.MnuViewNextFrame": "Rodyti kitą kadrą", "FrmMain.MnuUnload": "Iškrauti paveikslą/nuotrauką/vaizdą", "FrmSettings.Toolbar._HideToolbarInFullscreen": "Slėpti įrankių juostą, kai esate pilno ekrano režime", "_.ImageOrderType._Desc": "Mažėjančia tvarka", - "_._Update": "Update", - "FrmSettings._EnableImageAsyncLoading": "Enable image asynchronous loading", - "FrmSettings._DefaultPhotoViewer._Description": "Register the supported formats of ImageGlass with Windows. You might need to open the Default apps settings and manually select ImageGlass from the list for it to take effect.", + "_._Update": "Atnaujinti", + "FrmSettings._EnableImageAsyncLoading": "Įgalinti paveikslo/nuotraukos/vaizdo asinchroniška krovimą", + "FrmSettings._DefaultPhotoViewer._Description": "Registruoti palaikomus „ImageGlass“ formatus su „Windows“. Jums galimai reikės atidaryti numatytų programų nustatymų puslapį savo operacinėje sistemoje ir rankiniu būdu pasirinkti „ImageGlass“ iš to sąrašo, kad šis veiksmas būtų atliktas.", "_.MouseWheelAction._BrowseImages": "Rodyti kitą / praeitą paveikslą/nuotrauką/vaizdą", "FrmSettings._EditApps": "Paveikslų/Nuotraukų/Vaizdų redagavimo/retušavimo programos", "FrmColorPickerSettings.ChkShowCIELabA": "Naudoti „CIELAB“ formatą su „Alpha“ skaitmenimis", @@ -79,7 +79,7 @@ "FrmQuickSetup._StepInfo": "Žingsnis {0}", "FrmMain.MnuColorPicker": "Spalvų rinkiklis", "FrmCrop.SelectionAspectRatio._FreeRatio": "Laisvų proporcijų", - "FrmSettings._ResetSettings": "Reset settings", + "FrmSettings._ResetSettings": "Atstatyti nustatymus", "FrmSettings._Startup": "Paleistis", "_.BackdropStyle._None": "Nėra", "FrmSettings._LoadDefaultZoomLevels": "Pakrauti numatytus priartinimo lygius", @@ -87,7 +87,7 @@ "FrmSettings._UseThemeForDarkMode": "Naudoti šią temą, tamsiam režimui", "FrmSettings._ShowDeleteConfirmation": "Rodyti patvirtinimo langą, kai bandote ištrinti failą", "FrmSettings._ShowAppIcon": "Rodyti programos piktogramą lango juostoje", - "_._InvalidAction": "Invalid action", + "_._InvalidAction": "Negalimas veiksmas", "FrmQuickSetup._SelectProfile": "Pasirinkite profilį", "_.Metadata._FileCreationTime": "Sukūrimo data", "FrmSettings._SlideshowImagesToNotifySound": "Nuotraukų/Paveikslų/Vaizdų skaičius, reikalingas norint gauti pranešimo garsą", @@ -109,7 +109,7 @@ "FrmSettings._ShouldAutoOpenNewAddedImage": "Atidaryti naujai pridėtą paveikslą/nuotrauką/vaizdą automatiškai", "FrmCrop.SelectionAspectRatio._Custom": "Pasirinktinis…", "FrmMain.MnuCopyPath._Success": "Nukopijuotos paveikslo/nuotraukos/vaizdo vietovės katalogas.", - "FrmSettings._StartupBoost._Error": "Could not change Startup Boost setting", + "FrmSettings._StartupBoost._Error": "Nebuvo galima pakeisti paleidimo spartinimo nustatymo", "FrmToolNotFound.LblDescription": "„ImageGlass“ nepavyko rasti kelio (vietovės) į „{0}“ paleidžiamąjį. Norint išspręsti šią problemą, prašome atnaujinti kelio (vietovės) į „{0}“ adresą.", "FrmMain.MnuClearClipboard": "Ištuštinti iškarpinę", "FrmSettings._ColorManagement": "Spalvų tvarkymas", @@ -152,14 +152,14 @@ "FrmMain.MnuScaleToFill": "Keisti mastelį, kad užpildytų", "FrmCrop.BtnCrop": "Apkarpyti", "_.AfterEditAppAction._Minimize": "Minimizuoti", - "FrmSettings._StartupBoost": "Startup Boost", + "FrmSettings._StartupBoost": "Paleidimo spartinimas", "FrmMain.MnuViewFirstFrame": "Rodyti pirmąjį kadrą", "_.MouseWheelEvent._CtrlAndScroll": "Laikyti Vald. ir slinkti", "FrmSettings._HideMainWindowInSlideshow": "Automatiškai slėpti pagrindinį langą", "_.Metadata._FrameCount": "Kadrai", "FrmSettings._EnableCopyMultipleFiles": "Įgalinti daugumos failų kopijavimų, vienu metu", "FrmMain.MnuFrameless._EnableDescription": "Laikyti Vald2 mygtuką, kad judintumėte langą.", - "_.ImageOrderBy._ExifDateTaken": "EXIF: Date taken", + "_.ImageOrderBy._ExifDateTaken": "„EXIF“: Data paimta", "FrmAbout._Credits": "Kreditai", "FrmSettings._AddNewFileExtension": "Pridėti naują failo plėtinį", "FrmMain.MnuQuickSetup": "Atidaryti „ImageGlass“ greitąją sąranką", @@ -181,7 +181,7 @@ "_.Position._Right": "Dešinė", "_._Icon": "Piktograma", "FrmSettings._ShouldLoadHiddenImages": "Rodyti paslėptus paveikslus", - "_._InvalidAction._Transformation": "ImageGlass does not support rotation, flipping for this image.", + "_._InvalidAction._Transformation": "„ImageGlass“ nepalaiko sukimų, apvertimų šiam/-ai vaizdui/nuotraukai/paveikslui.", "FrmSettings._MakeDefault": "Padaryti numatytuoju", "FrmMain.MnuCopyImageData._Copying": "Kopijuojama paveikslo/nuotraukos/vaizdo duomenys. Tai gali užtrukti…", "FrmSettings._UseEmbeddedThumbnailRawFormats": "Krauti tik įterptas miniatiūras „RAW“ formatams", @@ -219,8 +219,8 @@ "FrmMain.MnuExit": "Išeiti", "_._Yes": "Taip", "FrmMain.MnuRotateLeft": "Pasukti kairėn", - "FrmSettings._EnableStartupBoost": "Enable Startup Boost", - "_.ImageOrderBy._ExifRating": "EXIF: Rating", + "FrmSettings._EnableStartupBoost": "Įgalinti paleidimo spartinimą", + "_.ImageOrderBy._ExifRating": "„EXIF“: Reitingas", "FrmMain.MnuZoomIn": "Priartinti", "_.Metadata._ColorSpace": "Spalvų laukas", "FrmAbout._Version": "Versija:", @@ -235,7 +235,7 @@ "FrmMain.MnuCropTool": "Apkirpti nuotrauką/paveikslą/vaizdą", "_._IgCommandExe._DefaultError._Heading": "Negalimos komandos", "_._Refresh": "Įkelti iš naujo", - "FrmMain.MnuLosslessCompression._Description": "This tool uses Magick.NET library for lossless compression, optimizing file size. Overwrites only if the compressed file is smaller than the original.", + "FrmMain.MnuLosslessCompression._Description": "Šis įrankis naudoja „Magick.NET“ biblioteką, skirtą nenuostoli̇̀ngam glaũdinimui, optimizuojant failo dydį. Perrašo tik tada, jei suglaudintas failas yra mažesnis negu originalas.", "_._MoveDown": "Perkelti žemyn", "FrmSettings._GetExtensionIconPacks": "Gauti plėtinių piktogramų paketų…", "FrmSettings._InAppMessageDuration": "Programos pranešimų laikotarpis (milisekundėmis)", @@ -243,7 +243,7 @@ "_._Reset": "Atstatyti", "FrmSettings._ConfigDir": "Konfigūracijos vietovė", "FrmQuickSetup._SettingsWillBeApplied": "Nustatymai bus pritaikyti:", - "FrmSettings._UnmanagedSettingReminder": "This setting is not managed by ImageGlass. Don't forget to disable it before you remove or relocate the app because ImageGlass does not handle this automatically.", + "FrmSettings._UnmanagedSettingReminder": "Šis nustatymas nėra valdomas „ImageGlass“. Nepamirškite išjungti šį prieš tai, kai Jūs pašalinsite ar perkelsite programą/-ėlę, nes „ImageGlass“ šios funkcijos neatlieka automatiškai.", "FrmMain.MnuClipboard": "Iškarpinė", "FrmMain.MnuCustomZoom": "Redaguoti mastelį…", "FrmSettings._DisplayLanguage": "Rodoma kalba", @@ -256,9 +256,9 @@ "FrmSettings._ShowCheckerboardOnlyImageRegion": "Rodyti šaškių lentos, tik paveikslo/nuotraukos/vaizdo regiono viduje", "FrmMain.MnuClearClipboard._Success": "Ištuštinta iškarpinė.", "FrmQuickSetup._Text": "„ImageGlass“ greitoji sąranka", - "FrmMain.MnuLosslessCompression._Done": "Done lossless compression.\r\nThe new file size is {0}, saved {1}.", - "FrmMain.MnuLosslessCompression": "Magick.NET Lossless Compression", - "FrmSettings._StartupBoost._Disabled": "Startup Boost is disabled", + "FrmMain.MnuLosslessCompression._Done": "Baigtas nenuostoli̇̀ngasis glaũdinimas.\r\nNaujas failo dydis yra – {0}, išsaugota/-s – {1}.", + "FrmMain.MnuLosslessCompression": "„Magick.NET“ nenuostoli̇̀ngasis glaũdinimas", + "FrmSettings._StartupBoost._Disabled": "Paleidimo spartinimas yra išjungtas", "FrmMain.MnuToggleCheckerboard": "Šaškinis fonas", "FrmSettings._MinEmbeddedThumbnailSize._Height": "Aukštis", "FrmSettings.Nav._General": "Bendra", @@ -293,7 +293,7 @@ "FrmExportFrames._OpenOutputFolder": "Atidaryti išvesties aplankalą", "FrmMain.MnuOpenLocation": "Atidaryti failo vietovę", "FrmMain.MnuLockZoom": "Užrakinti didinimą", - "FrmSettings._StartupBoost._Description": "Preload and run ImageGlass in the background for a few seconds during Windows startup to accelerate the first launch.", + "FrmSettings._StartupBoost._Description": "Iš anksto įkrauti ir paleisti „ImageGlass“ fono procesuose keliom sekundėm per „Windows“ paleidimą, siekiant paspartinti pirmąjį paleidimą.", "FrmSettings._WindowBackdrop": "Lango išorinis fonas", "FrmSettings._EnableRealTimeFileUpdate": "Monitoriaus failas pasikeičia žiūrimam aplanke, ir atsinaujina realiu laiku", "_._NotSupported": "Nepalaikomas formatas", @@ -346,7 +346,7 @@ "_._Name": "Vardas", "FrmColorPickerSettings.ChkShowHslA": "Naudoti „HSL“ formatą su „Alpha“ skaitmenimis", "FrmMain.MnuToggleImageAnimation": "Pradėti / Sustabdyti animuoti paveikslą/nuotrauką/vaizdą", - "FrmSettings._DisableStartupBoost": "Disable Startup Boost", + "FrmSettings._DisableStartupBoost": "Išjungti paleidimo spartinimą", "FrmMain.MnuCopyFile._Success": "Nukopijuota/-s {0} failas(-ų).", "FrmMain.MnuSave._ConfirmDescription": "„ImageGlass“ nėra profesionalus fotografų retušatorius, būkite atidūs kokybės praradimu, „metadatos“, sluoksnių,… kai išsaugote pakeitimus.", "FrmToolNotFound.BtnSelectExecutable": "Pasirinkti…", @@ -394,9 +394,9 @@ "FrmMain.MnuCopyFile": "Kopijuoti failą", "_._CreatingFile": "Kuriamas laikinas paveikslo/nuotraukos/vaizdo failas…", "FrmMain.MnuToggleTopMost": "Laikyti visada virš kitų programų", - "FrmMain.MnuLosslessCompression._Confirm": "Are you sure you want to proceed?", + "FrmMain.MnuLosslessCompression._Confirm": "Ar Jūs esate tikrai įsitikinę, kad norite tęsti?", "FrmMain.MnuImage": "Paveikslas/Nuotrauka/Vaizdas", - "FrmSettings._StartupBoost._Enabled": "Startup Boost is enabled", + "FrmSettings._StartupBoost._Enabled": "Paleidimo spartinimas yra įgalintas", "FrmQuickSetup._SetDefaultViewer": "Ar Jūs norėtumėte nustatyti „ImageGlass“ kaip numatytąjį paveikslų/nuotraukų/vaizdų žiūrovą?", "FrmMain.MnuScaleToWidth": "Didinti iki storio", "_._FileExtension": "Failo plėtinys", @@ -439,7 +439,7 @@ "_._ID": "ID", "FrmSettings._UserConfigFile": "Vartotojo nustatymų failas („igconfig.json“)", "FrmMain.MnuLoadingOrders": "Kraunama tvarka", - "FrmSettings._OpenSaveAsDialogInTheCurrentImageDir": "Open the Save As dialog in the current image directory", + "FrmSettings._OpenSaveAsDialogInTheCurrentImageDir": "Atidaryti – „Išsaugoti kaip“ langą dabartinėje/-iame vaizdo/nuotraukos/paveikslo kataloge/vietovėje", "_.MouseWheelEvent._ShiftAndScroll": "Laikyti Lyg2 ir slinkti", "FrmSettings._UseSmoothZooming": "Naudoti „švelnų“ priartinimą/nutolinimą", "FrmSettings._Theme": "Tema", @@ -464,7 +464,7 @@ "FrmSettings.Tools._AddNewTool": "Pridėti išorinį įrankį", "FrmMain.MnuRename": "Pervadinti paveikslą/nuotrauką/vaizdą…", "FrmMain.MnuViewLastFrame": "Rodyti paskutinį kadrą", - "_._Webview2._NotFound": "Please install the latest version of WebView2 Runtime.", + "_._Webview2._NotFound": "Prašome įdiegti naujausią „WebView2 Runtime“.", "FrmMain.MnuGetMoreTools": "Gauti daugiau įrankių…", "FrmSettings.Nav._Appearance": "Išvaizda", "FrmSettings._SlideshowInterval": "Skaidrių demonstravimo intervalas:", @@ -480,7 +480,7 @@ "FrmSettings.Nav._Edit": "Pakeisti", "FrmMain.MnuToggleGallery": "Galerijos skydelis", "_._IgCommandExe._DefaultError._Description": "Patikrinkite, kad įvykdote tinkamas komandas!\r\nŠis failas turi komandinės eilutes funkcijas „ImageGlass“ taikomai programai.\r\n\r\nNorint sužinoti visas komandines eilutes, prašome apsilankyti:\n{0}", - "FrmMain.MnuLosslessCompression._Compressing": "Performing lossless compression…", + "FrmMain.MnuLosslessCompression._Compressing": "Vykdomas nenuostoli̇̀ngasis glaũdinimas…", "FrmSettings._ShouldGroupImagesByDirectory": "Grupuoti paveikslus, pagal vietovę", "FrmMain.MnuPanToRightSide": "Pakreipti paveikslą/nuotrauką/vaizdą dešinėn", "_.Metadata._ExifRatingPercent": "Įvertinimas", diff --git a/Setup/Assets/Language/Malay.iglang.json b/Setup/Assets/Language/Malay.iglang.json index d2e6edc70..ca474c597 100644 --- a/Setup/Assets/Language/Malay.iglang.json +++ b/Setup/Assets/Language/Malay.iglang.json @@ -26,16 +26,16 @@ "FrmMain.MnuRename._Description": "Masukkan nama fail baharu:", "_._No": "No", "FrmSlideshow.MnuToggleCountdown": "Tunjuk kiraan mengundur tayangan slaid", - "FrmSettings._OpenStartupAppsSetting": "Open Startup apps setting", + "FrmSettings._OpenStartupAppsSetting": "Buka tetapan apl Permulaan", "FrmMain.MnuViewPreviousFrame": "Lihat bingkai terdahulu", "_.ImageOrderBy._DateModified": "Tarikh diubah suai", "FrmMain.MnuViewNextFrame": "Lihat bingkai berikutnya", "FrmMain.MnuUnload": "Nyahmuat imej", "FrmSettings.Toolbar._HideToolbarInFullscreen": "Sembunyi palang alat dalam mod skrin penuh", "_.ImageOrderType._Desc": "Menurun", - "_._Update": "Update", - "FrmSettings._EnableImageAsyncLoading": "Enable image asynchronous loading", - "FrmSettings._DefaultPhotoViewer._Description": "Register the supported formats of ImageGlass with Windows. You might need to open the Default apps settings and manually select ImageGlass from the list for it to take effect.", + "_._Update": "Kemas kini", + "FrmSettings._EnableImageAsyncLoading": "Dayakan memuat turun imej segerak", + "FrmSettings._DefaultPhotoViewer._Description": "Daftar format disokong ImageGlass dalam Windows. Anda mungkin perlu membuka tetapan apl Lalai dan pilih ImageGlass secara manual melalui senarai supaya ia berkesan.", "_.MouseWheelAction._BrowseImages": "Lihat Imej berikutnya / terdahulu", "FrmSettings._EditApps": "Apl penyuntingan imej", "FrmColorPickerSettings.ChkShowCIELabA": "Guna format CIELAB dengan nilai alfa", @@ -79,7 +79,7 @@ "FrmQuickSetup._StepInfo": "Langkah {0}", "FrmMain.MnuColorPicker": "Pemilih warna", "FrmCrop.SelectionAspectRatio._FreeRatio": "Nisbah bebas", - "FrmSettings._ResetSettings": "Reset settings", + "FrmSettings._ResetSettings": "Tetap semula tetapan", "FrmSettings._Startup": "Permulaan", "_.BackdropStyle._None": "Tiada", "FrmSettings._LoadDefaultZoomLevels": "Muat aras zum lalai", @@ -87,7 +87,7 @@ "FrmSettings._UseThemeForDarkMode": "Guna tema ini untuk mod gelap", "FrmSettings._ShowDeleteConfirmation": "Tunjuk dialog pengesahan ketika memadam fail", "FrmSettings._ShowAppIcon": "Tunjuk ikon apl di atas palang tajuk", - "_._InvalidAction": "Invalid action", + "_._InvalidAction": "Tindakan tidak sah", "FrmQuickSetup._SelectProfile": "Pilih satu profil", "_.Metadata._FileCreationTime": "Tarikh dicipta", "FrmSettings._SlideshowImagesToNotifySound": "Bilangan imej yang memicu bunyi pemberitahuan", @@ -109,7 +109,7 @@ "FrmSettings._ShouldAutoOpenNewAddedImage": "Buka imej baharu ditambah secara automatik", "FrmCrop.SelectionAspectRatio._Custom": "Suai…", "FrmMain.MnuCopyPath._Success": "Laluan imej semasa disalin.", - "FrmSettings._StartupBoost._Error": "Could not change Startup Boost setting", + "FrmSettings._StartupBoost._Error": "Tidak dapat mengubah tetapan Galak Permulaan", "FrmToolNotFound.LblDescription": "ImageGlass gagal mencari laluan ke boleh laku '{0}'. Untuk menyelesaikan isu ini, sila kemas kini laluan ke '{0}' sebagai penting.", "FrmMain.MnuClearClipboard": "Kosongkan papan keratan", "FrmSettings._ColorManagement": "Pengurusan warna", @@ -133,7 +133,7 @@ "FrmMain.MnuOpenFile": "Buka fail…", "FrmColorPickerSettings.ChkShowRgbA": "Guna format RGB dengan nilai alfa", "_.ImageInfo._ListCount": "{0} fail(s)", - "FrmMain.MnuGoToLast": "Go to last image", + "FrmMain.MnuGoToLast": "Pergi ke imej terakhir", "FrmSettings._EditApps._AppName": "Nama apl", "FrmSettings._SlideshowBackgroundColor": "Warna latar belakang tayangan slaid", "FrmAbout._Email": "Emel:", @@ -146,20 +146,20 @@ "FrmQuickSetup._SeeWhatNew": "Baca perkara baharu dalam versi ini…", "FrmSettings._ImageInterpolation._ScaleUp": "Bila zum > 100%", "FrmSettings.Layout._ToolbarContextPosition": "Kedudukan palang alat konteksual", - "FrmMain.MnuDeleteFromHardDisk": "Delete permanently", + "FrmMain.MnuDeleteFromHardDisk": "Padam secara kekal", "FrmSettings._EmbeddedThumbnail": "Imej kenit terbenam", "FrmMain.MnuDeleteFromHardDisk._Description": "Anda pasti ingin memadam fail ini secara kekal?", "FrmMain.MnuScaleToFill": "Skala dipenuhi", "FrmCrop.BtnCrop": "Kerat", "_.AfterEditAppAction._Minimize": "Minimumkan", - "FrmSettings._StartupBoost": "Startup Boost", + "FrmSettings._StartupBoost": "Galak Permulaan", "FrmMain.MnuViewFirstFrame": "Lihat bingkai pertama", "_.MouseWheelEvent._CtrlAndScroll": "Tahan Ctrl dan tatal", "FrmSettings._HideMainWindowInSlideshow": "Sembunyi tetingkap utama secara automatik", "_.Metadata._FrameCount": "Bingkai", "FrmSettings._EnableCopyMultipleFiles": "Dayakan penyalinan fail berbilang serentak", "FrmMain.MnuFrameless._EnableDescription": "Tahan kekunci Shift untuk menggerakkan tetingkap.", - "_.ImageOrderBy._ExifDateTaken": "EXIF: Date taken", + "_.ImageOrderBy._ExifDateTaken": "EXIF: Tarikh ditangkap", "FrmAbout._Credits": "Penghargaan", "FrmSettings._AddNewFileExtension": "Tambah sambungan fail baharu", "FrmMain.MnuQuickSetup": "Buka Persediaan Pantas ImageGlass", @@ -181,7 +181,7 @@ "_.Position._Right": "Kanan", "_._Icon": "Ikon", "FrmSettings._ShouldLoadHiddenImages": "Muat imej tersembunyi", - "_._InvalidAction._Transformation": "ImageGlass does not support rotation, flipping for this image.", + "_._InvalidAction._Transformation": "ImageGlass tidak menyokong putar, kalih untuk imej ini.", "FrmSettings._MakeDefault": "Jadikan lalai", "FrmMain.MnuCopyImageData._Copying": "Menyalin data imej. Tunggu sebentar…", "FrmSettings._UseEmbeddedThumbnailRawFormats": "Hanya muat imej kenit terbenam untuk format RAW", @@ -219,8 +219,8 @@ "FrmMain.MnuExit": "Keluar", "_._Yes": "Ya", "FrmMain.MnuRotateLeft": "Putar kiri", - "FrmSettings._EnableStartupBoost": "Enable Startup Boost", - "_.ImageOrderBy._ExifRating": "EXIF: Rating", + "FrmSettings._EnableStartupBoost": "Dayakan Galak Permulaan", + "_.ImageOrderBy._ExifRating": "EXIF: Penarafan", "FrmMain.MnuZoomIn": "Zum masuk", "_.Metadata._ColorSpace": "Ruang warna", "FrmAbout._Version": "Versi:", @@ -231,11 +231,11 @@ "FrmMain.MnuSetLockScreen._Error": "Tidak dapat menetapkan imej yang dilihat sebagai imej skrin kunci", "FrmSettings.Nav._Image": "Imej", "FrmSettings._Theme._InstallTheme": "Pasang pek tema", - "FrmSettings._EnableMultiInstances": "Benarkan kejadian berbilang program", + "FrmSettings._EnableMultiInstances": "Dayakan kejadian berbilang program", "FrmMain.MnuCropTool": "Kerat imej", "_._IgCommandExe._DefaultError._Heading": "Perintah tidak sah", "_._Refresh": "Segar semula", - "FrmMain.MnuLosslessCompression._Description": "This tool uses Magick.NET library for lossless compression, optimizing file size. Overwrites only if the compressed file is smaller than the original.", + "FrmMain.MnuLosslessCompression._Description": "Alat ini menggunakan pustaka Magick.NET untuk mampatan tak hilang, justeru dapat mengoptimumkan saiz fail. Tulis ganti hanya fail termampat lebih kecil daripada yang asal.", "_._MoveDown": "Alih ke bawah", "FrmSettings._GetExtensionIconPacks": "Dapatkan pek ikon sambungan…", "FrmSettings._InAppMessageDuration": "Tempoh mesej dalam-apl (milisaat)", @@ -243,7 +243,7 @@ "_._Reset": "Tetap semula", "FrmSettings._ConfigDir": "Lokasi konfigurasi", "FrmQuickSetup._SettingsWillBeApplied": "Tetapan yang akan diterapkan:", - "FrmSettings._UnmanagedSettingReminder": "This setting is not managed by ImageGlass. Don't forget to disable it before you remove or relocate the app because ImageGlass does not handle this automatically.", + "FrmSettings._UnmanagedSettingReminder": "Tetapan ini tidak diurus oleh ImageGlass. Jangan lupa melumpuhkannya sebelum anda buang atau tempat-semula apl kerana ImageGlass tidak kendalinya secara automatik.", "FrmMain.MnuClipboard": "Papan keratan", "FrmMain.MnuCustomZoom": "Zum suai…", "FrmSettings._DisplayLanguage": "Bahasa paparan", @@ -256,9 +256,9 @@ "FrmSettings._ShowCheckerboardOnlyImageRegion": "Tunjuk papan dam sahaja dalam kawasan imej", "FrmMain.MnuClearClipboard._Success": "Papan keratan dikosongkan.", "FrmQuickSetup._Text": "Persediaan Pantas ImageGlass", - "FrmMain.MnuLosslessCompression._Done": "Done lossless compression.\r\nThe new file size is {0}, saved {1}.", - "FrmMain.MnuLosslessCompression": "Magick.NET Lossless Compression", - "FrmSettings._StartupBoost._Disabled": "Startup Boost is disabled", + "FrmMain.MnuLosslessCompression._Done": "Mampatan tidak hilang selesai.\r\nSaiz fail baharu ialah {0}, berjaya disimpan {1}.", + "FrmMain.MnuLosslessCompression": "Mampatan Tak Hilang Magick.NET", + "FrmSettings._StartupBoost._Disabled": "Galak Permulaan dilumpuhkan", "FrmMain.MnuToggleCheckerboard": "Latar belakang papan dam", "FrmSettings._MinEmbeddedThumbnailSize._Height": "Tinggi", "FrmSettings.Nav._General": "Am", @@ -293,7 +293,7 @@ "FrmExportFrames._OpenOutputFolder": "Buka folder output", "FrmMain.MnuOpenLocation": "Buka lokasi imej", "FrmMain.MnuLockZoom": "Kunci nisbah zum", - "FrmSettings._StartupBoost._Description": "Preload and run ImageGlass in the background for a few seconds during Windows startup to accelerate the first launch.", + "FrmSettings._StartupBoost._Description": "Muat semula dan jalankan ImageGlass di balik tabir selama beberapa saat ketika permulaan Windows untuk melajukan perlancaran pertama.", "FrmSettings._WindowBackdrop": "Latar belakang tetingkap", "FrmSettings._EnableRealTimeFileUpdate": "Pantau perubahan fail ketika melihat folder dan kemas kini dalam masa nyata", "_._NotSupported": "Format tidak disokong", @@ -346,7 +346,7 @@ "_._Name": "Nama", "FrmColorPickerSettings.ChkShowHslA": "Guna format HSL dengan nilai alfa", "FrmMain.MnuToggleImageAnimation": "Mula / henti imej beranimasi", - "FrmSettings._DisableStartupBoost": "Disable Startup Boost", + "FrmSettings._DisableStartupBoost": "Lumpuhkan Galak Permulaan", "FrmMain.MnuCopyFile._Success": "{0} fail(s) disalin.", "FrmMain.MnuSave._ConfirmDescription": "ImageGlass bukan sebuah penyunting foto bertaraf profesional, berkemungkinan akan berlaku kehilangan kualiti, metadata, lapisan,… ketika menyimpan imej anda.", "FrmToolNotFound.BtnSelectExecutable": "Pilih…", @@ -374,7 +374,7 @@ "FrmCrop.BtnSettings._Tooltip": "Buka tetapan alat Kerat", "_.ColorProfileOption._Custom": "Suai…", "FrmSettings._UseEmbeddedThumbnailOtherFormats": "Hanya muat imej kenit terbenam untuk format lain", - "FrmMain.MnuGoToFirst": "Go to first image", + "FrmMain.MnuGoToFirst": "Pergi ke imej pertama", "FrmSettings._ExportLanguagePack": "Eksport pek bahasa…", "FrmSettings.Nav._Mouse": "Tetikus", "_.ImageOrderBy._DateCreated": "Tarikh dicipta", @@ -394,9 +394,9 @@ "FrmMain.MnuCopyFile": "Salin fail", "_._CreatingFile": "Mencipta satu fail imej sementara…", "FrmMain.MnuToggleTopMost": "Kekal tetingkap sentiasa di atas", - "FrmMain.MnuLosslessCompression._Confirm": "Are you sure you want to proceed?", + "FrmMain.MnuLosslessCompression._Confirm": "Anda pasti mahu teruskan?", "FrmMain.MnuImage": "Imej", - "FrmSettings._StartupBoost._Enabled": "Startup Boost is enabled", + "FrmSettings._StartupBoost._Enabled": "Galak Permulaan didayakan", "FrmQuickSetup._SetDefaultViewer": "Anda pasti mahu menetapkan ImageGlass sebagai pelihat foto lalai?", "FrmMain.MnuScaleToWidth": "Skala ikut lebar", "_._FileExtension": "Sambungan fail", @@ -439,7 +439,7 @@ "_._ID": "ID", "FrmSettings._UserConfigFile": "Fail tetapan pengguna (igconfig.json)", "FrmMain.MnuLoadingOrders": "Memuatkan urutan", - "FrmSettings._OpenSaveAsDialogInTheCurrentImageDir": "Open the Save As dialog in the current image directory", + "FrmSettings._OpenSaveAsDialogInTheCurrentImageDir": "Buka dialog Simpan Sebagai dalam direktori imej semasa", "_.MouseWheelEvent._ShiftAndScroll": "Tahan Shift dan tatal", "FrmSettings._UseSmoothZooming": "Guna pengezuman licin", "FrmSettings._Theme": "Tema", @@ -459,12 +459,12 @@ "FrmMain.MnuReloadImageList": "Muat semula senarai imej", "FrmSettings._UseWebview2ForSvg": "Guna Webview2 untuk melihat format SVG", "FrmCrop.BtnCopy": "Salin", - "FrmSettings._CurrentMonitorProfile._Description": "ImageGlass tidak nlauto-kemas kini warna ketika bergerak antara monitor", + "FrmSettings._CurrentMonitorProfile._Description": "ImageGlass tidak auto-kemas kini warna ketika bergerak antara monitor", "FrmMain.PicMain._ErrorText": "Tidak dapat membuka imej ini", "FrmSettings.Tools._AddNewTool": "Tambah satu alat luar", "FrmMain.MnuRename": "Nama semula imej…", "FrmMain.MnuViewLastFrame": "Lihat bingkai terakhir", - "_._Webview2._NotFound": "Please install the latest version of WebView2 Runtime.", + "_._Webview2._NotFound": "Sila pasang versi terkini Masa Jalan WebView2.", "FrmMain.MnuGetMoreTools": "Dapatkan lagi alatan…", "FrmSettings.Nav._Appearance": "Penampilan", "FrmSettings._SlideshowInterval": "Sela tayangan slaid:", @@ -480,7 +480,7 @@ "FrmSettings.Nav._Edit": "Sunting", "FrmMain.MnuToggleGallery": "Panel galeri", "_._IgCommandExe._DefaultError._Description": "Pastikan anda sudah luluskan perintah yang betul!\r\nFail boleh laku ini mengandungi fungsi baris-perintah untuk perisian ImageGlass.\r\n\r\nUntuk mengetahui semua baris perintah, sila rujuk:\n{0}", - "FrmMain.MnuLosslessCompression._Compressing": "Performing lossless compression…", + "FrmMain.MnuLosslessCompression._Compressing": "Melakukan mampatan tak hilang…", "FrmSettings._ShouldGroupImagesByDirectory": "Kelompok imej mengikut direktori", "FrmMain.MnuPanToRightSide": "Lata imej ke sisi kanan", "_.Metadata._ExifRatingPercent": "Penarafan", diff --git a/Setup/Assets/Language/Portuguese.iglang.json b/Setup/Assets/Language/Portuguese.iglang.json index 1e449f2db..38fd920ae 100644 --- a/Setup/Assets/Language/Portuguese.iglang.json +++ b/Setup/Assets/Language/Portuguese.iglang.json @@ -23,7 +23,7 @@ "FrmSettings.Nav._Viewer": "Visualizador", "FrmSettings.EditAppDialog._EditApp": "Editar aplicação", "FrmCrop.BtnReset._Tooltip": "Redefinir seleção", - "FrmMain.MnuRename._Description": "Introduza o novo nome:", + "FrmMain.MnuRename._Description": "Introduza o novo nome do ficheiro:", "_._No": "Não", "FrmSlideshow.MnuToggleCountdown": "Mostrar contagem regressiva nas apresentações", "FrmSettings._OpenStartupAppsSetting": "Abrir definição \"Aplicações de arranque\"", @@ -35,7 +35,7 @@ "_.ImageOrderType._Desc": "Descendente", "_._Update": "Atualizar", "FrmSettings._EnableImageAsyncLoading": "Aticar carregamento assíncrono de images ", - "FrmSettings._DefaultPhotoViewer._Description": "Registar como aplicação padrão para abrir os formatos suportados por ImageGlass. Pode ser preciso abrir a definição \"Aplicações predefinidas\" e selecionar ImageGlass na lista para produzir efeito.", + "FrmSettings._DefaultPhotoViewer._Description": "Registar os formatos suportados pelo ImageGlass no Windows. Pode ser preciso abrir a definição \"Aplicações predefinidas\" e selecionar ImageGlass na lista para produzir efeito.", "_.MouseWheelAction._BrowseImages": "Ir para a imagem anterior/seguinte", "FrmSettings._EditApps": "Aplicações de edição de imagem", "FrmColorPickerSettings.ChkShowCIELabA": "Usar modo CIELAB com valor alfa", @@ -51,7 +51,7 @@ "FrmSettings._ColorProfile": "Perfil de cores", "FrmSettings._Theme._UninstallTheme": "Desinstalar pacote de tema", "FrmMain._OpenWith": "Abrir com {0}", - "FrmMain.MnuRemoveDefaultPhotoViewer": "Remover como visualizador de imagens padrão", + "FrmMain.MnuRemoveDefaultPhotoViewer": "Remover como visualizador de imagens predefinido", "_.AfterEditAppAction._Nothing": "Nada fazer", "FrmCrop.BtnSave": "Guardar", "FrmMain.MnuScaleToFit": "Ajustar para caber", @@ -63,7 +63,7 @@ "FrmSettings.Nav._Slideshow": "Apresentação", "_._Continue": "Continuar", "_._AddHotkey": "Adicionar tecla de atalho…", - "FrmMain.MnuSetDesktopBackground": "Definir como papel de parede", + "FrmMain.MnuSetDesktopBackground": "Definir como fundo do ambiente de trabalho", "FrmMain.MnuReload": "Recarregar imagem", "FrmSlideshow.MnuExitSlideshow": "Sair da apresentação", "FrmMain.MnuAutoZoom": "Tamanho automático", @@ -85,7 +85,7 @@ "FrmSettings._LoadDefaultZoomLevels": "Carregar níveis de zoom predefinidos", "FrmColorPicker.BtnSettings._Tooltip": "Abrir configuração do seletor de cor…", "FrmSettings._UseThemeForDarkMode": "Utilizar esta tema para o modo escuro", - "FrmSettings._ShowDeleteConfirmation": "Mostrar um diálogo de confirmação ao apagar um ficheiro", + "FrmSettings._ShowDeleteConfirmation": "Mostrar um diálogo de confirmação ao eliminar um ficheiro", "FrmSettings._ShowAppIcon": "Mostrar ícone da aplicação na barra de título", "_._InvalidAction": "Ação inválida", "FrmQuickSetup._SelectProfile": "Selecione um perfil", @@ -95,7 +95,7 @@ "FrmSettings._RealTimeFileUpdate": "Atualização em tempo real", "_.ColorProfileOption._CurrentMonitorProfile": "Perfil do monitor atual", "FrmSettings._EnableCutMultipleFiles": "Permitir o corte de ficheiros em simultâneo", - "FrmSettings._AutoUpdate": "Procurar atualizações automaticamente", + "FrmSettings._AutoUpdate": "Verificar se há atualizações automaticamente", "FrmCropSettings.LblDefaultSelection": "Configuração predefinida da seleção", "FrmSettings._UseThemeForLightMode": "Utilizar esta tema para o modo claro", "FrmSettings._ZoomLevels": "Níveis de ampliação", @@ -105,7 +105,7 @@ "FrmCropSettings.ChkAutoCenterSelection": "Centrar automaticamente a seleção", "FrmSettings.Nav._FileTypeAssociations": "Associação dos tipos de ficheiro", "_._Back": "Recuar", - "FrmMain.MnuSetDesktopBackground._Success": "Papel de parede atualizado", + "FrmMain.MnuSetDesktopBackground._Success": "Imagem de fundo atualizada", "FrmSettings._ShouldAutoOpenNewAddedImage": "Abrir automaticamente a nova imagem adicionada", "FrmCrop.SelectionAspectRatio._Custom": "Personalizar…", "FrmMain.MnuCopyPath._Success": "Caminho da imagem copiado com sucesso", @@ -115,7 +115,7 @@ "FrmSettings._ColorManagement": "Gestão de cores", "FrmMain._ReachedLastLast": "Chegou à última imagem", "FrmMain.MnuPanUp": "Mover imagem para cima", - "FrmMain.MnuRemoveDefaultPhotoViewer._Success": "ImageGlass já não é o visualizador de imagens padrão", + "FrmMain.MnuRemoveDefaultPhotoViewer._Success": "ImageGlass já não é o visualizador de imagens predefinido.", "FrmSettings._GetMoreLanguagePacks": "Obter mais pacotes de idioma…", "FrmAbout._Privacy": "Política de privacidade", "FrmSettings._EnableRecursiveLoading": "Carregar imagens em subpastas", @@ -141,14 +141,14 @@ "FrmMain.MnuSaveAs": "Guardar como…", "FrmMain._Loading": "A carregar…", "_._Browse": "Explorar…", - "FrmMain.MnuSetDefaultPhotoViewer._Error": "Não foi possível definir ImageGlass como visualizador de imagens padrão", + "FrmMain.MnuSetDefaultPhotoViewer._Error": "Não foi possível definir ImageGlass como visualizador de imagens predefinido.", "FrmSettings.Nav._Language": "Idioma", "FrmQuickSetup._SeeWhatNew": "Ver novidades desta versão…", "FrmSettings._ImageInterpolation._ScaleUp": "Quando o zoom for > 100%", "FrmSettings.Layout._ToolbarContextPosition": "Posição da barra de ferramentas contextual", "FrmMain.MnuDeleteFromHardDisk": "Eliminar permanentemente", "FrmSettings._EmbeddedThumbnail": "Miniatura integrada", - "FrmMain.MnuDeleteFromHardDisk._Description": "Tem a certeza de que pretende apagar permanentemente este ficheiro?", + "FrmMain.MnuDeleteFromHardDisk._Description": "Tem a certeza de que pretende eliminar permanentemente este ficheiro?", "FrmMain.MnuScaleToFill": "Ajustar para preencher", "FrmCrop.BtnCrop": "Recortar", "_.AfterEditAppAction._Minimize": "Minimizar", @@ -165,7 +165,7 @@ "FrmMain.MnuQuickSetup": "Iniciar configuração rápida ImageGlass", "FrmMain.MnuSave._Success": "Imagem guardada", "FrmMain.MnuPanLeft": "Mover imagem para a esquerda", - "FrmUpdate._StatusChecking": "A procurar atualizações…", + "FrmUpdate._StatusChecking": "A verificar se há atualizações…", "FrmSettings.Nav._Layout": "Esquema", "FrmMain.MnuOpenWith": "Abrir com…", "FrmAbout._Thanks": "Agradecimentos:", @@ -196,13 +196,13 @@ "FrmCropSettings.DefaultSelectionType._SelectX": "Selecionar {0}", "_.AfterEditAppAction._Close": "Fechar", "FrmAbout._LogoDesigner": "Criador do logo:", - "_.ImageOrderBy._Name": "Nome (padrão)", - "FrmMain.MnuRemoveDefaultPhotoViewer._Error": "Não foi possível remover ImageGlass como visualizador de imagens padrão", + "_.ImageOrderBy._Name": "Nome (predefinido)", + "FrmMain.MnuRemoveDefaultPhotoViewer._Error": "Não foi possível remover ImageGlass como visualizador de imagens predefinido.", "FrmExportFrames._FolderPickerTitle": "Selecione a pasta para onde exportar as molduras", "FrmAbout._Donate": "Donativos", "FrmMain.MnuFrameNav": "Navegação entre molduras", "FrmMain.MnuSetLockScreen": "Definir como ecrã de bloqueio", - "_._Delete": "Apagar", + "_._Delete": "Eliminar", "FrmMain.MnuViewPrevious": "Imagem anterior", "_.Position._Top": "Cima", "FrmSettings.Toolbar._CurrentButtons": "Botões atuais:", @@ -220,14 +220,14 @@ "_._Yes": "Sim", "FrmMain.MnuRotateLeft": "Rodar à esquerda", "FrmSettings._EnableStartupBoost": "Ativar \"Otimização de arranque\"", - "_.ImageOrderBy._ExifRating": "EXIF: Avaliação", + "_.ImageOrderBy._ExifRating": "EXIF: Classificação", "FrmMain.MnuZoomIn": "Ampliar", "_.Metadata._ColorSpace": "Espaço de cores", "FrmAbout._Version": "Versão:", "FrmMain.MnuToggleTopMost._Enable": "Opção \"Mostrar janela sempre na frente\" ativada", "FrmSettings.Toolbar._AvailableButtons": "Botões disponíveis:", "FrmMain.MnuSave._Saving": "A guardar imagem…", - "FrmQuickSetup._StandardUser": "Padrão", + "FrmQuickSetup._StandardUser": "Utilizador predefinido", "FrmMain.MnuSetLockScreen._Error": "Não foi possível definir a imagem escolhida como ecrã de bloqueio", "FrmSettings.Nav._Image": "Imagem", "FrmSettings._Theme._InstallTheme": "Instalar pacote de tema", @@ -253,13 +253,13 @@ "FrmColorPickerSettings.ChkShowHexA": "Usar modo HEX com valor alfa", "FrmMain.MnuFullScreen": "Ecrã completo", "FrmSettings._StartupDir": "Diretório inicial", - "FrmSettings._ShowCheckerboardOnlyImageRegion": "Mostrar padrão quadriculado apenas na região da imagem", - "FrmMain.MnuClearClipboard._Success": "Dados da área de transferência apagados com sucesso", + "FrmSettings._ShowCheckerboardOnlyImageRegion": "Mostrar grelha apenas na região da imagem", + "FrmMain.MnuClearClipboard._Success": "Dados da área de transferência eliminados com sucesso.", "FrmQuickSetup._Text": "ImageGlass - Configuração rápida", "FrmMain.MnuLosslessCompression._Done": "Compressão efetuada.\r\nO novo tamanho é {0} e poupou {1}.", "FrmMain.MnuLosslessCompression": "Compressão Magick.NET Lossless", "FrmSettings._StartupBoost._Disabled": "A \"Otimização de arranque\" está desativada.", - "FrmMain.MnuToggleCheckerboard": "Fundo em xadrez", + "FrmMain.MnuToggleCheckerboard": "Fundo em grelha", "FrmSettings._MinEmbeddedThumbnailSize._Height": "Altura", "FrmSettings.Nav._General": "Geral", "FrmSettings._ImageLoading": "Carregamento de imagens", @@ -278,12 +278,12 @@ "FrmSettings.Layout._Gallery": "Galeria", "FrmMain.MnuNewWindow": "Abrir nova janela", "FrmMain.MnuMoveToRecycleBin._Description": "Tem a certeza de que pretende mover o ficheiro para a Reciclagem?", - "FrmSettings._DefaultPhotoViewer": "Visualizador de fotos padrão", - "_.Metadata._ExifDateTimeOriginal": "EXIF: DateTimeOriginal", + "FrmSettings._DefaultPhotoViewer": "Visualizador de imagens predefinido", + "_.Metadata._ExifDateTimeOriginal": "EXIF: DataHoraOriginal", "FrmMain.MnuRotateRight": "Rodar à direita", "FrmSettings._MinEmbeddedThumbnailSize": "Tamanho mínimo da miniatura integrada a ser carregada", "FrmSettings._EnableImageTransition": "Ativar o efeito de transição de imagens", - "FrmMain.MnuSetDefaultPhotoViewer": "Definir como visualizador padrão", + "FrmMain.MnuSetDefaultPhotoViewer": "Definir como visualizador de imagens predefinido", "FrmMain.MnuImageProperties": "Propriedades da imagem", "FrmSettings._EnableNavigationButtons": "Mostrar setas de navegação", "_._Edit": "Editar", @@ -301,7 +301,7 @@ "FrmMain.MnuNewWindow._Error": "Não foi possível abrir uma nova janela porque apenas é permitida uma instância", "FrmMain.MnuZoomOut": "Reduzir", "FrmSettings.Toolbar._EditButton": "Modificar botão da barra de ferramentas", - "FrmMain.MnuCustomZoom._Description": "Introduza um novo valor", + "FrmMain.MnuCustomZoom._Description": "Introduza um novo valor de zoom", "FrmMain.MnuEdit": "Editar {0}…", "FrmSettings.Layout._GalleryPosition": "Posição da galeria", "FrmMain.MnuWindowFit": "Ajustar à janela", @@ -318,7 +318,7 @@ "_._CommandPreview": "Pré-visualização do comando", "FrmSettings._DarkTheme": "Escuro", "_._Hotkeys": "Teclas de atalho", - "_.Metadata._ExifDateTime": "EXIF: DateTime", + "_.Metadata._ExifDateTime": "EXIF: DataHora", "FrmSettings.Toolbar._Errors._ButtonIdRequired": "Requer ID do botão", "FrmSettings._MinEmbeddedThumbnailSize._Width": "Largura", "_._Executable": "Executável", @@ -397,7 +397,7 @@ "FrmMain.MnuLosslessCompression._Confirm": "Tem certeza de que deseja deseja continuar?", "FrmMain.MnuImage": "Imagem", "FrmSettings._StartupBoost._Enabled": "A \"Otimização de arranque\" está ativada.", - "FrmQuickSetup._SetDefaultViewer": "Deseja tornar ImageGlass o visualizador de fotos padrão do sistema?", + "FrmQuickSetup._SetDefaultViewer": "Deseja tornar ImageGlass o visualizador de imagens predefinido do sistema?", "FrmMain.MnuScaleToWidth": "Ajustar à largura", "_._FileExtension": "Extensão do ficheiro", "FrmUpdate._PublishedDate": "Data de publicação: {0}", @@ -430,7 +430,7 @@ "FrmMain.MnuMain": "Menu principal", "_._ResetToDefault": "Repor predefinições", "FrmSettings.Nav._Gallery": "Galeria", - "FrmMain.MnuSetDefaultPhotoViewer._Success": "ImageGlass foi definido como o visualizador de imagens padrão", + "FrmMain.MnuSetDefaultPhotoViewer._Success": "ImageGlass foi definido como o visualizador de imagens predefinido.", "FrmSettings._HideGalleryInFullscreen": "Ocultar galeria no modo de ecrã completo", "FrmSettings._AvailableImageInfoTags": "Etiquetas disponíveis:", "FrmExportFrames._Exporting": "A exportar {0} de {1} molduras\n{2}…", @@ -451,7 +451,7 @@ "_.MouseWheelAction._PanVertically": "Mover para cima/baixo", "FrmSettings._MouseWheelAction": "Ação com a roda do rato", "FrmSettings.Nav._Tools": "Ferramentas", - "FrmMain.MnuSetDesktopBackground._Error": "Não foi possível definir a imagem escolhida como papel de parede", + "FrmMain.MnuSetDesktopBackground._Error": "Não foi possível definir a imagem de visualização como fundo do ambiente de trabalho", "FrmSettings.Toolbar._Errors._ButtonExecutableRequired": "Requer executável do botão", "_.ImageOrderBy._DateAccessed": "Data de acesso", "FrmSettings._ThumbnailSize": "Tamanho das miniaturas (em pixeis)", @@ -462,7 +462,7 @@ "FrmSettings._CurrentMonitorProfile._Description": "ImageGlass não atualiza automaticamente a cor se estiver a mover a janela entre monitores", "FrmMain.PicMain._ErrorText": "Não foi possível abrir a imagem", "FrmSettings.Tools._AddNewTool": "Adicionar uma ferramenta externa", - "FrmMain.MnuRename": "Mudar nome…", + "FrmMain.MnuRename": "Mudar o nome…", "FrmMain.MnuViewLastFrame": "Ir para o último fotograma", "_._Webview2._NotFound": "Por favor instale a versão mais recente de WebView2 Runtime.", "FrmMain.MnuGetMoreTools": "Obter mais ferramentas…", @@ -478,14 +478,14 @@ "FrmSettings.Toolbar._ButtonJson": "Botão JSON", "FrmQuickSetup._SetDefaultViewer._Description": "Pode restaurar as definições da aplicação em Definições -> Associação dos tipos de ficheiro.", "FrmSettings.Nav._Edit": "Editar", - "FrmMain.MnuToggleGallery": "Painel Galeria", + "FrmMain.MnuToggleGallery": "Painel da galeria", "_._IgCommandExe._DefaultError._Description": "Certifique-se que passas os comandos corretos!\r\nEste ficheiro executável contém funções de linha de comando para o software ImageGlass.\r\n\r\nPara explorar todas as linhas de comando, visite:\n{0}", "FrmMain.MnuLosslessCompression._Compressing": "A executar compressão sem perdas…", - "FrmSettings._ShouldGroupImagesByDirectory": "Agrupar imagens por diretório", + "FrmSettings._ShouldGroupImagesByDirectory": "Agrupar imagens por pasta", "FrmMain.MnuPanToRightSide": "Mover imagem para o lado direito", - "_.Metadata._ExifRatingPercent": "Avaliação", + "_.Metadata._ExifRatingPercent": "Classificação", "FrmSettings._PanSpeed": "Velocidade de deslocação", - "_._CheckForUpdate": "Procurar atualizações…", + "_._CheckForUpdate": "Verificar se há atualizações…", "FrmSettings.Layout._ToolbarContext": "Barra de ferramentas contextual", "_.ImageInfo._FrameCount": "{0} fotograma(s)", "FrmMain.MnuLayout": "Disposição", From 41e06b9d3b2f38ff1482888d9cafcda32992c8fd Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Wed, 26 Jun 2024 21:55:36 +0200 Subject: [PATCH 8/9] updated installer --- Setup/AdvancedInstaller/ImageGlass_9_x64.aip | 10 +- .../ImageGlass_9_x64.back(21.7.1).aip | 984 ++++++++++++++++++ 2 files changed, 988 insertions(+), 6 deletions(-) create mode 100644 Setup/AdvancedInstaller/ImageGlass_9_x64.back(21.7.1).aip diff --git a/Setup/AdvancedInstaller/ImageGlass_9_x64.aip b/Setup/AdvancedInstaller/ImageGlass_9_x64.aip index f73ee5c3f..e4061b8c1 100644 --- a/Setup/AdvancedInstaller/ImageGlass_9_x64.aip +++ b/Setup/AdvancedInstaller/ImageGlass_9_x64.aip @@ -1,8 +1,5 @@ - - - - + @@ -25,10 +22,10 @@ - + - + @@ -488,6 +485,7 @@ + diff --git a/Setup/AdvancedInstaller/ImageGlass_9_x64.back(21.7.1).aip b/Setup/AdvancedInstaller/ImageGlass_9_x64.back(21.7.1).aip new file mode 100644 index 000000000..f73ee5c3f --- /dev/null +++ b/Setup/AdvancedInstaller/ImageGlass_9_x64.back(21.7.1).aip @@ -0,0 +1,984 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2f61381e12e1da8a2a4f59e62a8cb8c5dc61f157 Mon Sep 17 00:00:00 2001 From: Phap Dieu Duong Date: Wed, 26 Jun 2024 22:32:32 +0200 Subject: [PATCH 9/9] added sign_publish_files_arm64 --- .../CodeSigning/sign_publish_files_arm64.bat | 73 +++++++++++++++++++ ...h_files.bat => sign_publish_files_x64.bat} | 0 2 files changed, 73 insertions(+) create mode 100644 Tools/CodeSigning/sign_publish_files_arm64.bat rename Tools/CodeSigning/{sign_publish_files.bat => sign_publish_files_x64.bat} (100%) diff --git a/Tools/CodeSigning/sign_publish_files_arm64.bat b/Tools/CodeSigning/sign_publish_files_arm64.bat new file mode 100644 index 000000000..d16f75bb1 --- /dev/null +++ b/Tools/CodeSigning/sign_publish_files_arm64.bat @@ -0,0 +1,73 @@ + +@echo off + + +echo: +echo ********************************************************************* +echo * ImageGlass Code Signing tool V9 +echo * https://imageglass.org +echo * +echo * +echo * https://www.ssl.com/how-to/using-your-code-signing-certificate +echo ********************************************************************* +echo: +echo: + + +set PATH=..\..\Source\ImageGlass\bin\Publish\net8.0-windows-arm64 + +:: Executable files +set FILES[0]=ImageGlass.exe +set FILES[1]=igcmd.exe + +:: Library files +set FILES[2]=ImageGlass.dll +set FILES[3]=igcmd.dll + +set FILES[4]=ImageGlass.Base.dll +set FILES[5]=ImageGlass.Gallery.dll +set FILES[6]=ImageGlass.Settings.dll +set FILES[7]=ImageGlass.Tools.dll +set FILES[8]=ImageGlass.UI.dll +set FILES[9]=ImageGlass.Viewer.dll +set FILES[10]=ImageGlass.WebP.dll +set FILES[11]=ImageGlass.WinTouch.dll + +set FILES[12]=D2Phap.DXControl.dll +set FILES[13]=DirectNStandard.dll +set FILES[14]=ExplorerSortOrder.dll +set FILES[15]=FileWatcherEx.dll + +set FILES[16]=libsharpyuv.dll +set FILES[17]=libwebp.dll +set FILES[18]=libwebpdecoder.dll +set FILES[19]=libwebpdemux.dll +set FILES[20]=PhotoSauce.MagicScaler.dll +set FILES[21]=WicNet.dll +set FILES[22]=ZString.dll + + + +::set TOOL="signtool.exe" +set TOOL="C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\signtool.exe" +set x=0 + + +:SymLoop +if defined FILES[%x%] ( + call echo _________________________________________________________________________________________ + call echo [%x%]. %%FILES[%x%]%% + call echo: + call %TOOL% sign /fd sha256 /tr http://ts.ssl.com /td sha256 /n "Duong Dieu Phap" /a %PATH%\%%FILES[%x%]%% + call %TOOL% verify /pa %PATH%\%%FILES[%x%]%% + call echo: + call echo: + call echo: + + set /a "x+=1" + GOTO :SymLoop +) + +echo: +echo: +pause diff --git a/Tools/CodeSigning/sign_publish_files.bat b/Tools/CodeSigning/sign_publish_files_x64.bat similarity index 100% rename from Tools/CodeSigning/sign_publish_files.bat rename to Tools/CodeSigning/sign_publish_files_x64.bat