View source | Discuss this page | Page history | Printable version   

Category:Localization Guide

Contents

Introduction

Welcome to the Openbravo localization Guide.

This guide defines the Openbravo Localization concept, explains the Openbravo Localization types as well as who can localize Openbravo.

Besides, this guide contains a wealth of information on how to properly localize Openbravo from the overall step by step localization process and the very basic localization tasks such as translation, to more advanced topics such as creating official tax report to submit to the Tax Authorities.

Localization Concept

According to wikipedia, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market.

Openbravo allows you to include everything you need to properly localize Openbravo to any country:

Openbravo: a platform ready to be localized

Localization and internationalization are two important features in any software. In the ERP world these two features become critical for the success of an ERP.

From the very beginning Openbravo is ready to be localized for any country; however, since the introduction of Modularity in Openbravo 2,50, the process of developing and distributing a localization has been greatly improved and simplified.

Any user can create a localization module/pack and publish it in the Central Repository through the Openbravo Forge to make it immediately available to the rest of the world. Once done, Openbravo automatically manages the process of installation/update/uninstall with just a few clicks! Do you know any faster way to promote your work? we don't think so...

Localization Types

Openbravo is a free software, so anyone with the required skills and knowledge can contribute in the localization process.
In Openbravo we encourage our Community and our wide network of partners to contribute in the localization process.
There are two localization types:

And besides that Openbravo has two suites that can be localized:

Openbravo Community Localizations

The objective of a community localization project is to localize Openbravo for that community country so that Openbravo can be successfully used in that country. This includes (but is not limited to) developing and maintaining any translation that may be required, and creating and testing an appropriate chart of accounts. The community is encouraged to share other initiatives, including fiscal reports, expertise on tax configuration, bank interfaces, etc., all of which can be published as a "Community" pack which includes "Community" extension modules in the Openbravo Forge as described here.

Role of a localization Leader

The role of a Localization Leader is to lead a community localization project to localize Openbravo for a particular country.

Responsibilities of a Localization Leader

Openbravo has no formal contract with a localization leader, however the role of localization leader does have some assumed responsibilities.

As a localization leader you should be willing to:

Core modifications:

Benefits of being a Localization Leader

We hope that the objectives and responsibilities don’t sound too onerous.

