An application language synchronization method and display device

By introducing a controller into the display device to listen for changes in the system language and execute a matching language synchronization mode, the problem of the application language not being able to automatically synchronize with the system language is solved, thus improving the user experience.

CN116208793BActive Publication Date: 2025-10-31VIDAA INT HLDG (NETHERLANDS) CO
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111446497.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-30
Publication Date
2025-10-31
Estimated Expiration
2041-11-30

AI Technical Summary

Technical Problem

In existing technologies, the application language and system language of display devices cannot be automatically synchronized and updated, requiring users to manually change the application language settings, resulting in a poor user experience.

Method used

By introducing a controller into the display device, the system language changes are monitored, and a matching language synchronization mode is executed according to the current state of the target application. This includes displaying a prompt pop-up when the application is running in the foreground, silently restarting the application process when it is running in the background, and loading the system language when the application is not running, thereby achieving automatic synchronization between the application language and the system language.

Benefits of technology

It enables the application language to automatically synchronize and update with the system language under different states, improving the user experience without requiring users to manually adjust the application language.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116208793B_ABST
    Figure CN116208793B_ABST
Patent Text Reader

Abstract

This invention discloses an application language synchronization method and display device. The method includes monitoring the system language; when a change in the system language is detected, executing a matching language synchronization mode based on the current state of the target application, wherein the language synchronization mode updates the target application's language to the system language. This application enables the target application to automatically adjust to changes in the system language in any state, eliminating the need for users to manually adjust the application language each time they switch the system language, thus improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of display devices, and more particularly to an application language synchronization method and a display device. Background Technology

[0002] Display devices typically have applications (Apps) installed. These applications can display text on their pages according to the user's language settings. In some scenarios, users can adjust the display device's system language based on their needs. Generally, the system language better reflects the user's current language environment and language habits. Taking the YouTube application as an example, if a user initially sets both the system language and YouTube language to English, and then changes the system language to Simplified Chinese, it indicates that the user now prefers to read and browse in Simplified Chinese. Currently, this change is mainly automatic, occurring when the user opens the YouTube app. Therefore, if the App language could be synchronized with the system language—that is, the App language would automatically update whenever the system language is switched—the user would not need to manually change the App's language settings, resulting in a better user experience. Summary of the Invention

[0003] To address the technical problems mentioned in the background section, this invention provides an application language synchronization method and a display device, which can realize the linkage between the system language and the application language in the display device, and enable the application to update the language synchronously as the system language changes under different states.

[0004] The first aspect of this application provides a display device, comprising:

[0005] A monitor is used to display the user interface.

[0006] The controller is used to perform:

[0007] Monitor system language;

[0008] When a change in the system language is detected, a matching language synchronization mode is executed based on the current state of the target application. The language synchronization mode is used to update the language of the target application to the system language.

[0009] In a first exemplary implementation of the first aspect, the controller is configured to execute a matching language synchronization mode as follows:

[0010] If the current state is a foreground running state, control the display to show a prompt pop-up on the application page. The prompt pop-up includes information for asking whether to update the language of the target application to the system language, a confirmation control, and a cancellation control.

[0011] If a selection operation is received for the confirmation control, close the prompt pop-up, control the target application to restart, and query and load the system language during the restart process;

[0012] If a selection operation is received for the cancel control, only the prompt pop-up will be closed.

[0013] In the second exemplary implementation of the first aspect, the controller is configured to execute a matching language synchronization mode as follows:

[0014] If the current state is a background running state or a preloading state, the background process of the target application is first silently terminated, and then the background process is restarted. The background process is controlled to query and load the system language. The user is unaware of the termination and restart process of the background process.

[0015] In the third exemplary implementation of the first aspect, the controller is configured to execute a matching language synchronization mode as follows:

[0016] If the current state is not running, then when the user launches the target application, the target application is controlled to query and load the system language.

[0017] In conjunction with the second implementation of the first aspect described above, in the fourth exemplary implementation of the first aspect, after silently terminating the background process of the target application, the controller is further configured to execute:

[0018] Check if the current system has sufficient available memory;

[0019] If sufficient memory is detected in the system, the background process is restarted;

[0020] If insufficient available memory is detected in the system, the background process will be paused and restarted until sufficient available memory is detected in the system before restarting the background process.

[0021] A second aspect of this application provides an application language synchronization method, comprising:

[0022] Monitor system language;

[0023] When a change in the system language is detected, a matching language synchronization mode is executed based on the current state of the target application. The language synchronization mode is used to update the language of the target application to the system language.

[0024] In the first exemplary implementation of the second aspect, the step of executing a matching language synchronization mode based on the current state of the target application includes:

[0025] If the current state is a foreground running state, a prompt pop-up is displayed on the application page. The prompt pop-up includes information asking whether to update the language of the target application to the system language, a confirmation control, and a cancellation control.

[0026] If a selection operation is received for the confirmation control, close the prompt pop-up, control the target application to restart, and query and load the system language during the restart process;

