View source | Discuss this page | Page history | Printable version   
Toolbox
Main Page
Upload file
What links here
Recent changes
Help

PDF Books
Add page
Show collection (0 pages)
Collections help

Search

Localization Process/it

Contents

Introduzione

Le localizzazioni sono molto importanti per il progetto di Openbravo ERP e la nostra comunità sta facendo un grande sforzo nel crearle e mantenerle e dare suggerimenti per migliorare il prodotto Openbravo ERP per soddisfare le esigenze delle diverse nazioni in tutto il mondo.

Questo documento descrive il processo di localizzazione di Openbravo ERP. Si tratta di diversi strumenti per la collaborazione e per la gente ed è molto importante che lo seguiate con attenzione.

Processo Base di localizzazione

  1. Controllate nella pagina wiki Progetti di localizzazione correnti che non vi siano già alcuno progetto di localizzazione per il proprio paese o regione. Se c'è un progetto in corso, scrivete alla persona indicata come contatto e cercate di collaborare con lei. Se la persona non risponde alle vostre mail, inviate un messaggio message thread per quel progetto spiegando la situazione e chiedetee di guidare un nuovo progetto.
  2. If you are leading a new effort, you should follow these steps:
    1. Notify the localization coordinator at Openbravo of your effort sending an e-mail to Richard Morley <richard.morley AT openbravo.com>. Indicate also your schedule for your localization effort.
    2. A message thread for the localization effort should be created at the Localization forum.
    3. It is very important as a leader for an effort that you monitor the traffic for the message thread created for your effort. You can do so using the Monitor this forum option in the SourceForge forums. Note that the forums have been moved to Openbravo Forge.
    4. Send the details of your effort (indicating the address of the project forum to coordinate and your contact details) to Richard Morley <richard.morley AT openbravo.com>. He will register your effort in projects section of Current localization projects wiki page.
  3. The translations and chart of accounts are stored in the Openbravo Subversion Server. There is a page explaining how to use Subversion and you can also browse the translations and accounting directories. You should request an SVN account to Richard Morley <richard.morley AT openbravo.com> to be able to publish your work in our Subversion server. It is important to follow the repository structure in Subversion directories.
  4. Start the localization process.
    1. We request the localizers to upload their work to Subversion every two weeks in a pure open source approach, then people can follow your progress and give feedback to you.
    2. If you have any doubt or question, publish it in the forum created for your localization effort. Openbravo users and developers monitor that forum on a daily basis.
    3. If you think that your region has a functional or localization requirement that is not covered by Openbravo ERP, register it in our Localization Special Requirements page where we keep track of all of these.
  5. A translation is considered complete when all the user interface is translated. A chart of accounts should pass test1 and test2 to be published. We also strongly recommend to pass also test 3.
  6. Once your work is considered complete, a beta version can be published. Contact Richard Morley <richard.morley AT openbravo.com> to start this process. The process includes:
    1. Package the localization and make it available at Openbravo Forge where you can register a localization project.
    2. Prepare a note to announce it on the Openbravo Forge. See an example.
    3. Announce it in the localization forum.
  7. Keep the new versions of Openbravo up to date and repeat the process again.


Localizzazione Completa

  1. You should start by analyzing the most successful local solutions in your market. For example, for the US localization, a local solution such as Quickbook should be analyzed.
  2. Based on this analysis, you should define a list of localization gaps, which are features that need to be implemented in Openbravo in order to be competitive with that local solution. Please notice that you should focus on local capabilities only for this analysis and not on additional geography independent functionality; this is to a large degree a subjective assessment but it is important that your localization efforts do not get sidetracked by other potential functional gaps.
  3. Contact Openbravo localization team: collaborate AT openbravo.com
  4. Collaborate: join efforts from country community members.
    1. A message thread for the localization effort should be created at the Localization forum.
    2. It is very important as a leader for an effort that your monitor the traffic for the message thread created for your effort. You can do so using the Monitor this forum option in the SourceForge forums.
  5. Openbravo team will create a branch in our subversion repository for the project following the naming conventions and will give you the rights to develop there.
  6. Get a developer ID. Note: this is not needed starting with r2.50.
  7. Get rights to access the new branch (user and password)
  8. Write a functional and technical documentation for the project.
  9. Do continuous merges from trunk to your branch to keep updated and avoid future problems.
  10. Packaging:
    1. OB 2.40: Country OB version can be created from the branch.
    2. OB 2.50: A module for the specific country can be created from the branch.

Any particular development that makes sense to be included as part of the product core can be developed separately and contributed to the core. This means not taking care of that code any more. Openbravo team will help you doing the functional and technical specification but also will take care of that piece of code for future versions compatibility. See contributor guide.

Moduli di Localizzazione

The modularity features of Openbravo ERP 2.50 onwards enable localizers to create a discrete extension module which can be easily developed and shared with other users via the Openbravo central repository. It is strongly recommended that you use a module for any localization effort.

