Difference between revisions of "Internationalization/feasibility"
(10 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Internationalization]] | ||
+ | [[Category:Internationalization SA project]] | ||
+ | |||
==Summary== | ==Summary== | ||
Our task is to find out the possible main difficulties that will be encoutered during both design and implementation of the [[internationalization|i18n]] framework. | Our task is to find out the possible main difficulties that will be encoutered during both design and implementation of the [[internationalization|i18n]] framework. | ||
Line 7: | Line 10: | ||
* runtime generated/composed strings with variables | * runtime generated/composed strings with variables | ||
− | ==String types and their possible | + | ==String types and their possible difficulties== |
+ | ===Constant String=== | ||
+ | Workbench_name: <font color="Blue">STRING is</font> <font color="Green">"EiffelStudio"</font> | ||
+ | |||
+ | ====Difficulties==== | ||
+ | ====Possible Solution==== | ||
+ | |||
+ | ===String with label specific syntax=== | ||
+ | m_to_lower: <font color="Blue">STRING is</font> <font color="Green">"Set to &Lowercase%TCtrl+Shift+U"</font> | ||
+ | |||
+ | ====Difficulties==== | ||
+ | * Bad readability for the traducer | ||
+ | * Shortcuts conflict | ||
+ | ====Possible Solution==== | ||
+ | |||
+ | ===Composed String=== | ||
+ | m_About:<font color="Blue">STRING is</font> | ||
+ | <font color="Blue">once</font> | ||
+ | <font color="Blue">Result</font>:<font color="Green">"&About"</font><font color="Red">+</font> Workbench_name <font color="Red">+</font><font color="Green"> "..."</font> | ||
+ | <font color="Blue">end</font> | ||
+ | |||
+ | ====Difficulties==== | ||
+ | ====Possible Solution==== | ||
+ | |||
+ | ===Runtime composed String containging queries=== | ||
+ | w_Project_directory_not_exist (file_name, dir_name: <font color="Blue">STRING</font>):<font color="Blue">STRING is</font> | ||
+ | <font color="Blue">do</font> | ||
+ | <font color="Blue">create Result</font>.make(256) | ||
+ | <font color="Blue">Result</font>.append (<font color="Green">"%NCannot open project '"</font>) | ||
+ | <font color="Blue">Result</font>.append (file_name) | ||
+ | <font color="Blue">Result</font>.append (<font color="Green">"'.%N%NMake sure you have a complete EIFGEN directory in '"</font>) | ||
+ | <font color="Blue">Result</font>.append (dir_name) | ||
+ | <font color="Blue">Result</font>.append (<font color="Green">"'."</font>) | ||
+ | <font color="Blue">end</font> | ||
+ | |||
+ | ====Difficulties==== | ||
+ | ====Possible Solution==== | ||
==Important Classes== | ==Important Classes== | ||
+ | |||
+ | ====Defining and formatting Strings==== | ||
* INTERFACE_NAMES: Include all the strings of the ES interface (buttons, labels, shortcuts...) | * INTERFACE_NAMES: Include all the strings of the ES interface (buttons, labels, shortcuts...) | ||
* TEXT_FORMATTER: Text formatter for all text output formatting | * TEXT_FORMATTER: Text formatter for all text output formatting | ||
+ | * 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...) | ||
+ | |||
+ | ====Implementations==== | ||
* STRING_GENERAL: "Common ancestors to all STRING classes." [base] | * STRING_GENERAL: "Common ancestors to all STRING classes." [base] | ||
Line 23: | Line 67: | ||
* KS_STRING: Portable interface for class STRING [Gobo] | * KS_STRING: Portable interface for class STRING [Gobo] | ||
* cluster: "gobo.kernel.unicode" | * cluster: "gobo.kernel.unicode" | ||
− | |||
− | |||
* WIDE_CHARACTER: Unicode characters, with comparison operations [base] | * WIDE_CHARACTER: Unicode characters, with comparison operations [base] |
Latest revision as of 08:30, 15 August 2006
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
Runtime composed String containging queries
w_Project_directory_not_exist (file_name, dir_name: STRING):STRING is do create Result.make(256) Result.append ("%NCannot open project '") Result.append (file_name) Result.append ("'.%N%NMake sure you have a complete EIFGEN directory in '") Result.append (dir_name) Result.append ("'.") end
Difficulties
Possible Solution
Important Classes
Defining and formatting Strings
- INTERFACE_NAMES: Include all the strings of the ES interface (buttons, labels, shortcuts...)
- TEXT_FORMATTER: Text formatter for all text output formatting
- 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...)
Implementations
- 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
- UC_STRING: Unicode strings [gobo]
- STRING_32: [base]
- STRING: [base]
- UC_CHARACTER: Unicode characters [gobo]
- KS_STRING: Portable interface for class STRING [Gobo]
- cluster: "gobo.kernel.unicode"
- WIDE_CHARACTER: Unicode characters, with comparison operations [base]