[0027] If a selection operation is received for the cancel control, only the prompt pop-up will be closed.

[0028] In the second exemplary implementation of the second aspect, the step of executing a matching language synchronization mode based on the current state of the target application includes:

[0029] If the current state is a background running state or a preloading state, the background process of the target application is first silently terminated, and then the background process is restarted. The background process is controlled to query and load the system language. The user is unaware of the termination and restart process of the background process.

[0030] In the third exemplary implementation of the second aspect, the step of executing a matching language synchronization mode based on the current state of the target application includes:

[0031] If the current state is not running, then when the user launches the target application, the target application is controlled to query and load the system language.

[0032] In conjunction with the second implementation of the second aspect described above, in the fourth exemplary implementation of the second aspect, after silently terminating the background process of the target application, the method further includes:

[0033] Check if the current system has sufficient available memory;

[0034] If sufficient memory is detected in the system, the background process is restarted;

[0035] If insufficient available memory is detected in the system, the background process will be paused and restarted until sufficient available memory is detected in the system before restarting the background process.

[0036] In the implementation of the above example, the system language is monitored to quickly capture changes in the system language. When a change in the system language is detected, the current state of the target application also needs to be considered. The target application refers to the application that needs to synchronize with the system language. The current state can include foreground running state, background running state, and non-running state. For applications that support preloading, the current state also includes the preloading state. The language synchronization mode is different when the target application is in different states. Therefore, it is necessary to execute the matching language synchronization mode according to the application state to synchronize the target application's language with the updated system language. This enables the target application to automatically synchronize with changes in the system language in any state, eliminating the need for users to manually adjust the application language every time they switch the system language, thus improving the user experience. Attached Figure Description

[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the accompanying drawings that need to be accessed in the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0038] Figure 1 An example is shown illustrating a use case for the display device;

[0039] Figure 2 An exemplary hardware configuration block diagram of the control device 100 is shown;

[0040] Figure 3 An exemplary hardware configuration block diagram of display device 200 is shown;

[0041] Figure 4 An exemplary diagram of the software configuration in the display device 200 is shown;

[0042] Figure 5(a) illustrates an exemplary diagram of the display device settings page;

[0043] Figure 5(b1) illustrates, for example, the current language settings subpage when the system language has not been switched;

[0044] Figure 5(c) illustrates an exemplary schematic diagram of the language list display interface;

[0045] Figure 5(b2) is an exemplary diagram of the language settings subpage after the system switches to the target language;

[0046] Figure 5(b3-1) illustrates an example of a subpage that supports specifying the language of a target application when setting the system language.

[0047] Figure 5(b3-2) illustrates an exemplary diagram of the application list display interface;

[0048] Figure 5(b3-3) illustrates the changes in the language settings subpage when the submitted target application set is empty.

[0049] Figure 5(b3-4) illustrates the changes in the language settings subpage when the submitted target application set is a non-empty set;

[0050] Figure 5(b3-5) illustrates the changes in the language settings subpage when the target application set is the entire set.

[0051] Figure 6 An example diagram illustrates the UI changes when the language linkage feature is enabled within the application;

[0052] Figure 7 An example flowchart of the application language synchronization method is shown;

[0053] Figure 8 An exemplary UI diagram of a display device showing a prompt pop-up is shown. Detailed Implementation

[0054] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.

[0055] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.

[0056] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.

[0057] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.

[0058] The term "module" refers to any known or subsequently developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.

[0059] Figure 1 This is a schematic diagram illustrating a usage scenario of the display device according to an embodiment. For example... Figure 1 As shown, the display device 200 also communicates with the server 400, and the user can operate the display device 200 through the smart device 300 or the control device 100.

[0060] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device includes at least one of infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via a wired connection. Users can control the display device 200 by inputting user commands through at least one method, such as buttons on the remote control, voice input, or control panel input.

[0061] In some embodiments, the smart device 300 may include any one of a mobile terminal, tablet computer, computer, laptop computer, AR / VR device, etc.

[0062] In some embodiments, a smart device 300 may also be used to control the display device 200. For example, an application running on the smart device may be used to control the display device 200.

[0063] In some embodiments, the smart device 300 and the display device may also be used for data communication.

[0064] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.

[0065] In some embodiments, the display device 200 also communicates with the server 400. The display device 200 may communicate via a local area network (LAN), wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the display device 200. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.

[0066] In some embodiments, software steps executed by one execution entity can be migrated to another execution entity with which it communicates data, as needed. For example, software steps executed by a server can be migrated to a display device with which it communicates data, and vice versa.

[0067] Figure 2 An exemplary block diagram of the configuration of the control device 100 according to an exemplary embodiment is shown. Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, and a power supply. The control device 100 can receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200.

[0068] In some embodiments, the communication interface 130 is used for external communication and includes at least one of a WIFI chip, a Bluetooth module, an NFC module, or an alternative module.

[0069] In some embodiments, the user input / output interface 140 includes at least one of a microphone, touchpad, sensor, button, or alternative module.

