Traducción al español aquí
Localization of Visual Basic applications
For localization of an application, the user interface must be translated. To facilitate geolocalization, instead of writing the texts within the application should store the translated texts in a separate file or in a separate Excel sheet.
In Microsoft Office Excel 2003 and later versions, you can store strings for the user interface in the default resource file for the project. The file is named MyResources.resx in Visual Basic and Resources.resx in C#. Copies of the resource file can be translated into several languages.
Next page explains: How to Localize Excel Solutions
Best practices for localization
Before designing a multinational application with multi-language translation of the graphical user interface, best practices for localization should be considered:
- Move all localizable resources to separate resource-only DLLs or Excel translation sheets.
- No encoding text within the user interface.
- Consider simultaneous translation solutions across multiple languages selected by users.
- Controlling localization when open applications with different regional and language settings.
- Do not put nonlocalizable resources into the resource-only DLLs. This causes confusion for translators.
- Do not use composite strings that are built at run time from concatenated phrases. Composite strings are difficult to localize because they often assume an English grammatical order that does not apply to all languages.
- Avoid the use of images or icons that contain text as they are more expensive to localize.
- Leave enough room for the length of the translated phrases. Some languages require up to 75% more space to say the same in writing.
- Not encode the message boxes, dialogs, forms, menus manually.
- Hiring professional localization and translation.
The Microsoft Go Global Developer Center gives tips for internationalization: Testing Software for World-Readiness
As the application code and the language of its user interface are not related. What is read and / or write on the screen should be designed in such a way that can be changed without changing the code or even go back to having to compile the program. Multilingual User Interface (MUI) implemented should allow the display multiple language versions of the user interface while at the same application.
For more information: Best Practices for Developing World-Ready Applications
Style Guide for the Spanish language worldwide
You can download the Style Guides in the Microsoft Language Portal for localization in various languages here
To understand each other of 400 million Spanish language native speakers should follow a style guide and more knowing that counting those who have Spanish as a second language are about 500 million people worldwide.
Spanish Language Portal
When developing an application in Spanish must know your audience and decide whether it will be written in a neutral, independent of the localization of the Spanish or respect the idiosyncrasies of the destination country because it does not uses the same words and phrases in Spanish spoken in Mexico than in Spain or in one of the 21 countries where Spanish is spoken.
Doubts about Spanish localization are available on the Pan-Hispanic Dictionary of doubts
How to make an Excel geolocalized application
To localize an Excel workbook without the Visual Basic development tool, you can use one of Excel sheets to contain translations into and in the rest of sheets write references to the Languages sheet. An example of a translation into Excel is in the file that you can download in this article on this blog How to make Excel calculators
Help and information of this calculator is translated into 6 languages: English, Spanish, French, Italian, German and Portuguese, besides being very easy to incorporate new languages or other versions of Latin American Spanish. The only thing needed is to add a translation into a new column of the sheet Idiomas.
The first row is the language name in their language and next rows are the translated phrases to each of those languages.
Use Manager Names to create:
- English Español Français
- Language: Idioma: Langue:
- Keyboard: Teclado: Clavier:
- Touch calculator Calculadora táctil Calculateur touch
- My first calculator Mi primera calculadora Ma première calculatrice
- Phone calculator Calculadora Celular Calculateur de téléphone
In the Calc sheet can choose the language of the user interface by changing the BM48 cell value by dropdown the language number:
Immediately you see the interactive translation of the sheet to the selected language. Next to the language number, language name is displayed with this formula:
On no sheet, strings are written with words or phrases translated but it refers to a cell in column A in the row of translated texts in the Idiomas sheet. For example, to display the word "keyboard" in the cell AI48 on Calc sheet should make reference to cell A4 where its first language translation is located, in this case English, using the formula:
Within the VBA macro is coded as:
This is what is written, and never a string. The strings are easily translated and checked for proper grammar and spelling on a single Idiomas sheet that will be given to a translator with only one column with the source language to translate in another column the target language. If what you want is a different version of a Spanish dialect spoken in Mexico, for example, include a column located such as Mexican Spanish.
So that when you open Excel, it shows the computer language, enter this VBA code:
On the Cod sheet were included the List of country calling codes, sorted in column B, and the language number 1 through 6 in column C. Column D is the country name.
These codes are searched with the VLOOKUP function to match the Application.International (xlCountryCode) property. See here how Creating Macros for Different Language Versions
Conclusion: Following this procedure you can translate and localize applications written in Excel or in another language or programming language, but this requires adequate translation likewise among the thousands of existing software languages, which is beyond the scope of this article...
Traducción al español aquí