Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #123321 > unrolled thread
| Started by | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| First post | 2026-01-23 21:35 -0600 |
| Last post | 2026-02-03 17:32 -0600 |
| Articles | 20 on this page of 121 — 19 participants |
Back to article view | Back to comp.lang.c++
"Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-23 21:35 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-24 04:46 +0000
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-01-24 10:11 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-25 17:13 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-25 15:21 -0600
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-01-26 01:00 +0100
Re: "Internationalis(z)ing Code - Computerphile" scott@slp53.sl.home (Scott Lurndal) - 2026-01-26 15:04 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-26 01:42 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-26 00:45 -0600
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-01-26 14:17 +0200
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-26 16:50 -0600
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-01-26 09:07 +0100
Re: "Internationalis(z)ing Code - Computerphile" Paavo Helde <eesnimi@osa.pri.ee> - 2026-01-30 14:56 +0200
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-01-30 14:37 +0100
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-30 20:28 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-01-31 12:50 +0100
Re: "Internationalis(z)ing Code - Computerphile" G <g@nowhere.invalid> - 2026-01-31 18:50 +0000
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-01-31 16:10 -0600
Re: "Internationalis(z)ing Code - Computerphile" ImperiusDamian <dgwrightauthor@gmail.com> - 2026-01-31 21:08 -0500
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-01 09:06 +0000
Re: "Internationalis(z)ing Code - Computerphile" "Fred. Zwarts" <F.Zwarts@HetNet.nl> - 2026-02-02 11:18 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-02 21:23 +0000
Re: "Internationalis(z)ing Code - Computerphile" "Fred. Zwarts" <F.Zwarts@HetNet.nl> - 2026-02-03 10:33 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-03 21:29 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-01 11:18 +0100
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-02-01 08:28 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-01 09:42 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-01 11:35 +0100
Re: "Internationalis(z)ing Code - Computerphile" James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-02-01 12:21 -0500
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-01 23:01 +0100
Re: "Internationalis(z)ing Code - Computerphile" James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-02-01 19:11 -0500
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-02 04:31 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-02 11:27 +0100
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-02 12:49 +0200
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-02 13:14 +0100
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-02-02 16:07 +0100
Re: "Internationalis(z)ing Code - Computerphile" James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-02-02 09:36 -0500
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-02 16:01 +0100
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-02-02 16:19 +0100
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-26 22:47 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-26 16:51 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-27 05:17 +0000
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-27 06:45 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-27 01:46 -0600
Re: "Internationalis(z)ing Code - Computerphile" "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-01-27 00:14 -0800
Re: "Internationalis(z)ing Code - Computerphile" scott@slp53.sl.home (Scott Lurndal) - 2026-01-27 15:22 +0000
Re: "Internationalis(z)ing Code - Computerphile" "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-01-27 12:33 -0800
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-01-27 11:04 +0200
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-01-27 08:35 -0600
Re: "Internationalis(z)ing Code - Computerphile" scott@slp53.sl.home (Scott Lurndal) - 2026-01-27 15:21 +0000
Re: "Internationalis(z)ing Code - Computerphile" Tristan Wibberley <tristan.wibberley+netnews2@alumni.manchester.ac.uk> - 2026-01-31 02:06 +0000
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-02 21:02 +0100
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-02 21:13 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-02 21:25 +0000
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-03 10:54 +0200
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-03 10:44 +0100
Re: "Internationalis(z)ing Code - Computerphile" Chris Ahlstrom <OFeem1987@teleworm.us> - 2026-02-03 09:47 -0500
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-03 16:02 +0100
Re: "Internationalis(z)ing Code - Computerphile" Chris Ahlstrom <OFeem1987@teleworm.us> - 2026-02-04 08:45 -0500
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-03 21:32 +0000
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-03 22:56 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-04 00:15 +0000
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-04 09:37 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-03 17:28 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-04 00:14 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-03 20:17 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-04 04:57 +0000
Re: "Internationalis(z)ing Code - Computerphile" Chris Ahlstrom <OFeem1987@teleworm.us> - 2026-02-04 08:54 -0500
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-04 16:43 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-05 09:09 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-05 15:47 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-05 22:35 +0000
Re: "Internationalis(z)ing Code - Computerphile" scott@slp53.sl.home (Scott Lurndal) - 2026-02-04 15:44 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-04 16:53 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-05 09:10 +0000
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-05 12:10 +0200
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-07 09:23 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-09 15:25 -0600
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-04 14:24 +0200
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-04 16:57 +0100
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-04 17:16 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-04 16:57 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-05 09:11 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-04 16:55 -0600
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-05 12:24 +0200
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-04 19:20 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-04 17:07 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-05 07:23 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-05 09:14 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-05 16:01 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-05 22:30 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-05 20:22 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-06 04:50 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-05 23:52 -0600
Re: "Internationalis(z)ing Code - Computerphile" Harold Stevens <wookie@aspen.localdomain> - 2026-02-06 04:24 -0600
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-05 12:02 +0200
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-05 18:38 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-13 17:21 -0600
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-05 11:13 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-05 15:58 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-07 19:15 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-07 20:34 +0000
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-08 08:58 +0000
Re: "Internationalis(z)ing Code - Computerphile" Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-02-08 04:07 -0800
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-08 15:39 +0200
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-08 23:35 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-09 15:33 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-10 20:55 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-10 18:57 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-11 05:57 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-11 14:32 +0100
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-11 20:46 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-09 15:29 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-10 06:10 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-09 15:32 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-10 06:07 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-10 20:17 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-10 20:07 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-11 05:54 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-11 14:42 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-03 17:32 -0600
Page 1 of 7 [1] 2 3 4 5 6 7 Next page →
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2026-01-23 21:35 -0600 |
| Subject | "Internationalis(z)ing Code - Computerphile" |
| Message-ID | <10l1emt$gbq3$1@dont-email.me> |
"Internationalis(z)ing Code - Computerphile"
https://www.youtube.com/watch?v=0j74jcxSunY
"Catering for a global audience is difficult, Tom takes us through a
'timezones' style explanation of the things you need to keep in mind
when internationalising your code."
I knew it was bad, but not that bad.
Yup, I just write and sell my software in American English. I've got
enough problems without having to deal with localization.
One of my programmers has been working on converting our Windows user
interface, written in 450,000 lines of C++, from Ascii to Unicode for
two years now. It was a one year project to start and his latest
estimate is another year to complete.
Lynn
[toc] | [next] | [standalone]
| From | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| Date | 2026-01-24 04:46 +0000 |
| Message-ID | <10l1iqt$h6vp$3@dont-email.me> |
| In reply to | #123321 |
On Fri, 23 Jan 2026 21:35:54 -0600, Lynn McGuire wrote:
> I knew it was bad, but not that bad.
Back in earlier Web 1.0 days, I developed an online shop system for
a client, that had to be localizable for different target markets --
different currencies, different languages.
I developed a templating system, which allowed the code to substitute
strings into other strings, making choices according to numbers of
items (for singular-versus-plural cases), gender etc. Since the
placeholders were substituted by name, not position, this allowed for
differences in grammar (e.g. verb-noun ordering).
As new languages came along with more grammatical peculiarities, I
added new templating cases, that could substitute to exactly the same
strings for existing languages. For example, a list of items in
English might expand to one of
1 item -- “A”
2 items -- “A or B”
3 or more items -- “A, B, ... C or D”
whereas in Japanese, the case with 3 items has to be distinguished
from the ones with 4 or more items.
The hard part was explaining the templating system to translators. I
tried giving copious examples of how the substitutions would work in
specific cases. As I recall, I still had to do some massaging of the
strings they sent back, in some cases having to guess what they meant,
and then get them to test the results, to confirm with them that the
site was producing the correct messages in all cases.
[toc] | [prev] | [next] | [standalone]
| From | Gary Scott <garylscott@sbcglobal.net> |
|---|---|
| Date | 2026-01-24 10:11 -0600 |
| Message-ID | <10l2qus$u94q$1@dont-email.me> |
| In reply to | #123322 |
On 1/23/2026 10:46 PM, Lawrence D’Oliveiro wrote: > On Fri, 23 Jan 2026 21:35:54 -0600, Lynn McGuire wrote: > >> I knew it was bad, but not that bad. > > Back in earlier Web 1.0 days, I developed an online shop system for > a client, that had to be localizable for different target markets -- > different currencies, different languages. > > I developed a templating system, which allowed the code to substitute > strings into other strings, making choices according to numbers of > items (for singular-versus-plural cases), gender etc. Since the > placeholders were substituted by name, not position, this allowed for > differences in grammar (e.g. verb-noun ordering). > > As new languages came along with more grammatical peculiarities, I > added new templating cases, that could substitute to exactly the same > strings for existing languages. For example, a list of items in > English might expand to one of > > 1 item -- “A” > 2 items -- “A or B” > 3 or more items -- “A, B, ... C or D” > > whereas in Japanese, the case with 3 items has to be distinguished > from the ones with 4 or more items. > > The hard part was explaining the templating system to translators. I > tried giving copious examples of how the substitutions would work in > specific cases. As I recall, I still had to do some massaging of the > strings they sent back, in some cases having to guess what they meant, > and then get them to test the results, to confirm with them that the > site was producing the correct messages in all cases. I would think that in some cases, you could simply substitute a different bubble help message for hovering over a provided icon, nowadays. Might be sufficient for some cases.
[toc] | [prev] | [next] | [standalone]
| From | Thomas Koenig <tkoenig@netcologne.de> |
|---|---|
| Date | 2026-01-25 17:13 +0000 |
| Message-ID | <10l5ivf$1qmik$1@dont-email.me> |
| In reply to | #123321 |
Lynn McGuire <lynnmcguire5@gmail.com> schrieb: > "Internationalis(z)ing Code - Computerphile" > https://www.youtube.com/watch?v=0j74jcxSunY > > "Catering for a global audience is difficult, Tom takes us through a > 'timezones' style explanation of the things you need to keep in mind > when internationalising your code." > > I knew it was bad, but not that bad. > > Yup, I just write and sell my software in American English. I've got > enough problems without having to deal with localization. You can probably get by with engineering software. > One of my programmers has been working on converting our Windows user > interface, written in 450,000 lines of C++, from Ascii to Unicode for > two years now. It was a one year project to start and his latest > estimate is another year to complete. Like the early history of Fortran - when people ask when the project was going to be finisehd, the answer was always "in six months". -- This USENET posting was made without artificial intelligence, artificial impertinence, artificial arrogance, artificial stupidity, artificial flavorings or artificial colorants.
[toc] | [prev] | [next] | [standalone]
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2026-01-25 15:21 -0600 |
| Message-ID | <10l61gp$2055l$1@dont-email.me> |
| In reply to | #123333 |
On 1/25/2026 11:13 AM, Thomas Koenig wrote: > Lynn McGuire <lynnmcguire5@gmail.com> schrieb: >> "Internationalis(z)ing Code - Computerphile" >> https://www.youtube.com/watch?v=0j74jcxSunY >> >> "Catering for a global audience is difficult, Tom takes us through a >> 'timezones' style explanation of the things you need to keep in mind >> when internationalising your code." >> >> I knew it was bad, but not that bad. >> >> Yup, I just write and sell my software in American English. I've got >> enough problems without having to deal with localization. > > You can probably get by with engineering software. > >> One of my programmers has been working on converting our Windows user >> interface, written in 450,000 lines of C++, from Ascii to Unicode for >> two years now. It was a one year project to start and his latest >> estimate is another year to complete. > > Like the early history of Fortran - when people ask when the project > was going to be finisehd, the answer was always "in six months". I started writing Fortran code in 1975 for one of my dad's programmers when I was 14. Dad was always selling the future capabilities of the software, more than the software did or was even designed to do. Here I am in 2026, still trying to add more capabilities to the same software for my customers demands. BTW, I don't put commas in my 12 digit printed numbers because I sell 40% of my software outside the USA, just periods. Shoot, people can't even agree on periods or commas for the fractional part. Lynn
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-01-26 01:00 +0100 |
| Message-ID | <10l6aqf$1b3n6$1@dont-email.me> |
| In reply to | #123335 |
On 2026-01-25 22:21, Lynn McGuire wrote: >> Lynn McGuire <lynnmcguire5@gmail.com> schrieb: >>> >>> [...] I've got enough problems without having to deal with localization. Getting all right if implementing things from scratch is demanding. (Luckily software and systems nowadays handle that for us.) $ LC_NUMERIC=de_DE.UTF-8 printf "%9.3f\n" 1.234,567 1234,567 $ LC_NUMERIC=en_US.UTF-8 printf "%9.3f\n" 1,234.567 1234.567 > BTW, I don't put commas in my 12 digit printed numbers because I sell > 40% of my software outside the USA, just periods. That, OTOH, is just the trivial part. Even some old languages (like Simula) allowed to change the decimal mark character for read/write of real numbers. Since you just need that function on the interface level it can be done in one place (presuming you use the respective function, or redefine your own); the internal representation may be all the same. So just define the numeric separators in the program's environment. > Shoot, people can't > even agree on periods or commas for the fractional part. Are you really complaining about characteristics of people's (or nation's) historic conventions? They typically use what's defined in their nation. (What's actually supported by the respective locale for that language/nation.) It's hard to change long used common habits. (See introduction of the SI units in the USA, for example.) I think they usually also don't need to change their habits. Only in case of international cooperation we need to distinguish the [external] representation. (Our IT, software systems, and programmers certainly can handle that.) Personally I'm using the "C" locale for numeric representations in my private computing. But I'm used to write numbers like "1234.567", where non-IT people might not be used to it. Though even long existing software doesn't get localization sensibly implemented (despite they're technically using locales). But that's another story. Janis
[toc] | [prev] | [next] | [standalone]
| From | scott@slp53.sl.home (Scott Lurndal) |
|---|---|
| Date | 2026-01-26 15:04 +0000 |
| Message-ID | <foLdR.632345$VY9.36354@fx10.iad> |
| In reply to | #123337 |
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>On 2026-01-25 22:21, Lynn McGuire wrote:
>>> Lynn McGuire <lynnmcguire5@gmail.com> schrieb:
>>>>
>>>> [...] I've got enough problems without having to deal with localization.
>
>Getting all right if implementing things from scratch is demanding.
>(Luckily software and systems nowadays handle that for us.)
>
>$ LC_NUMERIC=de_DE.UTF-8 printf "%9.3f\n" 1.234,567
> 1234,567
>$ LC_NUMERIC=en_US.UTF-8 printf "%9.3f\n" 1,234.567
> 1234.567
>
>> BTW, I don't put commas in my 12 digit printed numbers because I sell
>> 40% of my software outside the USA, just periods.
>
>That, OTOH, is just the trivial part. Even some old languages (like
>Simula) allowed to change the decimal mark character for read/write
>of real numbers. Since you just need that function on the interface
>level it can be done in one place (presuming you use the respective
>function, or redefine your own); the internal representation may be
>all the same. So just define the numeric separators in the program's
>environment.
COBOL:
ENVIRONMENT DIVISION.
SPECIAL-NAMES.
DECIMAL POINT IS COMMA.
>
>> Shoot, people can't
>> even agree on periods or commas for the fractional part.
>
>Are you really complaining about characteristics of people's (or
>nation's) historic conventions?
It's Lynn. He's a rather hidebound trump supporter. Logic and
history are not components of his thought processes.
[toc] | [prev] | [next] | [standalone]
| From | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| Date | 2026-01-26 01:42 +0000 |
| Message-ID | <10l6gqn$2504g$1@dont-email.me> |
| In reply to | #123335 |
On Sun, 25 Jan 2026 15:21:27 -0600, Lynn McGuire wrote: > BTW, I don't put commas in my 12 digit printed numbers because I sell > 40% of my software outside the USA, just periods. Shoot, people can't > even agree on periods or commas for the fractional part. This is where you should automatically query the locale settings.
[toc] | [prev] | [next] | [standalone]
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2026-01-26 00:45 -0600 |
| Message-ID | <10l72im$29f87$1@dont-email.me> |
| In reply to | #123338 |
On 1/25/2026 7:42 PM, Lawrence D’Oliveiro wrote: > On Sun, 25 Jan 2026 15:21:27 -0600, Lynn McGuire wrote: > >> BTW, I don't put commas in my 12 digit printed numbers because I sell >> 40% of my software outside the USA, just periods. Shoot, people can't >> even agree on periods or commas for the fractional part. > > This is where you should automatically query the locale settings. Yup, only if I had the time. I am at 15% of converting my Fortran code to C++. 800,000 lines of Fortran code with 700,000 lines to go. I got my input parser on my data reduction software to working in C++ just last Thursday. Lynn
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2026-01-26 14:17 +0200 |
| Message-ID | <20260126141746.00002264@yahoo.com> |
| In reply to | #123340 |
On Mon, 26 Jan 2026 00:45:41 -0600 Lynn McGuire <lynnmcguire5@gmail.com> wrote: > On 1/25/2026 7:42 PM, Lawrence D’Oliveiro wrote: > > On Sun, 25 Jan 2026 15:21:27 -0600, Lynn McGuire wrote: > > > >> BTW, I don't put commas in my 12 digit printed numbers because I > >> sell 40% of my software outside the USA, just periods. Shoot, > >> people can't even agree on periods or commas for the fractional > >> part. > > > > This is where you should automatically query the locale settings. > > Yup, only if I had the time. I am at 15% of converting my Fortran > code to C++. 800,000 lines of Fortran code with 700,000 lines to go. > I got my input parser on my data reduction software to working in > C++ just last Thursday. > > Lynn > How many of your grandchildren are working on this software?
[toc] | [prev] | [next] | [standalone]
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2026-01-26 16:50 -0600 |
| Message-ID | <10l8r34$2tekr$1@dont-email.me> |
| In reply to | #123342 |
On 1/26/2026 6:17 AM, Michael S wrote: > On Mon, 26 Jan 2026 00:45:41 -0600 > Lynn McGuire <lynnmcguire5@gmail.com> wrote: > >> On 1/25/2026 7:42 PM, Lawrence D’Oliveiro wrote: >>> On Sun, 25 Jan 2026 15:21:27 -0600, Lynn McGuire wrote: >>> >>>> BTW, I don't put commas in my 12 digit printed numbers because I >>>> sell 40% of my software outside the USA, just periods. Shoot, >>>> people can't even agree on periods or commas for the fractional >>>> part. >>> >>> This is where you should automatically query the locale settings. >> >> Yup, only if I had the time. I am at 15% of converting my Fortran >> code to C++. 800,000 lines of Fortran code with 700,000 lines to go. >> I got my input parser on my data reduction software to working in >> C++ just last Thursday. >> >> Lynn >> > > How many of your grandchildren are working on this software? None as I have no grandchildren. Lynn
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2026-01-26 09:07 +0100 |
| Message-ID | <10l77c7$2as3t$1@dont-email.me> |
| In reply to | #123338 |
On 26/01/2026 02:42, Lawrence D’Oliveiro wrote: > On Sun, 25 Jan 2026 15:21:27 -0600, Lynn McGuire wrote: > >> BTW, I don't put commas in my 12 digit printed numbers because I sell >> 40% of my software outside the USA, just periods. Shoot, people can't >> even agree on periods or commas for the fractional part. > > This is where you should automatically query the locale settings. In my experience, that's often of no help at all. It is very dependent on the type of programs you are writing, and the type of users. There are some PCs that are /personal/ computers. But there are many situations where PCs are not personal, or where the same program is used on the same system by different people (different humans, not different Linux/Windows logins) who have different preferences. The obvious example is web-based software, though that's not a common model for the languages in these Usenet groups. I don't write a lot of user-facing software, but when I do, it is not uncommon for it to be bilingual - Norwegian and English. And the language is changed while the program is running, perhaps in connection to a login if the program has one. IME, locale settings can be a bigger hinder than help, especially on Windows and with MS Office. If your program exports data in tab or semicolon separated formats to be opened in a spreadsheet, or has some other connection to MS Office programs, you have to use the formats that the locale wants, not the formats the current user wants. (LibreOffice is vastly more flexible.) Displaying a decimal point, decimal colon, or decimal apostrophe is not difficult - it is handling the imports and exports that is the challenge. And if you are writing wider-range internationalised software (not my field), locales cover only a very small part. Your screen layout should likely be very different for a country with a right-to-left writing system, for example. And whatever name you pick for your program, if you have enough languages then you are pretty much guaranteed that in some countries your program name will be an insult, a swear word, or at least sound ridiculous.
[toc] | [prev] | [next] | [standalone]
| From | Paavo Helde <eesnimi@osa.pri.ee> |
|---|---|
| Date | 2026-01-30 14:56 +0200 |
| Message-ID | <10li9q4$23nes$1@dont-email.me> |
| In reply to | #123341 |
On 1/26/2026 10:07 AM, David Brown wrote: > > IME, locale settings can be a bigger hinder than help, especially on > Windows and with MS Office. Right. When using locales, the result of the program run is not deterministic as you never know what locale might be installed by the user. On top of that, the code using locales is often several times slower, especially in multithreaded programs where threads are sharing the common global locale. Seems like a lose-lose situation to me. Locales are only useful when displaying info directly for the user to view. Alas, most C++ projects are not GUI, but much lower level libraries where there is no connection between the current machine locale and the locale of the human viewer who might eventually view the produced data. Moreover, most produced text data is consumed by other software nowadays, not humans, and having to deal with varying locales just breaks or at least complicates the things here. So locale-dependent behavior should not be the default, but rather something to be ordered explicitly and used rarely. Of course, i18n is a broader topic than locales, and will fail in more braindead ways as well. Just today MS Teams kindly informed me that the tab "Files" has been renamed to "Shared". However, it did in Estonian, so the help balloon box talked about renaming the tab to "Ühiskasutuses" and at the same time pointing to the real tab which was named totally differently - "Jagatud". Both of these are legitimate translations of "Shared", but the translators of the tab and of the help balloon apparently did not cooperate. So the help balloon was really more confusing than helpful.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-01-30 14:37 +0100 |
| Message-ID | <10lic71$1b3n6$6@dont-email.me> |
| In reply to | #123369 |
On 2026-01-30 13:56, Paavo Helde wrote: > > Locales are only useful when displaying info directly for the user to > view. Right. And also for entering data through the UI. > Alas, most C++ projects are not GUI, but much lower level libraries Probably. > where there is no connection between the current machine > locale and the locale of the human viewer Sensibly so. The system wide setting can be a default (but need not be). Similar with user specific locale settings. > who might eventually view the produced data. As you say initially, it's a feature for the UI. You should separate the internal data model from the UI data representation level. > Moreover, most produced text data is consumed by other > software nowadays, This may or may not be true. (But as argument it's anyway irrelevant.) > not humans, and having to deal with varying locales > just breaks or at least complicates the things here. No. Nothing is broken if designed sensibly. If the software supports internal communication interfaces these should be specified and used on both communication sides as defined. If you use (or misuse) the standard UI for tools' access the tools may and (if necessary) should control the locale setting on that level to conform to the definition. > So locale-dependent > behavior should not be the default, but rather something to be ordered > explicitly and used rarely. Wrong conclusion based on wrong assumptions or wrong use (or design). If your software doesn't support locales it's anyway pointless. And if your software sensibly supports it you typically have control over it. (Can't tell about Windows, the initially discussed platform, but I'd doubt that it's broken by design; or is it?) Janis > [...]
[toc] | [prev] | [next] | [standalone]
| From | Thomas Koenig <tkoenig@netcologne.de> |
|---|---|
| Date | 2026-01-30 20:28 +0000 |
| Message-ID | <10lj48h$2cnhi$1@dont-email.me> |
| In reply to | #123341 |
David Brown <david.brown@hesbynett.no> schrieb: [...] > IME, locale settings can be a bigger hinder than help, especially on > Windows and with MS Office. If your program exports data in tab or > semicolon separated formats to be opened in a spreadsheet, or has some > other connection to MS Office programs, you have to use the formats that > the locale wants, not the formats the current user wants. That is so true. Localization in MS Office is a pain, and the different CSV formats are horrible. On my personal PC, I have set the decimal separator, with German settings otherwise, to a dot. This makes data interoperable with all sorts of scripts and other programs that I tend to use togetether with data from Excel files. Using tab as a separator works pretty well then, it is at least unique. I do have another computer, used as a workstation, which I keep on US English settings. This allows easier communication with, for example, international support for programs which originate outside of Germany. It also allows me to have the original Excel function names, which are also localized. Luckily, I can save an Excel file in English and than open it on my German-language computer in German. > (LibreOffice > is vastly more flexible.) Displaying a decimal point, decimal colon, or > decimal apostrophe is not difficult - it is handling the imports and > exports that is the challenge. I have not yet succeeded in getting LibreOffice to display a decimal point with German settings, and when I use US English I get inches for paper sizes :-( [...] -- This USENET posting was made without artificial intelligence, artificial impertinence, artificial arrogance, artificial stupidity, artificial flavorings or artificial colorants.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2026-01-31 12:50 +0100 |
| Message-ID | <10lkqai$2sbb9$1@dont-email.me> |
| In reply to | #123371 |
On 30/01/2026 21:28, Thomas Koenig wrote: > David Brown <david.brown@hesbynett.no> schrieb: > [...] > > >> IME, locale settings can be a bigger hinder than help, especially on >> Windows and with MS Office. If your program exports data in tab or >> semicolon separated formats to be opened in a spreadsheet, or has some >> other connection to MS Office programs, you have to use the formats that >> the locale wants, not the formats the current user wants. > > That is so true. Localization in MS Office is a pain, and the different > CSV formats are horrible. > > On my personal PC, I have set the decimal separator, with German > settings otherwise, to a dot. This makes data interoperable > with all sorts of scripts and other programs that I tend to use > togetether with data from Excel files. Using tab as a separator works > pretty well then, it is at least unique. > > I do have another computer, used as a workstation, which I keep > on US English settings. This allows easier communication with, > for example, international support for programs which originate > outside of Germany. It also allows me to have the original Excel > function names, which are also localized. Luckily, I can save > an Excel file in English and than open it on my German-language > computer in German. > > >> (LibreOffice >> is vastly more flexible.) Displaying a decimal point, decimal colon, or >> decimal apostrophe is not difficult - it is handling the imports and >> exports that is the challenge. > > I have not yet succeeded in getting LibreOffice to display a decimal > point with German settings, and when I use US English I get inches > for paper sizes :-( > Use UK settings, not US settings. Then at least you get sane paper sizes and measurement units. LibreOffice has its faults and weaknesses, but it is still far ahead of MS Office in many aspects. (Or perhaps "less terrible" is more accurate?)
[toc] | [prev] | [next] | [standalone]
| From | G <g@nowhere.invalid> |
|---|---|
| Date | 2026-01-31 18:50 +0000 |
| Message-ID | <mu717oFf37eU1@mid.individual.net> |
| In reply to | #123373 |
In comp.lang.c David Brown <david.brown@hesbynett.no> wrote: > On 30/01/2026 21:28, Thomas Koenig wrote: >> David Brown <david.brown@hesbynett.no> schrieb: >> [...] >> >> >>> IME, locale settings can be a bigger hinder than help, especially on >>> Windows and with MS Office. If your program exports data in tab or >>> semicolon separated formats to be opened in a spreadsheet, or has some >>> other connection to MS Office programs, you have to use the formats that >>> the locale wants, not the formats the current user wants. >> >> That is so true. Localization in MS Office is a pain, and the different >> CSV formats are horrible. >> >> On my personal PC, I have set the decimal separator, with German >> settings otherwise, to a dot. This makes data interoperable >> with all sorts of scripts and other programs that I tend to use >> togetether with data from Excel files. Using tab as a separator works >> pretty well then, it is at least unique. >> >> I do have another computer, used as a workstation, which I keep >> on US English settings. This allows easier communication with, >> for example, international support for programs which originate >> outside of Germany. It also allows me to have the original Excel >> function names, which are also localized. Luckily, I can save >> an Excel file in English and than open it on my German-language >> computer in German. >> >> >>> (LibreOffice >>> is vastly more flexible.) Displaying a decimal point, decimal colon, or >>> decimal apostrophe is not difficult - it is handling the imports and >>> exports that is the challenge. >> >> I have not yet succeeded in getting LibreOffice to display a decimal >> point with German settings, and when I use US English I get inches >> for paper sizes :-( >> > > Use UK settings, not US settings. Then at least you get sane paper > sizes and measurement units. > and sane dates... > LibreOffice has its faults and weaknesses, but it is still far ahead of > MS Office in many aspects. (Or perhaps "less terrible" is more accurate?)
[toc] | [prev] | [next] | [standalone]
| From | Gary Scott <garylscott@sbcglobal.net> |
|---|---|
| Date | 2026-01-31 16:10 -0600 |
| Message-ID | <10llukv$38ndj$1@dont-email.me> |
| In reply to | #123374 |
On 1/31/2026 12:50 PM, G wrote: > In comp.lang.c David Brown <david.brown@hesbynett.no> wrote: >> On 30/01/2026 21:28, Thomas Koenig wrote: >>> David Brown <david.brown@hesbynett.no> schrieb: >>> [...] >>> >>> >>>> IME, locale settings can be a bigger hinder than help, especially on >>>> Windows and with MS Office. If your program exports data in tab or >>>> semicolon separated formats to be opened in a spreadsheet, or has some >>>> other connection to MS Office programs, you have to use the formats that >>>> the locale wants, not the formats the current user wants. >>> >>> That is so true. Localization in MS Office is a pain, and the different >>> CSV formats are horrible. >>> >>> On my personal PC, I have set the decimal separator, with German >>> settings otherwise, to a dot. This makes data interoperable >>> with all sorts of scripts and other programs that I tend to use >>> togetether with data from Excel files. Using tab as a separator works >>> pretty well then, it is at least unique. >>> >>> I do have another computer, used as a workstation, which I keep >>> on US English settings. This allows easier communication with, >>> for example, international support for programs which originate >>> outside of Germany. It also allows me to have the original Excel >>> function names, which are also localized. Luckily, I can save >>> an Excel file in English and than open it on my German-language >>> computer in German. >>> >>> >>>> (LibreOffice >>>> is vastly more flexible.) Displaying a decimal point, decimal colon, or >>>> decimal apostrophe is not difficult - it is handling the imports and >>>> exports that is the challenge. >>> >>> I have not yet succeeded in getting LibreOffice to display a decimal >>> point with German settings, and when I use US English I get inches >>> for paper sizes :-( >>> >> >> Use UK settings, not US settings. Then at least you get sane paper >> sizes and measurement units. >> > and sane dates... Date format is adjustable in many applications. Choose the one you want. Flexibility is taken to a bit extreme in GINO graphics libraries (a UK product), with a calendar that goes all the way back to 1066...:) > >> LibreOffice has its faults and weaknesses, but it is still far ahead of >> MS Office in many aspects. (Or perhaps "less terrible" is more accurate?)
[toc] | [prev] | [next] | [standalone]
| From | ImperiusDamian <dgwrightauthor@gmail.com> |
|---|---|
| Date | 2026-01-31 21:08 -0500 |
| Message-ID | <10lmcjf$3ccle$1@dont-email.me> |
| In reply to | #123375 |
On 1/31/2026 5:10 PM, Gary Scott wrote: > > Date format is adjustable in many applications. Choose the one you > want. Flexibility is taken to a bit extreme in GINO graphics libraries > (a UK product), with a calendar that goes all the way back to 1066...:) > Is that all? Should be 927 at the very latest. -- Maintainer of the Gemstone Mod (Official AGD2 Diablo 2 mod)
[toc] | [prev] | [next] | [standalone]
| From | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| Date | 2026-02-01 09:06 +0000 |
| Message-ID | <10ln51p$3j3gu$3@dont-email.me> |
| In reply to | #123375 |
On Sat, 31 Jan 2026 16:10:38 -0600, Gary Scott wrote:
> Flexibility is taken to a bit extreme in GINO graphics libraries (a
> UK product), with a calendar that goes all the way back to 1066...:)
ldo@theon:~> date -d "1-Jan-1066"
Mon 01 Jan 1066 00:00:00 LMT
ldo@theon:~> date -d "1-Jan-966"
Wed 01 Jan 0966 00:00:00 LMT
ldo@theon:~> date -d "1-Jan-866"
Fri 01 Jan 0866 00:00:00 LMT
[toc] | [prev] | [next] | [standalone]
Page 1 of 7 [1] 2 3 4 5 6 7 Next page →
Back to top | Article view | comp.lang.c++
csiph-web