[0070] Figure 3 A hardware configuration block diagram of a display device 200 according to an exemplary embodiment is shown.

[0071] In some embodiments, the display device 200 includes at least one of a tuner 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.

[0072] In some embodiments, the controller includes a central processing unit, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first to an nth interface for input / output.

[0073] In some embodiments, the display 260 includes a display screen component for presenting an image, a driving component for driving image display, a component for receiving image signals output from a controller, and a user control UI interface, etc.

[0074] In some embodiments, the display 260 may be at least one of a liquid crystal display, an OLED display, and a projection display, and may also be a projection device and a projection screen.

[0075] In some embodiments, the tuner 210 receives broadcast television signals via wired or wireless reception and demodulates audio and video signals, such as EPG data signals, from a plurality of wireless or wired broadcast television signals.

[0076] In some embodiments, the communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The display device 200 can establish the transmission and reception of control signals and data signals with the control device 100 or the server 400 through the communicator 220.

[0077] In some embodiments, detector 230 is used to acquire signals from the external environment or to interact with the outside world. For example, detector 230 includes a light receiver, a sensor for acquiring ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to acquire external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.

[0078] In some embodiments, the external device interface 240 may include, but is not limited to, one or more interfaces such as: High Definition Multimedia Interface (HDMI), analog or data high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.

[0079] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0080] In some embodiments, the controller 250 controls the operation of the display device and responds to user operations via various software control programs stored in memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the display 260, the controller 250 can perform operations related to the object selected by the user command.

[0081] In some embodiments, the object can be any of the optional objects, such as a hyperlink, an icon, or other operable controls. Operations related to the selected object include: displaying links to hyperlinked pages, documents, images, etc., or performing operations corresponding to the program associated with the icon.

[0082] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), RAM (random access memory), ROM (read-only memory), a first to an nth interface for input / output, a communication bus, etc.

[0083] A CPU (CPU) processor is used to execute operating system and application instructions stored in memory, as well as various interactive instructions received from external input, to execute various applications, data, and content, ultimately for the display and playback of various audio and video content. A CPU processor can include multiple processors, such as a main processor and one or more sub-processors.

[0084] In some embodiments, a graphics processor is used to generate at least one of various graphical objects, such as icons, operation menus, and user-input-based graphics. The graphics processor includes an arithmetic logic unit (ALU) that performs calculations based on various user-input interactive commands and displays various objects according to display attributes; it also includes a renderer that renders the various objects obtained from the ALU, the rendered objects being displayed on a monitor.

[0085] In some embodiments, a video processor is configured to receive an external video signal and perform at least one of the following video processing operations according to a standard encoding and decoding protocol of the input signal: decompression, decoding, scaling, noise reduction, frame rate conversion, resolution conversion, image synthesis, etc., to obtain a signal that can be directly displayed or played on a display device 200.

[0086] In some embodiments, the video processor includes at least one of a demultiplexing module, a video decoding module, an image compositing module, a frame rate conversion module, and a display formatting module. The demultiplexing module demultiplexes the input audio and video data streams. The video decoding module processes the demultiplexed video signal, including decoding and scaling. The image compositing module, such as an image synthesizer, overlays and blends a GUI signal generated by a graphics generator based on user input or its own generation with the scaled video image to generate a displayable image signal. The frame rate conversion module converts the input video frame rate. The display formatting module modifies the received frame rate-converted video output signal to conform to a display format, such as outputting RGB data signals.

[0087] In some embodiments, an audio processor is configured to receive external audio signals, perform decompression and decoding according to a standard codec protocol of the input signals, and perform at least one of the following processes: noise reduction, digital-to-analog conversion, and amplification, to obtain a sound signal that can be played in a speaker.

[0088] In some embodiments, the user can input user commands through a graphical user interface (GUI) displayed on the display 260, and the user input interface receives the user input commands through the GUI. Alternatively, the user can input user commands by inputting specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors.

[0089] In some embodiments, a "user interface" is the medium through which an application or operating system interacts and exchanges information with a user, enabling the conversion between the internal form of information and a form acceptable to the user. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of an electronic device. Controls can include at least one of the visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.

[0090] In some embodiments, the user interface 280 is an interface that can be used to receive control input (e.g., physical buttons on the display device body, or others).

[0091] In some embodiments, the display device's system may include a kernel, a command interpreter (shell), a file system, and applications. The kernel, shell, and file system together form the basic operating system structure, allowing users to manage files, run programs, and use the system. Upon power-up, the kernel starts, activates the kernel space, abstracts hardware, initializes hardware parameters, and runs and maintains virtual memory, the scheduler, signals, and inter-process communication (IPC). After the kernel starts, the shell and user applications are loaded. Applications are compiled into machine code after startup, forming a process.

[0092] like Figure 4 As shown, the display device system is divided into three layers, from top to bottom: the application layer, the middleware layer, and the hardware layer.

[0093] The application layer mainly includes commonly used applications on TVs, as well as the application framework. The commonly used applications are mainly browser-based applications, such as HTML5 apps, and native apps.

