[RSS]

NetBeans 6.5 L10N Engineering Process (for Sun Supported Languages using WS)

Note This l10n-kit is for Sun's translation system. Please go to NB65L10nPlatform if you're working on community languages.

Overview

There are big two changes in engineering process at NetBeans 6.5 releases:

Mercurial

New versioning system of netbeans.org. Our home repository is : http://hg.netbeans.org/main/l10n, or release65/main once it's created. You can get our files by
% hg clone http://hg.netbeans.org/main/l10n

l10n-kit structure

The structure of l10n-kit has been also changed dynamically. We now use the same(almost) structure of nbm/jar files. Please check the detail in NB6.1MLPlan
  • The top directory is based on cluster name, the 2nd directory is based on nbm name
  • All .properties files are generated from nbm/jar files, which means most comment lines are removed. Only #NOI18N comment are there.

l10n-kit

1st l10n-kit (200808141419) - except OLH

MSG nb65-msg.list nb65-msg.zip By WS
MSGHTML nb65-msghtml.list nb65-msghtml.zip By WS
.js nb65-other.js.lis nb65-other.js.zip For download pages. Will be translated manually.
  • Only IDE, Stable UC should start after IDE localization.
  • no image files to be localized (old files can be used)
  • no .url files to be localized (Masaki updated all files)
  • shortcut PDF will be localized once it's finalized. Not finalized yet.

2nd l10n-kit (200809151401) - except OLH

  • Entire
MSG nb65-msg.zip
MSGHTML nb65-msghtml.zip
  • Only updates
MSG nb65-msg.zip
MSGHTML nb65-msghtml.zip

OLH l10n-kit for scoping (200808200201)

OLH nb65-olh.list nb65-olh.zip By WS
  • It's the OLH l10n-kit contains 90% complete OLH
  • It's used only for scoping to see the translation volume, is not used for translation

Pre Process

To make the process easier and some other reasons, we're doing some pre-processing for l10n-kit.
  • Original l10n-kit (built in build area) always have unnecessary files, we remove them before translation
  • Files in the original l10n-kit contain mistake, e.g. format error that will cause serious error in WS. We need to fix them before translation.
  • Original l10n-kit contains both message files (.properties, .html files) and online help, we need to separate them
  • Add UTF-8 charset tag to each .html files in both message html and OLH html.
  • Remove version number of cluster for our translation memory
  • \\u can not be handled in WS, so it has been replaced with BACKSLASH_U in our l10n-kit. Please revert back it to the original at post process
./gsf1/javascript-hints/javascript-hints/org/netbeans/modules/javascript/hints/Bundle.properties:
UnicodeConvertDesc=In implementations prior to JavaScript 1.3, Unicode characters could not appear\
 in literals. Use the \\u escape sequence instead.
  • Remove the specific version number e.g. Dev and RC.
nb6.1/ide-branding/netbeans/core/locale/core_nb/org/netbeans/core/startup/Bundle_nb.properties 
nb6.1/ide-branding/locale/org-netbeans-core-windows_nb/org/netbeans/core/windows/view/ui/Bundle_nb.properties

Post Process

The top directory is based on cluster name, but cluster version is omitted when we get them from WS. Please run the following,
  • Rename to actual directory name with version number (see below)
  • Installer files (installer/ and nbi/ files) should be under other/ in repository
Note cluster number has been changed for ide10, platform9, nb6.5
Note new clusters are added: php1, groovy1, webcommon1, websvccommon1
mv apisupport apisupport1
mv cnd cnd2
mv enterprise enterprise5
mv gsf gsf1
mv ide ide10
mv identity identity2
mv java java2
mv mobility mobility8
mv nb nb6.5
mv platform platform9
mv profiler profiler3
mv ruby ruby2
mv soa soa2
mv vw vw2 
mv xml xml2
mv php php1
mv groovy groovy1
mv webcommon webcommon1
mv websvccommon websvccommon1
mkdir other
mv ide.branding other/ide.branding
mv nbi other/nbi
mv installer other/installer
  • Add _<lang> for .properties and message .html files
  • Change directory structure for OLH files
  • native2ascii for .properties
  • Replace BACKSLASH_U to \\u
./gsf1/javascript-hints/javascript-hints/org/netbeans/modules/javascript/hints/Bundle.properties
  • (will be prepared) revert some translation to English to avoid over-translation. Please prepare NOI18N files in the same rule with 6.0. See the detail instructions in NB6L10nValidationNoi18n. The location is
translatedfiles/www/6.5/validation/noi18nprops/
  • Please make sure all files (except .properties) should be UTF-8 encoding.

How to localize

There are some special files for translations.

other/installer/infra/build/web/language.properties

#To localize, change this value to the name of the language in that language (e.g. "Japanese" in the Japanese language)
language.name=English

#To localize, change this value to the name of the language in English (e.g. Japanese)
language.webpage.name=English

#To localize, change this value to the current localization locale (e.g. ja)
language.id=en 

How to integrate

Note please use http://hg.netbeans.org/main/l10n until http://hg.netbeans.org/release65/l10n is prepared.

Current our home is : http://hg.netbeans.org/main/l10n . Please integrate translated files into the repository. The followings are very simple scenario. Please check the detail How To docs for the operation of Mercurial. Here is the example when you use command line on Solaris/Linux. You can also use NetBeans 6.0.1/6.1 Mercurial support.

See http://wiki.netbeans.org/NB61L10nOverview#section-NB61L10nOverview-HowToIntegrate

daily builds

will be prepared under daily build/ml directory.

status and validation page

will be prepared.

L10N-kit issues

These are fixed in pre-processing by Masaki.
  • invalid char (fixed)
soa2/bpel-validation/bpel-validation/org/netbeans/modules/bpel/validation/statics/Bundle.properties
  • invalid license headers
visualweb.gravy/src/org/netbeans/modules/visualweb/gravy/model/components/Bundle.properties
visualweb.gravy/src/org/netbeans/modules/visualweb/gravy/model/navigation/Bundle.properties
visualweb.gravy/src/org/netbeans/modules/visualweb/gravy/model/project/Bundle.properties
visualweb.gravy/src/org/netbeans/modules/visualweb/gravy/model/project/components/Bundle.propertie
  • invalid = line (fixed)
mobility.project/src/org/netbeans/modules/mobility/project/ui/wizard/Bundle.properties