Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

International Users ...

129 views
Skip to first unread message

Ken Mayer [dBASE, Inc.]

unread,
Mar 3, 2004, 6:29:54 PM3/3/04
to
Specifically Italian -- can someone post the days of the week? (I
can't tell if you're using Spanish, sorry ... at least not by checking
the date format).

Ken
---
Ken Mayer [dBASE, Inc.]
** Please respond ONLY in the newsgroups **

"Think OOP"

dBASE, Inc. website: http://www.dbase.com

donatapaoli

unread,
Mar 4, 2004, 2:31:50 AM3/4/04
to
Here they come:

Lunedì = Monday
Martedì = Thursday
Mercoledì = Wednesday
Giovedì = Tuesday
Venerdì = Friday
Sabato = Saturday
Domenica = Sunday

GN
www.saspa.it


Ken Mayer [dBASE, Inc.]

unread,
Mar 4, 2004, 9:36:48 AM3/4/04
to
"donatapaoli" <donat...@tiscali.it> wrote:

>Here they come:
>
>Lunedì = Monday
>Martedì = Thursday
>Mercoledì = Wednesday
>Giovedì = Tuesday
>Venerdì = Friday
>Sabato = Saturday
>Domenica = Sunday

Great -- thanks.

Ken Mayer [dBASE, Inc.]

unread,
Mar 4, 2004, 10:36:57 AM3/4/04
to
"donatapaoli" <donat...@tiscali.it> wrote:

>Here they come:
>
>Lunedì = Monday
>Martedì = Thursday
>Mercoledì = Wednesday
>Giovedì = Tuesday
>Venerdì = Friday
>Sabato = Saturday
>Domenica = Sunday

Thanks again. Is there a chance I can get months, as well?

Roberto Fioratti

unread,
Mar 4, 2004, 10:58:51 AM3/4/04
to
gennaio=january
febbraio=february
marzo=march
aprile=april
giugno=june
luglio=july
agosto=august
settembre=september
ottobre=october
novembre=november
dicembre=december

Roberto Fioratti


Ken Mayer [dBASE, Inc.] ha scritto:

Ken Mayer [dBASE, Inc.]

unread,
Mar 4, 2004, 11:11:59 AM3/4/04
to
Roberto Fioratti <r...@txtnet.it> wrote:

>gennaio=january
>febbraio=february
>marzo=march
>aprile=april
>giugno=june
>luglio=july
>agosto=august
>settembre=september
>ottobre=october
>novembre=november
>dicembre=december

I hate to be a bother, but the month of May is missing? Thanks again.

Michael Nuwer

unread,
Mar 4, 2004, 11:11:56 AM3/4/04
to
"Roberto Fioratti" <r...@txtnet.it> wrote in message
news:c27jjg$pf8$1...@news.dbase.com...
> gennaio=january
> febbraio=february
> marzo=march
> aprile=april

Maggio = May

> giugno=june


Ken Mayer [dBASE, Inc.]

unread,
Mar 4, 2004, 11:09:25 AM3/4/04
to
Roberto Fioratti <r...@txtnet.it> wrote:

>gennaio=january
>febbraio=february
>marzo=march
>aprile=april
>giugno=june
>luglio=july
>agosto=august
>settembre=september
>ottobre=october
>novembre=november
>dicembre=december

Thanks again! The DateEx.cc class is being modified to include Italian
for the international routines.

Roberto Fioratti

unread,
Mar 4, 2004, 11:59:38 AM3/4/04
to
oops i lost may
:-)

Roberto Fioratti

Ken Mayer [dBASE, Inc.]

unread,
Mar 4, 2004, 3:38:47 PM3/4/04
to
David Kerber <ns_dkerber@ns_wraenviro.com> wrote:

>In article <gb3f40p38840khcoc...@4ax.com>,
>kma...@dbase.com says...
>> Luís Macedo <lc...@mail.telepac.pt> wrote:
>>
>> >The Portuguese - Brasilian ones, in case you want them:
>>
>> The problem is that I can't determine based on SET("DATE") what
>> language you're using ... if I knew of a way to check for that, I
>> would be happy to add these to the DateEx class methods ...
>
>Can't the language driver tell you? Or maybe make the language setting
>a property of the class.

