[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2018-08-09 21:40 UTC == Summary:POSIX should include gettext() and friends == -- (0004081) bhaible (reporter) - 2018-08-09 21:40 http://austingroupbugs.net/view.php?id=1122#c4081 -- What APIs would be useful in POSIX instead? - For all functions that are affected by the current locale (from mbrtowc to fprintf), there should be variants suffixed with _l that additionally take a locale_t argument. - There should be an accessor that returns the external name (e.g. "ll_CC") of a locale_t with respect to a certain category. - There should be a way for a library to install a hook (callback) that gets invoked when the global locale changes (through a call to setlocale()). - The locale_t type should be made extensible, like the "facets" in the C++ std::locale type. These are the real problems around locales in POSIX currently! Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffenNote Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 2017-03-03 04:42 shware_systems Note Added: 0003588 2017-03-03 16:44 joerg Note Added: 0003596 2017-03-03 21:21 EdSchouten Note Added: 0003603 2017-03-05 00:12 keld Note Added: 0003608 2017-03-05 00:13 keld Note Edited: 0003608 2017-03-05 00:14 keld Note Edited: 0003608 2017-03-05 00:17 keld Note Edited: 0003587 2017-03-06 10:28 joerg Note Added: 0003609 2017-03-06 10:28 joerg Note Edited: 0003609 2017-03-06 10:33 joerg Note Added: 0003610 2017-03-06 10:33 joerg Note Edited: 0003610 2017-04-05 05:49 shware_systems Note Added: 0003659
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2018-08-09 21:39 UTC == Summary:POSIX should include gettext() and friends == -- (0004080) bhaible (reporter) - 2018-08-09 21:39 http://austingroupbugs.net/view.php?id=1122#c4080 -- Should the gettext() function family be added to POSIX, in the current state? As a former GNU gettext maintainer, I believe: NO. 1) Applications which need the API and tools can simply install the GNU gettext package. This works even on platforms which have the API already implemented by the system, namely Solaris and NetBSD. There are some small integration issues between the system libc and the GNU libintl, but they are small enough to not cause trouble in real applications. 2) Like EdSchouten says (0003603), there are already too many APIs in POSIX that depend on global state. While gettext() can be implemented in a multithread-safe way, by use of locks, it still costs CPU cycles to do so. (Recently I stumbled across a program that was spending 29% of its time fetching the current locale and computing a property of it - simply because there is no way for a program to attach information to a locale_t object.) So, a gettext_l function would be necessary. 3) Web servers and application servers want to do translations based on user preferences, and the administrators of such servers don't want to install all possible locales of the world. But when you don't have the locale data for locale ll_CC installed, a newlocale(LC_MESSAGES,"ll_CC",NULL) call will fail, thus you can't use gettext() or gettext_l() for that locale. 4) Each time ISO C or POSIX has standardized something regarding internationalization, the result was moderately or highly unusable 10 to 20 years later. wchar_t strings, from the ISO C Amendment (1995), are ill-designed as described in https://www.gnu.org/software/libunistring/manual/html_node/The-wchar_005ft-mess.html#The-wchar_005ft-mess . locale_t is ill-designed because it is not extensible. The POSIX locale specifies character classes, but no system I know of makes the Unicode properties of characters accessible through the wctype() and iswctype() functions. Probably the reason is that the standardization committees didn't (and couldn't) foresee the developments that took place in the next 20 years, but the standard couldn't evolve since it's a standard. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffen
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2018-08-09 16:06 UTC == Summary:POSIX should include gettext() and friends == -- (0004076) eblake (manager) - 2018-08-09 16:06 http://austingroupbugs.net/view.php?id=1122#c4076 -- Also needed: ngettext(), dngettext(), dcngettext() for properly translating pluralized strings Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffenNote Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 2017-03-03 04:42 shware_systems Note Added: 0003588 2017-03-03 16:44 joerg Note Added: 0003596 2017-03-03 21:21 EdSchouten Note Added: 0003603 2017-03-05 00:12 keld Note Added: 0003608 2017-03-05 00:13 keld Note Edited: 0003608 2017-03-05 00:14 keld Note Edited: 0003608 2017-03-05 00:17 keld Note Edited: 0003587 2017-03-06 10:28 joerg Note Added: 0003609 2017-03-06 10:28 joerg Note Edited: 0003609 2017-03-06 10:33 joerg Note Added: 0003610 2017-03-06 10:33 joerg Note Edited: 0003610 2017-04-05 05:49 shware_systems Note Added: 0003659 2018-08-09 16:06 eblake Note Added: 0004076 ==
Re: [1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
Ьь Отправлено с моего смартфона BlackBerry 10. Исходное сообщение От: Austдбк₽ууцin Group Bug Tracker Отправлено: средууяяцчкч5 апреля 2017 г., 8:51 Кому: austin-group-l@opengroup.org Тема: [1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By: joerg Assigned To: == Project: 1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section: 3 + 4 Page Number: 1102...and others Line Number: somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-04-05 05:49 UTC == Summary: POSIX should include gettext() and friends == -- (0003659) shware_systems (reporter) - 2017-04-05 05:49 http://austingroupbugs.net/view.php?id=1122#c3659 -- Re: 3596 It was asked, so I put a few reasons I thought were obvious. Ed S. brought up another of them. I'm not trying to solve those issues here, simply pointing them out. It doesn't matter whether an individual or application does or doesn't consider the concerns raised here are issues because the package works well enough for their purposes, enough variants of the package or gencat already exist because people have considered them issues and done something about it. Some variants are wrappers of gettext, some use other logical models; the Mono runtime does both. Just as we look at how different shells do things, there's reason to expect those variants will be considered in due time also so the standard can be said to at least acknowledge existing practice, even if it doesn't get included. Most shell maintainers have already made formal statements concerning a willingness to adapt to how we modify the shell's requirements, so discussion here is relevant; gettext and those variants haven't. Their maintainers, not us, have to decide whether they want to produce and propose an Issue 8 conforming package that includes their extensions and maybe addresses those concerns. The GNU people at FSF are aware of what's involved for packages being conforming interfaces and utilities, i.e. the general implications of POSIXLY_CORRECT, and further discussion should be on their lists, not here. The evidence is more they don't want to with gettext or it could have been part of the standard already for Issue 7. Similar discussion on the Solaris lists for what Sun did can also be started, if they want that to be considered part of the standard. Issue History Date Modified Username Field Change == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffen Note Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffen Note Added: 0003578 2017-03-01 17:13 steffen Note Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffen Note Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffen Note Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 2017-03-03 04:42 shware_systems Note Added: 0003588 2017-03-03 16:44 joerg Note Added: 0003596 2017-03-03 21:21 EdSchouten Note Added: 0003603 2017-03-05 00:12 keld Note Added: 0003608 2017-03-05 00:13 keld Note Edited: 0003608 2017-03-05 00:14 keld Note Edited: 0003608 2017-03-05 00:17 keld Note Edited: 0003587 2017-03-06 10:28 joerg Note Added: 0003609 2017-03-06 10:28 joerg Note Edited: 0003609 2017-03-06 10:33 joerg Note Added: 0003610 2017-03-06 10:33 joerg Note Edited: 0003610 2017-04-05 05:49 shware_systems Note Added: 0003659 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-06 10:33 UTC == Summary:POSIX should include gettext() and friends == -- (0003610) joerg (reporter) - 2017-03-06 10:33 http://austingroupbugs.net/view.php?id=1122#c3610 -- Re http://austingroupbugs.net/view.php?id=1122#c3608 I believe that gettext(3), xgettext(1) and friends support all encodings that are based on 8-bit character streams. I am not shure whether I did ever see a real life program that included wide character string constants that are subject for translation. If so, we may need to add a wgettext() entry ;-) Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffenNote Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 2017-03-03 04:42 shware_systems Note Added: 0003588 2017-03-03 16:44 joerg Note Added: 0003596 2017-03-03 21:21 EdSchouten Note Added: 0003603 2017-03-05 00:12 keld Note Added: 0003608 2017-03-05 00:13 keld Note Edited: 0003608 2017-03-05 00:14 keld Note Edited: 0003608 2017-03-05 00:17 keld Note Edited: 0003587 2017-03-06 10:28 joerg Note Added: 0003609 2017-03-06 10:28 joerg Note Edited: 0003609 2017-03-06 10:33 joerg Note Added: 0003610 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-05 00:12 UTC == Summary:POSIX should include gettext() and friends == -- (0003608) keld (reporter) - 2017-03-05 00:12 http://austingroupbugs.net/view.php?id=1122#c3608 -- Case conversion and collation is handled by the locale, which also chooses which message catalogue to use. Quite elaborate schemes for case conversions and also collation can be specified with current glibc (ISO 30112) functionality, and that is indeed in widespread use - building on ISO 14651 for the collation. Where is the need for u8"" or u"" support? Gettext handles localization of a program, where the strings to be translated are just given to the API as native strings, which are character encoding independent, and you can port the program to another environment with another internal encoding. I believe \U and \u escapes are available as normal native string processing. For UTF-16 or other 16-bit handling, I believe the normal libc APIS treat 16 bits as one byte, but I am not sure. I believe IOS is using UTF-16 so there must be a lot of experience of porting normal standard C/C++/POSIX utilities to that environment. Does anybody know how this is done? Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffenNote Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 2017-03-03 04:42 shware_systems Note Added: 0003588 2017-03-03 16:44 joerg Note Added: 0003596 2017-03-03 21:21 EdSchouten Note Added: 0003603 2017-03-05 00:12 keld Note Added: 0003608 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-03 21:21 UTC == Summary:POSIX should include gettext() and friends == -- (0003603) EdSchouten (reporter) - 2017-03-03 21:21 http://austingroupbugs.net/view.php?id=1122#c3603 -- What I think is pretty bad about gettext(): modern code tends to be written in such a way that it doesn't keep track of global state. This makes APIs by definition thread-safe, easier to reuse, potentially easier to test, etc. gettext() doesn't offer anything in this regard. For example, gettext() doesn't allow you to write a networked service that returns different responses, based on a per-user language preference, as the interface depends on the process-wide locale. Lots of effort has been spent within this working group to add APIs that are thread-safe. The POSIX 2008 locale_t work is a good example of that. Though I have no objection against standardising tools like msgfmt, etc. I think that adding the C APIs (in their current shape) doesn't make any sense at all. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffenNote Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 2017-03-03 04:42 shware_systems Note Added: 0003588 2017-03-03 16:44 joerg Note Added: 0003596 2017-03-03 21:21 EdSchouten Note Added: 0003603 ==
Re: [1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
|http://austingroupbugs.net/view.php?id=1122 |-- | (0003588) shware_systems (reporter) - 2017-03-03 04:42 (P.S.: i don't plan it, actually. Just in case you think that.) | http://austingroupbugs.net/view.php?id=1122#c3588 And on top of that i think your strategy to provide "programmer's tools" is wrong, and i want to give you a real life example from just this very day, even if that is completely off-topic, but in the end it takes the same line that your post. So once upon a time, in my private life... ▸N 63 me 2017-03-03 13:29 25/ 1362 Bestellnummer: 94556 Hallo! [I say hello.] Ich warte auf irgendeinen Fortschritt bei dieser Bestellung. [As you can see, I am awaiting progress of my order.] Die Bareinzahlung wurde noch ... getätigt, allerdings überwies ich 55.- nicht 53,35.-, da ich den exakten Betrag dummerweise vergessen hatte. [So i transfered all the money, cash, but not the exact value, which i had forgotten, so i have chosen to drive 55, which i knew was sufficient.] Das klingt jetzt vielleicht komisch, aber ich befürchte, daß die von Ihnen ... beauftragte ... in Schockstarre verfallen ist, und im Moment alptraumhafte Erfahrungen macht, schließlich ist der Betrag ja 53,35.- und nicht, ich wiederhole, _nicht_ 55.-! [Yes, so i am suspecting, even if it sounds curious, that the partially outsourced financial administration of this company is paralyzed from shock, making nightmarish experiences, BECAUSE i did not transfer 53,35.- Euro, but 55.-! Note that this part of the company is outsourced to Baden-Wuerttemberg (Heidelberg, to be exact).] Bitte erlösen Sie die Krämerseelen,... [I solicit for salvation of the small-minded persons in the financial administration.] Mit vielem Dank im Voraus, und mit freundlichen Grüßen, und überhaupt: Tschüß! [And this is a very friendly farewell.] O 62 them 2017-03-03 13:47 39/ 2513 Statusänderung zur Bestellung ... N 64 me 2017-03-03 13:56 23/ 1174 ┕▸ Hallo. ... wrote: ... |Der Status Ihrer Bestellung mit der Bestellnummer: 94556 vom 26-02-2017 \ |hat sich geändert. Der neue Status lautet nun Komplett bezahlt. Es ist wirklich ein Wahnsinn wie schnell Ihr seid. Vielen, vielen Dank! Just like i have said: it _has_ been paid completely! And note i praise the client service, it is incredible how fast it is, many, many thanks! (And note it is the - i suspect wealthy - boss which answers here.) O 65 them 2017-03-03 14:00 68/ 3326 ┖▸ Ja, ich habe es gerade prüfen lassen. [Yes, i have ordered a verification.] In der Tag wurde die Bestellung nicht unter komplett bezahlt angezeigt. [Indeed the order has not been advised as completely payed.] Die Ware geht gleich raus!!! [The goods will be send away promptly.] Isn't that a fantastic example for multiple things: - Don't use Python. [Very subjective.] - Don't store money amounts as floating point or complex numbers! Simply use integers, and scale them. [Subjective.] - Don't think that in a modern world credit cards are used by everybody so that accounts are only on accounts, or 0 at best. [Ha! Thanks to above this software did neither drive an airplane nor a nuclear plant! Dammit!! I am pretty sure it can control your coffee machine, though, but in my opinion that would not have been its job, because:] - You can end up with credit! [Not in New York, though, to the best of my knowledge. At least not with a regular work, that is to say.] Conclusion: gettext() does its job, and much better than those unmaintainable catalogues ever did. Greetings to New York. --steffen
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-03 16:44 UTC == Summary:POSIX should include gettext() and friends == -- (0003596) joerg (reporter) - 2017-03-03 16:44 http://austingroupbugs.net/view.php?id=1122#c3596 -- Could we please change the way to discuss the topic? Please do not claim "gettext() is bad - I know that", but rather explain a specific real issue. It is then possible to reply to such a description and either explain why this is no problem, explain how to solve the problem or mark it as an issue that really has not yet been solved. Thank you! Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffenNote Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 2017-03-03 04:42 shware_systems Note Added: 0003588 2017-03-03 16:44 joerg Note Added: 0003596 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-02 17:01 UTC == Summary:POSIX should include gettext() and friends == -- (0003587) keld (reporter) - 2017-03-02 17:01 http://austingroupbugs.net/view.php?id=1122#c3587 -- The different texts for singular and plural (and other cases) are dealt with by gettext, you declare which scheme to be used in the header of the po file and then you just list the cases for the translated texts like msgstr[0] and msgstr[1] Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 2017-03-02 14:41 steffenNote Added: 0003586 2017-03-02 17:01 keld Note Added: 0003587 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-02 09:56 UTC == Summary:POSIX should include gettext() and friends == -- (0003585) keld (reporter) - 2017-03-02 09:56 http://austingroupbugs.net/view.php?id=1122#c3585 -- In gettext, there are easy ways to differentiate between different meanings of the same text string, and there are practices established for that. An easy way is to mark the msgid with a tag and explain this tag in an accompanying comment, and then translate the string into the target language (which may be English, even if the msgid is in English too). There is Unicode support in gettext, indeed most corpora is in Unicode. It is mostly UTF-8. I believe you can also use UTF-16 and others, you just decalre this in the header of the .po-file. I am puzzled to hear that gettext should not support r2l languages sufficiently. Myriads of programs are translated in adequate ways for Arabic and Hebrew languages. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 2017-03-02 09:56 keld Note Added: 0003585 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-02 09:40 UTC == Summary:POSIX should include gettext() and friends == -- (0003584) keld (reporter) - 2017-03-02 09:40 http://austingroupbugs.net/view.php?id=1122#c3584 -- I agree that gettext and friends should be added. It is a much more used set of APIs than catgets(), indeed most of the GUIs in Linux, like KDE and Gnome are built with gettext(), and also POSIX shell utilities. I would then like to see the APIs specified in a thread-safe version. Is there text which we can use as a base for normative wording in POSIX? Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 2017-03-02 09:40 keld Note Added: 0003584 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-02 09:09 UTC == Summary:POSIX should include gettext() and friends == -- (0003583) joerg (reporter) - 2017-03-02 09:09 http://austingroupbugs.net/view.php?id=1122#c3583 -- Re http://austingroupbugs.net/view.php?id=1122#c3581 SCO used catgets() in their Svr4 product and managed the numbers for catgets() manually in include files. I know this because I wrote the ISO-9660:1999 and Joliet drivers for SCO and needed to enhance the mount program. I am not sure whether a user of catgets wrote an automated mapping program. The problem with the ambiguous english language cannot be circumvented by comments in the source code as long as there are two or more identical strings intended to mean something different. Once you manages to have different strings for different meaning, you could add such special commands and GNU xgettext has an option to tell it to transfer such a comment into thr .po file. If you provide a English -> English .po file for your program, you may handle the problem with non-7-Bit-ASCII texts in case you use the encoding tags in the .po file. Here is a sample .po file with the typical mime based hints that are encoded into the .mo file: # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR, YEAR. # #, afuzzy msgid "" msgstr "Project-Id-Version: BLA 9.99\n" "Report-Msgid-Bugs-To: me@\n" "POT-Creation-Date: 2010-12-19 22:23+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: cdrecord.c:319 #, c-format msgid "This is an evaluation version of cdrecord,\n" msgstr "Dies ist eine Beurteilungsversion von cdrecord\n" ... The fact that mime is used here allows to add more enhancements in the future. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 2017-03-02 09:09 joerg Note Added: 0003583 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-01 22:37 UTC == Summary:POSIX should include gettext() and friends == -- (0003581) steffen (reporter) - 2017-03-01 22:37 http://austingroupbugs.net/view.php?id=1122#c3581 -- Hm, with charset agnostic i referred to the fact that the "char const *MSGID", the message itself, is used as the key of the message, so this is just a NUL terminated byte stream; which is then either mapped to a different byte stream that has been loaded from a LC_MESSAGES dependent database file, or can simply be returned "as-is". Too much time has passed, i cannot say anything to the actual plain text input format of .po files, without rereading all the available information that is. |TW: the main problem with catgets() is that it needs a globally maintained message number. I agree. It is in practice unmaintainable unless you have software which generates the MESSAGE-NUMBER = STRING mappings in an automated way. POSIX does not include such software, and it is, also in practice, not as easy as it seems to write such a software, let alone portably, since strings can come from preprocessor expansions, spread across several lines, .. whatever. |This problem may however be circumvented by avoiding english texts | that may have more than one meaning, by either using better wording | or by adding more text to differentiate and by translating the long | english text into the short and ambiguous english text. The usual way is normally to put a specially crafted comment on the line before the string is defined, something like colour.c: /* I18N: ..of colour mapping */ colour.c- n_err(_("`colour': %s: invalid precondition: %s\n"), or send.c: /* I18N: Filename input prompt with file type indication */ send.c- str_concat_csvl(, _("Enter filename for part "), Most others use "L10N:" instead, however, for "localization". And iconv(3) on the fly so that a german LATIN1 message catalog can be used in a german UTF-8 locale thus seems to be common. I think conversion errors should be ignored in, hopefully uncommon, translator-error cases. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 2017-03-01 17:13 steffenNote Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffenNote Added: 0003581 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-01 17:11 UTC == Summary:POSIX should include gettext() and friends == -- (0003578) steffen (reporter) - 2017-03-01 17:11 http://austingroupbugs.net/view.php?id=1122#c3578 -- No, you may feel the desire to turn gettext() into a Waldorf Astoria, but i am afraid you will neither be able to close its doors for renovation, nor turn it into a set of nice Unicode luxury apartments: because gettext() is the actual workhorse of internationalisation in Unix C programs, and charset agnostic. Compare this with catgets(), which is simply not used in any software that i know, except old and practically unmaintained codebases that still use it, but are asleep development-wise, except maybe for adjusting slightly to avoid the bitrot that modern compilers, well, not reveal, but rather generate. Ah, and the ISO C standard committee is not to be forrotten. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffenNote Added: 0003578 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-01 17:10 UTC == Summary:POSIX should include gettext() and friends == -- (0003577) joerg (reporter) - 2017-03-01 17:10 http://austingroupbugs.net/view.php?id=1122#c3577 -- Why do you believe that gettext() is obsolete? Why do you believe that gettext() relies in non-conforming GNU extensions() gettext() was designed by Sun Microsystems in the 1980s and I see no problems with it. There are a few GNU enhancements that are worth ti be included but these extensions still are not non-conforming. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-01 16:54 UTC == Summary:POSIX should include gettext() and friends == -- (0003576) shware_systems (reporter) - 2017-03-01 16:54 http://austingroupbugs.net/view.php?id=1122#c3576 -- While this looks obvious, certainly, catgets() and gettext() both are already obsolete, in terms of thoroughness, since before C99 came out. The gettext package's utilities rely on GNU extensions that make them non-conforming anyways, so isn't suitable to replace cat*() to begin with. Gettext is usable for a variety of languages, but it's still a subset of the languages currently in use. Both models, as compiler and implementation extensions, leave as application-defined aspects of language translation Unicode addresses in a more systematic fashion. Unicode also has known omissions, noted on their to do lists, but not as many. I believe this was touched upon in rejecting Bug 861, which also mentions gettext. Imo, Issue 8 should include something, and I have a tentative design in mind (that includes Bug 861), but addressing this completely is part of Phase 3 or later, to account for how POSIX adds the Unicode requirements, so this can be part of a POSIX Option Group. I consider forward usability, as the final design implemented will be invention, as more important than backwards compatibility. Only a bulk conversion utility for msg and po files, and Win mc sources as a cross platform consideration, is planned for upgrading current applications. Source code and cat/mo file conversions I consider compiler and platform dependent, as does the standard, and overly impractical to automate. An application using gettext or catgets now won't have to upgrade, but those that choose to refactor their source files will stand a much better chance of being certified as Conforming with Extensions. Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 ==
[1003.1(2016)/Issue7+TC2 0001122]: POSIX should include gettext() and friends
A NOTE has been added to this issue. == http://austingroupbugs.net/view.php?id=1122 == Reported By:joerg Assigned To: == Project:1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:3 + 4 Page Number:1102...and others Line Number:somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: == Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-01 16:05 UTC == Summary:POSIX should include gettext() and friends == -- (0003575) steffen (reporter) - 2017-03-01 16:05 http://austingroupbugs.net/view.php?id=1122#c3575 -- I posted on the ML (which does no longer include a sequence number, the resent-message-id was "dhdJXC.A.-oG.z8rtYB"@Phoebe.vpn.opengroup.org), a superset of what follows: [..]it definitely must be possible to implement this as a macro, that is to say. And possibly GETTEXT() should at least be reserved, just in case ISO C does not go that route, so that GETTEXT(target-store, msgid) can be a #define with do{}while(0).[..] This is because implementations of gettext() (-alike interfaces) have been seen, or may still exist, which avoid successive, and therefore practically always unnecessary database lookups by injecting code into compilation units (e.g., a modification-counter reference and a character pointer, both "static", to be initialized first, and only comparing the reference against the database-specific counter). Issue History Date ModifiedUsername FieldChange == 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffenNote Added: 0003575 ==