[0094] An application framework is a complete program model that has all the basic functions required by standard application software, such as file access, data exchange, etc., as well as the user interface for these functions (toolbar, status bar, menu, dialog box).

[0095] Native apps can support online or offline access, push notifications, or access to local resources.

[0096] The middleware layer includes various television protocols, multimedia protocols, and system components. Middleware can use the basic services (functions) provided by system software to connect different parts of application systems or different applications on the network, achieving resource sharing and function sharing.

[0097] The hardware layer mainly includes the HAL interface, hardware, and drivers. The HAL interface is a unified interface for all TV chips, with the specific logic implemented by each chip. The drivers mainly include: audio drivers, display drivers, Bluetooth drivers, camera drivers, Wi-Fi drivers, USB drivers, HDMI drivers, sensor drivers (such as fingerprint sensors, temperature sensors, pressure sensors, etc.), and power drivers.

[0098] The above embodiments describe the hardware / software architecture and functional implementation of the display device. In one implementation, the user can set the system language in the display device's settings page. The language setting option provides the user with a list of languages, including language categories from different countries and regions. The user selects a language from the language list and sets it as the system language. The display device then displays text information in the UI interface, such as menus and homepage, according to the language category indicated by the system language.

[0099] In one exemplary implementation, as shown in Figure 5(a) of the display device's settings page, the settings page displays several settings options to the user, such as image settings, sound settings, network settings, language settings, Bluetooth settings, etc. After the user triggers "Language Settings" via remote control, the language settings subpage shown in Figure 5(b1) is displayed. The language settings subpage displays the current language 51 by default. For example, in Figure 5(b1), the current language 51 is "Simplified Chinese". The language settings subpage also has an expansion control 52. For example, the expansion control 52 is displayed as ">". After the user triggers the ">" control via remote control, the language list 53 shown in Figure 5(c) is displayed.

[0100] In one exemplary implementation, the language categories in the language list 53 can be sorted according to a specified sorting rule. For example, the current language can be placed at the top of the language list 53, and the subsequent languages ​​can be sorted according to rules such as the language's universality / popularity, the user's language environment / habits, etc., so that the user can select the desired target language from the language list 53.

[0101] In one exemplary implementation, the language categories to be displayed in the language list 53 can be filtered according to specified filtering rules. For example, obscure languages, languages ​​that the user has never used, languages ​​with large geographical differences, and languages ​​that do not conform to the user's language environment and habits can be filtered out, thereby purifying the language list 53 and making it easier for the user to quickly locate and filter the target language.

[0102] In one exemplary implementation, the language list 53 also includes a search bar so that users can quickly find a target language by entering keywords.

[0103] In one exemplary implementation, the language categories in the language list 53 can be displayed in their actual languages, and the language category can be annotated with the current language, such as English, Traditional Chinese, Deutsch, etc., to accommodate users with different language needs and avoid the awkward situation where users cannot accurately select the target language because they do not understand the current language.

[0104] In one exemplary implementation, for example, if a user needs to switch the system language from the current "Simplified Chinese" to "English", they can trigger the target language "English" in language list 53 via the remote control. "English" will then become selected, for example, as shown by the checkmark "√" in Figure 5(c). Both system language and application language should be single-selectable, not multi-selectable. That is, the system or application should only display in one language, and inconsistent language display, such as some text using language A and others using language B, is not supported.

[0105] In one exemplary implementation, the language list 53 interface also includes a first confirmation control 531 and a first cancellation control 532. Regardless of whether the user selects a target language, if the user triggers the first cancellation control 532 via the remote control, the language change process is canceled, and the current language remains unchanged. After the user selects a target language, if the first confirmation control 531 is triggered via the remote control, the controller generates a language switching command based on the target language and sends it to the language management module. The language management module responds to the language switching command by switching the system language to the target language, thus resetting the system language. After the system language is switched to the target language, the language settings subpage changes to the effect shown in Figure 5(b2), where the current language 51 changes to "English," and all other text information on the page is also displayed in English.

[0106] In one implementation, at least one application (App) can be installed in the display device. The application generally supports the user-defined App language. When the application starts, it loads the App language so that the text information on the application page can be displayed in the App language.

[0107] In one exemplary implementation, the system language and application language can be set independently (non-linked mode). Each app can be configured with a dedicated application language settings page. The UI display and user operation adaptability of the application language settings page are similar to the aforementioned system language settings. In this case, the system language and application language can be the same or different. For example, the user sets the system language to Simplified Chinese and the YouTube language to English.

[0108] In one exemplary implementation, the system language and the application language can be linked to ensure that they remain consistent. When the system language is updated, the application language needs to be switched to the latest system language synchronously.

[0109] To avoid users having to manually switch the language of frequently used applications every time the system language changes, it's best to establish a linkage between the system language and the app language, ensuring that the app language updates synchronously when the system language changes. In one approach to language linkage, the application process queries and displays the device's current system language upon startup, loads the system language, and synchronously updates the app's language settings.

