Internationalization/feasibility

Revision as of 03:25, 1 May 2006 by Kiwi (Talk | contribs)

Summary

Our task is to find out the possible main difficulties that will be encoutered during both design and implementation of the i18n framework.

Main focuses are:

  • state of the Unicode implementation
  • strings usage in Vision2
  • runtime generated/composed strings with variables

String types and their possible difficulties

Constant String

Workbench_name: STRING is "EiffelStudio"

Difficulties

Possible Solution

String with label specific syntax

m_to_lower: STRING is "Set to &Lowercase%TCtrl+Shift+U"

Difficulties

  • Bad readability for the traducer
  • Shortcuts conflict

Possible Solution

Composed String

m_About:STRING is
  once
       Result:"&About" + Workbench_name + "..."
  end

Difficulties

Possible Solution

Important Classes

  • INTERFACE_NAMES: Include all the strings of the ES interface (buttons, labels, shortcuts...)
  • TEXT_FORMATTER: Text formatter for all text output formatting
  • STRING_GENERAL: "Common ancestors to all STRING classes." [base]
    • STRING: [base]
      • UC_STRING: Unicode strings [gobo]
        • UC_UTF8_STRING: Unicode strings with UTF-8 encoding
    • STRING_32: [base]
  • UC_CHARACTER: Unicode characters [gobo]
  • KS_STRING: Portable interface for class STRING [Gobo]
  • cluster: "gobo.kernel.unicode"
  • ERROR: Error object sent by the compiler to the workbench. Ancestor class of all error classes (WARNING, SYNTAX_ERROR, INTERRUPT_ERROR, LACE_ERROR,EIFFEL_ERROR...)
  • WIDE_CHARACTER: Unicode characters, with comparison operations [base]