There are a huge number of language drivers, and frankly, I have no
idea what they all are ...

Ken Mayer [dBASE, Inc.]

unread,
Mar 4, 2004, 3:12:03 PM3/4/04
to
Luís Macedo <lc...@mail.telepac.pt> wrote:

>The Portuguese - Brasilian ones, in case you want them:

The problem is that I can't determine based on SET("DATE") what
language you're using ... if I knew of a way to check for that, I
would be happy to add these to the DateEx class methods ...

Ken

David Kerber

unread,
Mar 4, 2004, 3:14:20 PM3/4/04
to
> Luís Macedo <lc...@mail.telepac.pt> wrote:
>
> >The Portuguese - Brasilian ones, in case you want them:
>
> The problem is that I can't determine based on SET("DATE") what
> language you're using ... if I knew of a way to check for that, I
> would be happy to add these to the DateEx class methods ...

Can't the language driver tell you? Or maybe make the language setting

a property of the class.


--
Remove the ns_ from if replying by e-mail (but keep posts in the
newsgroups if possible).

Luís Macedo

unread,
Mar 4, 2004, 2:55:12 PM3/4/04
to
The Portuguese - Brasilian ones, in case you want them:

Segunda-feira = Monday
Terça-feira = Thursday
Quarta-feira = Wednesday
Quinta-feira = Tuesday
Sexta-feira = Friday
Sabado = Saturday
Domingo = Sunday

Janeiro=january
Fevereiro=february
Março=march
Abril=april
Maio = may
Junho=june
Julho=july
Agosto=august
Setembro=september
Outubro=october
Novembro=november
Dezembro=december


Luis

Jan Hoelterling

unread,
Mar 4, 2004, 4:25:10 PM3/4/04
to
May I suggest _app.UserLanguage? I'm being only slightly selfish as all of
my apps already use that...

Seriously, though, I think a property makes more sense than the Language
driver. I am in the US but still use Western Europe ANSI...

Thanks,

Jan

Ken Mayer [dBASE, Inc.]

unread,
Mar 4, 2004, 4:40:52 PM3/4/04
to
"Jan Hoelterling" <jhoelt...@compuserve.com> wrote:

>May I suggest _app.UserLanguage? I'm being only slightly selfish as all of
>my apps already use that...

?? That's not built into the software, so where does it come from?

_app.Language will only return one of the languages that we have
translations for, so that would preclude FRENCH, PORTUGUESE, etc.

>Seriously, though, I think a property makes more sense than the Language
>driver. I am in the US but still use Western Europe ANSI...

Same here. I don't use the English US drivers ...

Gerald Lightsey

unread,
Mar 4, 2004, 4:33:19 PM3/4/04
to
In article <7u4f405m8mc73rrlt...@4ax.com>,
kma...@dbase.com says...

> There are a huge number of language drivers, and frankly, I have no
> idea what they all are ...

Perhaps what follows from Ivar will help you.

Gerald

Date: Sun, 11 May 2003 19:29:34 +0200
Subject: Language Driver ID numbers and Long/Short names of drivers
From: Ivar B. Jessen <bergi...@it.notthis.dk>
Newsgroups: dbase.native-tables

I erased the original message as clear hindsight showed that most of
the problems I encountered in my code resulted from attempts to
_delete_ a table which had become corrupt by setting the loaddriver ID
to an unacceptable value. The simple solution was to _erase_ the
corrupt table. The code is now much simpler :-)


The program below creates a text file containing a list of the Long
Names, the Short Names and the corresponding language ID's of the
language drivers installed on the computer.

Please note the instructions in the header of the program ;-)

I get the following result:

***********************
Table of language driver ID's in byte 29 of level 5 dbf table
and corresponding language drivers installed on the computer.