[0110] In one exemplary implementation, when establishing the linkage between the system language and the application language, the target application mapped by the system language can be preset. That is, among the applications installed on the display device, which applications need to link with the system language (i.e., the corresponding target applications) and which applications implement language independence (i.e., non-linkage mode, corresponding to non-target applications). Thus, when the system language is updated, the language of the target application is updated synchronously in a targeted manner, while the language of non-target applications is not disturbed or affected.

[0111] In one exemplary implementation, the display device can maintain a dynamic application list, which records the applications currently installed on the display device, such as the application's name, ID, and other identifying information. Each time a new application is successfully installed, the display device inserts the new application's identifying information into the application list; conversely, each time an application is uninstalled, the display device removes the uninstalled application's identifying information from the application list.

[0112] In one exemplary implementation, based on Figure 5(b1), and referring to the improved language settings subpage in Figure 5(b3-1), this page also displays information prompting the user whether to enable the language linkage function, and includes a first switch control 54. If the user triggers the off state of the first switch control 54 (the first switch control 54 is grayed out), the language linkage function between the system and applications is disabled, the application list is not displayed, and the user cannot select any target application from the application list.

[0113] In one exemplary implementation, if the user triggers the first switch control 54 to the on state via a remote control, the UI changes to the effect shown in Figure 5 (b3-2). The first switch control 54 is lit, and a system maintenance application list 55 pops up on the page. The application list 55 displays the identification information of all applications currently installed on the device. Each application's identification information corresponds to a selection control 551. For example, if the user selects YouTube, the selection control 551 corresponding to YouTube will switch to the selected state. Optionally, since the number of applications installed on the display device may be large, to facilitate users to select all with one click, the application list 55 can also be equipped with a select all control 552. After the user triggers the select all control 552, all selection controls 551 in the application list will be displayed as selected.

[0114] In one exemplary implementation, the application list 55 also includes a second confirmation control 553 and a second cancellation control 554. If the user triggers the second confirmation control 553 after making an empty selection from the application list, or if the user triggers the second cancellation control 554 regardless of whether a target application is selected, the submitted target application set is empty, meaning no target application is selected. If the user triggers the second confirmation control 553 after selecting one or more target applications from the application list, the submitted target application set is a non-empty proper subset of the application list. If the user triggers the select all control 552 and the second confirmation control 553 sequentially, the submitted target application set is the entire application list. Therefore, the target application set is a subset of the application list, meaning the system language and application language can have a zero-mapping, one-to-one, or one-to-many mapping relationship.

[0115] In one exemplary implementation, referring to the example in Figure 5(b3-3), if the user confirms that the submitted target application set is empty, the application list is automatically closed, and operation prompt 555 and reselection control 556 are displayed on the language settings subpage. Operation prompt 555 may read, for example, "There are currently no applications linked to the system language; you can reselect at any time." If the user triggers the reselection control 556 on the page in Figure 5(b3-3), the application list pops up again for the user to select a target application. In another exemplary implementation, if the user confirms that the submitted target application set is empty, the application list is automatically closed, and the first switch control 54 is switched to the closed state shown in the example in Figure 5(b3-1). This method disables the language linkage function by default when the user does not specify any target application. If the user wants to reselect a target application, they can turn the first switch control 54 back on.

[0116] In one exemplary implementation, if the user confirms that the submitted target application set is a non-empty set, as shown in the example in Figure 5(b3-4), the application list is automatically closed, and the reselection control 556 and the selected application prompt information 557 are displayed in the language settings subpage. The selected application prompt information 557 displays the identification information of all target applications that the user has confirmed to select in the application list, so that the user can view the selected applications. For example, if the user selects only YouTube in the application list, the selected application prompt information 557 will only display the "YouTube" application. If the user triggers the reselection control 556 in 5(b3-4), the application list will pop up again to support the user in modifying, resetting, and updating the target application set.

[0117] In one exemplary implementation, referring to the example in Figure 5 (b3-5), if a user triggers the select all control 552 in the application list, and the target application set is the entire set, the application list is automatically closed, and the select all control 556 and the select all prompt message 558 are displayed in the language settings subpage. The select all prompt message 558 is, for example, "Language linkage with all currently installed apps on the device is enabled," thus avoiding the situation where the selected application prompt message 557 becomes too long due to displaying too many installed applications. If the user triggers the select all control 556 in 5 (b3-5), the application list pops up again to support the user in modifying, resetting, and updating the target application set.

[0118] The aforementioned embodiment describes how users configure the system language and target application set within the language settings subpage of the system settings. Other possible implementations can be found by referring to... Figure 6 This example uses the Cloud Video Aurora application as an example only; other applications can refer to this example. Figure 6 Sub-figure (a) shows the language settings page of the Cloud Video Aurora application. This language settings page allows users to specify the application language from a multilingual environment, such as by locating and searching through the search bar or language list. The page has an option called "Follow System Language", which is equivalent to the switch for the language linkage function configured in the application. If the user does not select "Follow System Language", Cloud Video Aurora is considered a non-target application, and the language of Cloud Video Aurora will not be linked with the system language. If the user selects "Follow System Language", and the first switch control 54 is also currently in the on state, then Cloud Video Aurora becomes the target application, and "Cloud Video Aurora" is automatically added to the target application set.

