Localization Process/it
Languages: |
English | Italiano | 日本語 | zh cn | Translate this article... |
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
- 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.
- If you are leading a new effort, you should follow these steps:
- 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.
- A message thread for the localization effort should be created at the Localization forum.
- 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.
- 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.
- 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.
- Start the localization process.
- 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.
- 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.
- 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.
- 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.
- 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:
- Package the localization and make it available at Openbravo Forge where you can register a localization project.
- Prepare a note to announce it on the Openbravo Forge. See an example.
- Announce it in the localization forum.
- Keep the new versions of Openbravo up to date and repeat the process again.
Localizzazione Completa
- 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.
- 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.
- Contact Openbravo localization team: collaborate AT openbravo.com
- Collaborate: join efforts from country community members.
- A message thread for the localization effort should be created at the Localization forum.
- 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.
- 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.
- Get a developer ID. Note: this is not needed starting with r2.50.
- Get rights to access the new branch (user and password)
- Write a functional and technical documentation for the project.
- Do continuous merges from trunk to your branch to keep updated and avoid future problems.
- Packaging:
- OB 2.40: Country OB version can be created from the branch.
- 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.
- Translations: Translation modules cannot include any content apart from the translation. For example you cannot create a module that is both a translation and a chart of accounts, but you can create two separate modules and combine them as a pack. A translation module must translate from English into only one other language. For example you cannot use the same module for both French and German translations.
- Chart of accounts: The chart of accounts defines the appropriate accounting structure for a particular locale, to comply with approved local practice and law. The chart of accounts consists of a .csv file.
- Standard reference data: Standard reference data is data from the application tables, for example taxes and alerts. You can therefore export data from a table and convert it into a module that can be uploaded to the central repository or otherwise shared with other users.
You can also combine modules to create a localization pack.
In general, there are three stages to creating a module:
- Register: registering the module reserves a unique java package name for your module in the central repository.
- Develop: complete the development work using your preferred tools.
- Publish: publish the module to the central repository so that other users can access it.
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:
- Register the translation module with the central repository.
- Export the database
- Translate the xml files
- Package the module
- Upload the module to the Openbravo Forge
Registrare il modulo di traduzione
When you register the module, fill in the fields as follows:
- From the Module Type list, select Module.
- In the Name field, type the java package name of the translation, using the correct naming convention.
- Complete the Description and Help fields, using the language that you are translating into.
- Select the Is translation module option.
- Clear the Has reference data, Translation required and Has chart of accounts options.
- Select the In development option. Remember that you cannot work on a module unless the In development option is selected.
- From the Module language menu, select the translation language. For example if you are translating into Czech, select Czech from the list.
- On the Dependencies tab, specify the module you are translating as the dependent module. For example if you are translating the Core module, select Core as the dependent module.
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.
- 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.
- 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.
- Within the referencedata folder, create another subfolder called translation.
- 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.
- 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:
- The chart of accounts is visible to other users from the central repository, making it easier for users to apply and to check for updates.
- You can package the chart of accounts with other modules to create a complete localization solution.
Creating a chart of accounts module comprises the following steps:
- Register the chart of accounts module with the central repository.
- Create the folder structure to hold the chart of accounts file.
- Create the chart of accounts file and save it in the folder structure.
- Package the chart of accounts module.
- 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:
- From the Module Type list, select Module.
- In the Name field, type the java package name of the translation, using the correct naming convention.
- Complete the Description and Help fields using natural language and supplying as much information about the chart of accounts as possible.
- Select the Has chart of accounts option.
- Clear the Has reference data, Translation required and Is translation module options.
- Select the In development option. Remember that you cannot work on a module unless the In development option is selected.
- On the Dependencies tab, select Core.
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.
- 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.
- 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.
- Within the referencedata folder, create another subfolder called accounts.
- 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:
- Define and register the module in Openbravo ERP.
- Define and export the tables you require as a dataset.
- Package the module as an .obx file
- Create a project in the Openbravo Forge.
- Publish the module to the Openbravo Forge.
Registering a standard reference data module
- From the Module Type list, select Module.
- In the Name field, type the java package name of the module, using the correct naming convention.
- Complete the Description and Help fields using natural language and supplying as much information about the chart of accounts as possible.
- Select the Has reference data option.
- Clear the Has chart of accounts, Translation required and Is translation module options.
- Select the In development option. Remember that you cannot work on a module unless the In development option is selected.
- On the Dependencies tab, select Core.
Defining and exporting the dataset
- Log into Openbravo ERP
- From the Application menu, select Application Dictionary > Dataset
- Click New.
- From the Module list, select the module that will include the standard reference data.
- Specify a search key, name and description.
- From the Data Access Level list, select the Data access level from the following options:
- System only
- System/client
- Client/organization
- Organization
- Select the Export allowed option.
- Select the Table Tab
- From the Table list, select the table whose content you want to include in the module.
- 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'
- 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.
- To include the security audit columns (created, createdby, updated and updatedby) in the export, clear the Exclude Audit Info checkbox.
- Clear the Is Business Object option.
- Click Save
- 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.
- 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:
- In a web browser, navigate to the Openbravo forge
- In the Toolbox area, click Register Project.
- Complete the details of your module.
- Click Next.
- On the Services page, select the services you want to be avaiable for your project, for example a discussion forum.
- Click Finish.
- In the Toolbox area, select My Profile.
- In the My Modules area you will see that the module you registered in Openbravo ERP is listed. Click the module.
- To associate the module with the project you have created, select the project from the list.
- Click Associate Project. The Publish Version page appears.
- Click Browse. Navigate to the location of your module's .obx file.
- 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.
- Log into Openbravo with the system administrator role.
- From the Application menu, select Application Dictionary > Module.
- Click New. A new module record appears.
- In the Name field, give the package a name using the correct naming conventions.
- From the Module Type list, select Package.
- Complete the Description and Help fields using natural language and supplying as much information about the package as possible.
- Complete the rest of the module information as appropriate.
- Click Save
- Select the Include tab.
- Click New.
- From the Included module list, select the module you want to add to the pack.
- Click Save.
- Repeat steps 10-12 to include further modules in the pack.
- 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:
- Localization branches: loc-CountryName (ex. loc-italy)
- Core contribution branches: core-Contributor (ex. core-bmomentum)
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.
When our model has both localization and core contribution, two branches are created as follows:
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.