2013-03-29 19:31 UTC+0100 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
+ better match algrorithm for finding .hbl translation modules
f.e. "es_AR" will fall back to "es", than fall back to
whichever dialect is present. "es" will also be matched
to "es_*" when "es" not present.
! now able to load languages Harbour doesn't even know about
* utils/hbmk2/hbmk2.hbp
* utils/hbmk2/po/hbmk2.el_GR.po -> utils/hbmk2/po/hbmk2.el.po
* utils/hbmk2/po/hbmk2.es_PE.po -> utils/hbmk2/po/hbmk2.es.po
* utils/hbmk2/po/hbmk2.hu_HU.po -> utils/hbmk2/po/hbmk2.hu.po
* utils/hbmk2/po/hbmk2.it_IT.po -> utils/hbmk2/po/hbmk2.it.po
% renamed to use short language code for languages
that are unlikely to have multiple dialects implemented.
We can branch out new dialects anytime as needed.
(I'm still pending on Spanish. Please answer on the
forum whether to have separate es_PE, es_AR and else.)
This commit is contained in:
@@ -10,6 +10,25 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2013-03-29 19:31 UTC+0100 Viktor Szakats (harbour syenar.net)
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ better match algrorithm for finding .hbl translation modules
|
||||
f.e. "es_AR" will fall back to "es", than fall back to
|
||||
whichever dialect is present. "es" will also be matched
|
||||
to "es_*" when "es" not present.
|
||||
! now able to load languages Harbour doesn't even know about
|
||||
|
||||
* utils/hbmk2/hbmk2.hbp
|
||||
* utils/hbmk2/po/hbmk2.el_GR.po -> utils/hbmk2/po/hbmk2.el.po
|
||||
* utils/hbmk2/po/hbmk2.es_PE.po -> utils/hbmk2/po/hbmk2.es.po
|
||||
* utils/hbmk2/po/hbmk2.hu_HU.po -> utils/hbmk2/po/hbmk2.hu.po
|
||||
* utils/hbmk2/po/hbmk2.it_IT.po -> utils/hbmk2/po/hbmk2.it.po
|
||||
% renamed to use short language code for languages
|
||||
that are unlikely to have multiple dialects implemented.
|
||||
We can branch out new dialects anytime as needed.
|
||||
(I'm still pending on Spanish. Please answer on the
|
||||
forum whether to have separate es_PE, es_AR and else.)
|
||||
|
||||
2013-03-29 18:17 UTC+0100 Viktor Szakats (harbour syenar.net)
|
||||
* utils/hbmk2/po/hbmk2.en_US.po -> utils/hbmk2/po/hbmk2.en.po
|
||||
* tuning language IDs
|
||||
|
||||
@@ -22,7 +22,7 @@ hbmk2.prg
|
||||
|
||||
po/hbmk2.%{hb_lng}.po
|
||||
-hbl=hbmk2.%{hb_lng}.hbl
|
||||
-lng=el_GR,es_PE,hu_HU,it_IT,pt_BR
|
||||
-lng=el,es,hu,it,pt_BR
|
||||
|
||||
# not using these together with .rc input, because some compilers (mingw)
|
||||
# do not support multiple .rc inputs
|
||||
|
||||
@@ -1471,7 +1471,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
|
||||
hbmk[ _HBMK_lPause ] := lPause
|
||||
hbmk[ _HBMK_nLevel ] := nLevel
|
||||
|
||||
SetUILang( hbmk[ _HBMK_cUILNG ] := GetUILang() )
|
||||
SetUILang( hbmk, GetUILang() )
|
||||
|
||||
IF Empty( aArgs )
|
||||
ShowHeader( hbmk )
|
||||
@@ -1540,7 +1540,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
|
||||
CASE Left( cParamL, 7 ) == "-build=" ; hbmk[ _HBMK_cBUILD ] := StrTran( hb_DirSepToOS( SubStr( cParam, 8 ) ), hb_ps() )
|
||||
CASE Left( cParamL, 6 ) == "-build" ; hbmk[ _HBMK_lStopAfterHarbour ] := .T.
|
||||
CASE Left( cParamL, 8 ) == "-credits" ; hbmk[ _HBMK_lStopAfterHarbour ] := .T.
|
||||
CASE Left( cParamL, 6 ) == "-lang=" ; SetUILang( hbmk[ _HBMK_cUILNG ] := SubStr( cParam, 7 ) )
|
||||
CASE Left( cParamL, 6 ) == "-lang=" ; SetUILang( hbmk, SubStr( cParam, 7 ) )
|
||||
CASE Left( cParamL, 4 ) == "-shl" ; hbmk[ _HBMK_lShowLevel ] := .T.
|
||||
CASE Left( cParamL, 7 ) == "-width="
|
||||
|
||||
@@ -13748,10 +13748,6 @@ STATIC PROCEDURE __hbshell( cFile, ... )
|
||||
ENDIF
|
||||
#endif
|
||||
|
||||
/* Set CP and language */
|
||||
|
||||
SetUILang( GetUILang() )
|
||||
|
||||
/* Save originals */
|
||||
|
||||
hbsh[ _HBSH_cDirBase ] := hb_DirBase()
|
||||
@@ -13761,6 +13757,10 @@ STATIC PROCEDURE __hbshell( cFile, ... )
|
||||
|
||||
hbmk := hbsh[ _HBSH_hbmk ] := hbmk_new( .T. )
|
||||
|
||||
/* Set CP and language */
|
||||
|
||||
SetUILang( hbmk, GetUILang() )
|
||||
|
||||
/* Help */
|
||||
|
||||
IF HB_ISSTRING( cFile )
|
||||
@@ -13771,7 +13771,7 @@ STATIC PROCEDURE __hbshell( cFile, ... )
|
||||
CASE cParamL == "-help" .OR. cParamL == "--help" .OR. ;
|
||||
cParamL == "-h" .OR. cParamL == "-?"
|
||||
|
||||
SetUILang( hbmk[ _HBMK_cUILNG ] := GetUILang() )
|
||||
SetUILang( hbmk, GetUILang() )
|
||||
ShowHeader( hbmk )
|
||||
ShowHelp( hbmk, .T. )
|
||||
RETURN
|
||||
@@ -13779,7 +13779,7 @@ STATIC PROCEDURE __hbshell( cFile, ... )
|
||||
CASE cParamL == "-longhelp" .OR. cParamL == "--longhelp" .OR. ;
|
||||
cParamL == "-hh" .OR. cParamL == "-??"
|
||||
|
||||
SetUILang( hbmk[ _HBMK_cUILNG ] := GetUILang() )
|
||||
SetUILang( hbmk, GetUILang() )
|
||||
ShowHeader( hbmk )
|
||||
ShowHelp( hbmk, .T., .T. )
|
||||
RETURN
|
||||
@@ -13804,7 +13804,7 @@ STATIC PROCEDURE __hbshell( cFile, ... )
|
||||
|
||||
hbmk[ _HBMK_lMarkdown ] := .T.
|
||||
|
||||
SetUILang( hbmk[ _HBMK_cUILNG ] := GetUILang() )
|
||||
SetUILang( hbmk, GetUILang() )
|
||||
ShowHeader( hbmk )
|
||||
ShowHelp( hbmk, .T., .T. )
|
||||
RETURN
|
||||
@@ -15479,9 +15479,13 @@ STATIC FUNCTION GetUILang()
|
||||
|
||||
RETURN StrTran( cLNG, "_", "-" )
|
||||
|
||||
STATIC PROCEDURE SetUILang( cUILNG )
|
||||
STATIC PROCEDURE SetUILang( hbmk, cUILNG )
|
||||
|
||||
LOCAL tmp
|
||||
LOCAL aLang
|
||||
LOCAL cLang
|
||||
LOCAL cFileName
|
||||
LOCAL cFile
|
||||
LOCAL aFile
|
||||
|
||||
/* Setup input CP of the translation */
|
||||
hb_cdpSelect( "UTF8EX" )
|
||||
@@ -15495,21 +15499,35 @@ STATIC PROCEDURE SetUILang( cUILNG )
|
||||
/* Configure language */
|
||||
IF cUILNG == "en"
|
||||
hb_i18n_Set( NIL )
|
||||
hb_langSelect( cUILNG )
|
||||
hb_langSelect( hbmk[ _HBMK_cUILNG ] := cUILNG )
|
||||
ELSE
|
||||
tmp := ;
|
||||
hb_DirSepAdd( hb_DirBase() ) + ;
|
||||
_SELF_NAME_ + ;
|
||||
"." + ;
|
||||
StrTran( cUILNG, "-", "_" ) + ;
|
||||
".hbl"
|
||||
IF hb_i18n_Check( tmp := hb_MemoRead( tmp ) )
|
||||
hb_i18n_Set( hb_i18n_RestoreTable( tmp ) )
|
||||
hb_langSelect( cUILNG )
|
||||
ELSE
|
||||
hb_i18n_Set( NIL )
|
||||
hb_langSelect( "en" )
|
||||
ENDIF
|
||||
aLang := AAddNew( { cUILNG }, Left( cUILNG, 2 ) )
|
||||
AAdd( aLang, Left( cUILNG, 2 ) + "*" )
|
||||
FOR EACH cLang IN aLang
|
||||
#define _LANG_TO_HBL( cLang ) hb_DirSepAdd( hb_DirBase() ) + _SELF_NAME_ + "." + StrTran( cLang, "-", "_" ) + ".hbl"
|
||||
IF "*" $ cLang
|
||||
IF Empty( aFile := Directory( _LANG_TO_HBL( cLang ) ) )
|
||||
cFileName := NIL
|
||||
ELSE
|
||||
cFileName := aFile[ 1 ][ F_NAME ]
|
||||
cLang := StrTran( SubStr( hb_FNameExt( hb_FNameName( cFileName ) ), 2 ), "_", "-" )
|
||||
ENDIF
|
||||
ELSE
|
||||
cFileName := _LANG_TO_HBL( cLang )
|
||||
ENDIF
|
||||
IF ! Empty( cFileName ) .AND. ;
|
||||
hb_i18n_Check( cFile := hb_MemoRead( cFileName ) )
|
||||
hb_i18n_Set( hb_i18n_RestoreTable( cFile ) )
|
||||
BEGIN SEQUENCE WITH {| oError | Break( oError ) }
|
||||
hb_langSelect( hbmk[ _HBMK_cUILNG ] := cLang )
|
||||
END /* SEQUENCE */
|
||||
EXIT
|
||||
ELSEIF cLang:__enumIsLast()
|
||||
hb_i18n_Set( NIL )
|
||||
hb_langSelect( hbmk[ _HBMK_cUILNG ] := "en" )
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
@@ -15600,9 +15618,7 @@ STATIC PROCEDURE ShowHeader( hbmk )
|
||||
ENDIF
|
||||
Eval( hbmk[ _HBMK_bOut ], cText )
|
||||
|
||||
IF !( hbmk[ _HBMK_cUILNG ] == "en" ) .AND. ;
|
||||
!( hbmk[ _HBMK_cUILNG ] == "en-GB" ) .AND. ;
|
||||
!( hbmk[ _HBMK_cUILNG ] == "en-US" )
|
||||
IF !( Lower( Left( hbmk[ _HBMK_cUILNG ], 2 ) ) == "en" )
|
||||
cTrsText := hb_i18n_gettext_noop( "Translation (%1$s): (add your name here)" )
|
||||
cTrsTextI := I_( cTrsText )
|
||||
IF !( cTrsText == cTrsTextI ) .AND. ! Empty( cTrsTextI )
|
||||
|
||||
Reference in New Issue
Block a user