ID ID as No. Long name of Short Name of
hex language driver language driver
------------------------------------------------------------

1 0x1 1 Paradox 'ascii' ASCII
2 0x2 2 Paradox 'intl' INTL
3 0x3 3 Paradox 'japan' JAPAN
4 0x4 4 Paradox 'nordan' NORDAN
5 0x5 5 Paradox 'nordan40' NORDAN40
6 0x6 6 Paradox 'swedfin' SWEDFIN
8 0x8 7 dBASE DAN cp865 DB865DA0
9 0x9 8 dBASE NLD cp437 DB437NL0
10 0xA 9 dBASE NLD cp850 DB850NL0
11 0xB 10 dBASE FIN cp437 DB437FI0
13 0xD 11 dBASE FRA cp437 DB437FR0
14 0xE 12 dBASE FRA cp850 DB850FR0
15 0xF 13 dBASE DEU cp437 DB437DE0
16 0x10 14 dBASE DEU cp850 DB850DE0
17 0x11 15 dBASE ITA cp437 DB437IT0
18 0x12 16 dBASE ITA cp850 DB850IT1
19 0x13 17 dBASE JPN cp932 DB932JP0
20 0x14 18 dBASE ESP cp850 DB850ES0
21 0x15 19 dBASE SVE cp437 DB437SV0
22 0x16 20 dBASE SVE cp850 DB850SV1
23 0x17 21 dBASE NOR cp865 DB865NO0
24 0x18 22 dBASE ESP cp437 DB437ES1
25 0x19 23 dBASE ENG cp437 DB437UK0
26 0x1A 24 dBASE ENG cp850 DB850UK0
27 0x1B 25 dBASE ENU cp437 DB437US0
28 0x1C 26 dBASE FRC cp863 DB863CF1
29 0x1D 27 dBASE FRC cp850 DB850CF0
31 0x1F 28 dBASE CSY cp852 DB852CZ0
32 0x20 29 dBASE CSY cp867 DB867CZ0
34 0x22 30 dBASE HUN cp852 DB852HDC
35 0x23 31 dBASE PLK cp852 DB852PO0
36 0x24 32 dBASE PTG cp860 DB860PT0
37 0x25 33 dBASE PTB cp850 DB850PT0
38 0x26 34 dBASE RUS cp866 DB866RU0
39 0x27 35 Borland DAN Latin-1 BLLT1DA0
40 0x28 36 Borland NLD Latin-1 BLLT1NL0
41 0x29 37 Borland FIN Latin-1 BLLT1FI0
42 0x2A 38 Borland FRA Latin-1 BLLT1FR0
43 0x2B 39 Borland FRC Latin-1 BLLT1CA0
44 0x2C 40 Borland DEU Latin-1 BLLT1DE0
45 0x2D 41 Borland ISL Latin-1 BLLT1IS0
46 0x2E 42 Borland ITA Latin-1 BLLT1IT0
48 0x30 43 Borland NOR Latin-1 BLLT1NO0
49 0x31 44 Borland ESP Latin-1 BLLT1ES0
51 0x33 45 Borland SVE Latin-1 BLLT1SV0
52 0x34 46 Borland ENG Latin-1 BLLT1UK0
53 0x35 47 Borland ENU Latin-1 BLLT1US0
54 0x36 48 Borland PTG Latin-1 BLLT1PT0
55 0x37 49 dBASE ENU cp850 DB850US0
57 0x39 50 Paradox 'intl' 850 INTL850
58 0x3A 51 Paradox ESP 437 SPANISH
59 0x3B 52 Paradox ISL 861 ICELAND
60 0x3C 53 Pdox ANSI Intl ANSIINTL
61 0x3D 54 Pdox ANSI Intl850 ANSII850
62 0x3E 55 Pdox ANSI Spanish ANSISPAN
63 0x3F 56 Pdox ANSI Swedfin ANSISWFN
64 0x40 57 Pdox ANSI Nordan4 ANSINOR4
69 0x45 58 Paradox China 936 CHINA
70 0x46 59 Paradox Korea 949 KOREA
71 0x47 60 Paradox Taiwan 950 TAIWAN
72 0x48 61 Paradox Thai 874 THAI
77 0x4D 62 dBASE CHS cp936 DB936CN0
78 0x4E 63 dBASE KOR cp949 DB949KO0
79 0x4F 64 dBASE CHT cp950 DB950TW0
80 0x50 65 dBASE THA cp874 DB874TH0
86 0x56 66 dBASE JPN Dic932 DB932JP1
87 0x57 67 'ascii' ANSI DBWINUS0
88 0x58 68 'WEurope' ANSI DBWINWE0
89 0x59 69 'Spanish' ANSI DBWINES0
90 0x5A 70 Access General ACCGEN
91 0x5B 71 Access Nord/Danish ACCNRDAN
92 0x5C 72 Access Swed/Finnish ACCSWFIN
93 0x5D 73 Access Japanese ACCJAPAN
94 0x5E 74 FoxPro German 437 FOXDE437
95 0x5F 75 FoxPro Nordic 437 FOXNO437
96 0x60 76 FoxPro Nordic 850 FOXNO850
97 0x61 77 FoxPro German 1252 FOXDEWIN
98 0x62 78 FoxPro Nordic 1252 FOXNOWIN
100 0x64 79 Paradox Czech 852 CZECH
101 0x65 80 pdx ISO L_2 Czech IL2CZW
102 0x66 81 Paradox Polish 852 POLISH
103 0x67 82 Paradox Cyrr 866 CYRR
104 0x68 83 Paradox Hun 852 DC HUN852DC
105 0x69 84 Paradox Greek GR437 GRCP437
107 0x6B 85 Paradox 'hebrew' HEBREW
109 0x6D 86 Paradox Slovene 852 SLOVENE
110 0x6E 87 Paradox 'turk' TURK
113 0x71 88 Paradox BUL 868 BULGARIA
116 0x74 89 Borland ANSI Arabic BLWINAR0
117 0x75 90 Paradox ANSI HEBREW ANHEBREW
120 0x78 91 Pdox ANSI Czech ANCZECH
121 0x79 92 pdx Czech 852 'CH' CZECHW
122 0x7A 93 pdx Czech 867 'CH' CSKAMENW
123 0x7B 94 Paradox Czech 867 CSKAMEN
124 0x7C 95 pdx ANSI Czech 'CH' ANCZECHW
125 0x7D 96 Pdox ANSI Polish ANPOLISH
126 0x7E 97 Pdox ANSI Cyrillic ANCYRR
127 0x7F 98 Pdox ANSI Hun. DC ANHUNDC
128 0x80 99 Pdox ANSI Greek ANGREEK1
130 0x82 100 Pdox ANSI Slovene ANSISLOV
131 0x83 101 Pdox ANSI Turkish ANTURK
133 0x85 102 Hebrew dBASE DBHEBREW
134 0x86 103 dBASE ELL GR437 DB437GR0
135 0x87 104 dBASE SLO cp852 DB852SL0
136 0x88 105 dBASE TRK cp857 DB857TR0
142 0x8E 106 dBASE BUL 868 BGDB868
145 0x91 107 Access Greece ACCGREEK
146 0x92 108 pdx ANSI ISO L_2 CZ ANIL2CZW
148 0x94 109 Pdox ANSI Bulgaria BGPD1251
155 0x9B 110 FoxPro Czech 1250 FOXCZWIN
156 0x9C 111 FoxPro Czech DOS895 FOXCZ895
199 0xC7 112 Pdox 'ascii' Japan ASCII
201 0xC9 113 SQL Link ROMAN8 BLROM800
202 0xCA 114 Oracle SQL WE850 ORAWE850
203 0xCB 115 Sybase SQL Dic850 SYDC850
204 0xCC 116 Sybase SQL Dic437 SYDC437
205 0xCD 117 DB2 SQL ANSI DEU DB2ANDEU
209 0xD1 118 MSSQL ANSI Greek MSSGRWIN
*********************


