project BLF > class BFcTranslation > method ProcessTranslation
Parameters
icComponent | input | character | |
Internal usage
BLF
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.