CA2275169A1 - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
CA2275169A1
CA2275169A1 CA002275169A CA2275169A CA2275169A1 CA 2275169 A1 CA2275169 A1 CA 2275169A1 CA 002275169 A CA002275169 A CA 002275169A CA 2275169 A CA2275169 A CA 2275169A CA 2275169 A1 CA2275169 A1 CA 2275169A1
Authority
CA
Canada
Prior art keywords
language
signals
unit
hook
mufti
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002275169A
Other languages
French (fr)
Inventor
Paul Bacon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Honeywell Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Oy filed Critical Honeywell Oy
Publication of CA2275169A1 publication Critical patent/CA2275169A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23097Messages to operator in mother tongue, selection out of different languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Computer installation (1) for a paper pulping and manufacturing process has a central processing unit (2) which receives data from a variety of sensing locations and instructions inputs. Output signals from unit (2) are handled by user-interface unit (4) (UIU) and passed on to graphics card (5) for display screen (3). Multi-language processor unit (MLPU) (6) has a number of data stores (7) each assigned to a specific different language. When MLPU (6) receives a request for another language and notes that a display, with script to be changed, is about to be created and displayed, the MLPU inserts language-modification signals (LM) into the U1 signal by attaching the LM signals to the CBT hook.

Description

COMPUTEF~ SYSTEM
The present invention relates to a computer system incorporating a multi-language facility and to a method of operating a multi-language facility in a computer system.
The wide-spread use of computer systems, especially by non-professionals, has meant that user-interfaces (sometimes referred to as windows environments) are increasingly important and valuable in ensuring fast and easy use of a number of software packages and in particular the switching between them. Furthermore, many software packages, especially those for operating systems) are marketed globally, requiring displayed script to be provided in appropriate languages.
One approach to attaining this requirement for displayed script to be available in a suitable language or dialect is to provide a number of language sub-routines in the source code; however, this requires substantial costly programming time, and makes the source code program large and cumbersome, inevitably increasing the likelihood of errors occurring, and consequently making it harder to detect and correct errors.
It is also hard to predict, at the initial development stage, which languages will be required and inevitably there is an incentive to minimise the ° up-front cost and development time required by limiting multi-language capabilities. However, this means than the subsequent addition of multi-language capability in thE~ source code programs SUBSTITUTE SHEET (RULE 26) tends to be very expensive to do, particularly when a wide choice of many languages and/or dialects are required. Of course, in order to add multi-language capability at this stage, the programmer needs to have a detailed knowledge of the source code program and needs to ensure that the software for the capability is in the correct format.
The present invention provides a mufti-language computer system comprising a central processor unit, a mufti-language unit for providing script in any one of a number of languages for display on a display unit, characterised in that the mufti-language unit comprises means for applying language-modification signals to a hook element of signals for input to the display unit.
Preferably, one or more of the following features are also included:-means to apply language-modification signals to signals for input to user-interface signals;
means to remove language-modification signals from signals for input to the display unit andlor user-interface signals;
the mufti-language unit utilises a hook in signals for input to the display unit and/or user-interface signals;
the mufti-language unit utilises a CBT hook procedure and/or a MsgProc hook procedure;
a plurality of data stores, each containing a respective generic language and any dialects of that language.
SUBSTITUTE SHEET (RULE 2fi) In this way, the present invention provides for the incorporation of a capability for additional languages after initial development without any substantial modification to the source code.
The present invention also provides a method of operating a multi-language computer system comprising a central processor unit and a multi-language unit for providing script in any one of a number of languages for display on a display unit) the method characterised by applying language-modification signals to a hook element of signals for input to the display unit.
The present invention is suitable i:or use in any form of computer system which utilises a user-interface, but is particularly applicable to computer systems which are used in industrial applications, for example for the monitoring and/or control of manufacturing, processing or materials refining operations.
A CBT hook procedure is a tool to help end users learn how to use the software they have developed, and demonstrates the basic functionality of the application and allows the user to learn about the advanced features and functions of the application; the CBT hook procedure is called by the system before the system completes many common functions, including: activating) creating, destroying, minimising, maximising, sizing or moving a window;
completing a system command; removing a mouse or keyboard event from the system message queue; setting the keyboard focus; or synchronising with the system message queue.
SUBSTITUTE SHEET (RULE 26) a In CBT hook procedure, once a hook is installed, it can be called at various stages during the life cycle of the windows of an application. For each phase of that life cycle, the CBT hook is called and supplied with a message indicating the current state of the window. The language facility responds inside the hook to the messages of interest, which are HCTB-CREATWND
(Create the window)) HCBT_ACTIVATE (Draw the window) and HCBT_DESTROYWND (Destroy the window).
A MsgProc hook procedure is a tool used to monitor messages posted to the applications message queue where they can be intercepted, examined and modified as required) but not discarded.
The present invention preferably uses a CBT hook or Msg Proc hook, but can use other hooks.
Prior art multi-language facilities do not utilise these hooks.
The present invention may also provide a mufti-language computer system comprising a central processor unit, a mufti-language unit for providing script in any one of a number of languages for display on a display unit, the mufti-language unit comprising means for using language-modification signals in association with signals for input to the display unit, the system characterised in that the mufti-language unit comprises means to remove language- modification signals from signals for input to the display unit.
Thus the present invention may also provide a method of operating a mufti-language computer system comprising a central SUBSTITUTE SHEET (RULE 26) processor unit and a multi-language unit for providing script in any one of a number of languages for display on a display unit, the method comprising using language-modification signals in association with signals for input to the display unit, the method characterised) by removing language-modification 5 signals from signals for input to the display unit.
In order that the invention may more readily be understood, a description is now given, by way of example only reference being made to the following sole Figure which is a schematic representation of part of a multi-language computer system incorporating the present invention.
In the sole accompanying Figure, there is shown a computer installation for the control of a paper pulping and manufacturing process having more than 1000 different principal operations. Each operation relates to a distinct action of e.g. a valve, motor or pump in a paper machine; typically a paper machine may have over I00 operations. The installation 1 has a central processing unit 2 which receives data from many sensin;~ locations throughout the operations and any instructions input at a number of user consoles) each including a display screen 3. For ease of explanation, only one display screen 3 is shown in the Figure.
The central processing unit 2 operates the Windows NT operating system and the other software packages used in installation 1, the output - signals from all of which are handled by a user-interface unit 4 (UILJ) such that signals as required are p<~ssed on to a graphics SUBSTITUTE SHEET (RULE 26j card 5 for suitable processing for display screen 3 resulting in a window being displayed there.
A multi-language processor unit (MLPU) 6 has a number of data stores 7 each assigned to a specific different language and monitors the signals (hereafter called UI signals) output from user-interface unit 4. When MLPU 6 receives a request for another language and when the MLPU notes (by the presence of a CBT hook) that a display, with script to be changed to a different language, is about to be created and displayed, the MLPU accesses the appropriate data store 7, and then inserts language-modification signals (hereinafter called LM signals) into the U1 signal by attaching the LM signals to the CBT hook of that UI signal. In this way, the UI signal is changed such that the text once displayed on screen 3 is in the requested language.
Attachment of the LM signal is done by MLPU 6 following the instructions in the window handle (HWND) of the UI signal, and then MLPU 6 checks if there is a subsequent hook in the UI signal to which the final part of the LM signal is to be attached. The window handle HWND is used to instigate a subclassing routine for the attached LM signal, thereby ensuring easy and quick restoration of the original UI signal when required, with minimal source code changes.
In this way, a change of language displayed on screen 3 is handled dynamically during running, and does not involve operations implemented by CPU 2 at the operating system level.
SUBSTITUTE SHEET (RULE 26) In a varient, MLPU 6 inserts the LM signals to the signals output from CPU 2 before they pass to UlU 4.
SUBSTITUTE SHEET (RULE 26) .a WO 98/28682 PCTlGB97/03374 MLPU 6 handles the language-changing for a menu as follows: upon noting either message WM_INITMENU or WM MENUREFRESH in a GetMsg hook of a UI signal, MLPU 6 uses the command number of that menu (disregarding command numbers for any sub-menus or fields) to search for, and extract from, the appropriate store 7 the translation of that menu. If the store does not have a translation of the menu, then appropriate LM signals have to be created piecemeal.
The procedure of the invention in more details is as follows:-When preparing, for display, a window to have changed-language, 1) watch for the CBT base unit in CPU 2 to be called when a new window is about to be created 2) check if the window is one requiring language modification 3) if yes, then chain into the windows code for future use 4) Allow the CBT hook to continue its normal execution 5) wait until the CBT is called to display the window C) enable the code which was chained in step 3 7) make the language modifications 8) allow the CBT hook to continue and display the new texts.
When handling, after display, a window with changed-language) 1) wait for the CBT hook to be called when the window is about to be destroyed.
2) remove the chained code which was added in previous step 3.
SUBSTITUTE SHEET (RULE 26) Conventionally, the normal intended use of a CBT hook is to ensure that information on what is happening is c:onveyed to the user. However, the present invention utilises the hooks procedure in an SUBSTITUTE SHEET (RULE 26) s active manner thereby to achieve the language changing function, and not merely a passive way of monitoring events.
The present invention is distinguished over conventional multi-language methods in that additional language code is added to the program without the 5 windows knowledge. The significant advantage is that because it is known that the code exists and where it is, language changes by the user can be fed directly to this new chained code immediately and force the window to have its text changed accordingly in a transparent manner at any time.
As indicated hereinbefore, MLPU 6 operates to change the text not only 10 to and between different languages (eg. English, French, German), but also dialects (e.g. British English, US English; or European French, Canadian French); thus the operation of MLPU 6 and data stores 7, and their relative arrangement, is designed to facilitate and expedite selection of languages/dialects and also the switching therebetween. Thus a data store 7 contains information for different dialects (e.g. British English and US
English) of a single generic language while different generic languages (e.g.
English and French) are in different stores. If a user requests a dialect for which MLPU 6 has no capability (e.g. Brazilian Spanish), then the generic language (i.e. in this example, European Spanish) is offered; if the generic language is not available, then US English is offered. MLPU 6 can be instructed to provide a different sequence e.g. from one dialect to another dialect in the same language (for example from Cajun French to Canadian French), from one dialect to another generic SUBSTITUTE SHEET (RULE 26) WO 98/28682 PCT/GB9'7/03374 language (for example from Brazilian Spanish to English) or from one dialect to another dialect in a different generic language (for example from Canadian French to British English); the MLPU 6 can also be instructed to offer a specific alternative language (or dialect) when a particular unavailable generic language is requested e.g. if Portuguese is requested but not available, then European Spanish (rather than US English as normally provided) is offered.
Clearly, MLPU 6 is able to provide LM signals for languages in all scripts) for example incorporating English, Greek, Russian, Hebrew) Arabic, Japanese or Chinese characters.
Installation 1 of the present invention may use the Msg Proc hook in addition to and/or as an alternative to the CBT hook.
The MsgProc hook procedure is an application-defined or library-defined callback function that the system calls whenever the GetMessage function has retrieved a message from an application message queue. Before passing the retrieved message to the destination window procedure, the system passes the message to the hook procedure.
The MsgProc hook procedure can examine or modify the message. After the hook procedure returns control to the system, the GetMessage function returns the message, along with any modifications, to the application that originally called it.
An application installs this hook procedure by specifying the WH-GETMESSAGE hook type and the address of the hook procedure in a call to the SetWindowsHookEx function.
SUBSTITUTE SHEET (RULE 26) MsgProc is a placeholder for the application-defined or libary-defined function name.
SUBSTITUTE SHEET (RULE 26)

