Is there a way to change the language of the driver interface for Canon Pixma printers? Which language is used seems to be determined by the language of the OS or the Windows localization settings. I really don't want that, I want to be able to set the language manually to my own liking, either during the driver installation or afterwards.
(Update: It's not affected by the localization settings. The language is set during the driver installation.)
Change the UI language for Pixma IP2770
I have found a workaround for Pixma IP2770 where you edit the setup.ini
file by replacing the language names and the DLL resource search paths with <SELECT>
under the LANGUAGES
section. So I thought I would share it with the rest of the community.
So instead of...
0000=<SELECT>
0001=Arabic,RES\STRING\IJInstAR.ini,RES\DLL\IJInstAR.dll
0804=Simplified Chinese,RES\STRING\IJInstCN.ini,RES\DLL\IJInstCN.dll
0404=Traditional Chinese,RES\STRING\IJInstTW.ini,RES\DLL\IJInstTW.dll
0005=Czech,RES\STRING\IJInstCZ.ini,RES\DLL\IJInstCZ.dll
0006=Danish,RES\STRING\IJInstDK.ini,RES\DLL\IJInstDK.dll
0007=German,RES\STRING\IJInstDE.ini,RES\DLL\IJInstDE.dll
0008=Greek,RES\STRING\IJInstGR.ini,RES\DLL\IJInstGR.dll
0009=English,RES\STRING\IJInstUS.ini,RES\DLL\IJInstUS.dll
000A=Spanish,RES\STRING\IJInstES.ini,RES\DLL\IJInstES.dll
000B=Finnish,RES\STRING\IJInstFI.ini,RES\DLL\IJInstFI.dll
000C=French,RES\STRING\IJInstFR.ini,RES\DLL\IJInstFR.dll
000E=Hungarian,RES\STRING\IJInstHU.ini,RES\DLL\IJInstHU.dll
0010=Italian,RES\STRING\IJInstIT.ini,RES\DLL\IJInstIT.dll
0011=Japanese,RES\STRING\IJInstJP.ini,RES\DLL\IJInstJP.dll
0012=Korean,RES\STRING\IJInstKR.ini,RES\DLL\IJInstKR.dll
0013=Dutch,RES\STRING\IJInstNL.ini,RES\DLL\IJInstNL.dll
0014=Norwegian,RES\STRING\IJInstNO.ini,RES\DLL\IJInstNO.dll
0015=Polish,RES\STRING\IJInstPL.ini,RES\DLL\IJInstPL.dll
0016=Portuguese,RES\STRING\IJInstPT.ini,RES\DLL\IJInstPT.dll
0019=Russian,RES\STRING\IJInstRU.ini,RES\DLL\IJInstRU.dll
001D=Swedish,RES\STRING\IJInstSE.ini,RES\DLL\IJInstSE.dll
001E=Thai,RES\STRING\IJInstTH.ini,RES\DLL\IJInstTH.dll
001F=Turkish,RES\STRING\IJInstTR.ini,RES\DLL\IJInstTR.dll
0021=Indonesian,RES\STRING\IJInstID.ini,RES\DLL\IJInstID.dll
You get....
0000=<SELECT>
0001=<SELECT>
0804=<SELECT>
0404=<SELECT>
0005=<SELECT>
0006=<SELECT>
0007=<SELECT>
0008=<SELECT>
0009=English,RES\STRING\IJInstUS.ini,RES\DLL\IJInstUS.dll
000A=<SELECT>
000B=<SELECT>
000C=<SELECT>
000E=<SELECT>
0010=<SELECT>
0011=<SELECT>
0012=<SELECT>
0013=<SELECT>
0014=<SELECT>
0015=<SELECT>
0016=<SELECT>
0019=<SELECT>
001D=<SELECT>
001E=<SELECT>
001F=<SELECT>
0021=<SELECT>
.... in case English is the preferred language. (Update: And you are installing the driver from a Windows language version that matches any of the SELECT languages above.)
This is a way to force the installation program to prompt you to choose a language during the installation process.
By putting <SELECT>
in place of the language name and its DLL resource you are in fact telling the installation program what languages you don't want to see in the list when it prompts you to choose a language. So you are not SELECTING what you want to see, you are selecting what you don't want to see. What is left is what you would actually see in the list. In the example above it's English only. And since this is just one language it should be smart enough to not even prompt you to pick a language.
Note: If you are running the driver installation program from an English version of Windows, and English is the preferred language you want to install, then you don't have to do any of this, English will be selected automatically by the installation process.
But if you are like me and you are running the driver installation program from a Swedish version of Windows, or German version of Windows, or Czech version of Windows, or whatever the language version... then you need to put the <SELECT>
value in place of that language, the language you want to avoid installing for.
It's enough to only put the <SELECT>
value in place of the language you want to avoid. The effect is that the language will not show up in the list of languages when the install program prompts you to pick a language. But note that in order to get the prompt for language you need to put the <SELECT>
value in place of the language line that is in fact the language of the Windows you are running the install from.
Example You run the install program from Danish Windows. If you leave it as is...
0005=Czech,RES\STRING\IJInstCZ.ini,RES\DLL\IJInstCZ.dll
0006=Danish,RES\STRING\IJInstDK.ini,RES\DLL\IJInstDK.dll
0007=German,RES\STRING\IJInstDE.ini,RES\DLL\IJInstDE.dll
0008=Greek,RES\STRING\IJInstGR.ini,RES\DLL\IJInstGR.dll
0009=English,RES\STRING\IJInstUS.ini,RES\DLL\IJInstUS.dll
... it will install Danish language, because it detects that you are running Danish Windows.
So if you change to...
0005=Czech,RES\STRING\IJInstCZ.ini,RES\DLL\IJInstCZ.dll
0006=<SELECT>
0007=German,RES\STRING\IJInstDE.ini,RES\DLL\IJInstDE.dll
0008=Greek,RES\STRING\IJInstGR.ini,RES\DLL\IJInstGR.dll
0009=English,RES\STRING\IJInstUS.ini,RES\DLL\IJInstUS.dll
.... it will ask you if you want to install with Czech, German, Greek or English. So you see, no need to set <SELECT>
for all languages except for the one in which your Windows is in.
If you change to...
0005=Czech,RES\STRING\IJInstCZ.ini,RES\DLL\IJInstCZ.dll
0006=<SELECT>
0007=<SELECT>
0008=Greek,RES\STRING\IJInstGR.ini,RES\DLL\IJInstGR.dll
0009=<SELECT>
... it will ask you to install with either Czech or with Greek language. So you see, this way you remove German and English from the list of options.
Note 2:
Make sure there is a DLL file for the language you intend to install with, it should be located at ..\RES\STRING\
.
IP2770 is a model for the Asian market, so if you want to check this out you need to go to the Canon India download page (for instance) to get the driver.
Unfortunately this method is not possible with my IP4000. There is no driver even available for it to download for Windows Vista.
But is there really no NORMAL way of changing the language of the UI, you know... without having to hack the damn thing? I really hate stupid programs like this.
Besides, the driver for my printer comes with Windows Vista, so I don't even have to install any drivers. And little do I get the chance to set the language, knowing that the driver installation never happens. Vista automatically configures the driver for the printer as soon as I connect it and power it on.
Does anyone here know how to work around this fanatical limitation of the Canon Pixma driver?... anyone?...
move C:\Windows\twain_32\CNQ2413\SGRES_DE.DLL C:\Windows\twain_32\CNQ2413\SGRES_DE.DLL.old && copy C:\Windows\twain_32\CNQ2413\SGRES_US.DLL C:\Windows\twain_32\CNQ2413\SGRES_DE.DLL
. Just in case it helps someone.