Seen at the Ubuntu bug tracker:

,---- https://bugs.launchpad.net/ubuntu/+source/gnustep-base/+bug/2169469
| Every time a GNUstep-based tool is run in the Polish locale, it prints
| this warning:
| 
|   File NSDictionary.m: 671. In -[NSDictionary initWithContentsOfFile:]
|   Contents of file '/usr/lib/x86_64-linux-gnu/GNUstep/Libraries/gnustep-base/
|   Versions/1.31/Resources/Languages/Polish' does not contain a dictionary
| 
| The file is a symlink to:
|   
/usr/share/GNUstep/Libraries/gnustep-base/Versions/1.31/Resources/Languages/Polish
| It belongs to gnustep-base-common. It is not empty (1562 bytes) and is
| UTF-8 text. It looks like a normal property list starting with
| "/* Polish */ {", but GNUstep fails to load it.
`----

The problem is exactly that it's UTF-8, which is not allowed for the
OpenStep format:

$ plparse 
/usr/share/GNUstep/Libraries/gnustep-base/Versions/1.31/Resources/Languages/Polish
Parsing 
'/usr/share/GNUstep/Libraries/gnustep-base/Versions/1.31/Resources/Languages/Polish'
 - bad char '\U0142' at 121

Converted with the following steps:

$ uni2ascii -a U Resources/Languages/Polish > Polish
$ sed -i 's|\\u|\\U|g' Polish
(Manually added quotes around strings with escape sequences.)
$ plparse Polish
Parsing 'Polish' - a dictionary
$ mv Polish Resources/Languages

(Resources/Languages/README says to use cvtenc but it is either buggy
or I don't know how to use it.)

Patch attached.
>From 3ec98672c37fdbd3aa1718c2df5c3a04b3b12872 Mon Sep 17 00:00:00 2001
From: Yavor Doganov <[email protected]>
Date: Fri, 9 Oct 2026 19:45:53 +0300
Subject: [PATCH] Languages/Polish: Convert to US-ASCII

---
 ChangeLog                  |  4 ++++
 Resources/Languages/Polish | 16 ++++++++--------
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fb9e8b3a1..4a103d772 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2026-10-09 Yavor Doganov <[email protected]>
+
+       * Resources/Languages/Polish: Convert to US-ASCII (Ubuntu #2169469).
+
 2026-10-07 Richard Frith-Macdonald <[email protected]>
 
        * Source/Additions/GSMime.m:
diff --git a/Resources/Languages/Polish b/Resources/Languages/Polish
index 3ec937352..9ec56c06e 100644
--- a/Resources/Languages/Polish
+++ b/Resources/Languages/Polish
@@ -4,7 +4,7 @@
   NSLanguageCode = POL;
   NSFormalName = "Polski";
   
-  NSCurrencySymbol = "Złoty";
+  NSCurrencySymbol = "Z\U0142oty";
   NSPositiveCurrencyFormatString = "$9,999.00";
   NSNegativeCurrencyFormatString = "$-9,999.00";
   NSInternationalCurrencyString = "PLN";
@@ -16,20 +16,20 @@
   NSAMPMDesignation = (AM, PM);
   NSDateFormatString = "%A, %B %d, %Y";
   NSDateTimeOrdering = DMYH;
-  NSEarlierTimeDesignations = (poprzednia, ostatnia, przeszłość, przeszłość);
-  NSHourNameDesignations = ((0, północ), (12, południe, obiad), (10, rano), 
(14, popołudnie), (19, wieczór, kolacja));
-  NSLaterTimeDesignations = (później);
-  NSMonthNameArray = (Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, 
Sierpień, Wrzesień, Październik, Listopad, Grudzień);
+  NSEarlierTimeDesignations = (poprzednia, ostatnia, 
"przesz\U0142o\U015B\U0107", "przesz\U0142o\U015B\U0107");
+  NSHourNameDesignations = ((0, "p\U00F3\U0142noc"), (12, "po\U0142udnie", 
obiad), (10, rano), (14, "popo\U0142udnie"), (19, "wiecz\U00F3r", kolacja));
+  NSLaterTimeDesignations = ("p\U00F3\U017Aniej");
+  NSMonthNameArray = ("Stycze\U0144", Luty, Marzec, "Kwiecie\U0144", Maj, 
Czerwiec, Lipiec, "Sierpie\U0144", "Wrzesie\U0144", "Pa\U017Adziernik", 
Listopad, "Grudzie\U0144");
   NSNextDayDesignations = (jutro);
   NSNextNextDayDesignations = (pojutrze);
   NSPriorDayDesignations = (wczoraj);
   NSShortDateFormatString = "%m/%d/%Y";
   NSShortMonthNameArray = (stycz.,     luty,   mar.,   kwiec., maj,    czerw., 
lip.,   sierp., wrzes., pazdz., listop.,        grudz.);
   NSShortTimeDateFormatString = "%d %b, %Y %H:%M";
-  NSShortWeekDayNameArray = (Niedz., Pon., Wt., Śr., Czw., Pt., Sob.);
+  NSShortWeekDayNameArray = (Niedz., Pon., Wt., "\U015Ar.", Czw., Pt., Sob.);
   NSThisDayDesignations = (dzisiaj);
   NSTimeDateFormatString = "%a %b %d %H:%M:%S %z %Y";
   NSTimeFormatString = "%H:%M:%S";
-  NSWeekDayNameArray = (Niedziela, Poniedziałek, Wtorek, środa, Czwartek, 
Piątek, Sobota);
-  NSYearMonthWeekDesignations = (rok, miesiąc, tydzień);
+  NSWeekDayNameArray = (Niedziela, "Poniedzia\U0142ek", Wtorek, "\U015Broda", 
Czwartek, "Pi\U0105tek", Sobota);
+  NSYearMonthWeekDesignations = (rok, "miesi\U0105c", "tydzie\U0144");
 }
-- 
2.55.0

Reply via email to