[0119] As an example, suppose that before the user selects the "Follow system language" option, the system's language settings subpage is displayed as shown in Figure 5 (b3-4), i.e., the target application set is {YouTube}. Since the target application set has been updated to {YouTube, Cloud Video Aurora}, then refer to... Figure 6As shown in sub-figure (b), the selected application prompt information 557 also needs to be updated synchronously. Therefore, when the first switch control 54 is in the on state, each time the user selects to follow the system language in an app, a new target application is added to both the target application set and the selected application prompt information 557; similarly, each time the user deselects to follow the system language in an app, a new target application is removed from both the target application set and the selected application prompt information 557. Therefore, the target application set and the selected application prompt information 557 can dynamically change and update based on the user's operations in the system language settings and application language settings, achieving precise UI control and transformation. It should be noted that the selection method of the target application set, the language settings, and the configuration method of the language linkage function are not limited to the solutions provided in the embodiments and accompanying drawings of this application.

[0120] When the system language is updated, it is necessary to first determine which target applications will be synchronized and which non-target applications will retain their own language. Therefore, determining the target applications is one of the prerequisites for achieving language synchronization. Then, this application will decide which language synchronization mode to implement based on the actual running status of the target applications when the system language is changed, so as to achieve the purpose of language synchronization. Please see the following description for details.

[0121] In one exemplary implementation, for applications that do not have a preload function, there are three states: started, suspended, and stopped. For applications that support preload, such as browsers, there are four states: preloaded, started, suspended, and stopped.

[0122] In the aforementioned language linkage method, if the system language changes when the application is in a stopped state, the application process will query the currently recorded system language and load the language category indicated by the system language when the user launches the application, and synchronously update the application's language settings.

[0123] The aforementioned language linkage method still has some drawbacks in actual implementation: when the application is in the started state, if the system language changes, the started application does not respond in any way. That is, in this state, the application cannot perform synchronized language actions on its own. The user must first exit the application, switch the application to the stopped state, and then restart the application in order to achieve the purpose of language linkage in the aforementioned way. In this state, user operation is still required, resulting in a poor user experience.

[0124] Furthermore, if the system language changes while the application is in a suspended or preloaded state, the application cannot update its own language to the system language even if the user restarts the application. In other words, language synchronization is not feasible in the suspended or preloaded state.

[0125] Suspended means that the application process is in the background and has stopped executing code. The system automatically moves the application into this state without notifying it beforehand. When the application is in this state, it remains in memory but does not execute any program code. When the system issues a low memory warning, it will remove the application process in the suspended state from memory, thereby providing sufficient memory support for the application running in the foreground.

[0126] Preload is a configurable preloading method for some applications. By declaring resources that need to be downloaded in advance to the browser, it enables the application to execute immediately when the resources are actually used, without waiting for network consumption, thus reducing network overhead and improving the application's resource loading speed and response speed. Preloaded is the state that such applications are in when preloading resources before officially entering the started state.

[0127] In one exemplary implementation, the application language synchronization scheme provided in this application monitors the system language in real time. Upon detecting a broadcast indicating a change in the system language, it adaptively matches and executes the corresponding language synchronization mode based on the current state of the target application. This updates the target application's language to the system language, ensuring that the application can synchronize with the system language in any state. The application language and the system language can be the same or different. The target application is an application installed on the display device that needs to synchronize with the system language. Users can select the target application based on their actual usage habits and needs.

[0128] In one exemplary implementation, refer to Figure 7 An example of an application language synchronization method, wherein the method is executed by a controller 250 of a display device, and the method includes the following program steps:

[0129] Step S1: Monitor the system language.

[0130] In one exemplary implementation, the controller 250 may be configured with a system language management module. The system language management module is used to record and update the system language according to user operations. The system language management module can listen for changes in the system language and broadcast a message of system language change to the controller 250 when a change in the system language is detected.

[0131] Step S2: Upon detecting a change in the system language, execute a matching language synchronization mode based on the current state of the target application. This language synchronization mode updates the target application's language to the system language.

[0132] When the controller 250 receives a broadcast message indicating a change in the system language, it obtains the target application pre-selected by the user and queries the current status of each target application. The current status may include preloaded, started, suspended, and stopped states. For different application states, the following language synchronization modes can be matched and executed.

[0133] If the target application is in the foreground rather than the background, i.e., the target application is in the foreground running state (started), then language synchronization mode one is executed. Language synchronization mode one includes steps S201A to S201D:

[0134] Step S201A: Control the display to show a prompt pop-up on the application page.

