Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #123321 > unrolled thread

"Internationalis(z)ing Code - Computerphile"

Started byLynn McGuire <lynnmcguire5@gmail.com>
First post2026-01-23 21:35 -0600
Last post2026-02-03 17:32 -0600
Articles 20 on this page of 121 — 19 participants

Back to article view | Back to comp.lang.c++


Contents

  "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 →


#123321 — "Internationalis(z)ing Code - Computerphile"

FromLynn McGuire <lynnmcguire5@gmail.com>
Date2026-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]


#123322

FromLawrence D’Oliveiro <ldo@nz.invalid>
Date2026-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]


#123325

FromGary Scott <garylscott@sbcglobal.net>
Date2026-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]


#123333

FromThomas Koenig <tkoenig@netcologne.de>
Date2026-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]


#123335

FromLynn McGuire <lynnmcguire5@gmail.com>
Date2026-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]


#123337

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-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]


#123343

Fromscott@slp53.sl.home (Scott Lurndal)
Date2026-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]


#123338

FromLawrence D’Oliveiro <ldo@nz.invalid>
Date2026-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]


#123340

FromLynn McGuire <lynnmcguire5@gmail.com>
Date2026-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]


#123342

FromMichael S <already5chosen@yahoo.com>
Date2026-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]


#123345

FromLynn McGuire <lynnmcguire5@gmail.com>
Date2026-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]


#123341

FromDavid Brown <david.brown@hesbynett.no>
Date2026-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]


#123369

FromPaavo Helde <eesnimi@osa.pri.ee>
Date2026-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]


#123370

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-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]


#123371

FromThomas Koenig <tkoenig@netcologne.de>
Date2026-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]


#123373

FromDavid Brown <david.brown@hesbynett.no>
Date2026-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]


#123374

FromG <g@nowhere.invalid>
Date2026-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]


#123375

FromGary Scott <garylscott@sbcglobal.net>
Date2026-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]


#123376

FromImperiusDamian <dgwrightauthor@gmail.com>
Date2026-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]


#123378

FromLawrence D’Oliveiro <ldo@nz.invalid>
Date2026-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