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