In which platform you are running the report?
We have BIP 22.214.171.124 running the report from Siebel IP2016.
We had similar requirement in Oracle EBS so we used lookup(its kind of mapping where you can define one value and there respective translated value) to achieve the same.
Based on language we are checking the lookup and picking the respective translated value in rtf. So its similar to defining translation in xlf file rather we used lookup to define translation.
So we have only one rtf and one lookup with multiple lookup values for each rtf tag. In future if some new field is getting added then we just need to make one entry in lookup with the respective translation.
Hope you have similar lookup functionality in Siebel as well.
Thank you for the details of what you implemented. Upon reading it, I do not see how we can do anything similar in Siebel.
However, in thinking through what you wrote (this is sort of "stream of consciousness" here, because I started typing this immediately after thinking this), my first thought was "Maybe we could put the U.S. English Terms & Conditions in a field and translate the other languages." But that won't work, because we don't have multiple languages set up in Siebel itself, so we can't translate the field values. (And there are other overhead and other considerations and liabilities.)
But my next thought was just just simply do this: "Hard code" the U.S. English Terms & Conditions in the .rtf file, but make it's selection conditional: only choose this text if the locale is 'en-US'; otherwise, choose the "This is a placeholder..." text. Then the .xlf files can use "This is a placeholder..." as the <source> and their proper translation as the <target>.
I believe this will work. I will try it later today, and hopefully post back this week with results.
But if anyone can make my original desired functionality work, that would be a much more elegant design and easier to read in the template.
OK, so "this week" turned into "this Spring". My apologies for the delayed follow up.
- We are executing this BIP report from Siebel
- Our default language is English-United States
- We had an existing .rtf template and an existing .rtf subtemplate
- We had existing .xlf translation files for various locales
- I wanted to do this not for all text in the templates, but for some text other than just the Terms & Conditions that sometimes only needs to be changed in one language or in one locale
For the sections of text we thought needed this "semi-fluidity", here is what I ultimately did:
- In the .rtf template and subtemplate, I put this statement: <?choose:?><?when:$_XDOLOCALE=”en-US”?>. (I know I could use some sort of if-then-else statement since there are only two choices, but we have had to use <?choose:?> in a number of other places in this and other templates, so I went with the familiarity and consistency.)
- Inside this <?when:?> I put the full actual Terms and Conditions text in U.S. English.
- I next added the <?otherwise:?>, in which I put this exact text: "Terms and Conditions Text Placeholder". (What you put here is irrelevant, as long as it is obvious/easily recognized/easy to follow by you and others that will touch these files.)
- I then extracted the .rtf template text into the .xlf language/locale translation files. I found the <source> element with "Terms and Conditions Text Placeholder", and in the corresponding <target> element I put the proper T&C text for the locale. (Mind you, the T&C text for each locale is not an exact translation of the U.S. English T&C text - it is the proper terms & conditions text required by the authorities in that locale. So if translated, might say something drastically different from country to country.)
It worked like a charm.
So now if our U.S. legal department tells us we have to change the U.S. T&C text, we no longer have to update the <source> element in 10+ .xlf files; we only have to change one .rtf template. Much more efficient.
Here is an example of what I did....
In the ABCOffer.rtf template:
In the ABCOffer_fr_FR.xlf translation file:
(I assume my French is not entirely correct - please ignore that, as this is just an example, not what is really in our file. The point is that it is not an exact translation, but that the details are different for this locale: Different document number and different number of days before expiration.)
Now if for some reason ABC Company changes its U.S. T&C document number to ABC789, or changes the expiration to 30 days, only one file has to be touched.
Again, it would be even more elegant to only have "Placeholder Text" in the .rtf template with no <?choose:?> statement, and then have a _en_US.xlf file with the actual T&C text. However, since that does not seem to work, this appears to be a good alternative.