Ivar B. Jessen

//-----
// Before running this program open the BDE Administrator,
// go to native dBase driver and set table level to 5
// and delete load driver, then save settings and start dbase.

clear

close tables
if file("tLdriver.dbf")
erase tLdriver.dbf
endif

create table tLdriver(Name char(10))

set alternate to LdId.txt
set alternate on

? "Table of language driver ID in byte ;
29 of level 5 dbf table" at 15
? "and corresponding language drivers ;
installed on the computer." at 15
?
? "ID" at 15, "ID as" at 20, "No." at 28, ;
"Long name of" at 35, "Short Name of" at 60
? "hex" at 20, "language driver" at 35, ;
"language driver" at 60
? "--------------------------------------;
----------------------" at 15
?
?

nPr = 0
for i = 0 to 255
ldrv = i

try
f = new file()
f.open("tLdriver.dbf", "W")
f.seek(29, 0)
f.write(chr(ldrv), 1)
f.close()

release object f; release f

t = new tabledef()
t.tablename = ("tLdriver.dbf")
t.load()

use tLdriver.dbf
if not ((ldrv = 0 or ldrv > 27) and t.language = "dBASE ENU cp437")
nPr++
? ""+ldrv at 15, "0x" + itoh(ldrv) at 20, ""+nPr at 28, ;
t.language at 35, ldriver() at 60
endif
use
release object t; release t

