Aqui teneis el código fuente por si quereis probarlo, o si quereis proponer mejoras, cambios, etc, gracias
Code: Select all
// FWH strings multiple languages support
#include "FiveWin.ch"
static nLanguage := 1 // 1 English
// 2 Spanish
// 3 French ?
// 4 ???
static aStrings := { { "Attention", "Atención" },;
{ "PDF Plugin Error", "Error del plugin de PDF" },;
{ "PDF not saved to send Email", "No se ha guardado el PDF a enviar por email" },;
{ "MS Word not installed", "MS Word no está instalado" },;
{ "Failed to Create Word Document", "No se ha podido crear el documento de Word" },;
{ "There is no output for export", "No hay nada que exportar" },;
{ "No .Doc file manipulation software installed", "No hay instalado software para usar ficheros .Doc" },;
{ "not found, imposible to continue", "no se ha encontrado, no se puede continuar" },;
{ "Printing Error", , "Error de impresión" },;
{ "View", "¿ Visualizar" },;
{ "Excel not installed", "Excel no está instalado" },;
{ "Report width is greater than page width", "El ancho del reporte es mayor que el ancho de la página" },;
{ "Export to Excel is available only", "Solo está disponible exportar a Excel" },;
{ "for Reports with ::bInit defined", "para reportes con ::bInit definido" },;
{ "Printing Preview", "Previsualización de Impresión" },;
{ "&File", "&Fichero" },;
{ "&Print", "&Imprimir" },;
{ "Print actual page", "Imprimir la página actual" },;
{ "&Exit", "&Salir" },;
{ "Exit from preview", "Salir de la previsualización" },;
{ "Page", "Página" },;
{ "&First", "&Primera" },;
{ "Go to first page", "Ir a la primera página" },;
{ "&Previous", "&Anterior" },;
{ "Go to previous page", "Ir a la página anterior" },;
{ "&Next", "&Siguiente" },;
{ "Go to next page", "Ir a la siguiente página" },;
{ "&Last", "&Ultima" },;
{ "Go to last page", "Ir a la última página" },;
{ "&Zoom", "&Zoom" },;
{ "Page zoom", "zoom de página" },;
{ "&Normal", "&Normal" },;
{ "Page unzoom", "Página normal" },;
{ "&Factor", "&Factor" },;
{ "Zoom factor", "Factor de zoom" },;
{ "Factor", "Factor" },;
{ "&Two pages", "&Dos páginas" },;
{ "Preview on two pages", "Previsualización en dos páginas" },;
{ "One &page", "Una &página" },;
{ "Preview on one page", "Previsualización en una página" },;
{ "Page number:", "Número de página:" },;
{ "Go to first page", "Ir a la primera página" },;
{ "First", "Primera" },;
{ "&Page", "&Página" },;
{ "Preview on one page", "Previsualización en una página" },;
{ "Previous", "Anterior" },;
{ "Next", "Siguiente" },;
{ "Last", "Ultima" },;
{ "Zoom", "Aumentar" },;
{ "Two pages", "Dos páginas" },;
{ "Print", "Imprimir" },;
{ "Save to DOC/PDF", "Guardar como DOC/PDF" },;
{ "DOC Format", "Formato DOC" },;
{ "PDF Format", "Formato PDF" },;
{ "Export to PDF", "Exportar a PDF" },;
{ "Send by email as PDF", "Enviar por email como PDF" },;
{ "Export to MS Word", "Exportar a MS Word" },;
{ "Export to Excel", "Exportar a Excel" },;
{ "Exit", "Salir" },;
{ "Preview", "Previsualización" } }
static aMissing := {}
//----------------------------------------------------------------------------//
function FWString( cString )
local nAt
If ( nAt := AScan( aStrings, { | aString | aString[ 1 ] == cString } ) ) != 0
return aStrings[ nAt ][ nLanguage ]
else
MsgInfo( 'The string: "' + cString + '"' + CRLF + ;
"defined from: " + ProcName( 1 ) + " line " + ;
AllTrim( Str( ProcLine( 1 ) ) ) + " in " + ProcFile( 1 ) + CRLF + ;
"is not defined in FWH strings" + CRLF + ;
"Please add it to FWH\source\function\strings.prg" )
AAdd( aMissing, cString )
endif
return cString
//----------------------------------------------------------------------------//
function FWSetLanguage( nNewLanguage )
local nOldLanguage := nLanguage
nLanguage = nNewLanguage
return nOldLanguage
//----------------------------------------------------------------------------//
function FWMissingStrings()
local cResult := ""
AEval( aMissing, { | cString | cResult += Space( 7 ) + '{ "' + cString + ;
'", "" },;' + CRLF } )
if ! Empty( cResult )
MemoEdit( cResult, "Copy and paste in FWH\source\function\strings.prg" )
endif
return cResult
//----------------------------------------------------------------------------//