Claims (28)

1. A multi-language computer system (1) comprising a central processor unit {2), a multi-language unit (6) for providing script in any one of a number of languages for display on a display unit (3), characterised in that the multi-language unit (6) comprises means (6) for applying language-modification signals (LM) to a hook element of signals (UI) for input to the display unit (3).
2. A system according to Claim 1 characterised in that the multi-language unit (6) comprises means (6) to apply language-modification signals (LM) to a hook element of user-interface signals (UI).
3. A system according to Claim 1 or 2, characterised in that the mufti-language unit (6) comprises means (6) to remove language-modification signals (LM) from signals (UI) for input t,o the display unit (3).
4. A system according to any preceding Claim characterised in that the mufti-language unit (6) comprises means (6) to remove language-modification signals (LM) from user-interface signals (UI).
5. A system according to any preceding Claim characterised in that the mufti-language unit (6) utilises a CBT hook.
6. A system according to any preceding Claim characterised in that the mufti-language unit (6) utilises a MsgProc hook.
7. A system according to any preceding Claim characterised in that the mufti-language unit (6) comprises a plurality of data stores (7) each containing a respective generic language and any dialects of that language.
8. A mufti-language computer system (1) comprising a central processor unit (2), a mufti-language unit (6) for providing script in any one of a number of languages for display on a display unit (3), the multi-language unit comprising means (6) for using language-modification signals (LM) in associationn with signals (UI) for input to the display unit (3), the system characterised in that the mufti-language unit (6) comprises means (6) to remove language- modification signals (LM) from signals (UI) for input to the display unit (3).
9. A system according to Claim 8 characterised in that the multi-language unit (6) comprises means (6) to remove language modification signals (LM) from the user-interface signals (UI).
10. A system according to Claim 8 or 9 characterised in that the mufti-language unit (6) utilises a hook iii a single (UI) for input to the display unit (3).
11. A system according to any of Claims 8 to 10 characterised in that the multi-language unit (6) utilises a hook in a user-interface signal (UI).
12. A system according to any of Claims 8 to 11 characterised in that the multi-language unit (6) utilises a CBT hook.
13. A system according to any of Claims 18 to 12 characterised in that the mufti-language unit (6) utilises a MsgProc hook.
14. A system according to any of Claims 8 to 13 characterised in that the multi-language unit {6) comprises a plurality of data stores (7) each containing a respective generic language and any dialects of that language.
15. A method of operating a mufti-language computer system (1) comprising a central processor unit (2) and a multi-language unit (6) for providing script in any one of a number of languages for display on a display unit (3), the method characterised by applying language-modification signals (LM) to a hook element of signals (UI) for input to the display unit (3).
16. A method according to Claim 15 characterised by applying language-modification signals (LM) to a hook element of user interface signals (UI).
17. A method according to Claim 15 or 16 characterised by removing language-modification signals (LM) from signals (UI) for input to the display unit (3).
18. A method according to any of Claims 15 to 18 characterised by removing language-modification signals (LM) from user-interface signals (UI).
19. A method according to any of Claims 15 to 18 characterised by utilising a CBT hook.
20. A method according to any of Claims 15 to 19 characterised by utilising a Msg Proc hook.
21. A method according to any of Claims 15 to 20 characterised by storing separately each generic language and any dialects of that language.
22. A method of operating a multi-language computer system (1) comprising a central processor unit (2) and a multi-language unit (6) for providing script in any one of a number of languages for display on a display unit (3), the method comprising using language-modification signals (LM) in association with signals (UI) fir input to the display unit (3), the method characterised by removing language-modification signals (LM) from signals (UI) for input to the display unit (3).
23. A method according to Claim 22 characterised by removing language-modification (LM) signals from user-interface signals (UI).
24. A method according to Claim 22 or 23 characterised by utilising a hook in signals (UI) for input to the display unit (3).
25. A method according to any of Claims 22 to 24 characterised by utilising a hook in user-interface signals (UI).
26. A method according to any of Claims 22 to 25 characterised by utilising a CBT hook.
27. A method according to any of Claims 22 to 26 characterised by utilising a Msg Proc hook.
28. A method acording to any of Claims 22 to 27 characterised by storing separately each generic language and any dialects of that language.
CA002275169A 1996-12-20 1997-12-19 Computer system Abandoned CA2275169A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9626576.4 1996-12-20
GB9626576A GB2320593A (en) 1996-12-20 1996-12-20 Multi-language computer system
PCT/GB1997/003374 WO1998028682A2 (en) 1996-12-20 1997-12-19 Multilingual computer system

