This application is related to U.S. patent application Ser. No. 10/066,465, titled ‘Method and Apparatus to Dynamically Provide Web Content Resources in an Internet Portal,’ filed Jan. 30, 2002.
This invention pertains to network access, and more particularly to accessing content over a network in a user's preferred language.
The Internet has become a resource of incredible power for many people. The ability to locate information on almost any subject, simply by using a computer, has made possible whole new avenues of research. Users can locate information on their subject of choice almost as simple as asking a question.
But language issues complicate the use of the Internet. Although English is currently the dominant language of the Internet, it is by no means the only language available. Content pages exist in just about every written language on the face of the planet.
Since few people can read every written language, different language versions of content pages can be provided. For example, a person who is comfortable communicating in English can view a content page written in English, whereas a Japanese native can view a content page prepared in Japanese.
The original way users specified the language in which they viewed material was by knowing the uniform resource locator (URL) of the content site written in that language. For example, if a site provided a content page in both English and Japanese formats, the user had to know the URL of the English content page to view the page in English, or the URL of the Japanese content page to view the page in Japanese.
But there is a significant handicap to the approach of having the user specify by URL the preferred language for display in the browser. If the user does not know the correct URL, the user cannot see the material in the preferred language.
More recently, browsers have added the capability to specify a preferred language as a setting for the browser. The user then only needs to know the URL for the main content page. Processing the URL by the browser includes sending the preferred language to the web site (as shown by arrow 135). This information is included in the header of a packet sent from the browser to the web site. Then, it becomes the responsibility of the web site to process the header information, determine the preferred language, and display the content page in the preferred language (assuming the web site includes the content page in the preferred language).
But still problems remain. Problems lie in defining the user's preferred language. Although the user does not need to specify for each content page the preferred language for display of the content page, the user still has to set the browser up to know the preferred language. This requires a manual step by the user on his computer. Further, every time the user changes computers, the browser on the new computer must be configured to know the preferred language. Finally, if the user uses a computer that is not dedicated to him (for example, the user works on a locally public machine or on machines dedicated primarily to other users), changing the preferred language would affect other users, perhaps to their displeasure (if the other users prefer a different language).
Problems also exist in displaying content to the user in the desired language. The earlier-described technique of assembling a content page with a unique URL for each different language is a straightforward solution, but has flaws. First, someone must craft a version of the content page in each possible language. The straightforward approach typically involves generating a master version of the content page in one language (e.g., English) and then translating the master version into all of the target languages. Given the number of languages that exist and the complexity of accurate translation of documents, this is by no means a simple task.
Second, when the content on the master version of the content page changes, the content on each of the translated versions must be changed to match. Again, given the number of languages and the complexity of accurate translation, this can be costly.
Third, a file naming convention, consistent across the entire network, is required. The user must know this naming convention, and must modify the URL of the content page to reflect the desired language. Conceivably, the task of modifying the URL can be shifted to the browser, but then the browser must be given specialized knowledge to know when not to modify a URL (e.g., when the user wishes to view a content page in a language other than the default). If the content provider does not conform to the file naming convention, then the user will not be able to access the content. In addition, if the content provider does not provide the content page in the language specified by the user, the user will be told that the content page does not exist, when it might exist in another language.
Accordingly, a need remains for a way to identify a user's preferred language without having to manually set a preferred language in a browser on a computer, and without the user having to specify language-specific content pages, to address these and other problems associated with the prior art.
An embodiment of the invention is a method and apparatus for identifying a user's preferred language. When a user logs into a computer, a directory entry is checked to see if the user's identity information includes a preferred language. A preferred language can also be inherited from a container of the user's directory entry, for example, if the user has not specified a preferred language. A preferred language can also be identified from the user's location. If there are multiple preferred languages, they can be ranked, and the highest ranked language selected.
The foregoing and other features, objects, and advantages of the invention will become more readily apparent from the following detailed description, which proceeds with reference to the accompanying drawings.
Directory entry 210 includes identity information 215. Identity information 215 stores information identifying the user. One piece of information stored in identity information is a preferred language. When the user logs in and is authenticated by server 115, the preferred language can be read from identity information 215. The preferred language can then be used to build a ranked list of languages, or sent to other web sites in the header of a packet as the user searches the network for content.
The user gets the benefit of content displayed in a preferred language, without having to specify anywhere (e.g., as a browser setting or in a uniform resource locator (URL)) the preferred language. Instead, the preferred language can be read from identity information 215 when the user logs in to computer 115.
Note that in
Although identity information 215 can store the user's preferred language, the preferred language is not a required element of the identity information. If the identity information does not include a preferred language, the preferred language can be inherited from a container object storing the user's directory entry. This is explained in greater detail with reference to
In
Container 3 (320) is expanded, and shows directory entries for three individuals. Directory entry 325 is for Pete Public, directory entry 330 is for Mary Smith, and directory entry 335 is for John Doe. Because the directory entries for Pete Public, Mary Smith, and John Doe are all within container 3 (320), which has a default language of Russian, Pete Public, Mary Smith, and John Doe are presumed to be native Russian speakers. A person skilled in the art will recognize that the information presented within directory entries 325, 330, and 335 is partial, and show only information pertinent to an embodiment of the invention.
Directory entry 325 shows that Pete Public has not specified a preferred language. Pete Public inherits from the nearest higher-level container the associated default language. In this case, because container 3 (320) is the nearest higher-level container with a default language of Russian, Pete Public inherits a preferred language of Russian. Thus, an identifier for Russian is used by the portal server to provide content sent back to Pete's browser in Russian, when possible. Note that if container 3 (320) had not specified a default language, then English could be selected as the default language from root 305.
In contrast with Pete Public, directory entry 330 for Mary Smith specifies a preferred language of Russian. As described above with reference to
Directory entry 335 for John Doe presents a different situation. John Doe has specified two preferred languages: English and Spanish. There are two points of interest relating to directory entry 335. First, directory entry 335 specifies more than one language. Since some users are multi-lingual, it is useful to allow the users to specify all the languages they are comfortable with. For example, consider the situation where a content page is available only in English and Japanese (specifically, the content page is not available in either Spanish or Russian). Clearly, in such a situation, John Doe would prefer the English version of the content page. Conversely, if the content page is available in Spanish but not English, the Spanish version of the content page is preferable over any other language.
Second, observe that John Doe has not listed Russian in directory entry 335. But because directory entry 335 is contained within container 3 (320), John Doe can inherit from container 3 (320) Russian as a preferred language. Whether language inheritance is permitted when a user has specified a preferred language is an implementation choice, but in an embodiment of the invention inheritance occurs even where the user has specified a language preference.
Although the above description refers to inheriting a language from the innermost container of the directory entry with a default language, a person skilled in the art will recognize that this can be generalized. For example, the user can inherit all languages between his directory entry and the root container. Thus, Pete Public 325 would inherit both Russian and English from containers of his directory entry as default languages.
Akin to inheritance is the possibility of an administrator setting a default language for all users of the portal system. Such an option can be thought of as a language assigned to root 305, although the implementation is different than assigning a language to root 305, and could apply across container hierarchies within the portal system. When an administrator sets a default language for the entire portal system, the default language is added to the list of languages for each user. This allows the default language to be ranked with other languages for the user.
As discussed above with reference to
But where the user has multiple preferred languages (derived from any or all of the user's identity information, container inheritance, location, or browser), the languages are preferably prioritized.
Once the languages are ranked, a language can be selected in which to display content to the user. In
The reason selection can be done whenever new content is displayed to the user is that not all content is available in every language. For example, consider the selection of English 535 in
Although languages for the user can be drawn from five different sources (the browser's list of preferred language, a user's directory entry, inheritance within the container hierarchy, location, and the portal system default language), not all of the sources have to be used to create the ranked list of languages. The administrator of the portal system can specify which of these sources can be used to construct the ranked list of languages. The administrator can also specify the order in which the sources are used to construct the ranked list of languages.
At step 635 (
A person skilled in the art will recognize that steps 655 and 660 can be performed in either order, depending on the embodiment of the invention. For example, one embodiment described above has one language selected for display of all content presented to the user. In that case, steps 655 and 660 can be reversed, so that the preferred language is selected, and only that language sent to the content provider.
A person skilled in the art will recognize that an embodiment of the invention described above can be implemented using a computer. In that case, the method is embodied as instructions that comprise a program. The program can be stored on computer-readable media, such as floppy disks, optical disks (such as compact discs), or fixed disks (such as hard drives). The program can then be executed on a computer to implement the method. A person skilled in the art will also recognize that an embodiment of the invention described above can include a computer-readable modulated carrier signal.
Having illustrated and described the principles of the invention in a preferred embodiment thereof, it should be readily apparent to those skilled in the art that the invention can be modified in arrangement and detail without departing from such principles. All modifications coming within the spirit and scope of the accompanying claims are claimed.
Number | Name | Date | Kind |
---|---|---|---|
5717923 | Dedrick | Feb 1998 | A |
5983227 | Nazem et al. | Nov 1999 | A |
6029245 | Scanlan | Feb 2000 | A |
6061684 | Glasser et al. | May 2000 | A |
6202066 | Barkley et al. | Mar 2001 | B1 |
6209036 | Aldred et al. | Mar 2001 | B1 |
6209124 | Vermeire et al. | Mar 2001 | B1 |
6240170 | Shaffer et al. | May 2001 | B1 |
6243717 | Gordon et al. | Jun 2001 | B1 |
6286001 | Walker et al. | Sep 2001 | B1 |
6311180 | Fogarty | Oct 2001 | B1 |
6327628 | Anuff et al. | Dec 2001 | B1 |
6381579 | Gervais et al. | Apr 2002 | B1 |
6389589 | Mishra et al. | May 2002 | B1 |
6408336 | Schneider et al. | Jun 2002 | B1 |
6415250 | van den Akker | Jul 2002 | B1 |
6499030 | Igata | Dec 2002 | B1 |
6529910 | Fleskes | Mar 2003 | B1 |
6560639 | Dan et al. | May 2003 | B1 |
6571241 | Nosohara | May 2003 | B1 |
6623529 | Lakritz | Sep 2003 | B1 |
6633742 | Turner et al. | Oct 2003 | B1 |
6704024 | Robotham et al. | Mar 2004 | B2 |
6738950 | Barnett | May 2004 | B1 |
6772146 | Khemlani et al. | Aug 2004 | B2 |
6784883 | Allor | Aug 2004 | B1 |
6785728 | Schneider et al. | Aug 2004 | B1 |
6789231 | Reynar et al. | Sep 2004 | B1 |
6871197 | Johnson | Mar 2005 | B1 |
6925595 | Whitledge et al. | Aug 2005 | B1 |
6925598 | Melhem et al. | Aug 2005 | B2 |
6965914 | Dowling | Nov 2005 | B2 |
6975619 | Byers et al. | Dec 2005 | B1 |
6993554 | O'Donnell | Jan 2006 | B2 |
7085834 | Delany et al. | Aug 2006 | B2 |
20010037192 | Shimamoto et al. | Nov 2001 | A1 |
20020002557 | Straube et al. | Jan 2002 | A1 |
20020052954 | Polizzi et al. | May 2002 | A1 |
20020069081 | Ingram et al. | Jun 2002 | A1 |
20020103778 | Saxena | Aug 2002 | A1 |
20020120538 | Corrie et al. | Aug 2002 | A1 |
20020129001 | Levkoff et al. | Sep 2002 | A1 |
20020129052 | Glazer et al. | Sep 2002 | A1 |
20020138331 | Hosea et al. | Sep 2002 | A1 |
20020147790 | Snow | Oct 2002 | A1 |
20020147801 | Gullotta et al. | Oct 2002 | A1 |
20020156902 | Crandall | Oct 2002 | A1 |
20020174196 | Donohoe et al. | Nov 2002 | A1 |
20020198971 | Resnick et al. | Dec 2002 | A1 |
20030005002 | Chen et al. | Jan 2003 | A1 |
20030050986 | Matthews et al. | Mar 2003 | A1 |
20030061216 | Moses | Mar 2003 | A1 |
20030110272 | du Castel et al. | Jun 2003 | A1 |
20030158897 | Ben-Natan et al. | Aug 2003 | A1 |
20030163517 | Assaf et al. | Aug 2003 | A1 |
20030191817 | Fidler | Oct 2003 | A1 |
20030195923 | Bloch et al. | Oct 2003 | A1 |
20040123238 | Hefetz et al. | Jun 2004 | A1 |
20040193699 | Heymann et al. | Sep 2004 | A1 |
20040199603 | Tafla et al. | Oct 2004 | A1 |
20040205118 | Yu | Oct 2004 | A1 |
20040205572 | Fields et al. | Oct 2004 | A1 |
20050097008 | Ehring et al. | May 2005 | A1 |
20050097190 | Abdelhak | May 2005 | A1 |
20050188318 | Tamir et al. | Aug 2005 | A1 |
20060004763 | Horvitz et al. | Jan 2006 | A1 |
20060010390 | Guido et al. | Jan 2006 | A1 |
Number | Date | Country |
---|---|---|
0 975 128 | Jan 2000 | EP |
9820434 | May 1998 | WO |