Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] G11N Interim Report


As we are in the midst of  translation activities here at IBM, we'd like to update the open source community as to our progress. An attached Globalization Interim Report includes a summary, a list of open defects and our next steps.  I hope you find this information useful and interesting, as many translation centers worldwide are helping to make CDT available globally within open source.

If you have any questions or concerns, please feel free to contact me.

Tanya

twolff@xxxxxxxxxx

CDT 2.0 Globalization Interim Report
 CDT Globalization report May 11, 2004
Summary

Globalization of the CDT is progressing... the three stages being internationalization, localization and finally globalization: The internationalization is the designer’s business: ensuring the code is ready for translation. After localization (translation & country requirements), no more design work should be necessary, for a given user in a given country. The globalization bit is to ensure that all localization packs can play together in one executable. 

Internationalization Phase 1: String Externalization

Previously I sent a count of all the strings that before externalization were hard coded and needed to be externalized or marked as non-translatable. The string and file counts resulting from this process are shown below. This phase was complete March 26, with a second drop of strings shipping May 7 to be translated.

Internationalization Phase 2: Pseudo Translation

At the same time I created a pseudo translation build and tested the GUI for expanded strings. This phase is in parallel with phase 1 since it helps to reveal internalized strings. This was also completed March 30, however, with the new batch of strings, a rerun of the pseudo translation is forthcoming.

Internationalization Phase 3: Enablement Testing 

This phase completed April 30 and ensured that CDT works for input and correct display of characters in the native codepage of many languages, more than just those requiring translation. These tests were performed by Japan, Taiwan, China, and the countries with bidirectional languages, Arabic and Hebrew. To see the tests, Click here.

Internationalization Phase 4: Cultural Formatting

The last phase of internationalization testing is about to begin: verifying the correct cultural formatting of the display text.  The format is triggered by the locale setting: no further tweaking should be necessary to display numbers, times, dates, and sort orders as expected by any given country, as long as the correct formatting APIs are used. These include locale-sensitive comparators, NumberFormat, DateFormat. For instance, a number with commas and decimals in the US has the commas and decimals reversed in France. Date and time preferences differ in the use of 12 or 24-hour clock, month following day, day following month, etc. Sorting has different levels of priorities whether or not accents and capitalization is involved. For instance, ‘a’ with umlaut could be an ‘a’ with an accent in one country, so it would sort with the ‘a’s, while in another country it would be a completely different letter found after ‘z’.

Localization 

For localization, the translators are the busiest. Designers may only need to clarify what the noun would be in text that’s missing sentence parts to help the translator conjugate the verb correctly, or to identify whether an html tag is to be translated or not. I have checked that all the properties and htm and xml files have the correct syntax, encoding tags, line endings, and translation is under way. No worries here, bast relaxen, vatch das stoffa komoudt. When we have the translated bits, I’ll create a fragment for each plugin to hold them. CDT won’t need to be recompiled, just unzip the fragments and go! Translation Verification Testing (TVT) for this part will ensure that the GUI handles the expanded strings, and that the translations make sense.

What's Next
  • I18N Phase 4: any day now.

  • I18N Phase 2 pseudo translation should be run again, or else they'll catch it in TVT.

  • L12N: Localization NL packs created end of May.

  • L12N: TVT (Translation Verification Testing): begins June 1, for which I'm busy writing test cases now.

Contents

 This report contains

  • I18N Phase 1: a count of new strings showing up in properties files that will hand off for a smaller drop to translate

  • I18N Phase 2: the UI defects that came from the pseudo translation tests

  • I18N Phase 3: the list of remaining unresolved defects that came from the enablement tests

  • I18N Phase 4: and a list of areas that will be tested for cultural formatting. 

Phase 1. String Externalization
 

Properties files

Before the first drop of files was sent for translation March 26, we used the Externalize Strings wizard to see if the drop was complete. We had a few strings in the source to be dealt with:

Plugin

Count  

debug.mi.core

986

debug.mi.u

65

debug.ui

376

launch

151

core

1038

core.aix

3

core.linux

3

core.solaris

4

core.win32

3

make.core

183

make.ui

129

managedbuilder.core

158

managedbuilder.ui

35

cdt.ui

945

Total:  

4079

After externalizing or marking these strings non-translatable, the properties files were checked for translatability: valid key/value separators, correct comments, and correct syntax. 

