Difference between revisions of "OWASP Internationalization"

From OWASP
Jump to: navigation, search
(NEWS: added links for the OWASP Testing Guide V3 Chinese Translation.)
Line 253: Line 253:
 
|}
 
|}
  
[[Category:OWASP_Project]]
+
[[Category:OWASP_Project|Internationalization]]

Revision as of 13:31, 9 March 2010

Click here to return to OWASP Projects page.
Click here to see (& edit, if wanted) the template.

PROJECT IDENTIFICATION
Project Name OWASP Internationalization Project
Short Project Description The main goal of OWASP is to spread the word about security (“Our mission is to make application security "visible," so that people and organizations can make informed decisions about application security risks.”) and OWASP has done great work so far :). And now it’s time for a next big step. The number of native and secondary speakers in the world for Chinese, Spanish, French, Russian, Arabic and Indi languages are estimated in similar number to English speaking or even more (Some References at Ethnologue, Encarta, Wikipedia). I think is a good time for OWASP to reach those that do not speak English to have full access to all the OWASP materials, not just a couple of documents. OWASP, while open to translations, do not have clear guidelines on how to translate OWASP contents and (AFAIK) there is no multi-language support in OWASP.org site. This is understandable as there is no formal project for internationalization so far.
Email Contacts Project Leader
Juan Carlos Calderon
Project Contributors
Name&Email
Mailing List/Subscribe

Mailing List/Use

First Reviewer
Fabio Cerullo
Curriculum
Second Reviewer
Rodrigo Marcos
Curriculum
OWASP Board Member
X
PROJECT MAIN LINKS
  • (If appropriate, links to be added)
RELATED PROJECTS

OWASP Spanish Project

SPONSORS & GUIDELINES
Sponsor - OWASP Summer of Code 2008 Sponsored Project/Guidelines/Roadmap
ASSESSMENT AND REVIEW PROCESS
Review/Reviewer Author's Self Evaluation
(applicable for Alpha Quality & further)
First Reviewer
(applicable for Alpha Quality & further)
Second Reviewer
(applicable for Beta Quality & further)
OWASP Board Member
(applicable just for Release Quality)
50% Review Objectives & Deliveries reached?
Yes
---------
See&Edit:50% Review/Self-Evaluation (A)
Objectives & Deliveries reached?
Yes
---------
See&Edit: 50% Review/1st Reviewer (C)
Objectives & Deliveries reached?
Yes
---------
See&Edit: 50%Review/2nd Reviewer (E)
X
Final Review Objectives & Deliveries reached?
Yes
---------
Which status has been reached?
Season of Code - Beta Level
---------
See&Edit: Final Review/SelfEvaluation (B)
Objectives & Deliveries reached?
Yes
---------
Which status has been reached?
Season of Code - Beta Level
---------
See&Edit: Final Review/1st Reviewer (D)
Objectives & Deliveries reached?
Yes
---------
Which status has been reached?
Season of Code - Beta Level
---------
See&Edit: Final Review/2nd Reviewer (F)
X

Contents

Why this project?

The main goal of OWASP is to spread the word about security (“Our mission is to make application security "visible," so that people and organizations can make informed decisions about application security risks.”) and OWASP has done great work so far. The number of native and secondary speakers in the world for Chinese, Spanish, French, Russian, Arabic and Indi languages are estimated in similar number to English speaking or even more (Some References at Ethnologue, Encarta, Wikipedia). It is a good time for OWASP to reach those that do not speak English to have full access to all the OWASP materials, not just a couple of documents.

Objectives

This project is the pioneer of an effort to define basic guidelines for the localization of OWASP site and OWASP projects (both documentation and software). Also define a way to do a continuous effort to keep information across the different languages in synchrony.
The main objective is to provide a framework for new translation efforts, those effort will have 2 main objectives:

  1. Make OWASP information currently available, reach the people speaking of a specific language
  2. Allow non-English speaking people to contribute to OWASP and have internationalization projects transfer that knowledge to English and other languages. So as you can imagine the replication effect will have great benefits to the OWASP community and the world of application security.

I want to translate OWASP Materials to [Put your language here], Where should I start?

Good for you, we are always happy to have more people to spread the OWASP message. Our suggestion is:

  1. You Identify the project you like or can translate, you can go to page or contact Paulo Coimbra for a suggestion (he manages all the OWASP projects). Check #Active_Translation_Projects to see if there is an existing or ongoing translation to the materials you want to translate, ask the language project mailing list (OWASP-Spanish mailing list) or the material project leader (e.g OWASP Top 10 Leader, Dave Wickers)
  2. Check if there is an existent Language-specific project, that is look for a OWASP_Spanish project if you are willing to translate to Spanish, There might be existing guidelines to help you out do the translation smoothly.
  3. Choose you approach:
  4. That's it

Creating a Language Specific OWASP Project

