Difference between revisions of "Internationalization/feasibility"
| (17 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | * | + | [[Category:Internationalization]] |
| + | [[Category:Internationalization SA project]] | ||
| + | |||
| + | ==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. | ||
| + | |||
| + | 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: <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== | ||
| + | |||
| + | ====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 | ||
| + | ** STRING_32: [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] | ||
Latest revision as of 09: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]