[0135] In one exemplary implementation, refer to Figure 8 The example pop-up dialog 80 includes information asking the user whether to update the target application's language to the system language. For example, if the target application (using YouTube) is currently in English and the system language is updated to Simplified Chinese, the pop-up dialog 80 would display this information in English, such as asking "Change language to simplified Chinese?". Optionally, the pop-up dialog 80 may also prompt the user that the target application will restart to load and update the language to match the user's language preference, for example... Figure 8 The message "YouTube will restart to update your preferences" informs users that their application language will be updated to English after YouTube restarts, thus synchronizing and linking YouTube's language with the system language.

[0136] In one exemplary implementation, the prompt pop-up 80 asks for information indicating the target language to switch to, for example... Figure 8The target language is Simplified Chinese, which follows the system language. To highlight the contrast between the written and spoken languages ​​and make the query information more vivid, [following / referencing / etc.]... Figure 8 The example query message could be something like "Change language to..." Simplified Chinese The question mark (?) indicates that the text in the query message that indicates the target language is displayed in the target language.

[0137] In one exemplary implementation, refer to Figure 8 The example pop-up window 80 also includes a confirmation control 81 (i.e. Figure 8 "Confirm Change" and Cancel Control 82 (i.e. Figure 8 The text in the control in the pop-up window 80 (which displays "Cancel") is also displayed in the current language.

[0138] Step S201B: Is a selection operation for the confirmation control received? If the user selects and triggers the confirmation control 81, it means the user agrees to language linkage and allows the target application to perform language synchronization, then proceed to step S201C; if no selection operation for the confirmation control is received, it means the user selects and triggers the cancellation control 82, indicating that the user does not agree to language linkage, then proceed to step S201D.

[0139] Step S201C: Close the prompt pop-up, control the target application to restart, and query and load the system language during the restart process.

[0140] As an example, suppose YouTube's current language is Simplified Chinese, and the system language is updated to English. If YouTube does not restart, the application language will not be refreshed and will remain in Simplified Chinese. Only when YouTube restarts can the YouTube application query the system language management module for the latest system language during the startup process, and update its own application language in conjunction with the system language, so that the application language of YouTube will be switched to English after the restart.

[0141] Step S201D: Simply close the pop-up message.

[0142] If the user selects the cancel control 82 in the prompt pop-up 80, the language linkage will not be triggered, and the current language synchronization process will be canceled; that is, only the prompt pop-up 80 needs to be closed.

[0143] In one exemplary implementation, after the prompt pop-up 80 is closed, it can be displayed again on the target application's application page the next time the system language changes.

[0144] In one exemplary implementation, a user's language habits and needs may change. For example, when using YouTube this time, the user wants to maintain the original language environment, so they select the cancel control 82 in the prompt pop-up 80. However, the next time the user uses YouTube, they may prefer to use the system language, meaning the user's language preference has changed. Optionally, after the user triggers the cancel control 82 to close the prompt pop-up 80, the language linkage fails. In this case, after the target application is launched again (i.e., enters the started state), the prompt pop-up 80 can be automatically displayed again on the application page of the target application to ask the user again whether to change the application language to the current system language. This implementation supports multiple prompts to allow the application to link with the system language, thereby adapting to the user's changing language needs when using the target application at different times.

[0145] If the target application is in the background rather than the foreground, i.e., the target application is in a preloaded state or a suspended state, then language synchronization mode two is executed. Language synchronization mode two includes steps S202A to S202C:

[0146] Step S202A: Silently terminate the background process of the target application.

[0147] Step S202B: Restart the background process of the target application.

[0148] Step S202C: Control the background process of the target application to query and load the system language.

[0149] When the target application is in a preloaded or suspended state, this application simulates triggering an exit action for the target application. Specifically, it first silently terminates the target application's background process. "Silent" means the background process exits without noticeable changes to the UI or sound playback, ensuring the user is unaware of the application's background process exiting and restarting. After the target application's background process silently exits, it needs to be restarted. During the restart, the system language is queried from the system language management module, and the application language is updated synchronously based on the system language.

[0150] In one exemplary implementation, the controller 250 may also be configured with an application management module. This module manages various applications on the display device, including but not limited to recording the current state of each application and managing memory usage. After step S202A and before step S202B, the application management module determines the current available system memory based on the system memory and the memory consumption of currently running (including foreground and background) applications, and checks whether the available system memory is sufficient. If the available system memory is sufficient, the application management module can directly restart the background process of the target application. If the available system memory is insufficient to restart the target application, the restart of the target application's background process is paused. During this period, some applications may exit and release memory. When the system memory is detected to be sufficient again, the application management module can restart the background process of the target application.

[0151] For clarity, this application provides an exemplary example. For instance, if the system memory is 1024MB and the memory consumption is 768MB, then theoretically the system's available memory is 256MB. If the YouTube background process requires 300MB of memory, then the system's available memory is obviously insufficient, and the YouTube background process must be paused and restarted. Afterward, the user exits the video call application, freeing up 200MB of memory, and the system's available memory increases to 456MB. Therefore, the system's available memory is sufficient to support the memory consumption of the YouTube background process, and the YouTube background process can be restarted.

[0152] For example, if the system memory is 1024MB and the memory consumption is 540MB, then theoretically the system's available memory is 484MB. If the YouTube background process requires 300MB of memory, then obviously the system's available memory is sufficient, so there is no need to wait, and the application management module can directly launch the YouTube process in the background.

[0153] If the target application is in a stopped state, then execute language synchronization mode three, which includes step S203:

[0154] Step S203: Upon receiving an operation from the user to launch the target application, control the target application to query and load the system language.

[0155] When the target application is in a stopped state (i.e., the target application process does not exist), user operations are tracked. If a user input command to start the target application is received, the target application will automatically query the system language during the startup process and update the application language synchronously according to the system language. After the target application finishes starting (i.e. enters the started state), the user can see the text displayed in the system language on the application page, realizing the linkage between the system language and the application language.

[0156] This application monitors the system language to quickly detect changes. Upon detecting a system language change, it executes a matching language synchronization mode based on the application's state, thereby synchronizing the target application's language to the updated system language. This ensures the target application automatically adapts to system language changes regardless of its state, improving synchronization efficiency and eliminating the need for manual language adjustments after each system language switch, thus enhancing the user experience. Furthermore, this application allows users to update selected target applications through system language settings and / or application language settings. This determines which applications maintain language independence and which need to be synchronized with system language changes, deciding whether application language synchronization is necessary and the corresponding language synchronization mode. This makes application language switching more efficient and flexible, improving the user experience with language functionality.

[0157] This application primarily focuses on the synchronization and interaction between the application language and the system language, without limiting the specific implementation methods for the operation and management of the application. This application does not restrict specific language categories and supports switching between various languages. When the language of the system and application changes in this application, only the language category used for the text changes, while other aspects such as page structure and page content remain unchanged. The UI provided in this application is merely exemplary and does not constitute a limitation on the UI display of actual products. Therefore, appropriate modifications and extensions can be made to UI elements such as prompts and pop-ups, and the specific design and application should be based on the actual product.

[0158] In one exemplary implementation, the present invention also provides a computer storage medium that can store a program, which, when executed, includes the program steps of the application language synchronization method involved in the embodiments of this application. The computer storage medium may be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0159] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0160] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.