If you have decided to start a formal project to host all the translations to your native/desired language, here is what you have to do.

  1. Follow the How to Start an OWASP Project page instructions, we suggest you call the project as the language not the country, e.g. OWASP-Spanish not OWASP-Spain, as languages use to spread across more than just one country.
  2. Create a new translation guidelines (for documents, pages and tools) based on the #General_Translation_Guidelines below. It should include all the knowledge needed to make a quality translation in your native languages. Make sure to provide the necessary resources to at least avoid common pitfalls like false cognates and similar.
  3. Link your language specific project to this project, add a reference in "Related Projects" section at top template of this page
  4. Ask OWASP Wiki Admin (Larry Casey in this case) to enable your language in the Wiki Site, in case is not available in the languages list.
  5. OWASP is open and and you are free to modify or add new content to OWASP Materials, however it is always recommendable to contact project leaders and let them know on your intentions before you start a translation effort, at least as a courtesy.
  6. Update this page. Please feel free to modify this page, or add new pages if required, for your specific language. But make the content generic to the language family of your language as the idea of this project is to be used as a framework to develop language specific information.

Remember Language projects could be more than just translating, the idea is that knowledge in your native language could also be brought to English speaking people, so think on the project as a link between both languages.

General Translation Guidelines

Usually a document translation involves several people in order to facilitate the translation it is necessary to provide general guidelines for the translation. First of all, we strongly support language neutrality, this is especially important when the language is spoken in many different countries or regions.

Translation guidelines should include the following information:

  • Glossaries for the target language,
  • Basic orthography rules
  • Basic grammar rules
  • English-Target Language dictionary.
  • Enumeration and examples of special cases, for example use of dashes, quotes, etc.
  • False cognates
  • Remind the translation must remain loyal to the original text, do not add content to the document (at least on this stage)+
  • Recommendation to avoid slang language
  • Policy for using automated tools
  • Rules to handle terms that cannot be translated.
  • Recommend to run Spell and Grammar check
  • Examples to the rules described
  • Include a peer review strategy
  • Supportive readings and links

+ Although the objective of the project is to enable people speaking foreign languages to learn from OWASP and enrich OWASP documentation. This process must be done in separated stages, initially it is desirable to have a loyal version of the official release.

We strongly suggest you ask for help of an experienced person to give the document a final look before it is published to OWASP site.

Organization

The first thing is to have a good communication and coordination strategy, we propose the following organization for a translation effort:

Roles

Although OWASP is an open project, minimum skills should be procured to ensure the translation has good quality and takes just the needed amount of time. Believe me, you won’t like to fix dozens of small mistakes for common computer world terms just because the translator is a totally outside the computer world with null knowledge on what is a hard disk :).

The proposed skills are:

  • Translator(s)
    • Basic computer related knowledge.
    • Good English skills
    • Fluent in foreign language
    • Working knowledge in application security skills
  • Editor(s)
    • Strong computer related knowledge
    • Strong English skills
    • Strong skills in foreign language, participation in translation project of other open source projects is a plus.
    • Strong knowledge in application security skills
  • Translation leader. Person in charge of coordinate the translation effort. There are no special requirements, just the ability to manage a team of people and deliver on proposed time.

Translating Documents

This is the first release of the section, expect changed during the following weeks as we are requesting feedback from people involved in previous translations of OWASP documents, if you know one of these people please ask them to contact me

Setup

Translation Project leader and/or translation leader should create set of basic guidelines for translation as defined in #General_Translation_Guidelines section If the translation is going to be on a MS Word document is highly recommended to create a document template with web established styles for headers, so consolidating the document is easier The translation leader will distribute the work and set up tentative due dates for the sections based on the translators workload.

While Translating

It is suggested that once the distributed sections are ready, they are sent to the distribution list and the editor is notified

Before Delivering

In parallel to translation or after everyone has finished, the editor (or the person designated by the editor) will do the following actions

  • Consolidate the whole document
  • Do spelling and grammar check
  • Ensure document "harmony". This is:
    • make sure the same terms are using across the document
    • topics sequence is natural.
    • Font type, size and style are the same for the same types of text.
  • Add the official cover page translated to the foreign language (OWASP logo, title and trademark information)
  • Add GNU license (all the OWASP work is done under this license so translation work should also be GNU)
  • Add OWASP internationalization project and the specific translation project explanation and references to let readers know where they go in case of interest in the translation project. Add this page after cover page.
  • Add translation credit for project leader, editor and translators just after the author name.
  • Convert the document to PDF format for portability, but also let the editable version available to the public.

Finally If there is a translation project, you can send the document to the project leader for its publication in the translation project and in the original project page.

Translating OWASP pages

To make more clear the process of creating a translated page, consider the following assumptions. Our example foreign language code is “es” for Spanish and the page we want to translate is called “TranslationTest”. (Actually this page is there for you to use it ans tes for translation support of the portal on your specific language). So let’s start

You should first classify the page to translate as a main page (project description page, project content page) or support page (roadmap, links, quotes, etc)

