project BLF > class BFcTranslation > method ProcessTranslation


Parameters


icComponentinputcharacter


Internal usage


BLF
method BFcTranslation.EndElementInternal


program code (program1/bfctranslation.p)

define variable v1 as character case-sensitive.
define variable v2 as character case-sensitive.

find first tfcTranslationCopy where
           tfcTranslationCopy.tiTranslationStringNumber  = viTransNr and
           tfcTranslationCopy.tcTranslationProjShortCode = vcProjectCode and
           tfcTranslationCopy.tcTranslationLanguageCode  = vcLanguageToLoad
           no-error.
           
if available tfcTranslationCopy 
then do :   
    Assign v1 = tfcTranslationCopy.tcTranslationStringText
           v2 = vcTrans.

    vlEquals = (v1 = v2) no-error.
    if error-status:num-messages > 0
    then do:
        vcErrorList = #T-63'Failed to parse string number $1 in input file $2.':255(1319780)T-63#.
        do viFcCount1 = 1 to error-status:num-messages:
            vcErrorList = vcErrorList + chr(2) + error-status:get-message(viFcCount1).
        end.
        
        do viFcCount1 = 1 to num-entries(vcErrorList,chr(2)):
            <M-76 run SetMessage
               (input  entry(vifccount1,vcerrorlist,chr(2)) (icMessage), 
                input  string(viTransNr) + chr(2)  + vcProjectCode + '.':U + vcLanguageToLoad + '.resx':U (icArguments), 
                input  '' (icFieldName), 
                input  '' (icFieldValue), 
                input  'E':U (icType), 
                input  1 (iiSeverity), 
                input  '' (icRowid), 
                input  'blf-768393':U (icFcMsgNumber), 
                input  '' (icFcExplanation), 
                input  '' (icFcIdentification), 
                input  '' (icFcContext), 
                output viFcReturnSuper (oiReturnStatus)) in BFcTranslation>
        end.
        
        assign viParseReturnStatus = -1.
        return.
    end.
    
    if tfcTranslationCopy.tcStatus <> ""
    and vlEquals = no
    then do:
        <M-65 run SetMessage
           (input  #T-15'Duplicate string number ($1) found in input file ($2).':100(4793)T-15# (icMessage), 
            input  string(viTransNr) + chr(2)  + vcProjectCode + '.':U + vcLanguageToLoad + '.resx':U (icArguments), 
            input  '' (icFieldName), 
            input  '' (icFieldValue), 
            input  'E':U (icType), 
            input  1 (iiSeverity), 
            input  '' (icRowid), 
            input  'blf-928374':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BFcTranslation>
        assign viParseReturnStatus = -1.
        return.
    end.

    if vlEquals = no
    or tfcTranslationCopy.tcBusinessClass <> icComponent
    then assign tfcTranslationCopy.tcStatus                = "C":U
                tfcTranslationCopy.tcBusinessClass         = icComponent
                tfcTranslationCopy.tcTranslationStringText = vcTrans.
end.
else do:                   
    <M-23 run AddDetailLine
       (input  'fcTranslation':U (icTable), 
        input  '' (icParentRowid), 
        output viFcReturnSuper (oiReturnStatus)) in BFcTranslation>
    
    /* Create the copy-table */               
    create tfcTranslationCopy.
    assign tfcTranslationCopy.tcTranslationLanguageCode  = vcLanguageToLoad
           tfcTranslationCopy.tcTranslationProjShortCode = vcProjectCode
           tfcTranslationCopy.tiTranslationStringNumber  = viTransNr
           tfcTranslationCopy.tcClassTempTableRowId      = tfcTranslation.tc_Rowid
           tfcTranslationCopy.tcStatus                   = tfcTranslation.tc_Status
           tfcTranslationCopy.tcBusinessClass            = icComponent
           tfcTranslationCopy.tcTranslationStringText    = vcTrans.
    
    /* set status to blanc to allow saving in blocks */
    assign tfcTranslation.TranslationLanguageCode  = vcLanguageToLoad
           tfcTranslation.TranslationProjShortCode = vcProjectCode
           tfcTranslation.TranslationStringNumber  = viTransNr
           tfcTranslation.tc_Status                = "".
end.
assign viTransNr = 0.