Changes

Jump to: navigation, search

Automated localization build tool

6,349 bytes added, 20:07, 18 April 2008
no edit summary
* '''THE BUG''' - [https://bugzilla.mozilla.org/show_bug.cgi?id=403215 Bug 403215 – Python script that will help create from a translated locale a regional build]
* <strike>'''THE BUG''' - [https://bugzilla.mozilla.org/show_bug.cgi?id=399014 Bug 399014 – we need an l10n-merge tool]</strike>
 
== How to Add to Tool & Pick It Up as a Project ==
For those wondering how they can pick this project up and run with it, please read the following tips:
<br />
The code is broken into three main components
*'''callback()''' is where you would add your new functionality and subsequently update the "instring" variable before closing the localization file. This method is the most important part of the program and is essentially the core from which all localization logic is derived from. I added much in-code documentation to guide newcomers along the way.
*'''translate()''' is where you tell the program what files to look for and subsequently what action Parser.py (the class supplied by Axel) should take, such as use a DTD Parser or use a Properties parser and so on...
*'''process()''' contains the file iteration logic whereby the program scans every file in every directory. There is potential for optomization here and Dynamis (Tomoya Asai, a Mozilla employee from Japan) can definately help steer you in the right direction as this method was inspired from reading the logic in Dynamis' l10n-merge script.
*'''main()''' is where you would alter the program's main interface, adding UI code in here is a sure possibility.
*'''The #l10n IRC Channel on Moznet''' has a wealth of people who are knowledgable in this area and can provide much information if asked
*'''Regular Expressions''' are you friend. Do what I did, go print out every copy of Regular Expression theory in Pyhon as you can, cause you will need it
*'''Mozilla MXR''' is your gateway to finding out where you will be looking to localize specific functionality or visual items
== Project Plan & Description ==
|-
| '''Release'''
| '''Download Release'''
| '''Features/Points Addressed'''
|-
| 0.4
|[http://zenit.senecac.on.ca/wiki/imgs/L10nFork0.4.zip Download]| - <strike>All regular expressions, and related functions removed and replaced in existing code. Optimize existing code (the current directory “walk” methods can be re-factored). Add new command line options. For example, an option to generate a localization template (won't be fully functional yet, completed at future release). Another option would be to have verbose mode on/off for the tool so localizers can see what files are being localized in real-time.</strike> '''(DONE)'''
|-
| 0.5
|[http://zenit.senecac.on.ca/wiki/imgs/L10nFork0.5.zip Download]| - <strike>Complete fixing outstanding bugs. </strike> '''(DONE)''' <strike> Help command (will display all command line arguments and switches that can be used with tool). </strike> '''(DONE IN 0.4)'''. <strike>Validation code.</strike> '''(DONE)''' <strike>Generate a template as well as settle on a specific file format (dtd, properties, or XML).</strike> '''(DONE)'''
|-
| 0.6
|[http://zenit.senecac.on.ca/wiki/imgs/L10nFork0.6.zip Download]| - Add feature that will allow to modify <strike>Complete localization template functionality. Will provide “localizers” with a hassle free way of altering strings/dates/currency/default search engines /default RSS, to target locale.</strike>'''(DONE)'''
|-
| 0.7.2| - Complete localization template generator[http://zenit.senecac.on. Will provide “localizers” with a hassle free way of altering stringsca/dateswiki/currencyimgs/L10nFork0.7.2.zip Download]| - <strike>Add feature that will allow to modify default search engines/default RSS, to target locale.</strike>'''(DONE)'''. <strike>Test on full source tree - worked, ScreenShots here </strike>'''(DONE)'''
|-
| 0.8.1|[http://zenit.senecac.on.ca/wiki/imgs/L10nFork0.8.1.zip Download]| - <strike>Add feature that allows to change default dictionary </strike> '''(honestly, have to research this one more cause I do not fully understand it yetDONE)'''.
|-
| 0.9
|[http://zenit.senecac.on.ca/wiki/imgs/L10nFork0.9.zip Download]| - Add feature that allows localizers to modify <strike>Seperate browser Strings & Labels localization template from browser Search Defaults localization template</strike>'''(DONE)''' <strike>Fixed a bug (if the default RSS feedsfirst char in KEY was different from first char in VALUE, localization changes would not take place)</strike>'''(DONE)''' <strike>Improved code's readability</strike>'''(DONE)'''
|-
| 1.0
|[http://zenit.senecac.on.ca/wiki/imgs/L10nFork1.0.zip Download]| - Merge tool with Axel's files<strike>Find way to potentially optomize localization process. Fix any outstanding bugsAlso, add functionality so localization file for search engines is auto generated. Get feedback Added documentation on this wiki on how students or community can pick up this project and update tool accordinglycontinue it.</strike>'''(DONE)'''
|-
|}
== Releases ==
=== Release notes ===
*1.0 Release'''(DONE)'''** <strike>Find way to potentially optomize localization process. Also, add functionality so localization file for search engines is auto generated</strike>*<strike> 0.9 Release** Seperate browser Strings & Labels localization template from browser Search Defaults localization template** Fixed a bug (if the first char in KEY was different from first char in VALUE, localization changes would not take place)** Improved code's readability</strike>*<strike> 0.8 Release** Add feature that allows to change default dictionary </strike>*<strike>0.7 Release** Add feature that will allow to modify default search engines to target locale.** Test on full source tree - worked, ScreenShots here. </strike>*<strike>0.6 Release** Complete localization template functionality. Will provide “localizers” with a hassle free way of altering strings/dates/currency/default search engines/default RSS, to target locale.</strike>*<strike>0.5 Release** Complete fixing outstanding bugs** Validation code** If time permits, get the template generator functional. ''(That way its one less thing todo for 0.7 release)'' </strike>*<strike>0.4 release
** Remove regex code and supporting methods
** Optimize existing methods such as the directory walk method. (Small thing but necessary nonetheless)
** Add new command line options such as an option to generate localization template and an option to turn on tool's verbose mode</strike>*<strike>0.3 release</strike>
** <strike>Use of command line arguments rather than receiving user's input</strike>
** <strike>Fix the key changing problem</strike>
** <strike>Stop using .bak file (and make the changes permanent)</strike>
** <strike>Generate a second l10n tree out of original with the changes</strike>
*<strike>0.2 release</strike>
** <strike>Given any directory as a starting point, should walk through all sub-directories and files and make changes based on translation rules</strike>
** <strike>Add ability to update Properties files</strike>
** <strike>Allow user to enter localization folder (eg; en-GB) as input</strike>
* <strike>0.1 release</strike>
** <strike>Should be able to accept a localization</strike>
** <strike>Should be able to accept an l10n tree(eg; en-GB or en-US)</strike>
== Project news ==
There are some common news from the collaborators that should be written here rather than splitting it between the collaborators:
* Apr. 18, 2008 - Release 1.0 is now available, localizing process is now optomized to be completed faster. New functionality also added, ability to automatically generate a localization template for the default search engines with predefined keys
* Apr. 6, 2008 - Release 0.9 - Big change to the way localizer enters their changes. They must now enter String/Label localization changes in the "locale_template.properties" file and enter Search Default changes in the "locale_template_searches.properties" file. This seperation increases readability and avoids confusion when entering many localization values. Also fixed a critical bug found related to the first char of KEY being different than the first char of VALUE in properties files.
* Mar. 23, 2008 - Release 0.8 - tool will now alter values in Firefox's default dictionary (this means even the spellchecker in Firefox will localize accordingly)
* Mar. 9, 2008 - Updated 0.7 to 0.7.2 after running tests on a full source tree. Screenshots available here.
* Feb. 29, 2008 - Release 0.7 is done. I added the ability to change the locale of the default search engines - located in '''/browser/locales/en-US/searchplugins/'''.
* Feb. 20, 2008 - Release 0.6 is completed. The tool is now able to make changes dynamically based on the Key/Value pairs located in the Localization Template .properties file. This file must be located in the same directory as the tool itself for the tool to be able to output a new localized source tree.
* Jan. 29, 2008 - Updated [https://bugzilla.mozilla.org/show_bug.cgi?id=403215 Bug 403215] with information regarding latest release as well as plans for future releases. Updated release features for 0.5 and 0.7.
* Jan. 20, 2008 - Release 0.4 is completed. Program has now been turned into a ''real'' command line tool. Added several command line options. Can view them all by running '''"l10nFork.py -help"'''. Fixed a MAJOR bug left over from 0.3.2, the localized changes were not taking place, bug was found in the callback() function. Removed/Commented-out all Regex, left one since need it for testing purposes right now. By 0.7 Release, 100% of regex in callback() function will be removed.
* Jan. 10, 2008 - Project's roadmap from '''0.3''' release to a '''1.0''' release posted. New releases will be available on a bi-weekly basis. Outline of new features for each new release available in the [http://zenit.senecac.on.ca/wiki/index.php/Automated_localization_build_tool#Project_Plan_.26_Description Project Plan & Description section]. Many general Wiki page updates. The tool is now called the Automated Localization Fork tool, or l10n Auto Fork for short.
* Nov. 11, 2007 - Updated the contributions page.
1
edit

Navigation menu