IP Library Granted Patent US 8,055,496
Granted Patent B2
US 8,055,496 · App. 11/933,554 · Granted Nov 8, 2011

Ensuring product correctness in a multilingual environment

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,055,496
App. No.
11/933,554
Granted
Nov 8, 2011
Kind
B2
Abstract

A language package system that prevents undesirable behaviors resulting from an incompatibility between a core package of a software product and its language packages is provided. The language package system executes when a user starts the execution of the core package on a computing device. The language package system retrieves a language package version number from the core package that indicates the version number of compatible language packages and an indication of the preferred language of the user. The language package system then determines whether the computing device has a compatible language package that is available. When the computing device has a compatible language package, the software product uses that language package. When the computing device has no compatible language package, the language package system then performs processing that factors in the unavailability of a compatible language package.

Claims (41)

1. A method in a computing device for accessing resources of a language package for a software product, the method comprising:

providing language packages, each language package having a version number and a language;

retrieving a language package version number of the software product that indicates the version number of language packages that are compatible with the software product;

retrieving a language preference associated with a user of the computing device;

for each of a plurality of language packages,

determining whether the language package has a language that is compatible with the retrieved language preference and has a version number that is compatible with the retrieved language package version number of the software product; and

upon determining that the language package has a language that is compatible with the retrieved language preference and has a version number that is compatible with the retrieved language package version number of the software product, indicating to use that language package during execution of the software product; and

upon determining that no language package has a language that is compatible with the retrieved language preference and has a version number that is compatible with the retrieved language package version number of the software product, performing processing to prevent otherwise undesirable behavior resulting from the unavailability of a compatible language package.

2. The method of claim 1 wherein the software product includes a default language package and the performing of the processing includes indicating to use the default language package during execution of the software product.

3. The method of claim 1 wherein the performing of processing includes downloading to the computing device a language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number.

4. The method of claim 3 wherein the language package is downloaded when the user approves of the downloading.

5. The method of claim 1 wherein each language package includes an error message with a distinguished identifier and the performing of the processing includes retrieving the error message with the distinguished identifier from a language package with a language that is compatible with the retrieved language preference and with a version number that is not compatible with the retrieved language package version number.

6. The method of claim 1 wherein the performing of the processing includes aborting the execution of the software product.

7. The method of claim 1 wherein each language package has a collection of resources and a version number identifying that collection of resources.

8. A computing device for identifying a language package for a software product, comprising:

a component that retrieves a language package version number that is compatible with the software product;

a component that retrieves a language preference associated with a user of a computing device;

a component that indicates to use a language package during execution of the software product when the computing device has a language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number; and

a component that, when the computing device has no language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number,

retrieves and displays an error message with a distinguished identifier from a language package with a language that is compatible with the retrieved language preference and with a version number that is not compatible with the retrieved language package version number;

attempts to download to the computing device a language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number;

when the language package is successfully downloaded, indicates to use the downloaded language package during execution of the software product; and

when the language package is not successfully downloaded, indicates to use a default language package of the software product.

9. The computing device of claim 8 wherein the default language package is shipped as part of a core package of the software product.

10. The computing device of claim 8 including when a compatible language package is not available, aborting execution of the software product.

11. The computing device of claim 8 wherein each language package has a collection of resources and a version number identifying that collection of resources.

12. A computer-readable storage device containing instructions for controlling a computing device to access resources of a language package for a software product, by a method comprising:

starting execution of the software product; and

during execution of the software product,

retrieving a language package version number that is compatible with the software product;

retrieving a language preference associated with a user of the computing device;

when the computing device has a language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, indicating to use that language package during execution of the software product and continuing with execution of the software product; and

when the computing device has no language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, aborting execution of the software product.

13. The computer-readable storage device of claim 12 wherein when the software product includes a default language package, the method further comprises indicating to use that language package, rather than aborting the execution of the software product.

14. The computer-readable storage device of claim 12 wherein when the computing device has no language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, the method further comprises downloading to the computing device a language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, rather than aborting execution of the software product.

15. The computer-readable storage device of claim 12 wherein each language package includes a message with a distinguished identifier and the method further comprises, prior to aborting execution of the software product, retrieving and displaying the message with the distinguished identifier from a language package with a language that is compatible with the retrieved language preference and with a version number that is not compatible with the retrieved language package version number.

16. The computer-readable storage device of claim 12 wherein each language package has a collection of resources and a version number identifying that collection of resources.

17. The computer-readable storage device of claim 12 wherein the method further comprises: when the software product includes a default language package, indicating to use that language package, rather than aborting the execution of the software product; and when the computing device has no language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, downloading to the computing device a language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, rather than aborting execution of the software product.

18. The computer-readable storage device of claim 17 wherein each language package includes a message with a distinguished identifier and the method further comprises, prior to aborting execution of the software product, retrieving and displaying the message with the distinguished identifier from a language package with a language that is compatible with the retrieved language preference and with a version number that is not compatible with the retrieved language package version number.

19. The computer-readable storage device of claim 12 wherein each language package includes a message with a distinguished identifier and the method further comprises, prior to aborting execution of the software product, retrieving and displaying the error message with the distinguished identifier from a language package with a language that is compatible with the retrieved language preference and with a version number that is not compatible with the retrieved language package version number; and wherein when the software product includes a default language package, indicating to use that language package, rather than aborting the execution of the software product.

20. The computer-readable storage device of claim 19 wherein the method further comprises: when the computing device has no language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, downloading to the computing device a language package with a language that is compatible with the retrieved language preference and with a version number that is compatible with the retrieved language package version number, rather than aborting execution of the software product.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2008
From: BALASUBRAMANYAN, BALAJI; DAVYDOK, DMITRI
To: MICROSOFT CORPORATION
Reel/Frame 020411/0050 →
Continuity (1)
Related Publication 20090119092A1 · May 7, 2009