The present disclosure generally relates to the management of localization and/or translation of textual components used in connection with networked devices.
Recently, consumers have expressed significant interest in “place shifting” devices that allow viewing of television or other media content at locations other than their primary television set. Place shifting devices typically packetize media content that can be transmitted over a local or wide area network to a portable computer, mobile phone, personal digital assistant, remote television or other remote device capable of playing back the packetized media stream for the viewer. Placeshifting therefore allows consumers to view their media content from remote locations such as other rooms, hotels, offices, and/or any other locations where portable media player devices can gain access to a wireless or other communications network.
Given the global nature of technology, it is desirable to “localize” files and user interfaces used in connection with networked devices by translating the appropriate data files and menu items into the language used locally by the end-consumer. In light of the vast number of languages used in the world, this task can be difficult for translators, particularly given that the various files requiring translation may exist in an equally bewildering array of file formats (e.g., .ini files, XML, CDATA, and the like). As a result, translators often have to deal with complex data format issues while trying to provide a coherent translation of the untranslated files.
It is therefore desirable to create systems and methods for simplifying translation, administration, and localization of files. These and other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background section.
According to various exemplary embodiments, systems and methods are provided for network-based localization. In general, a plurality of untranslated files are provided on a first server, and a target language is indicated. Using a localization tool client, the translator is allowed to download the untranslated file and create a translated file such that the file type of the translated and untranslated files are transparent to the user. The translated file is then uploaded from the localization tool client to the first server.
Exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and
The following detailed description of the invention is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.
Turning now to the drawing figures and with initial reference to
Placeshifting encoder system 102 is any component, hardware, software logic and/or the like capable of transmitting a packetized stream of media content over network 110. In various embodiments, placeshifting device 102 incorporates suitable encoder and/or transcoder (collectively “encoder”) logic to convert audio/video or other media data 122 into a packetized format that can be transmitted over network 110. The media data 122 may be received in any format, and may be received from any internal or external source 106 such as any sort of broadcast, cable or satellite television programming source, a “video-on-demand” or similar source, a digital video disk (DVD) or other removable media, a video camera, and/or the like. Encoder system 102 encodes media data 122 to create media stream 120 in any manner. In various embodiments, encoder system 102 contains a transmit buffer 105 that temporarily stores encoded data prior to transmission on network 110. As buffer 105 fills or empties, one or more parameters of the encoding (e.g., the bit rate of media stream 120) may be adjusted to maintain desirable picture quality and data throughput in view of the then-current network performance. As described more fully below, various embodiments are able to calculate a current encoding rate and a current network transfer rate, and are able to adjust the encoding rate as the network transfer rate changes. Changes in the network transfer rate may be identified from, for example, changes in the utilization of the outgoing buffer 105.
Several examples of encoding systems 102 may be implemented using any of the various SLINGBOX products available from Sling Media of Foster City, Calif., although other products could be used in other embodiments. Many different types of encoder systems 102 are generally capable of receiving media content 122 from an external source 106 such as any sort of digital video recorder (DVR), set top box (STB), cable or satellite programming source, DVD player, and/or the like. In such embodiments, encoder system 102 may additionally provide commands 124 to the source 106 to produce desired signals 122. Such commands 124 may be provided over any sort of wired or wireless interface, such as an infrared or other wireless transmitter that emulates remote control commands receivable by the source 106. Other embodiments, however, particularly those that do not involve placeshifting, may modify or omit this feature entirely.
In other embodiments, encoder system 102 may be integrated with any sort of content receiving or other capabilities typically affiliated with source 106. Encoder system 102 may be a hybrid STB or other receiver, for example, that also provides transcoding and placeshifting features. Such a device may receive satellite, cable, broadcast and/or other signals that encode television programming or other content received from an antenna, modem, server and/or other source. The receiver may further demodulate or otherwise decode the received signals to extract programming that can be locally viewed and/or place shifted to a remote player 104 as appropriate. Such devices 102 may also include a content database stored on a hard disk drive, memory, or other storage medium to support a personal or digital video recorder (DVR) feature or other content library as appropriate. Hence, in some embodiments, source 106 and encoder system 102 may be physically and/or logically contained within a common component, housing or chassis.
In still other embodiments, encoder system 102 is a software program, applet or the like executing on a conventional computing system (e.g., a personal computer). In such embodiments, encoder system 102 may encode, for example, some or all of a screen display typically provided to a user of the computing system for placeshifting to a remote location. One device capable of providing such functionality is the SlingProjector product available from Sling Media of Foster City, Calif., which executes on a conventional personal computer, although other products could be used as well.
Media player 104 is any device, component, module, hardware, software and/or the like capable of receiving a media stream 120 from one or more encoder systems 102. In various embodiments, remote player 104 is personal computer (e.g., a “laptop” or similarly portable computer, although desktop-type computers could also be used), a mobile phone, a personal digital assistant, a personal media player (such as the ARCHOS products available from the Archos company of Igny, France) or the like. In many embodiments, remote player 104 is a general purpose computing device that includes a media player application in software or firmware that is capable of securely connecting to placeshifting encoder system 102, as described more fully below, and of receiving and presenting media content to the user of the device as appropriate. In other embodiments, however, media player 104 is a standalone or other separate hardware device capable of receiving the media stream 120 via any portion of network 110 and decoding the media stream 120 to provide an output signal 126 that is presented on a television or other display 108. One example of a standalone media receiver 104 is the SLINGCATCHER product available from Sling Media of Foster City, Calif., although other products could be equivalently used.
Network 110 is any digital or other communications network capable of transmitting messages between senders (e.g., encoder system 102) and receivers (e.g., receiver 104). In various embodiments, network 110 includes any number of public or private data connections, links or networks supporting any number of communications protocols. Network 110 may include the Internet, for example, or any other network based upon TCP/IP or other conventional protocols. In various embodiments, network 110 also incorporates a wireless and/or wired telephone network, such as a cellular communications network for communicating with mobile phones, personal digital assistants, and/or the like. Network 110 may also incorporate any sort of wireless or wired local area networks, such as one or more IEEE 802.3 and/or IEEE 802.11 networks.
Encoder system 102 and/or player 104 are therefore able to communicate with player 104 in any manner (e.g., using any suitable data connections). Such communication may take place over a wide area link that includes the Internet and/or a telephone network, for example; in other embodiments, communications between devices 102 and 104 may take place over one or more wired or wireless local area links that are conceptually incorporated within network 110. In various equivalent embodiments, encoder system 102 and receiver 104 may be directly connected via any sort of cable (e.g., an Ethernet cable or the like) with little or no other network functionality provided.
Many different placeshifting scenarios could be formulated based upon available computing and communications resources, consumer demand and/or any other factors. In various embodiments, consumers may wish to placeshift content within a home, office or other structure, such as from a placeshifting encoder system 102 to a desktop or portable computer located in another room. In such embodiments, the content stream will typically be provided over a wired or wireless local area network operating within the structure. In other embodiments, consumers may wish to placeshift content over a broadband or similar network connection from a primary location to a computer or other remote player 104 located in a second home, office, hotel or other remote location. In still other embodiments, consumers may wish to placeshift content to a mobile phone, personal digital assistant, media player, video game player, automotive or other vehicle media player, and/or other device via a mobile link (e.g., a GSM/EDGE or CDMA/EVDO connection, any sort of 3G or subsequent telephone link, an IEEE 802.11 “Wi-fi” link, and/or the like). Several examples of placeshifting applications available for various platforms are provided by Sling Media of Foster City, Calif., although the concepts described herein could be used in conjunction with products and services available from any source.
Encoder system 102, then, generally creates a media stream 120 that is routable on network 110 based upon content 122 received from media source 106. To that end, and with reference now to
In the exemplary embodiment shown in
As noted above, creating a media stream 120 typically involves encoding and/or transcoding an input media stream 122 received from an internal or external media source 106 into a suitable digital format that can be transmitted on network 110. Generally, the media stream 120 is placed into a standard or other known format (e.g., the WINDOWS MEDIA format available from the Microsoft Corporation of Redmond, Wash. although other formats such as the QUICKTIME format, REALPLAYER format, MPEG format, and/or the like could be used in any other embodiments) that can be transmitted on network 110. This encoding may take place, for example, in any sort of encoding module 202 as appropriate. Encoding module 202 may be any sort of hardware (e.g., a digital signal processor or other integrated circuit used for media encoding), software (e.g., software or firmware programming used for media encoding that executes on the SoC or other processor described above), or the like. Encoding module 202 is therefore any feature that receives media data 122 from the internal or external source 106 (e.g., via any sort of hardware and/or software interface) and encodes or transcodes the received data into the desired format for transmission on network 110. Although
In various embodiments, encoder 202 may also apply other modifications, transforms and/or filters to the received content before or during the transcoding process. Video signals, for example, may be resized, cropped and/or skewed. Similarly, the color, hue and/or saturation of the signal may be altered, and/or noise reduction or other filtering may be applied. Audio signals may be modified by adjusting volume, sampling rate, mono/stereo parameters, noise reduction, multi-channel sound parameters and/or the like. Digital rights management encoding and/or decoding may also be applied in some embodiments, and/or other features may be applied as desired.
In accordance with one embodiment of the present invention, one or more localization tool clients 134 are coupled to network 110 along with a web server 130 that provides an interface to a version control server coupled thereto.
Version control server 132 stores translation files, and is preferably coupled to 130 through a conventional firewall, through which translation items can be checked in and checked out in a suitable manner. Version control server 132 is preferably used to store all documents that need to be translated. All or most people in the enterprise may have access to this server, so owners can update corresponding documents on the server. This simplifies the sharing of translation documents between owners and moderators.
Clients 134 include any suitable combination of hardware and software capable of carrying out the acquisition, editing, and uploading of files, and may be implemented using a variety of software environments known in the art. That is, as the internal version control server 132 is not directly exposed to the outside world, clients 134 are used to directly upload data to the version control server 132. Clients 134 may communicate, for example, using the simple object access protocol (SOAP). One suitable language environment involves SDI applications developed using C++ on Visual Studio.net for a WIN32 platform.
Web server 130 exposes localization tool services as a web service, i.e., to localization tool clients 134, placeshifting device 102, and any other component allowed access to the localization tool services. Documents are preferably grouped by projects whose structure can be implemented as a simple directory/file structure—e.g., a tree including package name, language name, component name, and documents requiring translation.
Both version control server 132 and Web server 130 may include any number of hardware and software components conventionally included with such server systems, including various GPUs, memory devices, storage devices, operating systems, network interfaces, software services, etc.
Translation consists of a group of entities interacting with each other to provide the required translation files. In general, component owners provide documents requiring translation to a moderator, and the moderator collects all the documents into a translation package. The moderator then sends the translation package to a translator, who performs the translation using the various tools described herein. The translated package is then sent to the moderator, who sends the finished package back to their respective owners. Owners preferably place documents on the version control server and moderators send notifications to the translators (e.g., via email) indicating that documents require translation.
In accordance with one embodiment, the translator does not need to know the particular format or file type to provide the translation. This greatly simplifies the task of the translator, as filetype details are substantially transparent, and the translator can focus exclusively on providing an accurate translation. Clients 134 preferably aid in the manual translation by automatically launching the appropriate editor (e.g., Microsoft Front Page, common text editors, and the like) associated with the file being translated.
Hierarchical document tree view 310 presents the user with an interactive list of all the various documents available locally. In this embodiment, as will be illustrated below, the top level of the tree relates to the particular device of interest, the next level down relates to particular languages (e.g., Traditional Chinese, UK English, etc.), and the next level down relates to components requiring translation (e.g., player texts, remote control text, etc.). Each component will typically be associated with a particular owner (e.g., team), as noted above, who may be designated by the moderator.
Moderators are preferably capable of creating projects, adding components, adding languages, and adding documents for translation. All parties are preferably capable of downloading/uploading files within a project as well as providing a translation.
Based on the selection within tree view 310, documents 312 are displayed and selectable in any convenient form (e.g., as icons, lists, etc.) within window 314. Furthermore, a window 316 includes a list of the various files 320 along with a revision time field 322 and a comments field 318 for documenting notes associated with each of the files, as desired. For example, comments might include an indication that a certain section requires translation, or that a particular class or software component requires that file.
The term “exemplary” is used herein to represent one example, instance or illustration that may have any number of alternates. Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations. While several exemplary embodiments have been presented in the foregoing detailed description, it should be appreciated that a vast number of alternate but equivalent variations exist, and the examples presented herein are not intended to limit the scope, applicability, or configuration of the invention in any way. To the contrary, various changes may be made in the function and arrangement of elements described without departing from the scope of the claims and their legal equivalents.