Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Updated i18n functionality requires FarCry 4.1.

Overview

The webtop and COAPI (meaning all forms that use formtools) have been updated so that every label is translated.

  • Resource bundles in core, plugins and project are loaded. Core resources are overridden by plugin resources, plugin resources are overridden in as they are defined in the farcryInit tag (last overrides first), and project resources override all.
  • Locales available in the application now get defined in the farcryInit tag (locales attribute)
  • Webtop localisation has been refactored
  • COAPI localisation - property labels, fieldsets, steps, etc are now translated
  • A plugin to help developers manage and create resource bundles
  • Resource bundles for core, common plugins, projects
  • Engage community for translations

Webtop

Previously the webtop was translated by setting the label attribute in the xml to a variable (refering to the resource bundle struct in memory). With the refactoring, the label attribute is used to specify the DEFAULT VALUE. If the menu item has no corresponding resource, the default will be used. If it does it will be translated. This process also applies to the Inline Documentation feature.

By default the menu item is mapped to a resource key in the format webtop.sectionid.subsectionid etc. The attribute is then added to this base key to differentiate it from other translated attributes. e.g. webtop.sectionid.subsectionid@label.

The base key used for a menu item can be overridden by setting the rbkey attribute. This means that if you have an equivelent item in two places on your webtop you can override one to refer to the other. NOTE: this is not recommended - context is a significant factor when translating.

COAPI

Translations of type, rule, and form text can currently be accessed through various i18n methods. In most cases these won't be necessary as all formtool tags are now automatically translated.

RBManage plugin

The default behaviour of the new resource bundle manager is to simply return default values if a key isn't found. This plugin extends this functionality with logging. When installed on your dev machine (DO NOT INSTALL ON A PRODUCTION BOX) you gain access to reports on the status of i18n requests in your application.

The reports provided at the moment are:

  • Missing keys - requests that resulted in the default value (or the value from the base bundle instead of the locale bundle) being returned
  • Unused keys - keys that were never requested
  • Changed defaults - if you have already created resource bundles then change the default values this report will highlight the discrepencies

Generating the resource bundles is as simple as selecting the bundle (core, plugin or project) and locale indicating if the keys should be marked as translated in the bundle and clicking update.

If you are creating resource bundles for an extended type, remember to add them to your project/plugin, not to the origonal

  • No labels