It is currently Thu Sep 28, 2023 10:53 pm

All times are UTC - 8 hours [ DST ]

Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Localizing Classic Shell
PostPosted: Sat Oct 05, 2013 8:23 am 
Site Admin
User avatar

Joined: Wed Jan 02, 2013 11:38 pm
Posts: 5333
Are you interested in translating Classic Shell?

To download translations, go here: You can also directly download the translation by opening Classic Shell Settings -> Language tab -> Check for Updates.

Older versions of Classic Shell were translated into many languages but if your language does not appear on this page, then it means the translation volunteers did not update it for the latest version. You can find out which version of Classic Shell is localized into your language HERE: ... anslations. For example, Classic Shell 4.0.0 was translated only in 9 languages, but Classic Shell 4.2.1 is available in 18 languages. You can take the last available DLL and continue translating the remaining strings by downloading the latest file attached below. Or you can do the entire translation on your own for the latest available release.

Here are few things you should know before you translate Classic Shell.

Localization improvements

Classic Shell 4.0 introduces many improvements aimed at the localization experience:
  • The Language tab in the settings has country flags for each language and can download/install new DLLs directly from there
  • The auto-updater will offer to download updates for the current language if one is available
  • Support for new languages can be added as needed. We are not limited to the original list of 36 languages
  • Multiple DLLs for the same Classic Shell version can be released over time to fix typos and other errors
  • On the flip side the same DLL can be reused by multiple versions of Classic Shell, if there are no significant changes
  • The settings in the skins are localized (and their tooltips)
  • The names of the menu commands are localized
  • The Settings dialog has a place to put the name of the translator

Multiple levels of localization support

Depending on the effort you want to put in, there are 3 levels of localization you can implement.

Level 1. At this level only the main text inside Classic Shell is translated. This includes text seen in the start menu or in Explorer, tooltips, the Copy dialog box, etc. The installation of Classic Shell contains the level 1 translations for the main 36 languages available from Windows Update. It is possible to provide a DLL that contains the level 1 translations for other languages as well. To do so you need to translate the text in the 3 L10N text files. That’s about 200 lines of text.

Level 2. At this level all settings are translated. This includes all strings and dialog resources. This level of localization is always done with an additional DLL. It includes about 1000 lines of text and 12 dialog boxes.

Level 3. At this level everything is translated – the installer, the documentation, etc. It is a lot more work than Level 2, but you get a more polished user experience.

The localization process

First, you have to decide what level of localization you are willing to develop.

If your language is not one of the 36 main languages, you should start with level 1. Look at the 3 L10N.ini files in the Classic Shell folder. They list the required text lines for each language. Translate them all in your language and send them to me as text (preferably a Unicode text file).

If you want to do a level 2 localization, first download the file attached to this post. Then you have two options:
1) You can start from the en-US.dll file, rename it to your language, and translate the contents. This will give you a way to immediately test your work and you can iterate faster
2) You can edit the en-US.csv file in Excel and fill the Translation column. When you are done send the file to me. I will create a DLL out of that Excel file
Read the included file Localization.rtf for more details.

For level 3 localization you need to translate the CHM file and the installer text. Look at Localization.rtf for more details.

If you are interested in localizing Classic Shell in your language, please create a separate thread in this forum for each language. I hope multiple people can collaborate on the same language using this forum. If you wish you can post messages in your native language, but don’t expect me to read them :) . If you need help or if you are finished with the work, post a message in English or PM me.

Gotchas and tips

Some resource editors do not properly preserve the “infotip” setting for tree controls. This leads to dialog boxes that have the tooltips disabled, so the users can’t see the help text for each setting (and those are about half of the text lines in your DLL!). So after you create a DLL make sure the tooltips are working.

Since the names for the menu items have been localized, some existing messages will need to change. This includes text lines from 3313 to 3327 and 3408. They used to refer to the English command name and now refer to the translated command name.

The control in dialog 4003 was changed from a list box to a list view. This is required to show the country flags. Make sure you change it if you are updating an old language file.

You can put your name on the Settings dialog by replacing the text at the bottom of dialog 4000. The text control is hidden by default. You will need to make it visible (set the Visible property to TRUE). You can include a http: link to your website or mailto: link to your email. If there is not enough room for the text you want to place, you can resize the control to take two lines or move the link up and put your link below it.

In this new version I have decided to apply more consistent capitalization for the text. The rules I have followed are: In titles of dialog boxes or settings tabs every word is capitalized (like All Programs Skin). In settings names and labels only the first word is capitalized (like Menu delay), unless the word is a name (Check for Windows updates) or refers to some term (Show Shutdown during remote sessions). Keep in mind that older text (from previous versions of Classic Shell) has also been modified to comply with those rules. Of course it is up to you to decide how to capitalize the translated text, just try to keep it consistent.

Update 10/20/2013
The new version of the attached file contains the updated language files and contains the source HTML files for the help. If you wish to translate the help you can update the HTML files and send them to me. Read the included Localization.rtf file for more details.

Update 4/20/2014
The new version of the attached file contains the updated language files and contains the source files for the group policies. Read the included Localization.rtf file for more details.

Update 4/11/2015
Updated the attached file for version 4.2.1

Update 8/10/2015
Updated the attached file for version 4.2.4

Update 8/28/2016
Updated the attached file for version 4.3.0

File comment: Version 4.3.0 [3.38 MiB]
Downloaded 3162 times
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 8 hours [ DST ]

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group, Almsamim WYSIWYG Classic Shell © 2010-2016, Ivo Beltchev.
All right reserved.