Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Language Management in QlikView

Hello community.

I made statements under Qlikview French.

I wanted to make their translation into English.

But this should be done dynamically.

I implore your help for that.

Thank you

11 Replies
Not applicable
Author

Hi,

Have a look at the Finance Controlling that comes with the installation. it has the language conversion function.

Not applicable
Author

This application named Finance Controlling.qvw imports another application named financecontrolling.qvw .

I don't find this file (financecontrolling.qvw) in the tree of Qlikview.

Thanks

Not applicable
Author

Hi,

Are you looking at the sample in QV version 9?

I don't think you can do the "plug and play" from tha sample. All you need is to use the logic.

What it does is, it has an unlink table, to store some variables, and in the properties of the flag (Actions tab), it actually check what variable or value has been selected and then change the display of the label. and you might also need if-else to check what are the variable selected and do appropriate conversion.

Not applicable
Author

Please can someone explain me the translation system using in Finance controlling application?

Thanks in advance.

Anonymous
Not applicable
Author

Hello, actually there are two different and flexible solutions in the qlikview samples:

1. Finance Controlling:

=



fieldvalue($(vLanguage),1001)

2. Films:

= Minstring

(if(Reference = 'DIRECTOR', $(vLanguage)))

Both times there is the need (which makes sense) to have a table (inline or excel etc) where you have in one line the original name and in the following columns of the record the translated values. Further you need to define a variable that is changed by the user and which contains the actual interface language.

The different languages are loaded from an external table it can look line this (in the load script):

Umbenennungen:





LOAD

Reference,

FIELD_NAME,

LANGUAGE1

,

EN

,

DE

,

FR

FROM

translation.xls (biff, embedded labels, table is Sheet1$);

The solution #1 seems to be faster. But it is risky. There is no reefrence to the actual field name that is used in a Listbox etc. Further, where there is one or several lines emply in the external excel file it is not the line 1001 (just a sample number) that will be taken for translation.



Solution #2 is more safe. It is slower. But still it is not flexible enough. In case I change the field name of the listbox I have to change the filed name in the Title line, too.

Hope this helps for the explanation.

If there is a solution that it is somehow possible to retrieve the actual selected value (selected field name) let us know. Wink







Not applicable
Author

Thanks, i had studied this functionnality since ....

Anonymous
Not applicable
Author

Thanks. I would like to keep the question open.

If there is a solution where it is somehow possible, to retrieve the actual selected value (selected field name) let us know. Wink

Not applicable
Author

To do this you must use a macro VB.

See the following code:

'Sélectionner la langue allemande
sub Selektiere_DE
ActiveDocument.Fields("Sprache").select "DE"
end sub

'Selectionner la langue anglaise
sub Selektiere_EN
ActiveDocument.Fields("Sprache").select "EN"
end sub

'Sélectionner la langue espagnole
sub Selektiere_ES
ActiveDocument.Fields("Sprache").select "ES"
end sub

'Sélectionner la langue francaise
sub Selectionner_FR
ActiveDocument.Fields("Sprache").select "FR"
end sub

Now you must to define in Document properties >> Tab Triggers >> Actions in Open Document

you select the macro of your default Value.

Thanks.

If you have any question, don't hesitate.

Anonymous
Not applicable
Author

Thank you for the Macro Code. But I am looking for something different. And I don't think it is available right now.

Suppose there are two or more Listboxes.

LB1 shows field: DIRECTOR (engl: DIRECTOR, german: DIREKTOR) and

LB2 shows field PRODUCT (engl: PRODUCT, german: PRODUKT) (sorry I dont know the French translation).

Without translation I (Solution #1) would setup

LB1: Title: <Fieldname> - Field: DIRECTOR

LB2: Title: <Fieldname> - Field PRODUCT

With this option I can't switch the language.

To change the language either I can put the formula (Solution #2):

= fieldvalue(Language,10) as entry for Title in the listbox LB1 with the field: DIRECTOR. (The same for LB2 with PRODUCT).

I load the translation from an external file and in Line/Record #10 there is DIRECTOR and DIREKTOR.

When changing the field language through a Macro as suggested it will switch between DIRECTOR (EN) and DIREKTOR (DE). But, I dont see in the Listbox what is behind 10 (when the file is loaded I will see whats coming). Further, when I by accident delete a record before (suppose record #5) then I will see the entry from record #1.

Another option (Solution #3), but this seems to work only work a variable e.g. vLanguage

= Minstring(if(Reference = 'DIRECTOR', $(vLanguage))) in LB1 and

= Minstring(if(Reference = 'PRODUCT', $(vLanguage))) in LB2.

This solution is more secure because I see exactly that I am looking for the translation of DIRECTOR and PRODUCT.

But still I have to make different entries in the different Listboxes (and it seems to be slower).

An option like:

= Minstring(if(Reference = <Fieldname>, $vLanguage))) (Fieldname comes from what is selected in the actual listbox)

would mean I have the same entry in all the Listboxes and I can be sure it is always looking for the value in the Field (Name as it comes from the database) of the Listbox. It is less work and more safe but posibly slower. If theer is a solution I would appreciate. Otherwise every Listbox has to be openened and an individual entry has to be added.