For Main Pages (project pages only)

  1. Add a new page called “PruebaTraduccion” (“Translation Test” in Spanish)
  2. At the beginning of the page add the TranslatedPageHeader template by adding {{TranslatedPageHeader}}
  3. At the end of the page add the TranslationInProgress template by adding {{TranslationInProgress}} in page code.
  4. Go to “TranslationTest” page and click on “View Source” tab.
  5. Copy the source code and start translating it locally. Then paste it in “PruebaTraduccion” page as you progress.
  6. If there is links to pages that are not translated, let the reader know by adding a “(In English only)” note after the link.
  7. Just before the end of the page, add a recognition section for the people that helped in the translation. Make sure to mention their role in the translation, their full name and Security certifications, refain to mention companies unless they are OWASP members or you have permission from OWASP Board to mention them.
  8. Once you are done remove the TranslationInProgress template in “PruebaTraduccion” page.
  9. Add a new sub-page for “TranslationTest” using your language code. This is, for Spanish, you should create a sub-page called “TranslationTest/es”.
  10. In “TranslationTest/es” page just enter the following redirect statement #REDIRECT [[PruebaTraduccion]]

For Support Pages

For support pages, you do not need to add a third page in the foreign language (like PruebaTraduccion in previous example). Rather, you add the translated content directly to the “TranslationTest/es” page. Adding the TranslatedPageHeader is also not necessary.

Translating Links

Similar to templates, links are enclosed in special characters, in this case square braces. There are 2 types of links, external links will look like this

[http://www.mediawiki.org/wiki/Help:Templates here]

And should be translated as Links like this

[http://www.mediawiki.org/wiki/Help:Templates aqui]

Internal links, or links that point to pages in the OWASP site will look like this

[[OWASP WebGoat Project Roadmap|Roadmap]] 

And should be translated to

[[OWASP WebGoat Project Roadmap|Plan de trabajo]] 

For links without the second part (the one after the pipe character) just add it, Avoid changing the content if this is case otherwise you will break the link or link to a non existent page.


Translating Templates

Templates are an special type of pages that can be included as part of regular pages contents, you can learn more about them here, you can identify it in wiki code as text enclosed in curly braces like the following:

{{OWASP Book|1416452}}

To access wiki code of the template above you have to go to http://www.owasp.org/index.php/Template:MainLink. Templates do not support "/es" for translations as regular pages, instead we need to use special tags to support multiple languages in the same page. So edit the template code and change it from:

[[{{{1}}}| Main<br>({{{1}}})]]

To

<IfLanguage Is="en">
[[{{{1}}}| Main<br>({{{1}}})]]
</IfLanguage>
<IfLanguage Is="es">
[[{{{1}}}| Principal<br>({{{1}}})]]
</IfLanguage>

The previous code displays the text in the first IfLanguage tag to people with browsers in English and the second to people with browsers in Spanish language.

That is it. Now visitors with browsers configured in your foreign language will be automatically redirected to the page in that language.

Tracking Changes in Pages

In order to track changes of pages for a translation project to keep translated pages up to date, you have to track changes doing the following:

  1. Login to OWASP Portal (register if you haven't, its free!)
  2. Go to the page you want to track and click on the "watch" tab. After that you will be able to see all the change to that page at the Watchlist special page.
  3. You can always go back to the Watchlist special page by clicking on Special Pages link at the left bottom of the site. and then click on the Watchlist special page.

There is a drawback, you will have to click the watch tab for every single page you want to track. This simple process will be enough to keep track of pages updates.

You can find more information on here:
http://www.mediawiki.org/wiki/Help:Tracking_changes
http://meta.wikimedia.org/wiki/Help:Contents#For_readers

Translating OWASP Software

Here you can find a series of basic guidelines document to help you make your OWASP tool project internationalizable.

The guidelines are available for:

Active Translation Projects

Future Plans

  • Have people that help us ot enhance the guidelines and develop recommendations for arabic, slavic(Russian, Polish), ideographic (Chinese), Hindi and Japaneese (among others).

News

26rd Jan 2010: OWASP Testing Guide v3 has been translated into Chinese (Download). Thanks to the China-mainland chapter.
23rd Jan 2010: OWASP Newsletter has been translated into Chinese by Helen Gao
24th Nov 2009: Weilin Zhong will translate ASVS and create the Chinese guidelines for future translations
5th May 2008: First Draft of General Translation Guidelines are published RC1 of general recommendations to start a translation of an OWASP document in a foreign language is released.
5th May 2008: Translating an OWASP document section is added Guidelines on how to do a document translation is released.
7th April 2008: The OWASP Internationalization project starts Juan Carlos Calderon starts the effort as part of the SoC 2008.

SoC 2008 Road map

This information is included just as reference

Objective Status (Expected) Competition Date Evidence
1. Team up with Larry Casey to implement Multi language support in OWASP.org Mediawiki. Done June 20, 2008 PaginaPrincipal
2. General Guidelines on minimum/recommended requirements to start a new language translation for OWASP Document and Site Pages. Done May 2nd, 2008 #General_Translation_Guidelines
3. General Guidelines on minimum/recommended requirements to implement internationalization and localization (i18n) on OWASP Software. Done Sep 4, 2008 OWASP Internationalization Java Software
4. Create a Communication strategy to help and keep track on new pages or changes in significant pages so all the translations are in sync. Done Sep 3, 2008 #Tracking_Changes_in_Pages