Version 23 (modified by aramacciotti, 5 years ago) (diff)

--

Localizing Eraser

Requirements

Localizing Eraser v6 require to be able to build its .NET solution. Then requirements are the same of building it. You can check them on CompilingEraser (Get the necessary dependencies)


What needs to be localized

Source files that require to be localized are:

  • Strings.xx.resx: there's one for most projects
  • <PageName>.xx.resx: there's one foreach form and custom controls
  • ShellExt.rc: there's only one in ShellExt Shell Extension C++ project

xx is the acronym of the target localization language.


How localize Strings

You'll find Strings.xx.resx files in the following projects:

  • Eraser
  • Eraser.DefaultPlugins
  • Eraser.Manager

Localizing these files it's really simple:

  • open file in VisualStudio.NET (with simple double clickover the file)
  • A form (see picture below) is showed with 3 (three) columns in the following order (column names are provided in english as a reference):
    1. Name: source language string
    2. Value: target language string (initially set to "(Untranslated)")
    3. Comment: a comment string
  • change the value in the second column with the translated string

Screen shot of Strings files localization




Localization of forms

How localize Forms and Custom Controls


Each form has a number of controls that shows text and then that can be localized.

Localization process is basically constituted by:

  1. Choosing form language property as the target localization language (as in the picture on the right)
  2. Choose, by a single click, the form object that required to be localized (it can be a Label, by example)
  3. Select Text property of the object
  4. Change the value of the property Text
  5. Repeat from 2 to 4 for each control require licalization

Below follows details for each form actually included in the project.












Project Eraser

BasePanel

On this panel it has to be localized only the titleLabel label.

LightGroup

On this panel it has to be localized only the label label.

LogForm

On this form it has to be localized:

  • Text property of the Form itself (form title)
  • filterSessionLabel label Text property
  • filterSeverityLabel label Text property
  • columns header of the central panel (log listView). To do that you'll have to right-click over it and choose "Edit Columns". You'll see the columns names (logTimestampColumn, logSeverityColumn and logMessageColumn) on the left side of a form and selecting each one you'll be able to change the Text property
  • clear button Text property
  • close button Text property

MainForm

On this form it has to be localized:

  • In ToolBar (right-click over tham menù control), change Text property for these menù items:
    • tbSchedule
    • tbScheduleDropDown
    • tbSettings
    • tbHelp
    • tbHelpDropDown
  • In tbScheduleMenu (right-click over tham menù control), change Text property for these menù items:
    • newTaskToolStripMenuItem
    • exportTaskListToolStripMenuItem
    • importTaskListToolStripMenuItem
  • In thHelpMenu (right click over that menù control), change Text property for these menù items:
    • checkForUpdatesToolStripMenuItem1
    • aboutEraserToolStripMenuItem
  • In notificationMenu (right-click over tham menù control), change Text property for these menù items:
    • openEraserToolStripMenuItem
    • hideWehnMinimizedToolStripMenuItem
    • exitToolStripMenuItem

ProgressForm

On this form it has to be localized:

  • Text property of the Form itself (form title)
  • titleLabel label Text property
  • overallProgressLbl label Text property
  • statusLbl label Text property
  • itemLbl label Text property
  • passLbl label Text property
  • timeLeftLbl label Text property
  • hide button Text property
  • stop button Text property

SchedulerPanel

On this panel it has to be localized:

  • titleLabel label Text property
  • columns header of the central panel (scheduler listView). To do that you'll have to right-click over it and choose "Edit Columns". You'll see the columns names (schedulerColName, schedulerColNextRun and schedulerColStatus) on the left side of a form and selecting each one you'll be able to change the Text property
  • In schedulerMenu (right-click over that menù control), change Text property for these menù items:
    • runNowToolStripMenuItem
    • cancelTaskToolStripMenuItem
    • viewTaskLogToolStripMenuItem
    • editTaskToolStripMenuItem
    • deleteTaskToolStripMenuItem
  • In schedulerDefaultMenu (right click over that menù control), change Text property for these menù item:
    • newTaskToolStripMenuItem

SettingsPanel

