From e8ed7f95aa87f9b0137806c789f358342e3d976d Mon Sep 17 00:00:00 2001 From: MoNTE48 Date: Fri, 21 Jan 2022 15:10:58 +0100 Subject: [PATCH] Add `string:trim8()` and fix intllib --- builtin/common/misc_helpers.lua | 4 ++++ builtin/intllib/gettext.lua | 2 +- builtin/intllib/lib.lua | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua index 3438f414e..698349659 100644 --- a/builtin/common/misc_helpers.lua +++ b/builtin/common/misc_helpers.lua @@ -207,6 +207,10 @@ function string:trim() return (self:gsub("^%s*(.-)%s*$", "%1")) end +function string:trim8() + return utf8.gsub(self, "^%s*(.-)%s*$", "%1") +end + -------------------------------------------------------------------------------- function math.hypot(x, y) local t diff --git a/builtin/intllib/gettext.lua b/builtin/intllib/gettext.lua index 4b131d1c4..c56deec96 100644 --- a/builtin/intllib/gettext.lua +++ b/builtin/intllib/gettext.lua @@ -20,7 +20,7 @@ local function parse_po(str) end for _, line in ipairs(str:split("\n")) do repeat lineno = lineno + 1 - line = line:trim() + line = line:trim8() if line == "" or line:match("^#") then state, msgid, msgid_plural = nil, nil, nil diff --git a/builtin/intllib/lib.lua b/builtin/intllib/lib.lua index da6493365..3cab7e3f6 100644 --- a/builtin/intllib/lib.lua +++ b/builtin/intllib/lib.lua @@ -56,12 +56,12 @@ function intllib.load_strings(filename) end local strings = {} for line in file:lines() do - line = line:trim() + line = line:trim8() if line ~= "" and line:sub(1, 1) ~= "#" then local pos = find_eq(line) if pos then - local msgid = unescape(line:sub(1, pos - 1):trim()) - strings[msgid] = unescape(line:sub(pos + 1):trim()) + local msgid = unescape(line:sub(1, pos - 1):trim8()) + strings[msgid] = unescape(line:sub(pos + 1):trim8()) end end end