-
oninoshiko
jclulow: completely fair. There's probably *already* some banking software to have hit the 2038 bug
-
alanc
though banking software is more likely to use COBOL date formats than those based on the Unix Epoch
-
kevans
who
-
kevans
(sorry)
-
jclulow
Yeah, I would not be using time(2) or ctime(3C) for anything where I actually cared about time, haha
-
fenix
Release r151054 (LTS/stable) is available -
omnios.org/article/r54
-
sommerfeld
did some digging into libstc++ locale support. The "generic" code we use today throws exceptions on contact with a non-C locale facet. Looks like we're about five xlocale.h *_l entrypoints away from being able to use the "dragonfly" libstdc++ locale code.
-
sommerfeld
(motivated by seeing my gnucash port crash unless LC_ALL=C)
-
sommerfeld
looks like: strtof_l strtod_l strtold_l localeconv_l wcsftime_l
-
denk
-
rmustacc
There was some discussion around some of those in the past. If those are useful, it probably wouldn't be too bad to look at.
-
wiedi
this reminds me, I was wondering a while ago if we have translation strings for system messages somewhere?
-
tsoome_
yes
-
tsoome_
we do create po files (./proto/root_i386/usr/lib/locale/C/LC_MESSAGES/) but thats about it.
-
wiedi
but nothing besides C, or did I miss that?
-
tsoome_
there are no translations, no
-
jbk
i'm guessing those were never released back in the day?
-
jbk
(i.e. we'd had to do the work ourselves)
-
tsoome_
probably. I would not really expect there to be many anyhow...
-
jbk
i'd have thought solaris would have had a fair number of translations, but it's also not something i ever had to look into...
-
wiedi
yep, if we had old ones that were just a bit outdated it might have been fun to get any new strings done - but starting from scratch looks a lot more daunting
-
jbk
i thought someone mentioned there was a site (or sites) where you could pay people to do the translation (though not sure how expensive or how good the results would be)
-
sommerfeld
Yeah, I'll take a look at adding those five functions (a first glance suggests it shouldn't be hard).
-
jbk
or i suppose (stepping into a minefield here) we could see how well chatgpt or the like does as an initial starting point
-
jbk
(there's probably other considerations we'd need to look at if we wanted to seriously entertain the latter)
-
tsoome_
yea, s11 definitely has them for de_* but ... then again, once done, the translations will last long time considering the rate of changes we have;)
-
jbk
i mean, even though my german and spanish is both limited and absolutely horrible, I'd like to see us have translations since I think it'd reduce a potential barrier for people that are interested
-
tsoome_
not sure about the possible copyright claims related to AI;)
-
jbk
so not something i felt there was much I could do to help there..
-
jbk
yeah, that'd be the big concern since it seems like the law on that (at least in the US) is far from settled
-
tsoome_
also I think we still have hidden bugs due to gettext() masking the format strings
-
sommerfeld
jbk: yeah, chances are good that a LLM would just regurgitate another OS's copyrighted translation of the same error message.
-
sommerfeld
or well, produce output indistinguishable from another OS's copyrighted translation..
-
sommerfeld
.. but then so might a human translator..
-
jbk
yeah, i can't imagine that in least some cases, there's going only be a small (even 1) number of correct translations
-
jbk
e.g. I'm guessing there aren't many ways to say 'File not found' in many languages
-
sommerfeld
One rathole I went down for the gnucash port was around lconv->*grouping. As best I can tell there are 4 values for "grouping" that are actually used ("" - no grouping, "\177" - no grouping, "\003" - every 3 digits used in most of the world, "\003\002" - south asian 1,00,00,000.00). Some systems have "" in the C locale. We have "\177", and I belive so does FreeBSD. MacOS and Linux have "".
-
sommerfeld
Lots of mechanism for only a couple different variants.
-
sommerfeld
jbk: plus there's the matter of providing sufficient context to translators so they understand that "file" isn't referring to a rasp-like woodworking tool or a line of people or animals one behind each other...
-
sommerfeld
-
richlowe
oooh
-
illumofornia
Illumos-related dad joke of the day... realtime audio production fork of OmniOS:ΩniOS...
-
» jbk resists the urge to comment :P
-
danmcd
I love a good dad joke, but I'm missing the subtlety here beyond s/Om/{Ohm,Ω}/g
-
sommerfeld
danmcd: perhaps there's some sort of impedance to your sense of humor..
-
richlowe
oh, oh no
-
danmcd
I thought it was a music-software reference, but my music-software pointer is uninitialized so SEGV.
-
sommerfeld
richlowe: okay, should __EXTENSIONS__ imply _LCONV_C99 (in <iso/locale_iso.h>, included by <locale.h>) ?
-
sommerfeld
I'd think it should..
-
richlowe
Hm, I think so.
-
sommerfeld
I'll make that part of 17416
-
rmustacc
__EXTENSIONS__ on its is probably insufficient.
-
rmustacc
*on its own
-
rmustacc
That is C89 + extensions should probably not see it?
-
sommerfeld
so ((defined(_STRICT_STDC) || defined(__EXTENSIONS__)) && defined(_STDC_C99)) || defined(_LCONV_C99)?
-
rmustacc
Maybe? Let me go read a few docs.
-
sommerfeld
thanks for taking a look..
-
rmustacc
No problem. I had had some notes to look at those a while back so appreciate you looking at adding those functions.
-
sommerfeld
I have them prototyped to the point where I'm running a nightly.
-
sommerfeld
It was not hard.
-
rmustacc
So thinking on it a bit more, the C89 specific bit makes me a bit uncertain. A part of me thinks it kind of wants to be just #if !defined(_STRICT_SYMBOLS) || defined(_STDC_C99) || defined(_LCONV_C99).
-
rmustacc
That would mean non-strict C89 does see it. It also means that older POSIX will not see it, but I think that's a bit to go double check is who first introduced the extensions.
-
rmustacc
The new stuff would just be the simple if !defined _STRICT_SYMBOLS.
-
rmustacc
Yeah, I think seeing it in C89 in a non-strict mode is probably... fine.
-
sommerfeld
new functions land in xlocale.h which is not in standards-land.
-
rmustacc
Ah, then you're fine.