* harbour/include/hbapilng.h
* harbour/include/hblang.ch
* harbour/source/lang/Makefile
* harbour/source/lang/msg_tpl.c
* harbour/source/lang/msgca.c
* harbour/source/lang/msgcs852.c
* harbour/source/lang/msgcsiso.c
* harbour/source/lang/msgcskam.c
* harbour/source/lang/msgcswin.c
* harbour/source/lang/msgde.c
* harbour/source/lang/msgdewin.c
* harbour/source/lang/msgen.c
* harbour/source/lang/msgeo.c
* harbour/source/lang/msges.c
* harbour/source/lang/msgeswin.c
* harbour/source/lang/msgeu.c
* harbour/source/lang/msgfr.c
* harbour/source/lang/msggl.c
* harbour/source/lang/msghe862.c
* harbour/source/lang/msghewin.c
* harbour/source/lang/msghr852.c
* harbour/source/lang/msghriso.c
* harbour/source/lang/msghu852.c
* harbour/source/lang/msghucwi.c
* harbour/source/lang/msghuwin.c
* harbour/source/lang/msgid.c
* harbour/source/lang/msgis850.c
* harbour/source/lang/msgit.c
* harbour/source/lang/msgko.c
* harbour/source/lang/msgpl852.c
* harbour/source/lang/msgpliso.c
* harbour/source/lang/msgplmaz.c
* harbour/source/lang/msgplwin.c
* harbour/source/lang/msgpt.c
* harbour/source/lang/msgro.c
* harbour/source/lang/msgru866.c
* harbour/source/lang/msgrukoi.c
* harbour/source/lang/msgruwin.c
* harbour/source/lang/msgsl852.c
* harbour/source/lang/msgsliso.c
* harbour/source/lang/msgslwin.c
* harbour/source/lang/msgsr852.c
* harbour/source/lang/msgsriso.c
* harbour/source/lang/msgzhb5.c
* harbour/source/lang/msgzhgb.c
+ harbour/source/lang/msgsrwin.c
! bug fixed in national msg system and new localization added
(borrowed from xHarbour)
+ harbour/tests/langmsg.prg
* simple test program for national messages
I have to ask developpers to run it and check their national messages
377 lines
6.7 KiB
Plaintext
377 lines
6.7 KiB
Plaintext
/*
|
|
|
|
* $Id$
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2003 Przemyslaw Czerpak <druzus@polbox.com>
|
|
|
|
* See doc/license.txt for licensing terms.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "hblang.ch"
|
|
|
|
|
|
|
|
function main( cLng )
|
|
|
|
local i, a, aDay, aMnt, aErr, aInt, cDtFrm, cTrue, cFalse
|
|
|
|
|
|
|
|
HB_LANGSELECT("EN")
|
|
|
|
aDay:=GET_DAYS()
|
|
|
|
aMnt:=GET_MONTHS()
|
|
|
|
aErr:=GET_ERR()
|
|
|
|
aInt:=GET_IERR()
|
|
|
|
cDtFrm:=HB_LANGMESSAGE(HB_LANG_ITEM_BASE_TEXT )
|
|
|
|
cTrue :=HB_LANGMESSAGE(HB_LANG_ITEM_BASE_TEXT + 1 )
|
|
|
|
cFalse:=HB_LANGMESSAGE(HB_LANG_ITEM_BASE_TEXT + 2 )
|
|
|
|
|
|
|
|
if !empty( cLng )
|
|
|
|
HB_LANGSELECT( UPPER( cLng ) )
|
|
|
|
endif
|
|
|
|
|
|
|
|
? HB_LANGNAME()
|
|
|
|
? "HB_LANG_ITEM_BASE_ID ", "["+HB_LANGMESSAGE(HB_LANG_ITEM_BASE_ID )+"]"
|
|
|
|
? "HB_LANG_ITEM_BASE_MONTH ", "["+HB_LANGMESSAGE(HB_LANG_ITEM_BASE_MONTH )+"]"
|
|
|
|
? "HB_LANG_ITEM_BASE_DAY ", "["+HB_LANGMESSAGE(HB_LANG_ITEM_BASE_DAY )+"]"
|
|
|
|
? "HB_LANG_ITEM_BASE_NATMSG ", "["+HB_LANGMESSAGE(HB_LANG_ITEM_BASE_NATMSG )+"]"
|
|
|
|
? "HB_LANG_ITEM_BASE_ERRDESC", "["+HB_LANGMESSAGE(HB_LANG_ITEM_BASE_ERRDESC)+"]"
|
|
|
|
? "HB_LANG_ITEM_BASE_ERRINTR", "["+HB_LANGMESSAGE(HB_LANG_ITEM_BASE_ERRINTR)+"]"
|
|
|
|
? "HB_LANG_ITEM_BASE_TEXT ", "["+HB_LANGMESSAGE(HB_LANG_ITEM_BASE_TEXT )+"]"
|
|
|
|
? "HB_LANGERRMSG(0)", HB_LANGERRMSG(0)
|
|
|
|
?
|
|
|
|
? "date format: " + HB_LANGMESSAGE(HB_LANG_ITEM_BASE_TEXT ) + " (" + cDtFrm + ")"
|
|
|
|
? " TRUE val: " + HB_LANGMESSAGE(HB_LANG_ITEM_BASE_TEXT + 1 ) + " (" + cTrue + ")"
|
|
|
|
? " FALSE val: " + HB_LANGMESSAGE(HB_LANG_ITEM_BASE_TEXT + 2 ) + " (" + cFalse + ")"
|
|
|
|
?
|
|
|
|
inkey(0)
|
|
|
|
|
|
|
|
? "Errors:"
|
|
|
|
? "-------"
|
|
|
|
a:=GET_ERR()
|
|
|
|
for i:=1 to len(a)
|
|
|
|
? padr(a[i,1],15) + "|" + padr(aErr[i,2],30) + "|" + padr(a[i,2],32)
|
|
|
|
next
|
|
|
|
?
|
|
|
|
inkey(0)
|
|
|
|
|
|
|
|
? "Internal errors:"
|
|
|
|
? "----------------"
|
|
|
|
a:=GET_IERR()
|
|
|
|
for i:=1 to len(a)
|
|
|
|
? padr(a[i,1],15) + "|" + padr(aInt[i,2],30) + "|" + padr(a[i,2],32)
|
|
|
|
next
|
|
|
|
?
|
|
|
|
inkey(0)
|
|
|
|
|
|
|
|
? "Days:"
|
|
|
|
? "-----"
|
|
|
|
a:=GET_DAYS()
|
|
|
|
for i:=1 to len(a)
|
|
|
|
? " " + padr(aDay[i],15) + a[i]
|
|
|
|
next
|
|
|
|
?
|
|
|
|
inkey(0)
|
|
|
|
|
|
|
|
? "Months:"
|
|
|
|
? "-------"
|
|
|
|
a:=GET_MONTHS()
|
|
|
|
for i:=1 to len(a)
|
|
|
|
? " " + padr(aMnt[i],15) + a[i]
|
|
|
|
next
|
|
|
|
?
|
|
|
|
inkey(0)
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
|
|
|
function GET_DAYS()
|
|
|
|
LOCAL i, n, aDays[7], dt:=date()
|
|
|
|
for i:=1 to 7
|
|
|
|
n:=dow(dt)
|
|
|
|
aDays[n]:=cdow(dt)
|
|
|
|
++dt
|
|
|
|
next
|
|
|
|
return (aDays)
|
|
|
|
|
|
|
|
function GET_MONTHS()
|
|
|
|
LOCAL i, n, aMonths[12], dt:=date()
|
|
|
|
dt-=day(dt)-1
|
|
|
|
for i:=1 to 12
|
|
|
|
n:=month(dt)
|
|
|
|
aMonths[n]:=cmonth(dt)
|
|
|
|
dt+=31
|
|
|
|
dt-=day(dt)-1
|
|
|
|
next
|
|
|
|
return (aMonths)
|
|
|
|
|
|
|
|
function GET_ERR()
|
|
|
|
local aErr
|
|
|
|
aErr := { { "EG_ARG ", HB_LANGERRMSG( 1 ) }, ;
|
|
|
|
{ "EG_BOUND ", HB_LANGERRMSG( 2 ) }, ;
|
|
|
|
{ "EG_STROVERFLOW ", HB_LANGERRMSG( 3 ) }, ;
|
|
|
|
{ "EG_NUMOVERFLOW ", HB_LANGERRMSG( 4 ) }, ;
|
|
|
|
{ "EG_ZERODIV ", HB_LANGERRMSG( 5 ) }, ;
|
|
|
|
{ "EG_NUMERR ", HB_LANGERRMSG( 6 ) }, ;
|
|
|
|
{ "EG_SYNTAX ", HB_LANGERRMSG( 7 ) }, ;
|
|
|
|
{ "EG_COMPLEXITY ", HB_LANGERRMSG( 8 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 9 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 10 ) }, ;
|
|
|
|
{ "EG_MEM ", HB_LANGERRMSG( 11 ) }, ;
|
|
|
|
{ "EG_NOFUNC ", HB_LANGERRMSG( 12 ) }, ;
|
|
|
|
{ "EG_NOMETHOD ", HB_LANGERRMSG( 13 ) }, ;
|
|
|
|
{ "EG_NOVAR ", HB_LANGERRMSG( 14 ) }, ;
|
|
|
|
{ "EG_NOALIAS ", HB_LANGERRMSG( 15 ) }, ;
|
|
|
|
{ "EG_NOVARMETHOD ", HB_LANGERRMSG( 16 ) }, ;
|
|
|
|
{ "EG_BADALIAS ", HB_LANGERRMSG( 17 ) }, ;
|
|
|
|
{ "EG_DUPALIAS ", HB_LANGERRMSG( 18 ) }, ;
|
|
|
|
{ "EG_NOOBJECT ", HB_LANGERRMSG( 19 ) }, ;
|
|
|
|
{ "EG_CREATE ", HB_LANGERRMSG( 20 ) }, ;
|
|
|
|
{ "EG_OPEN ", HB_LANGERRMSG( 21 ) }, ;
|
|
|
|
{ "EG_CLOSE ", HB_LANGERRMSG( 22 ) }, ;
|
|
|
|
{ "EG_READ ", HB_LANGERRMSG( 23 ) }, ;
|
|
|
|
{ "EG_WRITE ", HB_LANGERRMSG( 24 ) }, ;
|
|
|
|
{ "EG_PRINT ", HB_LANGERRMSG( 25 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 26 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 27 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 28 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 29 ) }, ;
|
|
|
|
{ "EG_UNSUPPORTED ", HB_LANGERRMSG( 30 ) }, ;
|
|
|
|
{ "EG_LIMIT ", HB_LANGERRMSG( 31 ) }, ;
|
|
|
|
{ "EG_CORRUPTION ", HB_LANGERRMSG( 32 ) }, ;
|
|
|
|
{ "EG_DATATYPE ", HB_LANGERRMSG( 33 ) }, ;
|
|
|
|
{ "EG_DATAWIDTH ", HB_LANGERRMSG( 34 ) }, ;
|
|
|
|
{ "EG_NOTABLE ", HB_LANGERRMSG( 35 ) }, ;
|
|
|
|
{ "EG_NOORDER ", HB_LANGERRMSG( 36 ) }, ;
|
|
|
|
{ "EG_SHARED ", HB_LANGERRMSG( 37 ) }, ;
|
|
|
|
{ "EG_UNLOCKED ", HB_LANGERRMSG( 38 ) }, ;
|
|
|
|
{ "EG_READONLY ", HB_LANGERRMSG( 39 ) }, ;
|
|
|
|
{ "EG_APPENDLOCK ", HB_LANGERRMSG( 40 ) }, ;
|
|
|
|
{ "EG_LOCK ", HB_LANGERRMSG( 41 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 42 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 43 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 44 ) }, ;
|
|
|
|
{ " ", HB_LANGERRMSG( 45 ) }, ;
|
|
|
|
{ "EG_ARRACCESS ", HB_LANGERRMSG( 46 ) }, ;
|
|
|
|
{ "EG_ARRASSIGN ", HB_LANGERRMSG( 47 ) }, ;
|
|
|
|
{ "EG_ARRDIMENSION", HB_LANGERRMSG( 48 ) }, ;
|
|
|
|
{ "EG_NOTARRAY ", HB_LANGERRMSG( 49 ) }, ;
|
|
|
|
{ "EG_CONDITION ", HB_LANGERRMSG( 50 ) } }
|
|
|
|
return aErr
|
|
|
|
|
|
|
|
function HB_LANGERRINTR(n)
|
|
|
|
return HB_LANGMESSAGE(HB_LANG_ITEM_BASE_ERRINTR + n - 9000 )
|
|
|
|
|
|
|
|
function GET_IERR()
|
|
|
|
local aErr
|
|
|
|
aErr := { ;
|
|
|
|
{ "HB_EI_ERRUNRECOV ", HB_LANGERRINTR(9000) }, ;
|
|
|
|
{ "HB_EI_ERRRECFAILURE ", HB_LANGERRINTR(9001) }, ;
|
|
|
|
{ "HB_EI_ERRNOBLOCK ", HB_LANGERRINTR(9002) }, ;
|
|
|
|
{ "HB_EI_ERRTOOMANY ", HB_LANGERRINTR(9003) }, ;
|
|
|
|
{ "HB_EI_RDDINVALID ", HB_LANGERRINTR(9004) }, ;
|
|
|
|
{ "HB_EI_CLSINVMETHOD ", HB_LANGERRINTR(9005) }, ;
|
|
|
|
{ "HB_EI_XGRABALLOC ", HB_LANGERRINTR(9006) }, ;
|
|
|
|
{ "HB_EI_XREALLOCNULL ", HB_LANGERRINTR(9007) }, ;
|
|
|
|
{ "HB_EI_XREALLOCINV ", HB_LANGERRINTR(9008) }, ;
|
|
|
|
{ "HB_EI_XREALLOC ", HB_LANGERRINTR(9009) }, ;
|
|
|
|
{ "HB_EI_XFREEINV ", HB_LANGERRINTR(9010) }, ;
|
|
|
|
{ "HB_EI_XFREENULL ", HB_LANGERRINTR(9011) }, ;
|
|
|
|
{ "HB_EI_VMBADSTARTUP ", HB_LANGERRINTR(9012) }, ;
|
|
|
|
{ "HB_EI_VMNOSTARTUP ", HB_LANGERRINTR(9013) }, ;
|
|
|
|
{ "HB_EI_VMBADOPCODE ", HB_LANGERRINTR(9014) }, ;
|
|
|
|
{ "HB_EI_VMNOTSYMBOL ", HB_LANGERRINTR(9015) }, ;
|
|
|
|
{ "HB_EI_VMINVSYMBOL ", HB_LANGERRINTR(9016) }, ;
|
|
|
|
{ "HB_EI_VMNOTCBLOCK ", HB_LANGERRINTR(9017) }, ;
|
|
|
|
{ "HB_EI_VMPOPINVITEM ", HB_LANGERRINTR(9018) }, ;
|
|
|
|
{ "HB_EI_STACKUFLOW ", HB_LANGERRINTR(9019) }, ;
|
|
|
|
{ "HB_EI_ITEMBADCOPY ", HB_LANGERRINTR(9020) }, ;
|
|
|
|
{ "HB_EI_MVBADSYMBOL ", HB_LANGERRINTR(9021) }, ;
|
|
|
|
{ "HB_EI_XMEMOVERFLOW ", HB_LANGERRINTR(9022) }, ;
|
|
|
|
{ "HB_EI_XGRABNULLSIZE ", HB_LANGERRINTR(9023) }, ;
|
|
|
|
{ "HB_EI_XREALLOCNULLSIZE", HB_LANGERRINTR(9024) }, ;
|
|
|
|
{ "HB_EI_XALLOCNULLSIZE ", HB_LANGERRINTR(9025) } }
|
|
|
|
return aErr
|
|
|