mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-08-02 14:57:31 +03:00
fix: enable i18n on FreeBSD
This commit is contained in:
@ -46,7 +46,7 @@ pub fn build(b: *std.Build) !void {
|
|||||||
if (config.app_runtime != .none) {
|
if (config.app_runtime != .none) {
|
||||||
exe.install();
|
exe.install();
|
||||||
resources.install();
|
resources.install();
|
||||||
if (builtin.target.os.tag != .freebsd) i18n.install();
|
i18n.install();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Libghostty
|
// Libghostty
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
const GhosttyI18n = @This();
|
const GhosttyI18n = @This();
|
||||||
|
|
||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
const builtin = @import("builtin");
|
||||||
const Config = @import("Config.zig");
|
const Config = @import("Config.zig");
|
||||||
const gresource = @import("../apprt/gtk/gresource.zig");
|
const gresource = @import("../apprt/gtk/gresource.zig");
|
||||||
const internal_os = @import("../os/main.zig");
|
const internal_os = @import("../os/main.zig");
|
||||||
@ -21,6 +22,11 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyI18n {
|
|||||||
defer steps.deinit();
|
defer steps.deinit();
|
||||||
|
|
||||||
inline for (internal_os.i18n.locales) |locale| {
|
inline for (internal_os.i18n.locales) |locale| {
|
||||||
|
const target_locale = comptime if (builtin.target.os.tag == .freebsd)
|
||||||
|
std.mem.trimRight(u8, locale, ".UTF-8")
|
||||||
|
else
|
||||||
|
locale;
|
||||||
|
|
||||||
const msgfmt = b.addSystemCommand(&.{ "msgfmt", "-o", "-" });
|
const msgfmt = b.addSystemCommand(&.{ "msgfmt", "-o", "-" });
|
||||||
msgfmt.addFileArg(b.path("po/" ++ locale ++ ".po"));
|
msgfmt.addFileArg(b.path("po/" ++ locale ++ ".po"));
|
||||||
|
|
||||||
@ -28,7 +34,7 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyI18n {
|
|||||||
msgfmt.captureStdOut(),
|
msgfmt.captureStdOut(),
|
||||||
std.fmt.comptimePrint(
|
std.fmt.comptimePrint(
|
||||||
"share/locale/{s}/LC_MESSAGES/{s}.mo",
|
"share/locale/{s}/LC_MESSAGES/{s}.mo",
|
||||||
.{ locale, domain },
|
.{ target_locale, domain },
|
||||||
),
|
),
|
||||||
).step);
|
).step);
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ pub const InitError = error{
|
|||||||
pub fn init(resources_dir: []const u8) InitError!void {
|
pub fn init(resources_dir: []const u8) InitError!void {
|
||||||
// i18n is unsupported on Windows
|
// i18n is unsupported on Windows
|
||||||
switch (builtin.os.tag) {
|
switch (builtin.os.tag) {
|
||||||
.windows, .freebsd => return,
|
.windows => return,
|
||||||
else => {
|
else => {
|
||||||
// Our resources dir is always nested below the share dir that
|
// Our resources dir is always nested below the share dir that
|
||||||
// is standard for translations.
|
// is standard for translations.
|
||||||
|
Reference in New Issue
Block a user