Internationalization/feasibility
Jump to navigation
Jump to search
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]