Server-Side Internationalization Framework for Web Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Internationalization of web applications is resource-intensive due to inefficient use of client resources, as clients download large libraries of translated text strings, with only a small fraction being used, leading to performance degradation as the application expands.

Innovation Solution

A server-side internationalization framework that loads required resources on demand and caches dynamically created server-side text information, allowing for efficient translation and localization of text messages, reducing resource usage by storing mappings between text keys and pre-translated text in separate files for each language and using a distributed cache for quick access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If clients download all known translated text strings in multiple languages from a server, then complete multilingual support is provided, but client resources become overloaded and performance degrades

Engineering Contradiction:
Improvemultilingual supportVSAvoidclient resource usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary translated text strings from the complete resource library and delivers them to clients on-demand. Instead of providing all translations, the system identifies and extracts only the specific language variants needed for each client based on their locale, significantly reducing the quantity of data transferred while maintaining complete multilingual support capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system dynamically determines which translated text strings to download based on real-time client locale information and application state. The resource library is not statically downloaded in full, but rather dynamically queried and retrieved only for the specific language combinations needed, allowing the system to adapt resource usage to actual requirements.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If a sizeable resource library with all translated text strings is downloaded, then all languages are available, but only a small fraction is actually used

Engineering Contradiction:
Improvelanguage availabilityVSAvoidinefficient resource usage
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system implements partial action by downloading only the necessary portion of the resource library required for each client's specific locale needs. Instead of excessively downloading the complete library of all translated text strings, the system retrieves exactly the subset needed, eliminating waste while ensuring all required languages are available.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the application expands and adds more translated text strings, then multilingual capability increases, but clients become overloaded

Engineering Contradiction:
Improveapplication expansionVSAvoidclient performance
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The resource library is segmented into discrete, independently retrievable text strings organized by locale and application context. When the application expands with new translations, these are added as separate segments rather than requiring complete library redistribution. Clients retrieve only the specific segments they need, allowing application expansion without overloading clients.

Inventive Principle:
Principle #1Segmentation

4Loss of information

If clients search through hundreds or thousands of translated text strings, then the required string is found, but retrieval time increases

Engineering Contradiction:
Improvetext string retrievalVSAvoidsearch time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs preliminary organization of the resource library by locale and text key during server-side preparation. When a client needs a translation, the system has already pre-organized the data structure to enable direct retrieval based on the client's locale and the specific text key, eliminating the need for clients to search through hundreds or thousands of strings and significantly reducing retrieval time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10860346B2Server-side internationalization framework for web applications
Publication Date: 2020.12.08 SAP SE
  • US10860346B2 patent drawing
  • US10860346B2 patent drawing
  • US10860346B2 patent drawing

AI summary

A server receives a web-protocol request from a client that triggers a server-side operation in response to the request. Based on a result of the operation, the server identifies first text information to be returned to the client. A language associated with the client device is determined. A determination is made as to whether a resource file corresponding to the determined language is loaded in a volatile memory on the server. In a case where a resource file corresponding to the determined language is not loaded in the volatile memory, the resource file corresponding to the determined language is loaded from a non-volatile memory into the volatile memory on the server. Second text information which corresponds to the first text information to be returned to the client device is retrieved from the resource file in the volatile memory. The second text information is transmitted to the client.