* bin/check.hb
! fixed to use local implementation instead of hb_DirScan()
which has known bug of missing extensionless files on win.
(due to hb_FileMatch() problem)
+ added support to optimize images and uncrustify C source
before upload (inactive yet)
+ added necessary exceptions now that extensionless files
properly found
+ checks for filenames without extensions
+ checks for filenames with extensions not in .gitattributes
* bin/commit.hb
+ show helpful advice when pre-commit hook check fails
! fixed to propely pick filenames that result from rename operations (for check)
! fixed to not pick filenames of deleted files (for check)
* config/lang.hb
* doc/en/lang.txt
* include/hblang.hbx
* src/lang/Makefile
* src/lang/l_zh_tra.c -> src/lang/l_zh.c
* src/rtl/langcomp.prg
* Language renamed: zh_tra -> zh (in sync with recently laid rules)
The 'REQUEST HB_LANG_*' value become INCOMPATIBLE compared
to previous dev versions
* src/rtl/cdpdet.prg
+ added 'zh' country code to codepage detection
* contrib/make.hb
* contrib/hbplist -> contrib/hbplist.txt
* renamed to have an extension
* contrib/hbrun/doc/_GENERATED_ -> contrib/hbrun/doc/_autogen.txt
* utils/hbmk2/doc/_GENERATED_ -> utils/hbmk2/doc/_autogen.txt
* renamed to have names fitting naming rules
+ added warning message inside
- extras/httpsrv/logs/empty
- deleted unnecessary file with non-compliant filename
- tests/stripeol.hb
% deleted, now similar functionality is implemented in bin/check.hb
* .gitattributes
! added missing .log and .ucf
* contrib/hbtinymt/3rd/tinymt/tinymt.hbp
! deleted SVN ID
* debian/copyright
! synced with COPYING.txt
* debian/postinst
* debian/postrm
! deleted multiple EOL at EOF
427 lines
14 KiB
Plaintext
427 lines
14 KiB
Plaintext
/*
|
|
* The following parts are Copyright of the individual authors.
|
|
* www - http://harbour-project.org
|
|
*
|
|
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
|
* Documentation for: hb_langName(), hb_langSelect()
|
|
*
|
|
* Copyright 2004 Chen Kedem <niki@actcom.co.il>
|
|
* Documentation for: hb_langErrMsg(), hb_langMessage(), hb_cdpSelect(),
|
|
* hb_Translate()
|
|
*
|
|
* See COPYING.txt for licensing terms.
|
|
*
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
hb_langErrMsg()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Language and Nation
|
|
$ONELINER$
|
|
Description of an error code using current language
|
|
$SYNTAX$
|
|
hb_langErrMsg( <nErrorCode> ) --> cErrorMessage
|
|
$ARGUMENTS$
|
|
<nErrorCode> is one of the generic error codes (EG_...) defined
|
|
in error.ch
|
|
$RETURNS$
|
|
hb_langErrMsg() return the error message string represented by
|
|
the code <nErrorCode>.
|
|
$DESCRIPTION$
|
|
This function return the error message associated with an error
|
|
code using the current language selected.
|
|
$EXAMPLES$
|
|
#include "error.ch"
|
|
REQUEST HB_LANG_ES
|
|
PROCEDURE Main()
|
|
// English: Argument error
|
|
? "English:", hb_langErrMsg( EG_ARG )
|
|
hb_langSelect( "es" )
|
|
// Spanish: Error de argumento
|
|
? "Spanish:", hb_langErrMsg( EG_ARG )
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
Header is error.ch
|
|
$SEEALSO$
|
|
hb_langSelect(), NationMsg()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
hb_langMessage()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Language and Nation
|
|
$ONELINER$
|
|
Returns international strings messages and errors
|
|
$SYNTAX$
|
|
hb_langMessage( <nMsg>[, <cLangID>] ) --> cMessage
|
|
$ARGUMENTS$
|
|
<nMsg> is the message number to get.
|
|
<cLangID> is an optional language module ID. Uses the currently
|
|
selected language module, if not specified.
|
|
$RETURNS$
|
|
hb_langMessage() return the text associated with the code <nMsg>.
|
|
$DESCRIPTION$
|
|
hb_langMessage() is similar to NationMsg() but give access to the
|
|
whole list of language messages: Day and month names, generic error
|
|
messages, internal errors, and others...
|
|
|
|
Use the header file hblang.ch for a list of base values for <nMsg>.
|
|
$EXAMPLES$
|
|
#include "hblang.ch"
|
|
REQUEST HB_LANG_ES
|
|
PROCEDURE Main()
|
|
// English: Monday
|
|
? "English:", hb_langMessage( HB_LANG_ITEM_BASE_DAY + 1 )
|
|
hb_langSelect( "es" )
|
|
// Spanish: Lunes
|
|
? "Spanish:", hb_langMessage( HB_LANG_ITEM_BASE_DAY + 1 )
|
|
? "English:", hb_langMessage( HB_LANG_ITEM_BASE_DAY + 1, "en" )
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
Header is hblang.ch
|
|
$SEEALSO$
|
|
hb_langSelect(), NationMsg(), REQUEST
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
hb_langName()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Language and Nation
|
|
$ONELINER$
|
|
Return the name of the language module
|
|
$SYNTAX$
|
|
hb_langName( [<cLangID>] ) --> cLangName
|
|
$ARGUMENTS$
|
|
<cLangID> is an optional language module ID. Uses the currently
|
|
selected language module, if not specified.
|
|
$RETURNS$
|
|
<cLangName> Name of the language module
|
|
$DESCRIPTION$
|
|
This function return the name of the language module in use or
|
|
specified.
|
|
$EXAMPLES$
|
|
REQUEST HB_LANG_PT
|
|
REQUEST HB_LANG_RO
|
|
REQUEST HB_LANG_ES
|
|
REQUEST HB_LANG_HU
|
|
PROCEDURE Main()
|
|
? hb_langName( "hu" )
|
|
? hb_langName( "<non-existent>" )
|
|
hb_langSelect( "pt" ) // Default language is now Portuguese
|
|
? CDoW( Date() ) // Segunda-feira
|
|
? "Current language is ", hb_langName() // Portuguese
|
|
? "Old language id selected is ", hb_langSelect() // PT
|
|
hb_langSelect( "ro" ) // Default language is now Romanian
|
|
? CMonth( Date() ) // Mai
|
|
? "Old language id selected is ", hb_langSelect() // RO
|
|
hb_langSelect( "es" ) // Default language is now Spanish
|
|
? "Current language is ", hb_langName() // Spanish
|
|
? CMonth( Date() ) // Mayo
|
|
? CDoW( Date() ) // Lunes
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
$SEEALSO$
|
|
hb_langSelect(), NationMsg()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
hb_langSelect()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Language and Nation
|
|
$ONELINER$
|
|
Select a specific nation message module
|
|
$SYNTAX$
|
|
hb_langSelect( [<cNewLang>][, <cCodepage>] ) --> cOldLang
|
|
$ARGUMENTS$
|
|
<cNewLang> The optional ID of the language module.
|
|
Possible values for <cNewLang> are below as defined in the
|
|
Lang library, sorted by language.
|
|
<cCodepage> Optional codepage ID into which the language
|
|
module strings are automatically converted by Harbour.
|
|
|
|
<table>
|
|
Language <cNewLang>
|
|
|
|
Basque eu
|
|
Belorussian be
|
|
Bulgarian bg
|
|
Catalan ca
|
|
Chinese Traditional zh
|
|
Chinese Simplified zh_sim
|
|
Croatian hr
|
|
Czech cs
|
|
Dutch nl
|
|
Esperanto eo
|
|
French fr
|
|
Galician gl
|
|
German de
|
|
Greek el
|
|
Hebrew he
|
|
Hungarian hu
|
|
Icelandic is
|
|
Indonesian id
|
|
Italian it
|
|
Korean ko
|
|
Lithuanian lt
|
|
Polish pl
|
|
Portuguese pt
|
|
Romanian ro
|
|
Russian ru
|
|
Serbian (cyrillic) sr_cyr
|
|
Serbian (latin) sr_lat
|
|
Slovak sk
|
|
Slovenian sl
|
|
Spanish es
|
|
Swedish sv
|
|
Turkish tr
|
|
Ukrainian uk
|
|
</table>
|
|
$RETURNS$
|
|
<cOldLang> The old language indentifier
|
|
$DESCRIPTION$
|
|
This function set a default language module for date/month names,
|
|
internal warnigs, NatMsg messages and internal errors. When a
|
|
Lang ID is selected all messages will be output with the current
|
|
language selected until another one is selected or the program ends.
|
|
The default language is English (cLang == "EN").
|
|
|
|
NOTE: You must REQUEST every language module you intend to use.
|
|
For example: to use the Russian RU866 language you must add the
|
|
following to your program: REQUEST HB_LANG_RU866
|
|
$EXAMPLES$
|
|
REQUEST HB_LANG_PT
|
|
REQUEST HB_LANG_RO
|
|
REQUEST HB_LANG_ES
|
|
PROCEDURE Main()
|
|
hb_langSelect( "pt" ) // Default language is now Portuguese
|
|
? CDoW( Date() ) // Segunda-feira
|
|
? "Old language id selected is ", hb_langSelect() // PT
|
|
hb_langSelect( "ro" ) // Default language is now Romanian
|
|
? CMonth( Date() ) // Mai
|
|
? "Old language id selected is ", hb_langSelect() // RO
|
|
hb_langSelect( "es" ) // Default language is now Spanish
|
|
? CMonth( Date() ) // Mayo
|
|
? CDoW( Date() ) // Lunes
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
$SEEALSO$
|
|
hb_langName(), hb_cdpSelect(), NationMsg(), REQUEST
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
hb_cdpSelect()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Language and Nation
|
|
$ONELINER$
|
|
Select the active code page by language ID
|
|
$SYNTAX$
|
|
hb_cdpSelect( [<cNewLang>] ) --> cOldLang
|
|
$ARGUMENTS$
|
|
<cNewLang> The optional ID of the language module.
|
|
Possible values for <cNewLang> are below as defined in the
|
|
Codepage library, sorted by language.
|
|
|
|
<table>
|
|
Language Codepage <cNewLang>
|
|
|
|
Bulgarian 866 BG866
|
|
Bulgarian ISO-8859-5 BGISO
|
|
Bulgarian MIK BGMIK
|
|
Bulgarian Windows-1251 BGWIN
|
|
Croatian 437 HR437
|
|
Croatian 852 HR852
|
|
Croatian Windows-1250 HR1250
|
|
Czech 852 CS852
|
|
Czech ISO-8859-2 CSISO
|
|
Czech KAM CSKAM
|
|
Czech Windoes-1250 CSWIN
|
|
English 437 EN
|
|
French 850 FR
|
|
German 850 DE
|
|
German ISO-8859-1 DEWIN
|
|
Greek 737 EL
|
|
Greek Windows-1253 ELWIN
|
|
Hungarian (ntxhu852) 852 HU852
|
|
Hungarian (sixhu852) 852 HU852S
|
|
Hungarian (ntxhu852) ISO-8859-2 HUISO
|
|
Hungarian (sixhu852) ISO-8859-2 HUISOS
|
|
Hungarian (ntxhu852) Windows-1250 HUWIN
|
|
Hungarian (sixhu852) Windows-1250 HUWINS
|
|
Italian 437 IT437
|
|
Italian 850 IT850
|
|
Italian ISO-8859-1b ITISB
|
|
Italian ISO-8859-1 ITISO
|
|
Lithuanian Windows-1257 LT
|
|
Polish 852 PL852
|
|
Polish ISO-8859-2 PLISO
|
|
Polish Mazowia PLMAZ
|
|
Polish Windows-1250 PLWIN
|
|
Portuguese 850 PT850
|
|
Portuguese ISO-8859-1 PTISO
|
|
Russian 866 RU866
|
|
Russian KOI-8 RUKOI8
|
|
Russian Windows-1251 RU1251
|
|
Serbian Windows-1251 SRWIN
|
|
Slovak 852 SK852
|
|
Slovak ISO-8859-2 SKISO
|
|
Slovak Kamenicky SKKAM
|
|
Slovak Windows-1250 SKWIN
|
|
Slovenian 437 SL437
|
|
Slovenian 852 SL852
|
|
Slovenian ISO-8859-2 SLISO
|
|
Slovenian Windows-1250 SLWIN
|
|
Spanish 850 ES
|
|
Spanish ISO-8859-1 ESWIN
|
|
Spanish Modern ISO-8859-1 ESMWIN
|
|
Swedish 850 SV850
|
|
Swedish (Clipper) 437 SVCLIP
|
|
Swedish ISO-8859-1 SVWIN
|
|
Turkish 857 TR857
|
|
Turkish Windows-1254 TRWIN
|
|
Ukrainian 866 UA866
|
|
Ukrainian KOI-8U UAKOI8
|
|
Ukrainian Windows-1251 UA1251
|
|
</table>
|
|
$RETURNS$
|
|
<cOldLang> The old language indentifier
|
|
$DESCRIPTION$
|
|
hb_cdpSelect() set the active code page use by Harbour for
|
|
sorting and comparing strings. The default code page use ASCII
|
|
order (cLang == "EN").
|
|
|
|
NOTE: You must REQUEST every code page module you intend to use.
|
|
For example: to use the Russian RU866 code page you must add the
|
|
following to your program: REQUEST HB_CODEPAGE_RU866
|
|
$EXAMPLES$
|
|
REQUEST HB_CODEPAGE_HU852
|
|
PROCEDURE Main()
|
|
hb_cdpSelect( "EN" )
|
|
? hb_cdpSelect()
|
|
? hb_UTF8ToStr( "É < G is" ), hb_BChar( 144 ) < "G" // É > G is .F.
|
|
hb_cdpSelect( "HU852" )
|
|
? hb_cdpSelect()
|
|
? hb_UTF8ToStr( "É < G is" ), hb_BChar( 144 ) < "G" // É > G is .T.
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
This function is a Harbour Extension.
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
$SEEALSO$
|
|
hb_langName(), hb_langSelect(), hb_Translate(), NationMsg(), REQUEST
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
hb_Translate()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Language and Nation
|
|
$ONELINER$
|
|
Translate a string from one code page to the other
|
|
$SYNTAX$
|
|
hb_Translate( <cSrcText>, [<cPageFrom>], [<cPageTo>] ) --> cDstText
|
|
$ARGUMENTS$
|
|
<cSrcText> Is the source string to translate.
|
|
|
|
<cPageFrom> Is the optional character code page ID of the source
|
|
string. If not specified, the default code page is used.
|
|
|
|
<cPageTo> Is the optional character code page ID of the destination
|
|
string. If not specified, the default code page is used.
|
|
$RETURNS$
|
|
hb_Translate() return destination string converted from the source
|
|
string.
|
|
$DESCRIPTION$
|
|
hb_Translate() try to convert a source string from one code page
|
|
into the other. If a code page ID is not recognized, or not linked
|
|
in, the default code page is used. hb_Translate() is used usually
|
|
to convert between the Dos and the Windows code pages of the same
|
|
language.
|
|
|
|
NOTE: If the source code page and target code page does not have
|
|
the same number of characters, a translation can not be done and
|
|
the destination string is a copy of the source string.
|
|
|
|
NOTE: You must REQUEST every code page module you intend to use.
|
|
For example: to use the Russian RU866 code page you must add the
|
|
following to your program: REQUEST HB_CODEPAGE_RU866
|
|
$EXAMPLES$
|
|
REQUEST HB_CODEPAGE_DE
|
|
REQUEST HB_CODEPAGE_DEWIN
|
|
PROCEDURE Main()
|
|
LOCAL cTxt := "A" + hb_BChar( 142 ) + "BC"
|
|
? "German CP-850 text:", cTxt
|
|
? "German Windows-1252 text:", hb_Translate( cTxt, "DE850", "DEWIN" )
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
This function is a Harbour Extension.
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
$SEEALSO$
|
|
hb_langSelect(), hb_cdpSelect(), NationMsg(), REQUEST
|
|
$END$
|
|
*/
|