Congratulations designers! With the heap of new strings since March 26, the Externalize Strings wizard found one internalized string that was translatable.
 

HTML Files

Along with checking property files for translatability, the 128 html files were also checked for correct encoding tag “UTF-8”, and valid translatable text. Nothing needed fixing, but there wasn't a doc drop sent out then. Now that we have Dave Williams for doc, he has checked the files, currently totaling 155, and fixed any errors affecting translation in the new files. All current files are shipped May 7 for the doc drop 0 translation.

XML Files

Before the drop 1 shipment on March 26, the 51 xml files were checked for correct encoding tag “UTF-8” and valid translatable text. The plugin.xml files uses the %key framework to externalize strings while other xml files are translated in-line. Tag attributes that look like they should be translated were externalized using &key; framework with values within ENTITY fields in the same file. Several patches were created here. Only the non-plugin.xml files are included in the CDT drops 1 & 2 for translation.

Shipment Tallies

Date shipped Number of files Number of strings
March 26 (drop 1) 65 (53 properties files, 12 xml files)  4485 (properties only)
May 7 (drop 2) 90 (79 properties files, 11 xml files) 6119 (properties only)
May 11(doc drop 0) 155 html files  

Phase 2. Pseudo Translation

The pseudo translation build found defects for both externalizing strings and chopped GUI parts resulting from expanded text. Here is the list of expanded text defects. Also included are relevant accessibility defects which focus on expanded text as well, and will affect a translated build. These should be targeted before the TVT (Translation Verification Testing) in June.

Number State Sev/Pri Summary

51479

NEW

nor/P2

I18N: Managed c/c++ project wizard very wide

51482

NEW

nor/P2

[Code Templates] I18N: Code templates preferences page chops text on buttons

54148

NEW

nor/P2

[Accessibility] Buttons on "Paths and Symbols" tab of New Standard Make Project get stomped on in High Contrast mode

54158

NEW

nor/P2

[Accessibility] Controls on "Source" tab of Debug dialog are cut-off in High Contrast mode.

54285

NEW

nor/P2

[Accessibility] Preferences pages are not accessible in High Contrast mode ** lots of work to do here.

Phase 3. Enablement Results

The highlighted defects are the MUST FIX ones. The unresolved ones are highlighted with star/red.  

Japan

Number State Sev/Pri Summary

59593

RESO DUPL 57082 AIX

min/P3

DBCS: NullPointerException occurs after creating C++ Project

59613

CLOSED

nor/P3

File changed dialog pop up although just creating new C++ class.

59616

CLOSED DUPL  57082 AIX

nor/P3

cannot create Managed Make C++ Project

60225

CLOSED INVAL (dup 58634)

nor/P3

Content Assist list does not show constructor.

Taiwan

Number State Sev/Pri Summary

59387

CLOSED

maj/P3

DBCS: Can not launch DBCS C/C++ compiler path 

58232

CLOSED FIXED

maj/P3

DBCS:Context search on System failed in C++ Search 

58130

REOP (dup 60502)

maj/P3

DBCS: The <NLartifact>.exe can not run susccessfully in Debug view

58131

REOP  (dup  60502)

maj/P3

DBCS:Can not compile DBCS C/C++ project name.

59898

CLOS FIXE

maj/P3

Error message box when open with C Editor 

57863

NEW

nor/P3

DBCS: Position of DBCS Targets in "Build Targets" panel shows not properly.

57864

CLOSED FIXE

nor/P3

DBCS: Can not make Target of DBCS file name 

57866

NEW

nor/P3

DBCS: Wrong result showed in Search View 

57867

CLOS FIXE

nor/P3

DBCS: Search NLmethod can not work well in C/C++ Search. 

58128

REOP (dup 60502)

nor/P3

DBCS:Can not launch to debug perspective when debug DBCS file

58229

NEW

nor/P3

DBCS:Context search <NLclass> can't work well in C/C++ Search

59195

RESO DUPL (58118)

nor/P3

[Code Templates] The Code Templates panel can not show properly in C/C++ Code Templates

59389

NEW

nor/P3

Error logs when New a C/C++ project with "PE Windows Parser" selected.

59410

CLOSED FIXE (in I20040427)

nor/P3

DBCS:Error log is displayed when you built the SC in CDT

58118

NEW