catch(DBexception d)
catch(exception e)

erase tLdriver.dbf
loop

endtry

next i

set alternate off
set alternate to

modi comm LdId.txt
//-----

Santo Lo Galbo

unread,
Mar 5, 2004, 12:54:26 AM3/5/04
to
On Thu, 04 Mar 2004 06:36:48 -0800, "Ken Mayer [dBASE, Inc.]"
<kma...@dbase.com> wrote:

>"donatapaoli" <donat...@tiscali.it> wrote:
>
>>Here they come:
>>
>>Lunedì = Monday
>>Martedì = Thursday
>>Mercoledì = Wednesday
>>Giovedì = Tuesday
>>Venerdì = Friday
>>Sabato = Saturday
>>Domenica = Sunday

Ken
the correct translation is

Lunedì = Monday
Martedì = TUESDAY
Mercoledì = Wednesday
Giovedì = THURSDAY


Venerdì = Friday
Sabato = Saturday
Domenica = Sunday


MAGGIO --> May

Regards

Santo Lo Galbo
Palermo - Italy

Ken Mayer [dBASE, Inc.]

unread,
Mar 5, 2004, 1:13:15 AM3/5/04
to
log...@libero.it (Santo Lo Galbo) wrote:

>the correct translation is
>
>Lunedì = Monday
>Martedì = TUESDAY
>Mercoledì = Wednesday
>Giovedì = THURSDAY
>Venerdì = Friday
>Sabato = Saturday
>Domenica = Sunday
>
>
>MAGGIO --> May

Thanks, I'll get that fixed.

Ivar B. Jessen

unread,
Mar 5, 2004, 2:06:14 PM3/5/04
to
On Thu, 04 Mar 2004 13:40:52 -0800
in dbase.codelib Re: International Users ...
Message-ID: <ge8f40tsoavgra78f...@4ax.com>

"Ken Mayer [dBASE, Inc.]" <kma...@dbase.com> wrote:


>_app.Language will only return one of the languages that we have
>translations for, so that would preclude FRENCH, PORTUGUESE, etc.
>
>>Seriously, though, I think a property makes more sense than the Language
>>driver. I am in the US but still use Western Europe ANSI...
>
>Same here. I don't use the English US drivers ...

Ken,

You might consider extracting the names of days and months in the way
illustrated in the code below.

It has the advantage that the translation and spelling is always correct ;-)

You only have to consider the language driver when the language in question
uses a code page different from 1252. For example when you select Greek in the
demo the result makes no sense because 1252 does not contain the correct
symbols.


Ivar B. Jessen

