WO2014027237A1 - Systems and methods for web localization - Google Patents

Systems and methods for web localization Download PDF

Info

Publication number
WO2014027237A1
WO2014027237A1 PCT/IB2013/001739 IB2013001739W WO2014027237A1 WO 2014027237 A1 WO2014027237 A1 WO 2014027237A1 IB 2013001739 W IB2013001739 W IB 2013001739W WO 2014027237 A1 WO2014027237 A1 WO 2014027237A1
Authority
WO
WIPO (PCT)
Prior art keywords
localization
computing device
webpage
user
translated
Prior art date
Application number
PCT/IB2013/001739
Other languages
French (fr)
Inventor
Refael ACKERMANN
Roi RONN
Original Assignee
Bablic Ltd.
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 Bablic Ltd. filed Critical Bablic Ltd.
Publication of WO2014027237A1 publication Critical patent/WO2014027237A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Definitions

  • At least one remote computing device is further adapted to: allow the sending of flagged said at least one element to human or machine translation; receive at least one translated element; record said at least one translated element in said localization content database.
  • FIG. 3 is a simplified diagram showing a whole system view of an embodiment of the present invention.
  • FIG. 4 is a simplified block diagram showing in greater detail the embodiment of Fig. 3 and further including protocols for communicating between the elements;
  • FIG. 5 is a simplified flow chart showing message exchange during a page content replacement process according to the present invention.
  • the software will make use of any of the forms: HTML, XHTML, XML and DOM, together or in some combination.
  • Output unit 22 then makes the resulting localized content available, typically by placing the content on a database.
  • the database thus has versions of the content for each localization setting being catered for and each user requesting the web page obtains the version of the content corresponding to his or her localization settings.
  • the content requiring localization may be pre-flagged, and the flagging is typically carried out by the party generating the content or the party which manage services using the software of the current invnetion.
  • the marked content is then localized according to the selected categories in boxes 34 and 36, either being sent to computer objects or being sent to human translators.
  • the localized content is stored and served to users according to the localization settings of the user requesting the content.
  • an end user whose computer is configured for British English may request and receive content in English with British spelling, with the date formatted as DD/MM/YYYY and with pounds sterling as the currency.
  • An end user requesting the same web page but whose computer is configured for German may receive the content in German, with the same date format and with the currency set in Euros.
  • An end user requesting the same web page but whose localization settings indicate US English may receive the content in English with US spelling, with the date formatted as MM/DD YYYY and with the currency set in US Dollars.
  • a series of localization features 66.1...66.n are provided, including what are referred to hereinabove as localization objects.
  • Each localization feature is responsible for the localization of a specific type of content. It is composed of:

Abstract

System and method for content localization on websites comprising: at least one remote computing device; at least one user computing device; a non-transitory computer-readable medium storing processor executable instructions on at least one user computing device, adapted to: identify user's localization settings; access a webpage in requiring localization via a web browser; divide said webpage into at least one element in a first language; communicate via data communication with at least one remote computing device; request and obtain at least one replacement element according to said user's localization setting to replace said at least one element in a first language; wherein said replacement element is selected from the group of: fully translated element, partly translated element, non- translated element and message to said user; manipulate the representation of said webpage by replacing said at least one element in a first language with said at least one

Description

