Hide

SftPrintPreview/DLL 2.0 - Print Preview Control for C/C++

Display
Print

National Language Support

SftPrintPreview/DLL is provided with built-in support for US English only.

Using resource-only DLLs, the product can be translated into any language supported by Windows. These resource-only DLLs are not included, but can be easily created using the product's included sample Resource project. The dialogs and strings defined by these DLLs can be edited using Visual C++/Visual Studio .NET and translated. Translating the resources into a new language takes about 30 minutes.

When a SftPrintPreview/DLL control is created, it inspects the current user's default language selection (see Windows API GetUserDefaultLangID) and attempts to load resource-only DLLs in the following order:

SftPrintPreview20Resources_primary_sub.dll
SftPrintPreview20Resources_primary_01.dll
SftPrintPreview20Resources_
primary_00.dll

The most language specific DLL is loaded first. Whichever DLL is present and found first, will be used to locate all SftPrintPreview/DLL resources, that are language specific. If none of these resource-only DLLs can be found, the control's built-in US English resources are used instead.

primary and sub represent the primary language ID and sublanguage ID as defined by the Windows API GetUserDefaultLangID.

For example, if the user's current default language is LANG_GERMAN / SUBLANG_GERMAN_AUSTRIAN (see tables below), the following DLLs would be loaded in this order:

SftPrintPreview20Resources_07_03.dll
SftPrintPreview20Resources_07_01.dll
SftPrintPreview20Resources_07_00.dll

Building a Resource-Only DLL

Copy the entire Resources directory, part of the SftPrintPreview/DLL installation, to a location of your choice. This insures that the original sample project in unchanged.

Depending on your target location, you may need to update the Project Settings reflecting the new paths.

Using Visual C++ or Visual Studio .NET, modify all resources found in Resources.rc, translating these to your language of choice. Strings can be extended within reason (for example, if a string is 80 bytes in the provided default US English resource, it can be safely extended to 300 bytes).

Change the Project Settings to produce (link) the final DLL with the proper name, using the following naming conventions:

SftPrintPreview20Resources_primary_sub.dll

primary and sub represent the primary language ID and sublanguage ID as defined by the Windows API GetUserDefaultLangID (see tables below).

Once the DLL has been completed, simply copy it to your application directory. SftPrintPreview/DLL will now use these resources if the language settings for the current user match the DLL's primary and sublanguage ID.

Primary Language ID

00LANG_NEUTRALNeutral
01LANG_ARABICArabic
02LANG_BULGARIANBulgarian
03LANG_CATALANCatalan
04LANG_CHINESEChinese
05LANG_CZECHCzech
06LANG_DANISHDanish
07LANG_GERMANGerman
08LANG_GREEKGreek
09LANG_ENGLISHEnglish
0aLANG_SPANISHSpanish
0bLANG_FINNISHFinnish
0cLANG_FRENCHFrench
0dLANG_HEBREWHebrew
0eLANG_HUNGARIANHungarian
0fLANG_ICELANDICIcelandic
10LANG_ITALIANItalian
11LANG_JAPANESEJapanese
12LANG_KOREANKorean
13LANG_DUTCHDutch
14LANG_NORWEGIANNorwegian
15LANG_POLISHPolish
16LANG_PORTUGUESEPortuguese
18LANG_ROMANIANRomanian
19LANG_RUSSIANRussian
1aLANG_CROATIANCroatian
1aLANG_SERBIANSerbian
1bLANG_SLOVAKSlovak
1cLANG_ALBANIANAlbanian
1dLANG_SWEDISHSwedish
1eLANG_THAIThai
1fLANG_TURKISHTurkish
20LANG_URDUUrdu
21LANG_INDONESIANIndonesian
22LANG_UKRAINIANUkrainian
23LANG_BELARUSIANBelarusian
24LANG_SLOVENIANSlovenian
25LANG_ESTONIANEstonian
26LANG_LATVIANLatvian
27LANG_LITHUANIANLithuanian
29LANG_FARSIFarsi
2aLANG_VIETNAMESEVietnamese
2bLANG_ARMENIANArmenian
2cLANG_AZERIAzeri
2dLANG_BASQUEBasque
2fLANG_MACEDONIANFYRO Macedonian
36LANG_AFRIKAANSAfrikaans
37LANG_GEORGIANGeorgian
38LANG_FAEROESEFaeroese
39LANG_HINDIHindi
3eLANG_MALAYMalay
3fLANG_KAZAKKazak
40LANG_KYRGYZKyrgyz
41LANG_SWAHILISwahili
43LANG_UZBEKUzbek
44LANG_TATARTatar
45LANG_BENGALINot supported.
46LANG_PUNJABIPunjabi
47LANG_GUJARATIGujarati
48LANG_ORIYANot supported.
49LANG_TAMILTamil
4aLANG_TELUGUTelugu
4bLANG_KANNADAKannada
4cLANG_MALAYALAMNot supported.
4dLANG_ASSAMESENot supported.
4eLANG_MARATHIMarathi
4fLANG_SANSKRITSanskrit
50LANG_MONGOLIANMongolian
56LANG_GALICIANGalician
57LANG_KONKANIKonkani
58LANG_MANIPURINot supported.
59LANG_SINDHINot supported.
5aLANG_SYRIACSyriac
60LANG_KASHMIRINot supported.
61LANG_NEPALINot supported.
65LANG_DIVEHIDivehi
7fLANG_INVARIANT