//-----
** END HEADER -- do not remove this line
//
// Generated on 05-03-2004
//
parameter bModal
local f
f = new daysMonthsForm()
if (bModal)
f.mdi = false // ensure not MDI
f.readModal()
else
f.open()
endif

class daysMonthsForm of FORM
with (this)
onOpen = class::FORM_ONOPEN
height = 11.0
left = 21.2857
top = 0.1818
width = 62.0
text = ""
autoCenter = true
endwith

this.LISTBOX1 = new LISTBOX(this)
with (this.LISTBOX1)
onSelChange = class::LISTBOX1_ONSELCHANGE
selected = class::LISTBOX1_SELECTED
height = 3.5
left = 1.0
top = 7.0
width = 17.0
id = 101
endwith

this.LISTBOX2 = new LISTBOX(this)
with (this.LISTBOX2)
height = 5.5
left = 1.0
top = 1.0
width = 15.0
id = 102
endwith

this.LISTBOX3 = new LISTBOX(this)
with (this.LISTBOX3)
height = 5.5
left = 18.0
top = 1.0
width = 11.0
id = 103
endwith

this.LISTBOX4 = new LISTBOX(this)
with (this.LISTBOX4)
height = 9.5
left = 31.0
top = 1.0
width = 16.0
id = 104
endwith

this.LISTBOX5 = new LISTBOX(this)
with (this.LISTBOX5)
height = 9.5
left = 49.0
top = 1.0
width = 12.0
id = 105
endwith

this.TEXT1 = new TEXT(this)
with (this.TEXT1)
height = 3.0
left = 19.0
top = 7.5
width = 10.0
text = "Select language in listbox on left"
endwith


function form_onOpen

class::init()

form.aLang = new array(15,2)
fL =form.aLang
fL[1,1] = "Danish" ;fL[1,2] = 0x0406
fL[2,1] = "Dutch" ;fL[2,2] = 0x0413
fL[3,1] = "English" ;fL[3,2] = 0x0409
fL[4,1] = "Finnish" ;fL[4,2] = 0x040B
fL[5,1] = "French" ;fL[5,2] = 0x040C
fL[6,1] = "German" ;fL[6,2] = 0x0407
fL[7,1] = "Icelandic" ;fL[7,2] = 0x040F
fL[8,1] = "Italian" ;fL[8,2] = 0x0410
fL[9,1] = "Norwegian" ;fL[9,2] = 0x0414
fL[10,1] = "Portuguese" ;fL[10,2] = 0x0816
fL[11,1] = "Swedish" ;fL[11,2] = 0x041D
fL[12,1] = "Spanish" ;fL[12,2] = 0x040A
fL[13,1] = "Greek" ;fL[13,2] = 0x0408
fL[14,1] = "Afrikaans" ;fL[14,2] = 0x0436
fL[15,1] = "Faeroese" ;fl[15,2] = 0x0438

form.aListLang = new array()
fLL = form.aListLang
fLL.add("Danish")
fLL.add("Dutch")
fLL.add("English")
fLL.add("Finnish")
fLL.add("French")
fLL.add("German")
fLL.add("Icelandic")
fLL.add("Italian")
fLL.add("Norwegian")
fLL.add("Portuguese")
fLL.add("Swedish")
fLL.add("Spanish")
fLL.add("Greek")
fLL.add("Afrikaans")
fLL.add("Faeroese")

form.listbox1.datasource = "ARRAY form.aListLang"

return

function init

#include <windef.h>
#include <winnt.h>

If type('GetSystemDefaultLCID') # 'FP'
extern LCID GetSystemDefaultLCID(VOID) kernel32
endif

If type('GetLocaleInfoA') # 'FP'
extern CINT GetLocaleInfoA( CLONG, CINT, CSTRING, CINT) kernel32
endif

lokaleID = "" + GetSystemDefaultLCID()
class::setLang(lokaleID)

return

function LISTBOX1_onSelChange
cSel = class::listbox1_selected()

lokaleID = form.aLang[form.aListLang.scan(cSel),2]
class::setLang(lokaleID)
return