Publications (1)

Publication Number Publication Date
CA2275169A1 true CA2275169A1 (en) 1998-07-02

Family

ID=10804812

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002275169A Abandoned CA2275169A1 (en) 1996-12-20 1997-12-19 Computer system

Country Status (6)

Country Link
EP (1) EP1008040A2 (en)
JP (1) JP2001508895A (en)
AU (1) AU7875598A (en)
CA (1) CA2275169A1 (en)
GB (1) GB2320593A (en)
WO (1) WO1998028682A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19835920C2 (en) * 1998-08-07 2001-08-16 Viessmann Werke Kg Monitoring and operating device for heating systems
US6684264B1 (en) * 2000-06-16 2004-01-27 Husky Injection Molding Systems, Ltd. Method of simplifying machine operation
DE20300697U1 (en) * 2003-01-16 2003-03-20 Siemens Ag Drive control operator terminal
JP5100798B2 (en) * 2010-08-18 2012-12-19 キヤノン株式会社 Information processing apparatus, information processing method, and program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4365315A (en) * 1980-09-08 1982-12-21 Kearney & Trecker Corporation System for multilingual communication of computer-specified aural or visual control messages in an operator-designated language
EP0121071B1 (en) * 1983-03-30 1990-08-22 International Business Machines Corporation Concurrent multi-lingual use in data processing systems
US4595980A (en) * 1983-07-27 1986-06-17 International Business Machines Corp. Interactive data processing system having concurrent multi-lingual inputs
JPH01266656A (en) * 1988-04-18 1989-10-24 Nec Corp Message managing system
US5428772A (en) * 1991-10-01 1995-06-27 Prime Computer, Inc. Data processing system providing user interaction in multiple natural languages
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
US5434776A (en) * 1992-11-13 1995-07-18 Microsoft Corporation Method and system for creating multi-lingual computer programs by dynamically loading messages
CA2138626A1 (en) * 1993-12-23 1995-06-24 Timothy L. Smokoff Method and system for providing multilingual text in a electronic medical device

