/* * $Id$ */ /* * The following parts are Copyright of the individual authors. * www - http://www.harbour-project.org * * Copyright 2000 Luiz Rafael Culik * Documentation for: HB_LANGNAME(), HB_LANGSELECT() * * Copyright 2004 Chen Kedem * Documentation for: HB_LANGERRMSG(),HB_LANGMESSAGE(),HB_SETCODEPAGE(), * HB_TRANSLATE() * * See doc/license.txt for licensing terms. * */ /* $DOC$ * $FUNCNAME$ * HB_LANGERRMSG() * $CATEGORY$ * Nation * $ONELINER$ * Description of an error code using current language * $SYNTAX$ * HB_LANGERRMSG( ) --> cErrorMessage * $ARGUMENTS$ * is one of the generic error codes (EG_...) defined * in include/error.ch * $RETURNS$ * HB_LANGERRMSG() return the error message string represented by * the code . * $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 * FUNCTION Main() * // English: Argument error * ? "English:", HB_LANGERRMSG( EG_ARG ) * HB_LANGSELECT( "ES" ) * // Spanish: Error de argumento * ? "Spanish:", HB_LANGERRMSG( EG_ARG ) * RETURN NIL * $STATUS$ * R * $COMPLIANCE$ * This function is a Harbour Extension * $PLATFORMS$ * All * $FILES$ * Library are rtl, lang * Header is error.ch * $SEEALSO$ * HB_LANGSELECT(),NATIONMSG() * $END$ */ /* $DOC$ * $FUNCNAME$ * HB_LANGMESSAGE() * $CATEGORY$ * Nation * $ONELINER$ * Returns international strings messages and errors * $SYNTAX$ * HB_LANGMESSAGE( ) --> cMessage * $ARGUMENTS$ * is the message number to get. * $RETURNS$ * HB_LANGMESSAGE() return the text associated with the code . * $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 . * $EXAMPLES$ * #include "hblang.ch" * REQUEST HB_LANG_ES * FUNCTION 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 ) * RETURN NIL * $STATUS$ * R * $COMPLIANCE$ * This function is a Harbour Extension * $PLATFORMS$ * All * $FILES$ * Library are rtl, lang * Header is hblang.ch * $SEEALSO$ * HB_LANGSELECT(),NATIONMSG(),REQUEST * $END$ */ /* $DOC$ * $FUNCNAME$ * HB_LANGNAME() * $CATEGORY$ * Nation * $ONELINER$ * Return the name of the current language module in use * $SYNTAX$ * HB_LANGNAME() --> cLangName * $ARGUMENTS$ * None. * $RETURNS$ * Name of the current language in use * $DESCRIPTION$ * This function return the current name of the language module in use. * $EXAMPLES$ * REQUEST HB_LANG_PT * REQUEST HB_LANG_RO * REQUEST HB_LANG_ES * FUNCTION Main() * 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 NIL * $TESTS$ * See tests/langapi.prg, tests/langmsg.prg * $STATUS$ * R * $COMPLIANCE$ * This function is a Harbour Extension * $PLATFORMS$ * All * $FILES$ * Library are rtl, lang * $SEEALSO$ * HB_LANGSELECT(),NATIONMSG() * $END$ */ /* $DOC$ * $FUNCNAME$ * HB_LANGSELECT() * $CATEGORY$ * Nation * $ONELINER$ * Select a specific nation message module * $SYNTAX$ * HB_LANGSELECT( [] ) --> cOldLang * $ARGUMENTS$ * The optional ID of the country language module. * Possible values for are below as defined in the * Lang library, sorted by language. * * * Language Codepage * * Bulgarian 866 BG866 * Bulgarian ISO-8859-5 BGISO * Bulgarian Windows-1251 BGWIN * Basque 850 EU * Catalan 850 CA * Chinese Simplified 936 ZHGB * Chinese Traditional 950 ZHB5 * Croatian 852 HR852 * Croatian ISO-8859-2 HRISO * Czech 852 CS852 * Czech ISO-8859-2 CSISO * Czech KAM CSKAM * Czech Windows-1250 CSWIN * English 437 EN * Esperanto 850 EO * French 850 FR * Galician 850 GL * German 850 DE * German ANSI ANSI DEWIN * Greek 737 EL * Greek ANSI Windows-1253 ELWIN * Hebrew 862 HE862 * Hebrew Windows-1255 HEWIN * Hungarian 852 HU852 * Hungarian CWI-2 HUCWI * Hungarian ISO-8859-2 HUISO * Hungarian Windows-1 HUWIN * Icelandic 850 IS850 * Indonesian 437 ID * Italian 437 IT * Korean 949 KO * Polish 852 PL852 * Polish ISO-8859-2 PLISO * Polish Mozowia PLMAZ * Polish Windows-1250 PLWIN * Portuguese 850 PT * Romanian 852 RO * Russian 866 RU866 * Russian KOI-8 RUKOI8 * Russian Windows-1251 RUWIN * Serbian 852 SR852 * Serbian ISO-8859-2 SRISO * Serbian Windows-1251 SRWIN * Slovenian 437 SL437 * Slovenian 852 SL852 * Slovenian ISO-8859-2 SLISO * Slovenian Windows-1250 SLWIN * Spanish 850 ES * Spanish ANSI ANSI ESWIN *
* $RETURNS$ * 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 * FUNCTION 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 NIL * $TESTS$ * See tests/langapi.prg, tests/langmsg.prg * $STATUS$ * R * $COMPLIANCE$ * This function is a Harbour Extension. * $PLATFORMS$ * All * $FILES$ * Libraty are rtl, lang * $SEEALSO$ * HB_LANGNAME(),HB_SETCODEPAGE(),NATIONMSG(),REQUEST * $END$ */ /* $DOC$ * $FUNCNAME$ * HB_SETCODEPAGE() * $CATEGORY$ * Nation * $ONELINER$ * Select the active code page by language ID * $SYNTAX$ * HB_SETCODEPAGE( [] ) --> cOldLang * $ARGUMENTS$ * The optional ID of the country language module. * Possible values for are below as defined in the * Codepage library, sorted by language. * * * Language Codepage * * Bulgarian 866 BG866 * Bulgarian ISO-8859-5 BGISO * Bulgarian Windows-1251 BGWIN * English 437 EN * German 850 DE * German ISO-8859-1 DEWIN * Greek 737 EL * Greek Windows-1253 ELWIN * Hungarian 852 HU852 * Hungarian ISO-8859-2 HUISO * Hungarian Windows-1250 HUWIN * Polish 852 PL852 * Polish ISO-8859-2 PLISO * Polish Mozowia 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 * 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 *
* $RETURNS$ * The old language indentifier * $DESCRIPTION$ * HB_SETCODEPAGE() 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 * FUNCTION Main() * LOCAL cTxt := CHR( 71 ) + " > " + CHR( 144 ) + " is" * ? HB_SETCODEPAGE() // EN * ? cTxt, CHR( 71 ) > CHR( 144 ) // G > is .F. * ? HB_SETCODEPAGE( "HU852" ) // EN * ? cTxt, CHR( 71 ) > CHR( 144 ) // G > is .T. * ? HB_SETCODEPAGE( "EN" ) // HU852 * ? cTxt, CHR( 71 ) > CHR( 144 ) // G > is .F. * RETURN NIL * $STATUS$ * R * $COMPLIANCE$ * This function is a Harbour Extension. * * This function is only visible if source/rtl/cdpapi.c was compiled * without the HB_CDP_SUPPORT_OFF flag. * $PLATFORMS$ * All * $FILES$ * Libraty are rtl, codepage * $SEEALSO$ * HB_LANGNAME(),HB_LANGSELECT(),HB_TRANSLATE(),NATIONMSG(),REQUEST * $END$ */ /* $DOC$ * $FUNCNAME$ * HB_TRANSLATE() * $CATEGORY$ * Nation * $ONELINER$ * Translate a string from one code page to the other * $SYNTAX$ * HB_TRANSLATE( , [], [] ) --> cDstText * $ARGUMENTS$ * Is the source string to translate. * * Is the optional character code page ID of the source * string. If not specified, the default code page is used. * * 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 * FUNCTION Main() * LOCAL cTxt := "A" + CHR( 142 ) + "BC" * ? "German 850 text:", cTxt * ? "German ANSI text:", HB_TRANSLATE( cTxt, "DE", "DEWIN" ) * RETURN NIL * $STATUS$ * R * $COMPLIANCE$ * This function is a Harbour Extension. * * This function is only visible if source/rtl/cdpapi.c was compiled * without the HB_CDP_SUPPORT_OFF flag. * $PLATFORMS$ * All * $FILES$ * Libraty are rtl, codepage * $SEEALSO$ * HB_LANGSELECT(),HB_SETCODEPAGE(),NATIONMSG(),REQUEST * $END$ */