function LISTBOX1_selected
return LISTBOX::selected()

function setLang(lokaleID)

if type('lokaleID') = "C"
lokaleID = val(lokaleID)
endif

local bufaAdr, bufaLen, cStr

bufAdr = space(64)
bufLen = len(bufAdr)

dayshort = new array()

for i = 42 to 48
cStr = GetLocaleInfoA(lokaleID, i, bufAdr,bufLen)
dayshort.add(substr(bufAdr, 1, cStr - 1))
next i
form.listbox2.datasource = "ARRAY dayShort"

dayLong = new array()
for i = 49 to 55
cStr = GetLocaleInfoA(lokaleID, i, bufAdr,bufLen)
dayLong.add(substr(bufAdr, 1, cStr - 1))
next i
form.listbox3.datasource = "ARRAY dayLong"

monthShort = new array()
for i = 56 to 67
cStr = GetLocaleInfoA(lokaleID, i, bufAdr,bufLen)
monthShort.add(substr(bufAdr, 1, cStr - 1))
next i
form.listbox4.datasource = "ARRAY monthShort"

monthLong = new array()
for i = 68 to 79
cStr = GetLocaleInfoA(lokaleID, i, bufAdr,bufLen)
monthLong.add(substr(bufAdr, 1, cStr - 1))
next i
form.listbox5.datasource = "ARRAY monthLong"

return
endclass
//-----

Ken Mayer [dBASE, Inc.]

unread,
Mar 5, 2004, 2:11:59 PM3/5/04
to
Ivar B. Jessen <bergi...@it.notthis.dk> wrote:

>You might consider extracting the names of days and months in the way
>illustrated in the code below.
>
>It has the advantage that the translation and spelling is always correct ;-)
>
>You only have to consider the language driver when the language in question
>uses a code page different from 1252. For example when you select Greek in the
>demo the result makes no sense because 1252 does not contain the correct
>symbols.

Hmm. I will have to study that. I want to incorporate all this into
the DateEx.cc class, to make the IntlCDOW and IntlCMON methods more
useful ... can I get the days of the week that way, as well? (Haven't
looked at it more closely, brain still on a different project ...)

Luís Macedo

unread,
Mar 5, 2004, 2:58:12 PM3/5/04
to
On Thu, 04 Mar 2004 19:55:12 +0000, Luís Macedo <lc...@mail.telepac.pt>
wrote:

Sorry Ken, had not noticed, they where out of order


>The Portuguese - Brasilian ones, in case you want them:
>
>Segunda-feira = Monday

>Terça-feira = Tuesday <<==== CORRECT
>Quarta-feira = Wednesday
>Quinta-feira = Thursday <<==== CORRECT

Ivar B. Jessen

unread,
Mar 5, 2004, 3:46:25 PM3/5/04
to
On Fri, 05 Mar 2004 11:11:59 -0800

in dbase.codelib Re: International Users ...
Message-ID: <o5kh40hjr03641ath...@4ax.com>

"Ken Mayer [dBASE, Inc.]" <kma...@dbase.com> wrote:


>Hmm. I will have to study that. I want to incorporate all this into
>the DateEx.cc class, to make the IntlCDOW and IntlCMON methods more
>useful ... can I get the days of the week that way, as well? (Haven't
>looked at it more closely, brain still on a different project ...)

Hmm, am not sure what you mean, did you run it?


Ivar B. Jessen

Ken Mayer [dBASE, Inc.]

unread,
Mar 5, 2004, 3:16:01 PM3/5/04
to
Luís Macedo <lc...@mail.telepac.pt> wrote:

>Sorry Ken, had not noticed, they where out of order

That's okay. It got caught, and I've fixed it ... thanks!

Ken Mayer [dBASE, Inc.]

unread,
Mar 5, 2004, 3:51:58 PM3/5/04
to
Ivar B. Jessen <bergi...@it.notthis.dk> wrote:

You know, rather than "Tuesday", if using German for example,
"Dienstag" ...