There are many different types of localization module. This document particularly explains how to create translations, charts of accounts and standard reference data modules, since these modules have a specific registration process.

You can also combine modules to create a localization pack.

In general, there are three stages to creating a module:

To learn how to work with modules, consult the video tutorials and the modularity developer's guide. Once you are confident with the concepts and techniques, use the guidelines that follow to specifically create localization modules.

Convenzioni per il naming dei package Java per la Localizzazione

In general all modules should follow the Java naming convention. If you are creating a localization module, there are additional conventions that you should observe. These conventions are based on your relationship with Openbravo S.L.U. If you are an internal Openbravo contributor or an official partner creating a proprietary module, you should use Openbravo as the company designation. If you are creating a module as an open source contribution, you should use the name of your own organization.

The following table contains a description of the best practices when naming modules.

Contributor type Domain Contributor Contribution type Content Locale Example
The creator of the content Top level domain of the creator, for example: com, org or edu Creator’s name Select from: module, accounts, translation Description of the content. If the contribution is a translation then identify the language using ISO639_1 ISO 3166 country code of the locale for which the contribution is intended
3rd party contributor com mycompany accounts small_company MX com.mycompany.accounts.small_company.MX
3rd party contributing under a specific code contribution agreement org openbravo translation es ES org.openbravo.translation.es_ES
Openbravo org openbravo module taxes ES org.openbravo.module.taxes.ES

Creare un modulo di traduzione

Important The section that follows is the recommended way to install a translation for Openbravo ERP 2.50 onwards. It's still also available the previous methodology as described in this instructions.

To create a translation module follow the guidelines in the developer's guide and tutorials, but using the specific configuration described in this document. The process for creating a translation module is as follows:

  1. Register the translation module with the central repository.
  2. Export the database
  3. Translate the xml files
  4. Package the module
  5. Upload the module to the Openbravo Forge

Registrare il modulo di traduzione

When you register the module, fill in the fields as follows:

When you click Register Module you will be asked to supply your username and password for the Openbravo Forge

Esportare il database

When you have registered the module, the next stage is to export the database to create the necessary module folders.

  1. Execute the command:
    ant export.database
    Exporting the database creates a new subfolder within the Modules folder. The new folder has the same name as the java package of the translation module, for example modules/org.openbravo.translation.es_ES.
  2. Within the Modules folder, manually create a subfolder called referencedata. You must use this exact name, note that it is all lower case and has no spaces.
  3. Within the referencedata folder, create another subfolder called translation.
  4. Within the 'translation folder create another folder for the translation, using the xx_YY language / country code naming convention. For example en_US for US English.
  5. Place the translated .xml files within the folder for its respective language.

Tradurre i files .xml

You can now translate the .xml files using your preferred editor. When you have finished translating, copy them into the translation subfolder you have already created.

Packaging del modulo come un file .obx

To package the module, execute the command ant package.module -Dmodule=modulename, where modulename is the Java package name of the module.

Pubblicare il modulo su Openbravo Forge

You are now ready to publish the module to the Openbravo forge

Creare un modulo del piano dei conti

The chart of accounts describes the accounting structure that Openbravo ERP uses. You can create a chart of accounts for a specific locale, for example to accomodate local accountancy practice or regulation. The chart of accounts consists of a .csv file that can be applied to a Client during the initial client setup process.

Before version 2.50, charts of accounts were downloaded from sourceforge and you can still use the Openbravo forge to upload and download charts of accounts. However, it is recommended that you create a module for charts of accounts and distribute it via the central repository because:

Creating a chart of accounts module comprises the following steps:

  1. Register the chart of accounts module with the central repository.
  2. Create the folder structure to hold the chart of accounts file.
  3. Create the chart of accounts file and save it in the folder structure.
  4. Package the chart of accounts module.
  5. Publish the module to the Openbravo forge.

Registrare un modulo del piano dei conti

When you register the module, fill in the fields as follows:

When you click Register Module you will be asked to supply your username and password for the Openbravo Forge.

Creare il file del piano dei conti

Once you have registered the module, create the chart of accounts, using whichever package you prefer to create the .csv file.

Esportare il database

When you the chart of accounts file is ready, the next stage is to export the database to create the necessary module folders.

  1. Execute the command:
    ant export.database
    Exporting the database creates a new subfolder within the Modules folder. The new folder has the same name as the java package of the translation module, for example modules/org.openbravo.referencedata.coa.ES_es.
  2. Within the Modules folder, manually create a subfolder called referencedata. You must use this exact name, note that it is all lower case and has no spaces.
  3. Within the referencedata folder, create another subfolder called accounts.
  4. Place the chart of accounts .csv file within the accounts folder.

Packaging the module as an .obx file

To package the module, execute the command ant package.module -Dmodule=modulename, where modulename is the Java package name of the module.

Publishing the module to the Openbravo Forge

