Computer Software Language Determination via Global Position System (GPS)
Original Publication Date: 2002-Jan-01
Included in the Prior Art Database: 2003-Jun-20
This invention comprises a computer system equipped with a GPS receiver and an Application Program Interface, implemented in the host firmware and/or operating system (or wherever makes the most sense) for probing the current GPS coordinates and determining the correct language settings for these coordinates. Computer equipment is sold all around the world, and the operating system and application software have to be installed with language support for the particular region where the software is being used. In some cases, the user must locate the language CDs appropriate for the region. In other cases, a single CD will have multiple versions of the software in different languages. In more elegant implementations, the base software is the same and generic hooks are provided into message catalogs so that when messages are printed to the user, the correct language is chosen based on which language message catalog these hooks are pointing to. In general, the user has to configure the correct language at the time of installation. GPS satellites circle the earth twice a day in a very precise orbit and transmit signal information to earth. GPS receivers take this information and use triangulation to calculate the receiver's exact location. A GPS receiver must be locked on to the signal of at least three satellites to calculate a 2D position (latitude and longitude) and track movement. With four or more satellites in view, the receiver can determine the user's 3D position (latitude, longitude and altitude). When software is installed on a system, a query could be performed to the GPS API to determine the current GPS coordinates. Alternatively, the API could report the language setting for the current GPS coordinates, freeing the application from having to implement this logic. The API for such operations could be established as an industry standard, allowing all software to support this standard API to avoid interoperability issues.