No, I haven't run the code. As noted, I've been working on a different
project.

Ivar B. Jessen

unread,
Mar 5, 2004, 4:06:41 PM3/5/04
to
On Fri, 05 Mar 2004 12:51:58 -0800

in dbase.codelib Re: International Users ...
Message-ID: <b1qh4014jrqhigd2j...@4ax.com>

"Ken Mayer [dBASE, Inc.]" <kma...@dbase.com> wrote:

>Ivar B. Jessen <bergi...@it.notthis.dk> wrote:
>
>>On Fri, 05 Mar 2004 11:11:59 -0800
>>in dbase.codelib Re: International Users ...
>>Message-ID: <o5kh40hjr03641ath...@4ax.com>
>>"Ken Mayer [dBASE, Inc.]" <kma...@dbase.com> wrote:
>>

>>Hmm, am not sure what you mean, did you run it?
>
>You know, rather than "Tuesday", if using German for example,
>"Dienstag" ...
>
>No, I haven't run the code. As noted, I've been working on a different
>project.

Apart from repeating myself I don't know what to say :-)


Ivar B. Jessen

Ken Mayer [dBASE, Inc.]

unread,
Mar 5, 2004, 3:55:12 PM3/5/04
to
Ivar B. Jessen <bergi...@it.notthis.dk> wrote:

>You might consider extracting the names of days and months in the way
>illustrated in the code below.

Pretty slick. So, as I am feeling dense, and can't see some of what
you're doing as it's not exactly documented <g>, where are the values
coming from?

Ken Mayer [dBASE, Inc.]

unread,
Mar 5, 2004, 5:02:48 PM3/5/04
to
Hi ... been playing with this. Problem:

All I'm getting is English day of the week, when I try to use your
code. This is a bit tricky, but ... when I call a routine with the
following, after setting the language (property of the dateex class)
to French -- hope you can help me see what I'm doing wrong ... (sigh
-- probably something really dumb)

This is using the code to set up the aLang array, and I placed the
code for the different arrays in separate code ...

// using Ivar's code (sort of):
if ascan( this.aLang, this.language ) > 0
this.localeID = this.aLang.scan(this.Language,2)
? "Language: "+this.Language+" Found in List"
else
this.localeID = this.aLang.scan("English", 2 )
endif
? this.localeID
class::LoadDayLong( this.localeID )

// error trap
if type("dDate") # "D"
store date() to dDate
endif // type("dDate") # "D"

// the code Ivar provided
// returns Sunday as day 7,
// and Monday as day 1, so we
// have to modify the value returned
// by the dow() function:
nDow = dow( dDate ) - 1
if nDow == 0
nDow := 7
endif

? this.DayLong[ nDow ]
// using today's date, I am seeing "Friday" returned, not
// the French for Friday ...

Thoughts? I can send you the whole thing if you'd rather look at that
...

Ken Mayer [dBASE, Inc.]

unread,
Mar 5, 2004, 7:18:21 PM3/5/04
to
There were some interesting problems with the code you provided. I
have fixed those <g>, and am posting, in another thread, an updated
version of DateEx.cc that should please a lot of folk, as the IntlCDOW
and IntlCMON methods should work for 15 different languages.

In addition, there are two new methods (IntlCDOWShort and
IntlCMONShort) ... check it out.

Ivar B. Jessen

unread,
Mar 6, 2004, 9:08:30 AM3/6/04
to
On Fri, 05 Mar 2004 12:55:12 -0800

in dbase.codelib Re: International Users ...
Message-ID: <c8qh40pgu1erm1htv...@4ax.com>

"Ken Mayer [dBASE, Inc.]" <kma...@dbase.com> wrote:


>Pretty slick. So, as I am feeling dense, and can't see some of what
>you're doing as it's not exactly documented <g>, where are the values
>coming from?


See win32sdk.hlp. 'GetLocaleInfo()' retrieves the info listed under keyword
'Locale Information' and places it in the buffer. The code just parses the
buffer for the specific values needed.


Ivar B. Jessen

0 new messages