On this form it has to be localized:

  • Text property of the Form itself (form title)
  • titleLabel label Text property
  • saveSetting button Text property
  • ui group Label property
  • uiLanguageLbl label Text property
  • uiContextMenu checkBox Text property
  • erase group Label property
  • eraseFilesMethodLbl label Text property
  • eraseUnusedMethodLbl label Text property
  • erasePRNGLbl label Text property
  • lockedForceUnlock checkBox Text property
  • plausibleDeniability checkBox Text property
  • plausibleDeniabilityFilesAddFile button Text property
  • plausibleDeniabilityFilesAddFolder button Text property
  • plausibleDeniabilityFilesRemove button Text property
  • scheduler group Label property
  • schedulerClearCompleted checkBox Text property
  • schedulerMissed label Text property
  • schedulerMissedImmediate radioButton Text property
  • schedulerMissedIgnore radioButton Text property
  • plugins group Label property
  • columns header of the central panel (pluginsManager listView). To do that you'll have to right-click over it and choose "Edit Columns". You'll see the columns names (pluginsManagerColName, pluginsManagerColAuthor, pluginsManagerColVersion and pluginsManagerColPath) on the left side of a form and selecting each one you'll be able to change the Text property
  • In pluginsMenu (right-click over that menù control), change Text property for these menù items:
    • settingsToolStripMenuItem

TaskDataSelectionForm

On this form it has to be localized:

  • Text property of the Form itself (form title)
  • methodLbl label Text property
  • file radioButton Text property
  • fileBrowse button Text property
  • folder radioButton Text property
  • folderBrowse button Text property
  • folderIncludeLbl label Text property
  • folderExcludeLbl label Text property
  • folderDelete checkBox Text property
  • unused radioButton Text property
  • unusedClusterTips checkBox Text property
  • recycleBin radioButton Text property
  • ok button Text property
  • cancel button Text property

TaskPropertiesForm

On this form it has to be localized:

  • Text property of the Form itself (form title)
  • for the container tabControl you will have to localize two TabPages (click on TabPages collection property):
    • containerTask tabPage Text property
    • containerSchedule tabPage Text property
  • in the containerTask tabPage (click on that tabPage label)
    • nameLbl label Text property
    • typeLbl label Text property
    • typeManual radioButton Text property
    • typeImmediate radioButton Text property
    • typeRestart radioButton Text property
    • typeRecurring radioButton Text property
    • eraseLbl label Text property
    • columns header of the central panel (data listView). To do that you'll have to right-click over it and choose "Edit Columns". You'll see the columns names (dataColData and dataColMethod) on the left side of a form and selecting each one you'll be able to change the Text property
    • dataAdd button Text property
  • in the containerSchedule tabPage (click on that tabPage label)
    • nonRecurringLbl label Text property
    • scheduleTimeLbl label Text property
    • schedulePattern groupBox Text property
    • scheduleDaily radioButton Text property
    • scheduleDailyByDay radioButton Text property
    • scheduleDailyByDayLbl label Text property
    • scheduleDailyByWeekday radioButton Text property
    • scheduleWeekly radioButton Text property
    • scheduleWeeklyLbl label Text property
    • scheduleWeeklyFreqLbl label Text property
    • scheduleWeeklyMonday checkBox Text property
    • scheduleWeeklyTuesday checkBox Text property
    • scheduleWeeklyWendsday checkBox Text property
    • scheduleWeeklyThursday checkBox Text property
    • scheduleWeeklyFriday checkBox Text property
    • scheduleWeeklySaturday checkBox Text property
    • scheduleWeeklySunday checkBox Text property
    • scheduleMonthly radioButton Text property
    • scheduleMonthlyLbl label Text property
    • scheduleMonthlyEveryLbl label Text property
    • scheduleMonthlyMonthLbl label Text property
  • ok button Text property
  • cancel button Text property

UpdateForm

  • Text property of the Form itself (form title)
  • updatesLbl label Text property
    • columns header of the central panel (updatesLv listView). To do that you'll have to right-click over it and choose "Edit Columns". You'll see the columns names (updatesLvNameCol, updatesLvVersionCol, updatesLvPublisherCol and updatesLvFilesizeCol) on the left side of a form and selecting each one you'll be able to change the Text property
  • updatesMirrorLbl label Text property
  • updatesBtn button Text property

Project Eraser.!DefaultPlugins

CustomMethodEditorForm
CustomMethodPassEditor
SettingsForm



Shell Extension localizing

How localize Shell Extension

In the ShellExt project (a C++.NET project), expand the Resource Files subfolders and double-click over ShellExt.rc file. You'll get the Resource View panel. Expand the ShellExt resource until view the String Table list. Right click over the English version and select Intert Copy... as showed in the picture on the right. Double-click on the new String Table and you'll get the list of strings you'll have to localize under the Caption table header.


Attachments