You are now ready to publish the module to the Openbravo forge

Creating a standard reference data module

Standard reference data is data from Openbravo ERP's application tables, for example taxes and alerts. If you have set up Openbravo ERP in a particular way to meet local requirements, you can export this data and convert it to a module, so that you can share it with other users via the central repository.

The process for creating a standard reference data module is:

  1. Define and register the module in Openbravo ERP.
  2. Define and export the tables you require as a dataset.
  3. Package the module as an .obx file
  4. Create a project in the Openbravo Forge.
  5. Publish the module to the Openbravo Forge.

Registering a standard reference data module

Defining and exporting the dataset

  1. Log into Openbravo ERP
  2. From the Application menu, select Application Dictionary > Dataset
  3. Click New.
  4. From the Module list, select the module that will include the standard reference data.
  5. Specify a search key, name and description.
  6. From the Data Access Level list, select the Data access level from the following options:
    • System only
    • System/client
    • Client/organization
    • Organization
  7. Select the Export allowed option.
  8. Select the Table Tab
  9. From the Table list, select the table whose content you want to include in the module.
  10. In the SQL where clause field, specify the SQL "WHERE" statement that will identify the set of rows to be exported, in DAL notation. For example, client.id='1000001'
  11. To export all columns, select the Include All Columns option. To include only the columns you specify, select the Columns tab and create a new record for each column you want to export.
  12. To include the security audit columns (created, createdby, updated and updatedby) in the export, clear the Exclude Audit Info checkbox.
  13. Clear the Is Business Object option.
  14. Click Save
  15. Click the Export Reference Data button to export the reference data to an .xml file that you can include in the module.

Exporting the database

The next stage is to export the database to create the necessary module folders.

  1. Execute the command:
    ant export.database
    Exporting the database creates a new subfolder within the Modules folder. The new folder has the same name as the java package of the translation module, for example modules/org.openbravo.referencedata.coa.ES_es.

Packaging the module as an .obx file

To package the module, execute the command ant package.module -Dmodule=modulename, where modulename is the Java package name of the module.

Publishing the module to the Openbravo Forge

You are now ready to publish the module to the Openbravo forge

Publishing the module to the Openbravo forge

Once you have created the .obx file, you can make it available to the community via the openbravo forge:

  1. In a web browser, navigate to the Openbravo forge
  2. In the Toolbox area, click Register Project.
  3. Complete the details of your module.
  4. Click Next.
  5. On the Services page, select the services you want to be avaiable for your project, for example a discussion forum.
  6. Click Finish.
  7. In the Toolbox area, select My Profile.
  8. In the My Modules area you will see that the module you registered in Openbravo ERP is listed. Click the module.
  9. To associate the module with the project you have created, select the project from the list.
  10. Click Associate Project. The Publish Version page appears.
  11. Click Browse. Navigate to the location of your module's .obx file.
  12. Click Publish OBX File.

Combining localization modules into packs

Creating localization packs offers a convenient way for users to implement localization modules. Packs are a particular type of module which consist of other modules, and creating a pack has a specific registration process. Once you have created the localization modules you require, follow these steps to combine them as a pack.

  1. Log into Openbravo with the system administrator role.
  2. From the Application menu, select Application Dictionary > Module.
  3. Click New. A new module record appears.
  4. In the Name field, give the package a name using the correct naming conventions.
  5. From the Module Type list, select Package.
  6. Complete the Description and Help fields using natural language and supplying as much information about the package as possible.
  7. Complete the rest of the module information as appropriate.
  8. Click Save
  9. Select the Include tab.
  10. Click New.
  11. From the Included module list, select the module you want to add to the pack.
  12. Click Save.
  13. Repeat steps 10-12 to include further modules in the pack.
  14. Package the module using the command ant command: ant package.module -Dmodule. The parameter of the commmand is the java package name of the translation module. For example if the localization pack is called org.openbravo.package.czechlocalizationpack.CZ_cs,
    the full ant command would be:
    ant package.module -Dmodule=org.openbravo.package.czechlocalizationpack.CZ_cs

Once you have created the pack, you can publish it to the Openbravo Forge in the normal way.

Branching policy

New branches are created for particular developments when needed for a localization and also when contributing code to the core. Openbravo ERP follows particular naming conventions to easily identify the purpose of those branches:

A localization branch can easily be updated from trunk doing a merge. We encourage localizers to do continuous merges from trunk to their branches so that changes can be easily applied.

Localization branch:
View larger

When our model has both localization and core contribution, two branches are created as follows:

Mixed model branch:
View larger

This way core contributions can easily merged back to the trunk once it has been tested but also can be easily merged to localization branch.


If you have any doubts or questions please do not hesitate to ask them in our localization forum or real-time in our IRC Channel.

Retrieved from "http://wiki.openbravo.com/wiki/Localization_Process/it"

This page has been accessed 4,150 times. This page was last modified on 4 September 2010, at 20:21. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.