min/P3

[Code Templates] of preference panel shows not properly on the default size.

Bidi Hebrew

Number State Sev/Pri Summary

58320

RESO for windows (dup 52533)

nor/P3

Build is failed when project name consists BIDI characters 

58231

NEW

nor/P3

DBCS:Include "external.h" can't be built in *.cpp file

58634

RESO INVAL (dup 60225)

nor/P3

Content Assist doesn't show all methods which contains BIDI characters

* 58689

New

nor/P3

Classes/Methods which contains BIDI text, cause for errors while compilation

* 58695

New

nor/P3

Problems view and the Build output view display the .o file incorrectly if the file doesn't exist.

Bidi Arabic

Number State Sev/Pri Summary

59412

RESOLVED WORKS  

cri/P3

BIDI: C/C++ search is not working with Arabic keywords 

59419

RESO INVAL

maj/P3

BIDI: Cannot add Arabic variables to the inspect view

58272

RESO FIXED (SWT)

maj/P3

BIDI: The C/ C++ editor doesn't preserve the keyboard language after pressing sapce bar

59233

RES-DUP 52533

maj/P3

BIDI: Cannot build Arabic C++ projects

* 59230

REOP  

maj/P3

BIDI: Arabic paths are not diplsyed in the Paths and Symbols tab

59408

RESO FIXED

nor/P3

BIDI: Build error when using Arabic named source folders

* 59416

NEW  

nor/P3

BIDI: Content Assist is not working with Arabic class names

China

Number State Sev/Pri Summary

58612

REOP

nor/P3

GB18030: Include paths can't be displayed in "Paths and Symbols" tab.

58613

CLOSED

nor/P3

GB18030: No "Manage Include files" tab exists in "C/C++ Make Project" properties.

58614

CLOSED (dup 52553)

nor/P3

GB18030: Can't build project which include GB18030 characters.

58775

NEW

nor/P3

GB18030: Selection search can't find method name which include GB18030 characters.

58776

NEW

nor/P3

GB18030: Selection search can't find context name which include GB18030 characters.

59035

CLOS INVAL

nor/P3

GB18030: [CTRL+SPACE] doesn't work for prompt.

 

 

Phase 4. Cultural Formatting

Have a look as these potential areas for problems as defects may come eventually if users see the UI presented in a locale-insensitive format, or cannot input numbers/dates, as they would expect. This isn’t an exhaustive list; just a heads up. We'll be testing these towards the end of May.

  1. Display Dates
    1. C/C++ Project properties: Info page; Last modified date
    2. CProjectsView context menu -> file properties dialog: Last modified date
    3. Properties View for file: last modified
    4. Debug view application start time.
    5. Configuration details page
    6. CDT Console run/debug start time.
  2. Sort Orders
    1. C-projects view: project names, filenames, symbol names
    2. Outline View: each type sorted in its group
    3. Outline View: Press sort button: sorts whole list
    4. Makefile Outline View
    5. C/C++ search results
    6. Variables view
    7. Breakpoint view
    8. Class Browser: Members view
  3. Search
    1. C/C++ Search: Using 0x35 (\ = yen sign in Japan)
    2. C/C++ Search: Using ignorable characters (space, -)
    3. C/C++ Search: Strength of search (case & accents)
    4. C/C++ Search: Decomposition of search (é ≠ e+acute in FULL decomposition)
    5. Content Assist: results matching at TERTIARY level (exact matches: case and accent)
    6. Content Assist: matching at PRIMARY level (inexact matches, ignores accents and case)
  4. Numbers Displayed
    1. Search results for > 1000 results
    2. Editor line numbers at bottom right of Eclipse
    3. Any number if Arabic numbers are chosen for display
    4. C/C++ Build Console Preferences: Valid range error for limit console output and tab width
    5. CProjectsView context menu -> file properties dialog: Size
    6. Properties View for file: size
  5. Numbers Input
    1. Accept Hindi numbers as input when using a locale that recognizes both Arabic and Hindi numbers. E.g. Arabic (Egypt).
    2. GDB MI debug preferences: timeouts
    3. C/C++ Build Console Preferences: limit console output
    4. C/C++ Build Console Preferences: display tab width

 

Cheers!

Any questions or concerns please do not hesitate to contact me. 

Tanya

twolff@xxxxxxxxxx


Back to the top