SYSTEMS AND METHODS FOR WEB LOCALIZATION
BACKGROUND
1. Technical Field
[0001] Embodiments of the present invention relate generally to web localization, and more particularly but not exclusively to web localization involving translation.
2. Description of Related Art
[0002] Web localization refers to the adaptation of a web site for a particular country, taking into account different languages, regional differences and different technical requirements.
[0003] In general a web page is initially internationalized, meaning that it is written in such a way that localization can be carried easily and simply out without making any engineering changes to the web page.
[0004] Localization is then the process of adapting the internationalized web site for the specific region or language by adding location specific components, translating text and adapting formats.
[0005] Generalizing from web sites to software in general, Internationalizing is part of the software development, and enables the product to be used with multiple scripts and adapted for local cultures. An example of local culture is the formatting of the date, whether day first or month first. Localization relates to user interface parts and separating of the interface parts into a localizable format.
[0006] Localization issues are numerous, and include different alphabets and scripts, writing or run direction, complex text layouts, text processing differences, different sorting rules, plural forms in the text, and text input issues. Cultural issues may include names and titles, date formats, currencies, weights and measures, paper sizes, digit grouping and separators, and different symbol usage such as quotation marks. Some web pages may have to deal with legal issues that differ from country to country.
[0007] Internationalization is carried out once per web page, but localization is then carried out per location.
[0008] Current prevailing practice regarding computer applications, involves placing text in resource strings, which may then be loaded during program execution as needed. These strings, stored in resource files, can often be relatively easy to translate. The application may then be designed to reference the resource libraries depending on the selected locale data.
[0009] With a web site, the problem is greater. Generally the text part of a web site is much more significant than the text part of a computer application. Thus the text is much harder to translate.
[0010] Thus, with an application, one would design the application to select the relevant language resource file at runtime. Resource files are then automatically translated to the required languages. The method tends to be application-specific and, at best, vendor- specific. The code required to manage date entry verification and many other locale- sensitive data types also must support differing locale requirements. Alternatively there is an emerging class of software which can localize an application without altering the underlying code in anyway. Modern development systems and operating systems include sophisticated libraries for international support of these types.
[0011] However, due to the increased amount of textual content, the above method does not effectively transfer to web sites.
[0012] Thus web site providers today must either try to adapt the application methodology for their different national websites, often providing stilted and unattractive web pages, or they must manually design each separate national web site, usually with web page design professionals having to be hired in each country separately. Even minor changes in the web site overall, say following modification of a product, -would then have to be made individually at each web site. Thus maintaining a dynamically changing website across the globe can easily become prohibitively expensive.
[0013] The benefit from localization is to provide a voice in each separate country and thus to have a global voice and access to a greater number of markets.
[0014] In general, a barrier to localization is cost. Certain markets are too small to justify the costs invoked by the limitations outlined above. If the localization process for websites could be simplified then cost savings could justify greater localization.
[0015] Hence, an improved systems and methods as described in this application are still a long felt need.
BRIEF SUMMARY [0016] According to an aspect of the present invention is a system for content localization on websites comprising: at least one remote computing device; at least one user computing device; a non-transitory computer-readable medium storing processor executable instructions on at least one user computing device, adapted to: identify user's localization settings; access a webpage in requiring localization via a web browser; divide said webpage into at least one element in a first language; communicate via data communication with at least one remote computing device; request and obtain at least one replacement element according to said user's localization setting to replace said at least one element in a first language; wherein said replacement element is selected from the group of: fully translated element, partly translated element, non-translated element and message to said user; manipulate the representation of said webpage by replacing said at least one element in a first language with said at least one replacement element in said web browser, a non-transitory computer-readable medium storing processor executable instructions on at least one remote computing device, adapted to: maintain a localization content database; communicate via data communication with at least one user computing device; receive a request for at least one replacement element according to user's localization settings to replace at least one element in a first language; search a translated version of said at least one element in a first language within said localization content database; transmit replacement element; wherein said replacement element is selected from the group of: fully translated element, partly translated element, non-translated element and message to said user, wherein said computing devices are in data communication.
[0017] It is further within provision of the invention to have the processor executable instruction of the invention wherein said at least one user computing device is further adapted to: retrieve said webpage document object model representation; and wherein said manipulate the representation of said webpage is accomplished by manipulating the document object model representation.
[0018] It is further within provision of the invention to have the processor executable instruction of the invention wherein said at least one user computing device is further adapted to send said webpage URL and element identifier and said at least one remote computing device is further adapted to receive said webpage URL and element identifier.
[0019] It is further within provision of the invention to have the processor executable instruction of the invention wherein said at least one remote computing device is further adapted to: identify webpage requiring localization; divide said webpage into at least one element in a first language; decide if said at least one element requires a human translation or a machine translation; record said at least one element identifier in said localization content database; flag said at least one element according to said decision.
[0020] It is further within provision of the invention to have the processor executable instruction of the invention wherein said at least one remote computing device is further adapted to: allow the sending of flagged said at least one element to human or machine translation; receive at least one translated element; record said at least one translated element in said localization content database.
[0021] It is further within provision of the invention to have the processor executable instruction of the invention wherein said user computing device serves as said remote computing device.
[0022] It is further within provision of the invention to have the processor executable instruction of the invention wherein said identification webpage requiring localization comprise identification of changes in a processed webpage and wherein at least one remote computing device is further adapted to flag only changed elements.
[0023] Another aspect of the present invention provides a method for content localization on websites comprising steps of: providing at least one remote computing device comprising a localization content database in data communication with at least one user computing device, having a non-transitory computer-readable medium storing processor executable instructions on at least one user computing device; identifying user's localization settings; user access a webpage in requiring localization via a web browser; dividing said webpage into at least one element in a first language; searching a translated version of said at least one element in a first language within said localization content database; preparing a replacement element according to said user's localization setting to replace said at least one element in a first language; wherein said replacement element is selected from the group of: fully translated element, partly translated element, non- translated element and message to said user; and manipulating the representation of said webpage by replacing said at least one element in a first language with said at least one replacement element in said web browser.
[0024] It is further within provision of the invention to further comprise step of retrieving said webpage document object model representation; and manipulating the representation of said webpage by manipulating the document object model representation. [0025] It is further within provision of the invention wherein said at least one user computing device and at least one remote computing device identify the webpages using its URL.
[0026] It is further within provision of the invention to further comprise steps of: Identifying webpage requiring localization; dividing said webpage into at least one element in a first language; deciding if said at least one element requires a human translation or a machine translation; recording said at least one element identifier in said localization content database; flagging said at least one element according to said decision.
[0027] It is further within provision of the invention to further comprise steps of: allowing the sending of flagged said at least one element to human or machine translation; receiving at least one translated element; recording said at least one translated element in said localization content database.
[0028] It is further within provision of the invention wherein said identification webpage requiring localization comprise identification of changes in a processed webpage and wherein at least one remote computing device is further adapted to flag only changed elements.
[0029] These, additional, and/or other aspects and/or advantages of the present invention are: set forth in the detailed description which follows; possibly inferable from the detailed description; and/or learnable by practice of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In order to understand the invention and to see how it may be implemented in practice, a plurality of embodiments will now be described, by way of non-limiting example only, with reference to the accompanying drawings, in which:
FIG. 1 is a simplified diagram showing a localization server for managing localization of website content according to an embodiment of the present invention;
FIG. 2 is a simplified diagram showing a flow chart of use of the localization system of the present embodiments on a website;
FIG. 3 is a simplified diagram showing a whole system view of an embodiment of the present invention;
FIG. 4 is a simplified block diagram showing in greater detail the embodiment of Fig. 3 and further including protocols for communicating between the elements; FIG. 5 is a simplified flow chart showing message exchange during a page content replacement process according to the present invention; and
FIG 6 is a flowchart of an embodiment of the invention.
DETAILED DESCRIPTION
[0031] The following description is provided, alongside all chapters of the present invention, so as to enable any person skilled in the art to make use of said invention and sets forth the best modes contemplated by the inventor of carrying out this invention. Various modifications, however, will remain apparent to those skilled in the art, since the generic principles of the present invention have been defined specifically to provide a means and method for providing systems and methods for web localization.
[0032] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. However, those skilled in the art will understand that such embodiments may be practiced without these specific details. Just as each feature recalls the entirety, so may it yield the remainder. And ultimately when the features manifest, so an entirely new feature be recalled. Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention.
[0033] The phrases "at least one", "one or more", and "and/or" are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions "at least one of A, B and C", "at least one of A, B, or C", "one or more of A, B, and C", "one or more of A, B, or C" and "A, B, and/or C" means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
[0034] The term 'plurality' refers hereinafter to any positive integer (e.g, 1,5, or 10).
[0035] The invention relates to a systems, apparatuses and methods for providing a system that automates the process of web localization but wherein the content translation itself is carried out using human agent or machine translation.
[0036] The process itself may comprise the following stages:
o Identify content requiring localization.
o Send the content for human or machine translation and localization. o Serve the localized content to users from the corresponding locale, wherein the localization it performed mainly using the user's computing device by accessing a translation server.
[0037] The process may identify and localize new content. Localization may require ■ minimal human intervention aside from the translation of certain of the content as will be described below.
[0038] The automating of the process may reduce the development and operational costs of multi-locale web operations by providing a fast and easy way to create translations and local adaptation. While using the present embodiments, a user may carry out web operations using a single language environment and preparing the content in a single language and style, and have the site exposed on the web in many different languages. The embodiments may be able to conduct communication using the native language, and use the translation facility on the communications as well.
[0039] The present embodiments may thus enable the user to conduct multi-language operations on the web while having the experience of working in a single language environment.
[0040] Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways.
[0041] In some embodiments of the invention, a system for content localization on websites comprising at least one remote server that may be reachable via the internet or other networks capable of data communication and at least one user computing device and an internet webpage or website required to be localized according to the user's localization setting.
[0042] The method and system of conduct multi-language operations on a website may be divided into processes that are be performed in the user's computing device and processes that are to be perform in the server, which may be a remote computing device in the sense of being physically not adjacent to the user's computing device (for example, in another location but in data communication) or be part of the user's computing device where the remoteness is characterized by that they are not run from the same software application and have separated computer processes.
[0043] In some embodiments of the invention, the software running on the user's computing device may be part of a browser, an add-on to a browser or an application/macro running in the browser (for example by means of interpreted computer programming language implemented in / with a web browser so that client-side scripts could by run and interact with the user, webpages, servers, etc). The software may allow for automatic identification of the user's localization setting or allow the user to manually set the user's localization settings.
[0044] Said software may allow accessing a webpage or website via a web browser. In case the user wishes to see the translation (manually, automatic or by way of suggestion from a server or website) the software will then retrieve the source of the page and divide said webpage into at least one element required to be localized. Said software will then communicate via data communication with the server (or at least one remote computing device) and request a localized version of the elements.
[0045] At that point the server may receive the request for at least one replacement element according to user's localization settings to replace at least one element in a first language, search a translated version of said at least one element in a first language within a localization content database maintained within the server and transmit a replacement element. The replacement element may be a fully translated element, a partly translated element, a non-translated element (for example if no translation is available in the database) or a message to the user (for example, an offer to send for translation, a machine translated element with a notice etc).
[0046] The software running on the user's computing device will then manipulate the representation of said webpage by replacing the elements in a first language with the replacement elements so that the user will view, in his web browser, the webpage localized.
[0047] It should be stressed that the breaking and reconstruction of the page is done by the user's computing device manipulation of the source code and the reconstruction is not conducted by the server.
[0048] In some embodiments of the invention the software will make use of the HTML source of the webpage. However, in different embodiments the software will make use of the Document Object Model representation (DOM) which is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. The use of DOM have many benefits over using HTML source (and a like) as it allow, for example, to easily locate and localize text presented from a javascript code or AJAX and alike. In other embodiments the invention will make use of native mobile application.
[0049] In other embodiments, the software will make use of any of the forms: HTML, XHTML, XML and DOM, together or in some combination.
[0050] In an embodiment of the invention the software is capable of handling a change in the DOM that occur after a web page was loaded, for example as a result of JavaScript code or AJAX call to a server. The software, upon such detection, will recognize the relevant elements and if needed will start the localization process.
[0051] In some embodiments of the invention, the identification of a webpage that is required between the user's computing device and the server (remote computing device) may be done using only the uniform resource locator (URL) address of the webpage to be localized. In addition, the elements divided from the webpage may be assigned with an identifier. In some embodiments of the invention, during the initial processing of the webpage by the server, the webpage will be divided and each divided element will receive an identifier hence allow future identifiers assigned by the user's computing device to easily be associated with the identifiers in the server's database.
[0052] In some embodiments of the invention, when a webpage is entered into the database for the first time the server will identify the webpage requiring localization (for example by means of website owner recommendation, server's admin recommendation, internet crawler etc). The software on the server will then divide the webpage into at least one element in a first language and then decide if said at least one element requires a human translation or a machine translation (for example, simple word or common phrases may be machine translated). The decision will then be recorded and associated with the element and it's identifier in the localization content database. The server will then flag the element according to the decision and may allow a human operator to execute the decision or allow for the automatic execution of the decision.
[0053] In some embodiments of the invention the software will be able to identify changes in a processed webpage. For example by means of web crawler going over all the processed webpages from time to time or by means of user's indication of a change. Such changed webpages will be flagged for action. In some embodiments, only the specific elements that changed will be flagged.
[0054] Referring now to the drawings, Figure 1 illustrates a web localization server 10 according to an embodiment of the invention. The localization server looks at web page content 12 and checks whether localization of the content is needed. This may is determined from a localization flag 14 being set. The flag may be set by the content provider to indicate that the content requires localization. In addition, the flag may be set by a client at a user requesting the content and not finding suitable localized content.
[0055] The server may include a localization content processing unit 16 which discerns content of a webpage requiring localization. The processing unit may include an identification unit 18 which identifies localization requirements of the content, such as format changes and translation needs. The identification unit further distinguishes between a localization requirement for human localization and a localization requirement for automatic localization. Thus format changes such as date formats, can be assigned to automatic systems. Likewise translations of single words or standard computer terms such as "file", "edit" and "help" can be assigned to automatic systems. However, items of textual content of sentence length and longer require nuances that generally make machine translation look odd or stilted or simply incorrect, and such items are identified for sending to human translators.
[0056] Having identified different localization requirements, management unit 20 then manages the localization operations. The content for automatic localization or translation is sent to automatic systems, which may located on the same server or otherwise, so that management of the automatic localization process is a matter of making sure that an appropriate protocol is carried out to ensure error free exchange of data to each request. Content for human translation is sent, typically by web communication, to human translators. The human translation part may be managed with such features as bidding for the best translation rates, deadlines set and monitored, and the like.
[0057] Output unit 22 then makes the resulting localized content available, typically by placing the content on a database. The database thus has versions of the content for each localization setting being catered for and each user requesting the web page obtains the version of the content corresponding to his or her localization settings. [0058] As mentioned above, the content requiring localization may be pre-flagged, and the flagging is typically carried out by the party generating the content or the party which manage services using the software of the current invnetion.
[0059] As will be explained in greater detail below, the localization management unit may manage the localization of each content item by generating a localization request which specifies the localization action required on the content.
[0060] The end user may provide the web site with the respective localization requirements. These are typically held by the user in the web browser. The web browser may in turn have obtained them from an operating system configuration file and alike. Alternatively, the localization requirements may be contained in URL parameters or may be obtained from "cookies". The web site receives the localization requirements and selects the localized content accordingly.
[0061] Typically a web page follows a life cycle in which it is initially set up and subsequently updated. In the initial stage the entire web page is localized according to the presently described procedures. Subsequently, the web site is updated, and, as will be described in greater detail below, the localization server notices that there is content marked for localization and for which it does not have any localized versions. Such content may be sent for localization as soon as it is uploaded to the web site or as soon as it is noticed by the localization server. Thus the localization server may keep up with both continually and sporadically updated web sites with equal ease.
[0062] Reference is now made to Fig. 2 which is a simplified flow chart illustrating localization according to an embodiment of the invention. In use localizing web content for different users with different localization settings may involve:
[0063] Marking content requiring localization 30. As will be discussed below, specific markup may be provided for this purpose to allow content providers to provide instructions for localization at desired levels of detail.
[0064] The server then distinguishes or decides 32 among the marked content between a first category of content suitable for automatic localization and a second category of content requiring human intervention. As discussed above, change of date format, translation of single words connected with computer technology, changing the type of quote mark, changing the currency etc, are all forms of localization which may be carried out most effectively by automatic systems. For this purpose a translation may also be a change of format etc.
[0065] The marked content is then localized according to the selected categories in boxes 34 and 36, either being sent to computer objects or being sent to human translators. Finally in box 38 the localized content is stored and served to users according to the localization settings of the user requesting the content. Thus an end user whose computer is configured for British English may request and receive content in English with British spelling, with the date formatted as DD/MM/YYYY and with pounds sterling as the currency. An end user requesting the same web page but whose computer is configured for German may receive the content in German, with the same date format and with the currency set in Euros. An end user requesting the same web page but whose localization settings indicate US English may receive the content in English with US spelling, with the date formatted as MM/DD YYYY and with the currency set in US Dollars.
[0066] Reference is now made to Fig. 3 which shows a web content localization system 40 according to an embodiment of the present invention. The system comprises user clients 42 which are made available to users who download the localized web page, typically via a web browser 44.
[0067] The user client obtains localization settings from a user browsing a page of web site 46.
[0068] A user management unit 48 then serves to the user elements of the webpage which conform to the localization settings obtained from the user client 42. The localized versions of the elements of the website are typically stored at localization content database 50.
[0069] The localized versions of the elements of the website are obtained from the content management unit 52, typically a server. The localization content management unit 52 discerns content of the webpage requiring localization and identifies localization requirements of the content so as to distinguish between requirements for human localization and requirements for automatic localization as discussed above. The localization content management unit 52 then manages localization of the content by sending to human translators or to automatic localization objects as required. The results are then placed on the localization content database 50 for serving to users. [0070] Reference is now made to Fig. 4 which illustrates the system of Fig. 3 in greater detail.
[0071] A client side agent 60 is implemented, for example using Javascript code running on the user's web browser. The client side agent runs after or during a page is loaded in a browser. It is responsible for identifying the current page and the content localization. The client side agent checks the user's localization settings, which are typically set in the browser, or using URL parameters as part of a URL, or in cookies, so that the agent can request content that is localized according to the user localization settings. The agent requests localization data from the LDATA server 62, replacing the content with a localized version. If there is no localized version then it may be inferred that the content needs to be localized. The LDATA server detects new content of the web page that still needs to be localized. The action is described in greater detail below.
[0072] LDATA server 62 is responsible for processing the requests sent by the client side agent and building a Localization data message that is used by the client side agent in order to replace the page content. It is also responsible for passing new content that is detected by the client side agent to the translation hub, and maintaining a log of the replacements for billing purposes. The LDATA message protocol is discussed in greater detail hereinbelow.
[0073] The translation hub server 64 is responsible for localizing content using the localization features. It uses the content localization protocol in order to create a translation request and wait for a response. The protocol is described in greater detail hereinbelow. The translation hub may implement a callback URL.
[0074] A series of localization features 66.1...66.n are provided, including what are referred to hereinabove as localization objects. Each localization feature is responsible for the localization of a specific type of content. It is composed of:
[0075] a qualifier: A function that receives an html element. It verifies that the feature can localize its content and creates a unique content id for the content of the element.
[0076] a replacer: A function that receives an html element and localized content and replaces the original content of the element using the localized content.
[0077] a request handler: a handler that receives requests for new content localization using the content localization request protocol. Once processed the localized, and if relevant translated, content may be sent to the translation hub64 and then placed in database 67.
[0078] In addition the system may comprise a UI control module 68 which is an interface that enables a user to register a site for localization, select the set of localization features it wish to activate for its site and to monitor the localization process.
[0079] The system may support dedicated html markup that indicates that a specific html element should be included or excluded by a specific feature. It may also support feature specific html markup. The markup can be used by developers to give more precise instruction to the relevant features.
Protocols
[0080] The LDATA protocol 70 may be used between the client side agent and the LDATA server in order to communicate details regarding the page localization process. The process itself is discussed in greater detail below. The protocol may be composed of the following messages:
• LDATA request message: may include the web page identifier, a hashing of the current page content and the requested locale.
• LDATA exact match message: may include an exact match flag set to true, a list of the localization features that were registered to the present page by the user, and for each feature, a list of element id - localized content pairs.
• LDATA partial match message: may include an exact match flag set to false, a list of the localization features that were registered to the present page by the user, and for each feature, a list of content ids (as assigned by the qualifier function) and the translated content associated with the present id.
[0081] Update alert message: may include the page id and current hashing, a list of tuples for every element that passes one of the qualifiers but does not have matching translated content, and any newly discovered content.
[0082] The content localization protocol 72 may be used between the translation hub and the localization features in order to localize data. The protocol may include: • Localize content request message: a list of contents and content ids that need to be localized by the feature, and the relevant locales.
• Localize content message: may include the content id, the localized content and the locale into which the content was localized.
[0083] Reference is now made to Fig. 5 which is a simple diagram illustrating a page content replacement process:
• Upon page load the client side agent may be loaded and may calculate a hash for the current page content, box 80.
• The client side agent may send the LDATA request message for the LDATA server using an asynchronous Javascript and XML (AJAX) - message 82.
• The Fetch data block 84 is now entered. The LDATA server may then check to see whether a version of the current page with the current page hashing has been previously encountered. If so, the server creates an exact match message from the translated content on the database. If not, it may create a partial match message by obtaining and placing all of the known content id and locale specific localization for the page. It may then add to the list the list of features that were designated by the account owner. '
[0084] If an exact match message has been received, the client side agent may replace the content of all of the element ids in the list using the supplied replacement functions and localized content and may finish the localization, block 88.
[0085] Else, the client side element may iterate over all of the elements of the page using DFS and apply the qualifier functions on them in order to retrieve the content ID. If such an ID has been retrieved, indicating that the content should be localized by the feature, the client side agent may then check if the id is listed in the content id's list of the relevant feature. If so, it may use the relevant replacement function to replace the content. If this is not the case, it may add the element content to the update needed message.
[0086] The client may then send the update needed message back to the server and finish - Ldata message 86.
Localization [0087] When new content that needs to be localized is discovered by the client side agent it may be written to the database with the localization needed flag set to true, in order to trigger translation 90.
[0088] The translation hub may be triggered, say using update alert message 92, to scan the database for localization flagged content. For each such content item it may create a localization request message for the relevant features and send the content to the localization feature.
[0089] The localization feature may then send the content for automatic or human aided transformation and/or translation as relevant.
[0090] Upon completion of the human aided part, the localized content may then be sent back to the translation hub using the callback URL.
[0091] The translation hub may now write the translated content back to the database and set the localization-needed flag to false.
USE
[0092] To use the present embodiments, a web site owner may create an account in which it specifies the features it would like to be active on its web page, select the locales into which it wishes the content to be localized and add a JavaScript snippet to load the client agent into its site.
[0093] When the page is loaded for the first time, the entire page may be sent for translation and localization. After the content is localized by humans, every time a user from the relevant locale enters the site, all of the localized content is displayed.
[0094] If the owner makes changes to the site - the system detects the changes upon first load and sends for localization using the process described above.
[0095] The present embodiments may include Html markup dedicated to providing localization instructions.
[0096] The present embodiments may provide the ability to localize a site based on html markup
[0097] The present embodiments may provide a client side content localization and detection system. [0098] The present embodiments may provide a component and server and the LDATA protocol.
[0099] The present embodiments may provide a feature prototype for generic localization features.
[00100] The present embodiments may provide a hands-free localization requirements control module.
[00101] Fig 6 is a flowchart of an embodiment method of the invention providing steps of:
601 providing at least one remote computing device comprising a localization content database in data communication with at least one user computing device, having a non-transitory computer-readable medium storing processor executable instructions on at least one user computing device; (Preparation and database building) 602 Identifying webpage requiring localization; 603 dividing said webpage into at least one element in a first language; 604 deciding if said at least one element requires a human translation or a machine translation; 605 recording said at least one element identifier in said localization content database; 606 flagging said at least one element according to said decision; 607 allowing the sending of flagged said at least one element to human or machine translation; 608 receiving at least one translated element; 609 recording said at least one translated element in said localization content database; (presenting localized webpage) 610 identifying user's localization settings; 611 user access a webpage in requiring localization via a web browser; 612 dividing said webpage into at least one element in a first language; 613 searching a translated version of said at least one element in a first language within said localization content database; 614 preparing a replacement element according to said user's localization setting to replace said at least one element in a first language; wherein said replacement,element is selected from the group of: fully translated element, partly translated element, non- translated element and message to said user; 615 manipulating the representation of said webpage by replacing said at least one element in a first language with said at least one replacement element in said web browser.
[00102] Embodiments of the present invention may provide the ability to conduct a fully automated human localization operation, without having to deal with the operational overhead such a process used to create. The present embodiments may combine the accuracy and effectiveness of human localization process with the ease of use of the current computer translation based localization mechanism.
[00103] From the developer's point of view - the present embodiments enable the web page developer, and website owner, to achieve a fully automated localization process with little or no extra code that needs to be written.
[00104] It is expected that during the life of a patent maturing from this application many relevant pulse shaping and symbol decoding technologies will be developed and the scope of the corresponding terms in the present description are intended to include all such new technologies a prion.
[00105] Although selected embodiments of the present invention have been shown and described, it is to be understood the present invention is not limited to the described embodiments. Instead, it is to be appreciated that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and the equivalents thereof.

Claims

1. A system for content localization on websites comprising: at least one remote computing device; at least one user computing device; a non-transitory computer-readable medium storing processor executable instructions on at least one user computing device, adapted to: identify user's localization settings; access a webpage in requiring localization via a web browser; divide said webpage into at least one element in a first language; communicate via data communication with at least one remote computing device; request and obtain at least one replacement element according to said user's localization setting to replace said at least one element in a first language; wherein said replacement element is selected from the group of: fully translated element, partly translated element, non- translated element and message to said user; manipulate the representation of said webpage by replacing said at least one element in a first language with said at least one replacement element in said web browser, a non-transitory computer-readable medium storing processor executable instructions on at least one remote computing device, adapted to: maintain a localization content database; communicate via data communication with at least one user computing device; receive a request for at least one replacement element according to user's localization settings to replace at least one element in a first language; search a translated version of said at least one element in a first language within said localization content database; transmit replacement element; wherein said replacement element is selected from the group of: fully translated element, partly translated element, non-translated element and message to said user, wherein said computing devices are in data communication.
2. The processor executable instruction of claim 1 wherein said at least one user computing device is further adapted to: retrieve said webpage document object model representation; and wherein said manipulate the representation of said webpage is accomplished by manipulating the document object model representation.
3. The processor executable instruction of claim 1 wherein said at least one user computing device is further adapted to send said webpage URL and element identifier and said at least one remote computing device is further adapted to receive said webpage URL and element identifier.
4. The processor executable instruction of claim 1 wherein said at least one remote computing device is further adapted to: identify webpage requiring localization; divide said webpage into at least one element in a first language; decide if said at least one element requires a human translation or a machine translation; record said at least one element identifier in said localization content database; flag said at least one element according to said decision;
5. The processor executable instruction of claim 1 wherein said at least one remote computing device is further adapted to: allow the sending of flagged said at least one element to human or machine translation; receive at least one translated element; record said at least one translated element in said localization content database.
6. The processor executable instruction of claim 1 wherein said user computing device serves as said remote computing device.
7. The processor executable instruction of claim 4 wherein said identification webpage requiring localization comprise identification of changes in a processed webpage and wherein at least one remote computing device is further adapted to flag only changed elements.
8. A method for content localization on websites comprising steps of: providing at least one remote computing device comprising a localization content database in data communication with at least one user computing device, having a non-transitory computer-readable medium storing processor executable instructions on at least one user computing device; identifying user's localization settings; user access a webpage in requiring localization via a web browser; dividing said webpage into at least one element in a first language; searching a translated version of said at least one element in a first language within said localization content database; preparing a replacement element according to said user's localization setting to replace said at least one element in a first language; wherein said replacement element is selected from the group of: fully translated element, partly translated element, non-translated element and message to said user; and manipulating the representation of said webpage by replacing said at least one element in a first language with said at least one replacement element in said web browser.
9. The method of claim 8 further comprising step of retrieving said webpage document object model representation; and manipulating the representation of said webpage by manipulating the document object model representation.
10. The method of claim 8 wherein said at least one user computing device and at least one remote computing device identify the webpages using its URL.
11. The method of claim 8 further comprising steps of:
Identifying webpage requiring localization; dividing said webpage into at least one element in a first language; deciding if said at least one element requires a human translation or a machine translation; recording said at least one element identifier in said localization content database; flagging said at least one element according to said decision;
12. The method of claim 8 further comprising steps of: allowing the sending of flagged said at least one element to human or machine translation; receiving at least one translated element; recording said at least one translated element in said localization content database.
13. The method of claim 8 wherein said user computing device serves as said remote computing device.
14. The method of claim 11 wherein said identification webpage requiring localization comprise identification of changes in a processed webpage and wherein at least one remote computing device is further adapted to flag only changed elements.
PCT/IB2013/001739 2012-08-12 2013-08-08 Systems and methods for web localization WO2014027237A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261682343P 2012-08-12 2012-08-12
US61/682,343 2012-08-12

Publications (1)

Publication Number Publication Date
WO2014027237A1 true WO2014027237A1 (en) 2014-02-20

Family

ID=50101283

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2013/001739 WO2014027237A1 (en) 2012-08-12 2013-08-08 Systems and methods for web localization

Country Status (1)

Country Link
WO (1) WO2014027237A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140200955A1 (en) * 2013-01-15 2014-07-17 Motionpoint Corporation Dynamic determination of localization source for web site content
US20150081790A1 (en) * 2013-09-19 2015-03-19 Marketwire L.P. System and Method for Analyzing and Transmitting Social Communication Data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040167784A1 (en) * 2003-02-21 2004-08-26 Motionpoint Corporation Dynamic language translation of web site content
US20090327866A1 (en) * 2008-06-27 2009-12-31 International Business Machines System and method for creating an internationalized web application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040167784A1 (en) * 2003-02-21 2004-08-26 Motionpoint Corporation Dynamic language translation of web site content
US20090327866A1 (en) * 2008-06-27 2009-12-31 International Business Machines System and method for creating an internationalized web application

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140200955A1 (en) * 2013-01-15 2014-07-17 Motionpoint Corporation Dynamic determination of localization source for web site content
US11222362B2 (en) * 2013-01-15 2022-01-11 Motionpoint Corporation Dynamic determination of localization source for web site content
US20220129949A1 (en) * 2013-01-15 2022-04-28 Motionpoint Corporation Dynamic determination of localization source for web site content
US20150081790A1 (en) * 2013-09-19 2015-03-19 Marketwire L.P. System and Method for Analyzing and Transmitting Social Communication Data

Similar Documents

Publication Publication Date Title
US11294968B2 (en) Combining website characteristics in an automatically generated website
US10498847B2 (en) System and method for mobile application deep linking
KR101477763B1 (en) Message catalogs for remote modules
US8762556B2 (en) Displaying content on a mobile device
US20170185617A1 (en) Data Object Based Application State Sharing Methods for User Devices
JP5756386B2 (en) Method, apparatus, and program for supporting generation and management of metadata for correcting problems of dynamic web application
US20090106296A1 (en) Method and system for automated form aggregation
US20140047359A1 (en) Mechanism for adding new search modes to user agent
WO2015017222A1 (en) Methods and systems for generating server-side media queries
US8677346B1 (en) Providing installer package information to a user
CN106354484A (en) Browser compatibility method and browser
US20150186544A1 (en) Website content and seo modifications via a web browser for native and third party hosted websites via dns redirection
US20170109442A1 (en) Customizing a website string content specific to an industry
US9922028B2 (en) System and method for translation and localization of content in digital applications
EP3441887B1 (en) Translation system
US20180285467A1 (en) Web server
US9817801B2 (en) Website content and SEO modifications via a web browser for native and third party hosted websites
CA2735215C (en) Method and apparatus for generating standard document identifiers from content references
WO2016057510A1 (en) Generating mobile web browser views for applications
WO2014027237A1 (en) Systems and methods for web localization
US11741295B2 (en) Independent rendering engine for a user interface internationalization
KR101820495B1 (en) Multilingual translation and output method of websites, communities and bulletin board user interfaces on the Internet and characters
Le Zou et al. On synchronizing with web service evolution
US7668929B1 (en) Abstracting links to electronic resources in a network environment
JP2009169651A (en) Document retrieval system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13829370

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21-05-2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13829370

Country of ref document: EP

Kind code of ref document: A1