IP Library › Granted Patent US 10,949,230
Granted Patent B2
US 10,949,230 · App. 13/485,917 · Granted Mar 16, 2021

Language lists for resource selection based on language text direction

Inventors: Rylan Michael Hawkins (Seattle, WA); Eric Scott Albright (Sammamish, WA); Nick Beal (Bothell, WA); Peter Geoffrey Constable (Redmond, WA); Wade H. Curtiss (Kirkland, WA); Erik Fortune (Redmond, WA); Andrew Stuart Glass (Seattle, WA); Samuel Aaron Beard (Snohomish, WA); Microsoft Technology Licensing (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/454G06F16/3337G06F16/955G06F40/40G06F40/58
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 10,949,230
App. No.
13/485,917
Granted
Mar 16, 2021
Kind
B2
Abstract

A device may be configured to enable a user to select a language, and may fulfill resource requests from applications by selecting, from among resources respectively associated with a language, a resource associated with the selected language of the user. However, this resource selection process may be inadequate if the user selects multiple languages; if a resource associated with the selected language of the user is unavailable, but resources associated with related languages are available; or if the user and/or the application specifies an ordering for the selection among the languages. Presented herein are techniques for performing the resource selection by, for respective languages selected by the user, calculating a weight representing a suitability of the language for the resource request; generating a selection order of the selected languages according to the weights; and selecting a resource based on the position of the associated language in the selection order.

Claims (83)

1. A method of selecting a resource based on language, the method comprising:

executing, on a processor of a multilingual device, instructions that cause the multilingual device to:

receive a user order of at least two languages; and

fulfill a resource request by an application on the multilingual device for a resource from a resource set that contains resources in a plurality of languages, wherein the resource request specifies a suitability logic indicating a degree of suitability with the application for individual languages based on compatibility with the application of a text direction, a text, or a font associated with the individual languages by:

for each of the plurality of languages, calculating a weight representing the degree of suitability of the respective one of the plurality of languages for the resource request according to the suitability logic;

generating, by the multilingual device, a selection order according to weights of the respective ones of the plurality of languages;

meshing the user order and the selection order to identify, among the languages that are associated with at least one resource of a resource set, a selected language;

selecting, by an operating system of the multilingual device, a selected resource from the resource set that is associated with the selected language; and

presenting the selected resource by the application on an output device of the multilingual device.

2. The method of claim 1 , wherein:

the resource request further identifies a requested language; and

the degree of suitability is further based on a proximity of the selected language to the requested language of the resource request.

3. The method of claim 2 , wherein:

the plurality of languages are each associated with a region; and

the proximity of the selected language to the requested language further comprises: a relationship of a region of the selected language and a region of the requested language.

4. The method of claim 2 , wherein:

the selected language further comprises a language variant of the requested language; and

the proximity of the selected language to the requested language further comprises: a variant proximity of the language variant to the requested language.

5. The method of claim 2 , wherein:

the requested language and the selected language have a proximity with a third language; and

the proximity of the selected language to the requested language further comprises: the proximity of the selected language to the requested language through the third language.

6. The method of claim 2 , wherein:

resources of the resource set are associated with a script; and

calculating the weight of the respective one of the plurality of languages further comprises: comparing a script of the selected language with a script of the requested language.

7. The method of claim 1 , wherein execution of the instructions further causes the multilingual device to select a default language from the at least two languages.

8. The method of claim 7 , wherein the default language further comprises a language associated with a distribution region of the multilingual device.

9. The method of claim 1 , wherein

executing the instructions further cause the multilingual device to:

receive an adjustment request to adjust a weight calculation of a weight for a one of the plurality of languages,

generate a weight calculation adjustment; and

calculating the weight further comprises: for the one of the plurality of languages associated with the weight calculation adjustment, calculating the weight of the selected language for the resource request using the weight calculation adjustment.

10. The method of claim 9 , wherein:

the adjustment request further specifies a request type; and

calculating the weight further comprises:

comparing a request type of the resource request with the request type of the adjustment request; and

if the request type of the resource request matches the request type of the adjustment request, calculating the weight of the one of the plurality of languages for the resource request using the weight calculation adjustment.

11. The method of claim 1 , wherein the resource that is available in the plurality of languages is selected from a resource type set comprising:

a text;

an image;

a video;

an audio recording;

a file; and

a data format.

12. The method of claim 1 , wherein meshing the user order and the selection order further comprises:

for respective ones of the plurality of languages, combining a first order of the language in the user order and a second order of the language in the selection order to produce a meshed order; and

identifying the selected language as a language having a highest meshed order among languages available on the multilingual device.

13. The method of claim 1 , wherein:

a first language further comprises a fallback language for a second language of the plurality of languages; and

calculating the weight of the respective one of the plurality of languages further comprises: calculating the weight of the first language in view of a weight calculated for the second language.

14. The method of claim 1 :

the suitability logic comprising a requesting order of languages; and

calculating the weight comprises: for the respective ones of the plurality of languages, calculate the weight representing the degree of suitability of the respective ones of the plurality of languages for the resource request according to a position of a language in the requesting order of languages.

15. The method of claim 1 , wherein the user order further

identifies an override language to select for the resource request, and

the method further comprises adjusting the user order for the resource request to comprise only the override language.

16. The method of claim 1 , wherein generating the selection order further comprises: responsive to failing to identify at least one language that is suitable for the resource request, set the selection order as only a default language specified by the application.

17. A computer-readable storage device comprising instructions that, when executed on a processor of a multilingual device, cause the multilingual device to select a resource based on language, by:

receiving a user order of at least two languages; and

fulfilling, by an operating system of the multilingual device, a resource request by an application on the multilingual device for a resource from a resource set that contains resources in a plurality of languages, wherein the resource request specifies a suitability logic indicating a degree of suitability with the application for individual languages based on compatibility with the application of a text direction, a text, or a font associated with the individual languages by:

for each of the plurality of languages, calculating a weight representing the degree of suitability of the respective one of the plurality of languages for the resource request according to the suitability logic;

generating, by the multilingual device, a selection order according to weights of the respective ones of the plurality of languages;

meshing the user order and the selection order to identify, among the languages that are associated with at least one resource of the resource set, a selected language;

selecting, by the operating system of the multilingual device, a selected resource from the resource set that is associated with the selected language; and

presenting the selected resource by the application on an output device of the multilingual device.

18. The computer-readable storage device of claim 17 , wherein the instructions further cause the multilingual device to select a resource based on language, by:

receiving an adjustment request to adjust a weight calculation of a weight for a one of the plurality of languages;

generating a weight calculation adjustment; and

calculating the weight further comprises: for the one of the plurality of languages associated with the weight calculation adjustment, calculating the weight of the selected language for the resource request using the weight calculation adjustment.

19. A multilingual device that selects a resource based on language, comprising:

a resource set comprising resources in a plurality of languages; and

a processor; and

a memory storing instructions that, when executed by the processor, cause the multilingual device to:

receive a user order of at least two languages; and

fulfill, by operating system of the multilingual device, a resource request by an application on the multilingual device for a resource from the resource set, wherein the resource request specifies a suitability logic indicating a degree of suitability with the application for individual languages based on compatibility with the application of a text direction, a text, or a font associated with the individual languages by:

for each of the plurality of languages, calculating a weight representing the degree of suitability of the respective one of the plurality of languages for the resource request according to the suitability logic;

generating, by the multilingual device, a selection order of the plurality of languages according to weights of respective ones of the plurality of languages;

meshing the user order and the selection order to identify, among the languages that are associated with at least one resource of the resource set, a selected language;

selecting, by the operating system of the multilingual device, a selected resource from the resource set that is associated with the selected language; and

presenting the selected resource by the application on output device of the multilingual device.

20. The multilingual device of claim 19 , wherein the instructions further cause the multilingual device to:

receive an adjustment request to adjust a weight calculation of a weight for a one of the plurality of languages;

generate a weight calculation adjustment; and

calculating the weight further comprises: for the one of the plurality of languages associated with the weight calculation adjustment, calculating the weight of the selected language for the resource request using the weight calculation adjustment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2012
From: HAWKINS, RYLAN MICHAEL; ALBRIGHT, ERIC SCOTT; BEAL, NICHOLAS A.; CONSTABLE, PETER GEOFFREY; CURTISS, WADE H.; FORTUNE, ERIK; GLASS, ANDREW STUART; BEARD, SAMUEL AARON
To: MICROSOFT CORPORATION
Reel/Frame 028496/0910 →
Continuity (1)
Related Publication 20130325435A1 · Dec 5, 2013
Cited By (1)
US 12,505,317