The fact is that how much you do (or don't do) is really up to you, but we do hope that you are interested in being recognized as the leader of an open-source community initiative in your country.

Openbravo Professional Localizations

The objective of a professional localization project is to localize Openbravo for a country so that Openbravo can be successfully used in that country.

This includes developing and maintaining any translation that may be required, creating and testing an appropriate chart of accounts and adding other type of basic and not that basic features that helps Openbravo to be successfully used in that country.

All of the above can be published as a "Professional" pack which includes a "Community" pack that gathers "Community" extension modules and "Commercial" extension modules for not basic features.

How to become an Openbravo Professional Localizer

If you would like to become the Openbravo professional localizer (OPL) of your country then please contact the Openbravo Channel Business Manager of your region or the Openbravo Localization Lead.
Give your contact details and a short description of why you would like to lead the professional localization for your country.

Openbravo Channel Business Managers:

Openbravo Localization Lead:

If both parties (you and Openbravo) agree to the appointment then:

Benefits of being a professional localizer

The Openbravo localization for a country is delivered through extension modules that needs to be included a localization pack/s.

There are two types of localization packs:

As professional localizer you shall own all rights, title and interest in such Localization of your country, as formally described in the corresponding "Openbravo Professional Localizer and Seller Agreement".

During the term of the agreement, "Openbravo Professional Localizer" (OPL) will be paid 10% of net proceeds for each OPL Localized Professional Subscription sold in the country.

Role and responsibilities of being a professional localizer

As the owner of the localization of your country you need to:

Core modifications:

Bug fixing

Every module/feature and pack contained in a localization needs to be related to a "Forge Project" whenever it is registered and published in the Openbravo Central Repository.

"Bug Tracking" is one of the "Forge Project" tools that needs to be properly setup for each of those projects.

Above means that the "Bug Tracking" link available while creating or editing a project, needs to point to the Issues.Openbravo.com system.

If an error or bug is found in any of the modules or packs of a "Professional Localization", it needs to be reported as a defect or design defect through the bug tracking tool, as described below:

Note that it is only possible to report a defect once an Openbravo "username" or "account" is registered here.

The "Professional" Localizer is in charge of monitoring and taking care of the defects reported through the "bug tracking" system, therefore the "Professional" Localizer needs to inform the Openbravo Localization Lead (at patricia.sanjuan@openbravo.com or jon.setuain@openbravo.com) about the "Openbravo username" who will monitor the defects reported for the "Professional" Localization project.

Besides, the "Professional" Localizer needs to monitor that tool for the modules/packs of the localization he owns and get them fixed according to the Openbravo Commercial License - "System-based Annual Subscription" requirements.

Release and Stabilization

Release:

Professional Localization Pack releases need to be compatible with the latest Openbravo 3 MP in Confirmed Stable maturity status.

In other words, every new version of a professional localization pack released in "QA Approved" maturity status needs to be compatible with the latest Openbravo 3 MP in "Confirmed Stable" maturity status.


Stabilization:

Professional Localization Pack releases in "QA Approved" status need to be stabilized before changing its status to "Confirmed Stable" between the period that goes:

overall that is a period of 40 days.


For additional information, please review:

Openbravo role

The Openbravo role in a "professional" localizer led localization is to:

  1. Coordinate and energize the localization community, including:
    1. Coordinate among the community and specially the rest of official partners their contribution to the professional localization (for the benefit of all of them)
    2. Ensure that the professional localizer provides support to our official partners through chats and forums
    3. Provide similar support also to the community in that regards
    4. Collect statistics of Openbravo community activity
    5. Help professional localizer to understand the localization functional priorities
  2. Look after localization process and how we communicate:
    1. Create and extend localization process documentation
    2. Define and execute basic certification of professional localization releases
    3. Proof-read content in Openbravo Wiki in regards to the documentation provided by professional localizers
    4. Make regular follow up on the evolution of the localization and its requirements
    5. Be very attentive with the Channel Business Manager of the region about what is going on in the country that can impact the localization
  3. Build alliances with key community contributors

How to contribute in a localization project

If you are an Openbravo partner willing to contribute to the localization project for your country then please contact the "Openbravo Localization Lead" (Patricia San Juan - patricia.sanjuan@openbravo.com or jon.setuain@openbravo.com). Give your contact details and a short description of why you would like to contribute to the localization project.

Openbravo would evaluate your contribution and put you in contact with the professional localizer if any, otherwise you can become the professional Localizer of your country.

If you are not a partner but a "Community" member willing to contribute to the localization project for your country then please contact the "Openbravo Localization Lead" (Patricia San Juan - patricia.sanjuan@openbravo.com or jon.setuain@openbravo.com). Give your contact details and a short description of why you would like to contribute to the localization project.

Openbravo would evaluate your contribution and put you in contact with the professional localizer if any, otherwise you could become the professional Localizer for your country or the "Localization Lead" of a "Community" Lead localization project.

Benefits of contributing in a localization project

Openbravo main goal is to pursue high quality localization projects as the highest quality a localization have the more users and customers Openbravo will do have and the more satisfied they will be.

Openbravo is willing to support professional localizers and localization leaders to get that goal, as well as anyone who would like to contribute to a localization project to make it a successful project.

We all will benefit of releasing high quality localizations that ensure compliance with the most up-to-date requirements of countries where our customers or "potential" customers are located.

What can be included in a localization for Openbravo?

In Openbravo we consider that the Openbravo Commerce suite localization for a country must include:

Apart from these pillars, it is important to remark that Openbravo is a modular solution that can be extended to be integrated with a wide range of POS devices such as Fiscal Printers and Payment Gateways that might be available for a country.

Same way, In Openbravo we consider that a basic localization of the Openbravo Business suite must include:

Apart from these two basic pillars, a localization may include many more things.
For instance, in Openbravo it is very important to have a detailed taxes module that includes all the common taxes valid in a country, not just "sales" ones used in the Openbravo Commerce solution (featuring Web POS). This module has two benefits:

All of the above mentioned features can be considered "basic" localization features that can be part of the "Community" edition of a localization.

More good candidates for a complete localization are:

All of the above mentioned features can be considered not that "basic" localization features that can be part of the "Professional" edition of a localization.

Although the list of features that can be added to a localization can be very big and highly dependent on each country, in this localization guide you will find all the required information for implementing almost any scenario. However, if you feel something is missed or you still have some doubts, don't hesitate to ask and we will try to improve this guide.

How to suggest new functional requirements for a country

Feature requests for specific countries or localization projects need to be submitted as issues of the type "Feature Request" through the corresponding "Bug Tracking" system to be monitored by the localizer,
that is the Issues.Openbravo.com

For instance, if you are willing to suggest a new feature for the Mexican Localization, you need to follow below listed steps:

Forge Project Mexico.png

Note that it is only possible to suggest a new feature once an Openbravo "username" or "account" has been registered here.
Besides, it is required to follow below listed guidelines prior to describe the new functional requirement to be suggested:

Localization Process

This section briefly describes every side aspect of localizing Openbravo.

Openbravo Community Edition

As already mentioned a community version of a localization can be a pack that at least contains localization modules such as:

How to register, develop, publish and maintain a community module/pack

This is overall the step by step workflow to follow in regards of community module/pack tasks:

  1. to define and create the "community" module(s)/pack in Openbravo in the "Module" window. For instance:
    1. the Translation module(s)
    2. and the Chart of Accounts module
  2. to register the community module(s)/pack in the Forge
  3. to develop the modules contained in the "community" pack. For instance:
    1. the Translation module(s) and the Translation Pack
    2. the Chart of Accounts module
    3. and the Taxes module
  4. to create the Community edition of the Localization as described here.
  5. to create the projects in the Forge for the modules and for the packs as described here.
  6. to relate the projects in the Forge with the corresponding modules/packs as described here
  7. to publish the modules and the pack in "Test" or "QA" status.
  8. to properly document the community pack as described here
  9. to properly document the community modules as described here
  10. to install the pack in both Oracle and PostgreSQL and run the corresponding set of test
  11. to inform Openbravo for Openbravo to execute "Quality Assurance" review as described here:Openbravo Localization Quality Assurance Check List - Community Edition, if applicable (*).
  12. to change the "maturity status" of the modules/pack published to "QA Approved", once Openbravo review is set to "passed"
  13. and to properly update the pack if required, as described here.

(*) Openbravo may review the community edition of a Localization pack if that is part of a professional localization of the country.

Openbravo Professional Edition

As already mentioned the professional version of a localization can included basic and not that basic features under an Openbravo "Professional" license.

How to register, develop, publish and maintain a "professional" module/pack

This is overall the step by step workflow to follow in regards of professional module/pack tasks:

  1. to define and create the "professional" module(s)/pack in Openbravo, in the "Module" window
  2. to register the professional module(s)/pack in the Forge
  3. to develop the professional module(s) and to package them
  4. to create the Professional edition of the localization as described here, by having into account that it needs to contain the community pack
  5. to create the projects in the Forge for the modules and for the pack
  6. to relate the projects in the Forge with the corresponding module/pack
  7. to publish the modules and the pack in "Test" or "QA" status.
  8. to inform Openbravo about each Module/Package name, Public UUID and license type.
  9. to install the pack in both Oracle and PostgreSQL and run the corresponding set of tests
  10. to properly document the modules and the packs as described here
  11. to inform Openbravo for Openbravo to execute "Quality Assurance" review as described here:Openbravo Localization Quality Assurance Check List - Professional Edition
  12. to change the "maturity status" of the modules/pack published to "QA Approved", once Openbravo review is set to "passed".
  13. and to properly update the pack if required, as described here.
Additionally, to list the commercial modules and the professional pack in Openbravo Exchange, to sell them.

Localization Quality Assurance check-list

There is a Localization Quality Assurance Check-List which includes a set of mandatory and non-mandatory checks to verify for validating the quality of an Openbravo Localization.

Mandatory and non-mandatory checks are split into two, therefore both the "Community" and the "Professional" edition of an Openbravo Localization can be validated.

It is important to remark that Localization projects ready to be published will be published only if all the mandatory checks included on the validation list are successfully passed.

The Professional Localizer is required to ensure the quality of a localization pack, therefore before asking Openbravo to validate the quality of a localization pack needs to be sure that the mandatory checks
have been successfully validated.

How to Localize Openbravo

Localizing an ERP is a wide task which is usually done by people having different skills.
This part is mainly divided into two big sections: Concepts and HowTos. Apart from them there is also available a FAQ page that will grow answering the common questions.

Localization Concepts

The Localization Concepts section gives a detailed description of all relevant concepts required for localizing Openbravo. The articles inside this section try to describe from a theoretical point of view all the Openbravo parts related to the localization, like for example the way translations are managed in Openbravo, the concept of dataset, etc.

Depending on your focus you will find some articles more relevant for you. For example, if you just want to work on translations, you don't need to know anything about development concepts. However, if you want to develop a fiscal report, you must understand all the concepts behind the development process in Openbravo (apart from a good functional knowledge).

Finally remember that, in each article of the Localization How-tos, there are links to the relevant concepts required for working on the concrete task.

Development concepts

The main source of information related to development is the Developer's guide , which provide all the information needed to become an Openbravo developer expert. As you can see this guide is very extensive, but hopefully you don't need to read it from the beginning to the end to create a full localization (although it is recommended). Here you have the list of articles that are important from a localizer point of view.

All Openbravo developments take place within modules; in fact the way to distribute a localization for Openbravo is under the form of a packs containing all the modules and packs for a specific country. That's why it is critical to understand the Modularity Concepts.

A great percentage of the modules included in a localization pack contain datasets, which is the way Openbravo has to import data into an instance. For example, if we want to create a module which contains the regions of a country, our module will require a dataset that stores all this information.

Apart from translations and modules containing datasets, a complete localization for a country usually includes modules implementing code that cover a certain functionality. This is the case of complex modules that, for example, creates official fiscal reports to be sent to the tax authorities or modules that are in charge of validating data. To help the developer, Openbravo provides its own framework that facilitates the creation and integration of any extension module. Based on the Model Driven Development (MDD) approach, Openbravo includes an Application Dictionary to define the data model (database tables, columns, validations, etc.), and, on top of that, the system is able to automatically create all the user interface artifacts. This is an amazing tool that increases productivity allowing the developer to focus only in the development code. To know more about all these topics, it is highly recommended to read the Openbravo Main Development Concepts.

Finally, for this kind of modules that implement code, it is a great advantage to work with the Eclipse IDE, which will increase the developers productivity thanks to its user interface and tools that help during the code development. Please refer to the  How to setup Eclipse IDE article if you haven't done it yet.

Functional concepts

Functional concepts are very important for creating a localization. The User Guide is the main source of knowledge for understanding the wide set of functional features already available in Openbravo and how they work. As in the case of the Developer's guide, the User Guide is a very detailed document that you don't need to fully read it (although it is recommended). Here you have the list of articles that are important from a localizer point of view.

To create a localization pack it is not necessary to be a functional expert, but you should have a clear understanding about the Financial Management module. For example, this area is the place where we define taxes, tax categories and business partner tax categories that the user will use later on for creating transactions (orders, invoices, etc.). As you know a taxes module is a perfect candidate for a localization pack, that's why it's important to understand its behavior inside the ERP.

A dataset module with the list of common payment methods for a country is another good candidate for a localization. The way payment methods work is described in the Payment Method article of the User Guide.

Supporting official tax reports is a way to have a localization for a country that makes a difference. Openbravo released an extension module called Tax Report Launcher that creates the infrastructure and includes a set of developer's utilities for generating official tax reports. The Tax Report Launcher wiki is the place to understand the utility of this module for a localization.

Managing remittances is a feature that Openbravo supports through the Remittances module. Apart from creating remittances of payments and/or collections, this module provides the framework for implementing specific file formats to be sent to the bank, which is something that could be localized according to the country standards. For more information about the remittances module, visit the Remittances project wiki page.

Openbravo's accounting engine allows user to override its behavior through the creation of Accounting Templates that can be distributed as modules. If necessary, these accounting templates give the possibility to modify the default accounting engine to adapt it to the particular needs of each country.

When we talk about a localization for any software, the first thing we are probably thinking of is the translation. In the Translation Engine Concepts article you will find the information for understanding the way Openbravo manages translations. Remember that there is a How to Create and Update Translation Modules that guides through the whole process from a practical point of view.

Chart of Accounts is other important topic in case of an ERP software with accounting engine. The chart of accounts is a CSV file containing the accounting tree for a particular locale that the Openbravo's accounting engine tracks. More information about this file is available at the Creating Accounting Files article.

Finally, another interesting concept for a localizer is the alerts support in Openbravo. Alerts warn the user about interesting information. For example, in a localization context we can create alerts that informs the user about the submission dates for official reports in a country, alerts that check data is correct (taxes properly used, document not posted...), and anything you can imagine.

Localization How-tos

The Localization How-tos section describes the Openbravo localization tasks from a practical point of view. Each article represents a specific localization task, guiding the localizer step by step through all the process. These how-tos can be read independently, although each one may include a section with recommended articles (usually in the Concepts section) that facilitate the understanding of the howto. In addition, each article has information about the difficulty level, the prior knowledge needed and the estimated time it may cost to perform each particular task.

Here is the list of the available localization how-tos:

The final objective for any localization project is to create a localization pack. Please read the How to Create Localization Packs to understand the way to encapsulate your modules into packages.

Additionally you can also find information on How to personalize Openbravo.

Localization FAQ

The Localization Guide FAQ page contains a list of the commonly asked questions that can't be answered in a concrete article. The list of questions will grow based on the feedback provided by our localizers. Bold text

Additional sources of information

If you have additional questions or can offer advice and support to other localizers, it would be to everyone's benefit to post them on the [ Generic Localization Forum] on the Openbravo's Forge
(though we are also available at patricia.sanjuan@openbravo.com or jon.setuain@openbravo.com).

Retrieved from "http://wiki.openbravo.com/wiki/Category:Localization_Guide"

This page has been accessed 61,888 times. This page was last modified on 22 May 2019, at 14:36. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.