Also Published As

Publication number Publication date
JP2001508895A (en) 2001-07-03
EP1008040A2 (en) 2000-06-14
WO1998028682A2 (en) 1998-07-02
GB9626576D0 (en) 1997-02-05
GB2320593A (en) 1998-06-24
WO1998028682A3 (en) 1999-10-21
AU7875598A (en) 1998-07-17

Similar Documents

Publication Publication Date Title
US5715463A (en) Installation utility for device drivers and utility programs
US6496203B1 (en) Standardized and application-independent graphical user interface components implemented with web technology
US6401134B1 (en) Detachable java applets
US6802055B2 (en) Capturing graphics primitives associated with any display object rendered to a graphical user interface
US6275790B1 (en) Introspective editor system, program, and method for software translation
US6311151B1 (en) System, program, and method for performing contextual software translations
US8307357B2 (en) Methods and apparatus for customizing user-interface control in existing application
EP0816991B1 (en) Method and system for providing feedback information on a graphical user interface
US10061575B2 (en) Managed execution environment for software application interfacing
US20010005852A1 (en) Active debugging environment for applications containing compiled and interpreted programming language code
WO2002088916A2 (en) Method and apparatus for interoperation between legacy software and screen reader programs
KR20010066932A (en) A method for editing textual data for a software program, computer system and program product thereof
US20060090138A1 (en) Method and apparatus for providing DHTML accessibility
Smyth Android Studio 3.2 Development Essentials-Android 9 Edition: Developing Android 9 Apps Using Android Studio 3.2, Java and Android Jetpack
EP1333374A1 (en) Dynamic generation of language localized and self-verified Java classes using XML descriptions and static initializers
US20030001892A1 (en) Property editor graphical user interface apparatus, method and computer program product
Morris Delphi Made Simple
AU748105B2 (en) System to associate control with applications using drag and drop interface
Brunet et al. Accessibility requirements for systems design to accommodate users with vision impairments
CA2275169A1 (en) Computer system
Smyth Android Studio 3.0 Development Essentials-Android 8 Edition
Smyth Android Studio 3.6 Development Essentials-Java Edition: Developing Android 10 (Q) Apps Using Android Studio 3.6, java and Android Jetpack
Smyth Android Studio 4.2 Development Essentials-Java Edition: Developing Android Apps Using Android Studio 4.2, Java and Android Jetpack
JP2001318796A (en) Program execution control method using internal and external event driven system, recording medium and program preparation support system
US20020008717A1 (en) Input device, interface preparation system, data processing method, storage medium, and program transmission apparatus

Legal Events

Date Code Title Description
FZDE Discontinued