Claims

1. A display device, characterized in that, include: A monitor is used to display the user interface. The controller is used to perform: Monitor system language; When a change in the system language is detected, a matching language synchronization mode is executed based on the current state of the target application. The language synchronization mode is used to update the language of the target application to the system language. The controller executes a matching language synchronization mode based on the current state of the target application, specifically configured as follows: If the current state is a foreground running state, control the display to show a prompt pop-up on the application page. The prompt pop-up is used to ask whether to update the language of the target application to the system language. If an operation to agree to language linkage is received, close the prompt pop-up, control the target application to restart, and query and load the system language during the restart process; If the current state is a background running state or a preloading state, first silently terminate the background process of the target application, and then restart the background process, controlling the background process to query and load the system language; If the current state is not running, then when the user launches the target application, the target application is controlled to query and load the system language.

2. The display device according to claim 1, characterized in that, After the controller displays a prompt pop-up on the application page, it is also used to perform: If an operation indicating disagreement with language synchronization is received, the pop-up message will be closed, and the language synchronization mode will not be executed.

3. The display device according to claim 1, characterized in that, After silently terminating the background process of the target application, the controller is also used to perform: Check if the current system has sufficient available memory; If sufficient memory is detected in the system, the background process is restarted; If insufficient available memory is detected in the system, the background process will be paused and restarted until sufficient available memory is detected in the system before restarting the background process.

4. An application language synchronization method, characterized in that, include: Monitor system language; When a change in the system language is detected, a matching language synchronization mode is executed based on the current state of the target application. The language synchronization mode is used to update the language of the target application to the system language. The step of executing a matching language synchronization mode based on the current state of the target application includes: If the current state is a foreground running state, a prompt pop-up will ask whether to update the target application's language to the system language; If an operation to agree to language linkage is received, close the prompt pop-up, control the target application to restart, and query and load the system language during the restart process; If the current state is a background running state or a preloading state, first silently terminate the background process of the target application, and then restart the background process, controlling the background process to query and load the system language; If the current state is not running, then when the user launches the target application, the target application is controlled to query and load the system language.

5. The method according to claim 4, characterized in that, The method further includes: If an operation indicating disagreement with language synchronization is received, the pop-up message will be closed, and the language synchronization mode will not be executed.

6. The method according to claim 4, characterized in that, After silently terminating the background process of the target application, the method further includes: Check if the current system has sufficient available memory; If sufficient memory is detected in the system, the background process is restarted; If insufficient available memory is detected in the system, the background process will be paused and restarted until sufficient available memory is detected in the system before restarting the background process.

Citation Information

Patent Citations

  • Operating system language switching method and device

    CN104516781A

  • Language switching method and device for application program

    CN112035132A