From 2e3ef277071f27a36b4e523ceb86b33d09b2ee65 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 23 Jul 2012 19:49:22 +0000 Subject: [PATCH] 2012-07-23 21:48 UTC+0200 Viktor Szakats (harbour syenar.net) * include/hblang.hbx * src/rtl/Makefile * src/rtl/langcomp.prg + src/rtl/langlgcy.prg + added emulation for 'REQUEST HB_LANG_' legacy code. protected with HB_LEGACY_LEVEL5, though until then probably some more shuffling will be needed to simplify usage (f.e. remapping UTF-8 language modules to 'LL' codes as opposed to 'LLUTF' codes used ATM) % only pull all codepages and base language modules required for dynamic language modules when user app REQUESTs and HB_LANG_s. ; TOFIX: HB_LANGMESSAGE() often returns garbage when using it from hbrun or other dynamic apps. Changing hb_retc_const() to hb_retc() didn't seem to fix it. ; NOTE: All users are encouraged to use UTF-8 base language modules and request all CP components manually, then create their own dynamic language modules, f.e.: --- REQUEST HB_CODEPAGE_PT850 REQUEST HB_CODEPAGE_UTF8 REQUEST HB_LANG_PTUTF hb_langNew( "PT", "PT850", "PTUTF", "UTF8" ) hb_langSelect( "PT" ) --- * src/lang/msghuutf.c ! reconverted from a better legacy CP version, fixing some missing accented chars and translations --- harbour/ChangeLog | 31 +++++++++ harbour/include/hblang.hbx | 1 + harbour/src/lang/msghuutf.c | 24 +++---- harbour/src/rtl/Makefile | 1 + harbour/src/rtl/langcomp.prg | 5 -- harbour/src/rtl/langlgcy.prg | 130 +++++++++++++++++++++++++++++++++++ 6 files changed, 175 insertions(+), 17 deletions(-) create mode 100644 harbour/src/rtl/langlgcy.prg diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 7525f0f1bc..c1eb140ec5 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,37 @@ The license applies to all entries newer than 2009-04-28. */ +2012-07-23 21:48 UTC+0200 Viktor Szakats (harbour syenar.net) + * include/hblang.hbx + * src/rtl/Makefile + * src/rtl/langcomp.prg + + src/rtl/langlgcy.prg + + added emulation for 'REQUEST HB_LANG_' legacy code. + protected with HB_LEGACY_LEVEL5, though until then + probably some more shuffling will be needed to simplify + usage (f.e. remapping UTF-8 language modules to 'LL' + codes as opposed to 'LLUTF' codes used ATM) + % only pull all codepages and base language modules required + for dynamic language modules when user app REQUESTs and + HB_LANG_s. + ; TOFIX: HB_LANGMESSAGE() often returns garbage when using + it from hbrun or other dynamic apps. Changing + hb_retc_const() to hb_retc() didn't seem to fix it. + ; NOTE: All users are encouraged to use UTF-8 base language + modules and request all CP components manually, then + create their own dynamic language modules, f.e.: + --- + REQUEST HB_CODEPAGE_PT850 + REQUEST HB_CODEPAGE_UTF8 + REQUEST HB_LANG_PTUTF + hb_langNew( "PT", "PT850", "PTUTF", "UTF8" ) + hb_langSelect( "PT" ) + --- + + * src/lang/msghuutf.c + ! reconverted from a better legacy CP version, fixing + some missing accented chars and translations + 2012-07-23 17:48 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/gtwvg/activex.prg * contrib/gtwvg/gtwvg.c diff --git a/harbour/include/hblang.hbx b/harbour/include/hblang.hbx index af86c13480..4f672c4855 100644 --- a/harbour/include/hblang.hbx +++ b/harbour/include/hblang.hbx @@ -60,6 +60,7 @@ DYNAMIC HB_LANG_TRUTF DYNAMIC HB_LANG_UAUTF DYNAMIC HB_LANG_ZHUTF +DYNAMIC HB_LANG_LEGACY DYNAMIC HB_LANG_KO DYNAMIC HB_LANG_ZHGB diff --git a/harbour/src/lang/msghuutf.c b/harbour/src/lang/msghuutf.c index daf881487a..94ebafbf4a 100644 --- a/harbour/src/lang/msghuutf.c +++ b/harbour/src/lang/msghuutf.c @@ -86,7 +86,7 @@ static HB_LANG s_lang = /* Day names */ "vasárnap", - "hétfo", + "hétfő", "kedd", "szerda", "csütörtök", @@ -119,14 +119,14 @@ static HB_LANG s_lang = "Nullával való osztás", "Numerikus hiba", "Szintaktikus hiba", - "Túl összetett muvelet", + "Túl összetett művelet", "", "", "Kevés memória", "Nem definiált függvény", "Nem exportált metódus", - "Nem létezo változó", - "Nem létezo munkaterület név", + "Nem létező változó", + "Nem létező munkaterület név", "Nem exportált változó", "Helytelen munkaterület név", "Már használt munkaterület név", @@ -141,10 +141,10 @@ static HB_LANG s_lang = "", "", "", - "Nem támogatott muvelet", + "Nem támogatott művelet", "Korlát túllépve", "Index hiba felfedezve", - "Nem megfelelo adattípus", + "Nem megfelelő adattípus", "Túl széles adat", "Nem megnyitott munkaterület", "Nem indexelt munkaterület", @@ -165,12 +165,12 @@ static HB_LANG s_lang = /* Internal error names */ - "Unrecoverable error %d: ", - "Error recovery failure", - "No ERRORBLOCK() for error", - "Too many recursive error handler calls", - "RDD invalid or failed to load", - "Invalid method type from %s", + "Kezelhetetlen hiba %d: ", + "Hiba kezelési hiba", + "Nincs ERRORBLOCK() a hiba kezeléséhez", + "Túl sok rekurzív hiba kezelő hívás", + "Az RDD hibás vagy nem sikerült betölteni", + "Nem megfelelő típusú metódus (%s)", "hb_xgrab can't allocate memory", "hb_xrealloc called with a NULL pointer", "hb_xrealloc called with an invalid pointer", diff --git a/harbour/src/rtl/Makefile b/harbour/src/rtl/Makefile index cb7e16ac30..a2edd074d2 100644 --- a/harbour/src/rtl/Makefile +++ b/harbour/src/rtl/Makefile @@ -240,6 +240,7 @@ PRG_SOURCES := \ hbini.prg \ input.prg \ langcomp.prg \ + langlgcy.prg \ libname.prg \ listbox.prg \ memoedit.prg \ diff --git a/harbour/src/rtl/langcomp.prg b/harbour/src/rtl/langcomp.prg index 6eeba193e9..c5f25c773e 100644 --- a/harbour/src/rtl/langcomp.prg +++ b/harbour/src/rtl/langcomp.prg @@ -50,11 +50,6 @@ * */ -#include "hbextcdp.ch" -#include "hbextlng.ch" - -REQUEST HB_CODEPAGE_UTF8 - FUNCTION hb_langSelect( cLangID ) IF HB_ISSTRING( cLangID ) diff --git a/harbour/src/rtl/langlgcy.prg b/harbour/src/rtl/langlgcy.prg new file mode 100644 index 0000000000..ab06b3a4c1 --- /dev/null +++ b/harbour/src/rtl/langlgcy.prg @@ -0,0 +1,130 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * Legacy language module definitions (to make old code happy) + * + * Copyright 2012 Viktor Szakats (harbour syenar.net) + * www - http://harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbextcdp.ch" +#include "hbextlng.ch" + +REQUEST HB_CODEPAGE_UTF8 + +#ifdef HB_LEGACY_LEVEL5 + +PROCEDURE HB_LANG_LEGACY() ; RETURN + +PROCEDURE HB_LANG_BE866() ; RETURN +PROCEDURE HB_LANG_BEWIN() ; RETURN +PROCEDURE HB_LANG_BG866() ; RETURN +PROCEDURE HB_LANG_BGISO() ; RETURN +PROCEDURE HB_LANG_BGMIK() ; RETURN +PROCEDURE HB_LANG_BGWIN() ; RETURN +PROCEDURE HB_LANG_CA() ; RETURN +PROCEDURE HB_LANG_CS852() ; RETURN +PROCEDURE HB_LANG_CSISO() ; RETURN +PROCEDURE HB_LANG_CSKAM() ; RETURN +PROCEDURE HB_LANG_CSWIN() ; RETURN +PROCEDURE HB_LANG_DE() ; RETURN +PROCEDURE HB_LANG_DEWIN() ; RETURN +PROCEDURE HB_LANG_EL() ; RETURN +PROCEDURE HB_LANG_ELWIN() ; RETURN +PROCEDURE HB_LANG_EO() ; RETURN +PROCEDURE HB_LANG_ES() ; RETURN +PROCEDURE HB_LANG_ESWIN() ; RETURN +PROCEDURE HB_LANG_EU() ; RETURN +PROCEDURE HB_LANG_FR() ; RETURN +PROCEDURE HB_LANG_GL() ; RETURN +PROCEDURE HB_LANG_HE862() ; RETURN +PROCEDURE HB_LANG_HEWIN() ; RETURN +PROCEDURE HB_LANG_HR646() ; RETURN +PROCEDURE HB_LANG_HR852() ; RETURN +PROCEDURE HB_LANG_HRISO() ; RETURN +PROCEDURE HB_LANG_HRWIN() ; RETURN +PROCEDURE HB_LANG_HU852() ; RETURN +PROCEDURE HB_LANG_HUISO() ; RETURN +PROCEDURE HB_LANG_HUWIN() ; RETURN +PROCEDURE HB_LANG_ID() ; RETURN +PROCEDURE HB_LANG_IS850() ; RETURN +PROCEDURE HB_LANG_IT() ; RETURN +/* PROCEDURE HB_LANG_KO() ; RETURN */ +PROCEDURE HB_LANG_LTWIN() ; RETURN +PROCEDURE HB_LANG_NL() ; RETURN +PROCEDURE HB_LANG_PL852() ; RETURN +PROCEDURE HB_LANG_PLISO() ; RETURN +PROCEDURE HB_LANG_PLMAZ() ; RETURN +PROCEDURE HB_LANG_PLWIN() ; RETURN +PROCEDURE HB_LANG_PT() ; RETURN +PROCEDURE HB_LANG_PTISO() ; RETURN +PROCEDURE HB_LANG_RO() ; RETURN +PROCEDURE HB_LANG_RU866() ; RETURN +PROCEDURE HB_LANG_RUKOI8() ; RETURN +PROCEDURE HB_LANG_RUWIN() ; RETURN +PROCEDURE HB_LANG_SK852() ; RETURN +PROCEDURE HB_LANG_SKISO() ; RETURN +PROCEDURE HB_LANG_SKKAM() ; RETURN +PROCEDURE HB_LANG_SKWIN() ; RETURN +PROCEDURE HB_LANG_SL646() ; RETURN +PROCEDURE HB_LANG_SL852() ; RETURN +PROCEDURE HB_LANG_SLISO() ; RETURN +PROCEDURE HB_LANG_SLWIN() ; RETURN +PROCEDURE HB_LANG_SR852() ; RETURN +PROCEDURE HB_LANG_SRISO() ; RETURN +PROCEDURE HB_LANG_SRWIN() ; RETURN +PROCEDURE HB_LANG_SV() ; RETURN +PROCEDURE HB_LANG_SVWIN() ; RETURN +PROCEDURE HB_LANG_TR857() ; RETURN +PROCEDURE HB_LANG_TRWIN() ; RETURN +PROCEDURE HB_LANG_UA866() ; RETURN +PROCEDURE HB_LANG_UADOS() ; RETURN +PROCEDURE HB_LANG_UAKOI8() ; RETURN +PROCEDURE HB_LANG_UAWIN() ; RETURN +PROCEDURE HB_LANG_ZHB5() ; RETURN +/* PROCEDURE HB_LANG_ZHGB() ; RETURN */ + +#endif