Sublanguage ID

Sublanguage IDWindows Predefined Symbol
00SUBLANG_NEUTRALLanguage neutral
01SUBLANG_DEFAULTUser Default
02SUBLANG_SYS_DEFAULTSystem Default
01SUBLANG_ARABIC_SAUDI_ARABIAArabic (Saudi Arabia)
02SUBLANG_ARABIC_IRAQArabic (Iraq)
03SUBLANG_ARABIC_EGYPTArabic (Egypt)
04SUBLANG_ARABIC_LIBYAArabic (Libya)
05SUBLANG_ARABIC_ALGERIAArabic (Algeria)
06SUBLANG_ARABIC_MOROCCOArabic (Morocco)
07SUBLANG_ARABIC_TUNISIAArabic (Tunisia)
08SUBLANG_ARABIC_OMANArabic (Oman)
09SUBLANG_ARABIC_YEMENArabic (Yemen)
0aSUBLANG_ARABIC_SYRIAArabic (Syria)
0bSUBLANG_ARABIC_JORDANArabic (Jordan)
0cSUBLANG_ARABIC_LEBANONArabic (Lebanon)
0dSUBLANG_ARABIC_KUWAITArabic (Kuwait)
0eSUBLANG_ARABIC_UAEArabic (U.A.E.)
0fSUBLANG_ARABIC_BAHRAINArabic (Bahrain)
10SUBLANG_ARABIC_QATARArabic (Qatar)
01SUBLANG_AZERI_LATINAzeri (Latin)
02SUBLANG_AZERI_CYRILLICAzeri (Cyrillic)
01SUBLANG_CHINESE_TRADITIONALChinese (Traditional)
02SUBLANG_CHINESE_SIMPLIFIEDChinese (Simplified)
03SUBLANG_CHINESE_HONGKONGChinese (Hong Kong SAR, PRC)
04SUBLANG_CHINESE_SINGAPOREChinese (Singapore)
05SUBLANG_CHINESE_MACAUChinese (Macau SAR)
01SUBLANG_DUTCHDutch
02SUBLANG_DUTCH_BELGIANDutch (Belgian)
01SUBLANG_ENGLISH_USEnglish (US)
02SUBLANG_ENGLISH_UKEnglish (UK)
03SUBLANG_ENGLISH_AUSEnglish (Australian)
04SUBLANG_ENGLISH_CANEnglish (Canadian)
05SUBLANG_ENGLISH_NZEnglish (New Zealand)
06SUBLANG_ENGLISH_EIREEnglish (Ireland)
07SUBLANG_ENGLISH_SOUTH_AFRICAEnglish (South Africa)
08SUBLANG_ENGLISH_JAMAICAEnglish (Jamaica)
09SUBLANG_ENGLISH_CARIBBEANEnglish (Caribbean)
0aSUBLANG_ENGLISH_BELIZEEnglish (Belize)
0bSUBLANG_ENGLISH_TRINIDADEnglish (Trinidad)
0cSUBLANG_ENGLISH_ZIMBABWEEnglish (Zimbabwe)
0dSUBLANG_ENGLISH_PHILIPPINESEnglish (Philippines)
01SUBLANG_FRENCHFrench
02SUBLANG_FRENCH_BELGIANFrench (Belgian)
03SUBLANG_FRENCH_CANADIANFrench (Canadian)
04SUBLANG_FRENCH_SWISSFrench (Swiss)
05SUBLANG_FRENCH_LUXEMBOURGFrench (Luxembourg)
06SUBLANG_FRENCH_MONACOFrench (Monaco)
01SUBLANG_GERMANGerman
02SUBLANG_GERMAN_SWISSGerman (Swiss)
03SUBLANG_GERMAN_AUSTRIANGerman (Austrian)
04SUBLANG_GERMAN_LUXEMBOURGGerman (Luxembourg)
05SUBLANG_GERMAN_LIECHTENSTEINGerman (Liechtenstein)
01SUBLANG_ITALIANItalian
02SUBLANG_ITALIAN_SWISSItalian (Swiss)
01SUBLANG_KOREANKorean
01SUBLANG_LITHUANIANLithuanian
01SUBLANG_MALAY_MALAYSIAMalay (Malaysia)
02SUBLANG_MALAY_BRUNEI_DARUSSALAMMalay (Brunei Darassalam)
01SUBLANG_NORWEGIAN_BOKMALNorwegian (Bokmal)
02SUBLANG_NORWEGIAN_NYNORSKNorwegian (Nynorsk)
01SUBLANG_PORTUGUESE_BRAZILIANPortuguese (Brazil)
02SUBLANG_PORTUGUESEPortuguese (Portugal)
02SUBLANG_SERBIAN_LATINSerbian (Latin)
03SUBLANG_SERBIAN_CYRILLICSerbian (Cyrillic)
01SUBLANG_SPANISHSpanish (Castilian)
02SUBLANG_SPANISH_MEXICANSpanish (Mexican)
03SUBLANG_SPANISH_MODERNSpanish (Spain)
04SUBLANG_SPANISH_GUATEMALASpanish (Guatemala)
05SUBLANG_SPANISH_COSTA_RICASpanish (Costa Rica)
06SUBLANG_SPANISH_PANAMASpanish (Panama)
07SUBLANG_SPANISH_DOMINICAN_REPUBLICSpanish (Dominican Republic)
08SUBLANG_SPANISH_VENEZUELASpanish (Venezuela)
09SUBLANG_SPANISH_COLOMBIASpanish (Colombia)
0aSUBLANG_SPANISH_PERUSpanish (Peru)
0bSUBLANG_SPANISH_ARGENTINASpanish (Argentina)
0cSUBLANG_SPANISH_ECUADORSpanish (Ecuador)
0dSUBLANG_SPANISH_CHILESpanish (Chile)
0eSUBLANG_SPANISH_URUGUAYSpanish (Uruguay)
0fSUBLANG_SPANISH_PARAGUAYSpanish (Paraguay)
10SUBLANG_SPANISH_BOLIVIASpanish (Bolivia)
11SUBLANG_SPANISH_EL_SALVADORSpanish (El Salvador)
12SUBLANG_SPANISH_HONDURASSpanish (Honduras)
13SUBLANG_SPANISH_NICARAGUASpanish (Nicaragua)
14SUBLANG_SPANISH_PUERTO_RICOSpanish (Puerto Rico)
01SUBLANG_SWEDISHSwedish
02SUBLANG_SWEDISH_FINLANDSwedish (Finland)
01SUBLANG_URDU_PAKISTANUrdu (Pakistan)
02SUBLANG_URDU_INDIAUrdu (India)
01SUBLANG_UZBEK_LATINUzbek (Latin)
02SUBLANG_UZBEK_CYRILLICUzbek (Cyrillic)

Last Updated 08/13/2020 - (email)
© 2024 Softel vdm, Inc.