Independent i18n Engine for DOM Language Content

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current internationalization (i18n) methods in software are time-consuming and difficult to implement, as they are integrated into the business logic, making it challenging to identify and address issues, leading to potential breakages and conflicts, and requiring extensive functional testing for each product release.

Innovation Solution

An independent i18n engine that uses language markers to separate i18n from business logic, allowing for the retrieval and insertion of language content into a Document Object Model (DOM) based on locale settings, enabling efficient language management and testing without affecting the business logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If i18n implementation is integrated into the application's business logic, then language content can be displayed in the user interface, but the localized values become the basis for logical judgments which can cause features and functionalities to break when language changes occur

Engineering Contradiction:
Improvei18n implementation easeVSAvoidfeature functionality reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent separates i18n functionality from business logic by creating a dedicated i18n engine that handles language content independently. This segmentation allows language changes to occur without affecting business logic operations, preventing feature breakages while maintaining ease of i18n implementation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts language content handling from the business logic layer and places it in a separate i18n engine. This extraction removes the harmful coupling between localized values and logical judgments, allowing language changes without causing functionality breaks while keeping i18n implementation straightforward.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If i18n implementation is integrated into the business logic, then language content can be displayed, but it becomes difficult to identify what caused breakages and hard to implement changes

Engineering Contradiction:
Improvei18n implementation easeVSAvoidbreakage identification difficulty
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

By segmenting i18n into a separate engine, the patent makes it easy to identify the source of breakages. Any issues can be traced to the i18n engine rather than searching through integrated business logic, while changes can be implemented by simply updating language content in the dedicated engine.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The i18n engine acts as an intermediary between the user interface and business logic. This intermediary layer simplifies breakage identification by centralizing all language-related operations, making it clear when and where language changes affect the system without complicating implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If i18n changes are made throughout the business logic, then language content can be updated, but unexpected conflicts with existing business logic can occur leading to additional breakage

Engineering Contradiction:
Improvelanguage content adaptabilityVSAvoidbusiness logic stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments language content management into a separate i18n engine, allowing language updates without affecting business logic stability. This enables high adaptability for language changes while maintaining reliability of core functionality by preventing direct conflicts between i18n modifications and business logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By extracting i18n from business logic, the patent allows language content to be updated independently without causing conflicts with existing business logic. This extraction preserves business logic stability while providing the adaptability needed for multi-language support.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If i18n is implemented in the data object layer, then language content can be retrieved and displayed, but extensive functional testing is required for each product release

Engineering Contradiction:
Improvei18n implementation speedVSAvoidfunctional testing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments i18n into a standalone engine that can be tested independently of business logic. This segmentation reduces the scope of functional testing required for each release, as language content changes can be verified separately without requiring comprehensive retesting of entire product functionalities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By extracting i18n from the data object layer into a separate engine, the patent enables independent testing of language content. This reduces the time required for functional testing during product releases, as language-related testing can be performed separately and more efficiently.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11741295B2Independent rendering engine for a user interface internationalization
Publication Date: 2023.08.29 VMWARE INC
  • US11741295B2 patent drawing
  • US11741295B2 patent drawing
  • US11741295B2 patent drawing

AI summary

Methods and systems are disclosed for an independent internationalization (“i18n”) engine for loading language content into a Domestic Object Model (“DOM”). An application can receive a markup file. The markup file can include language markers and an object map. The object map can map the language markers to language content in a language library. The application can construct a DOM from the markup file. An i18n engine of the application can retrieve language content from the language library using the object map. The i18n engine can insert the language content into objects in the DOM according to their corresponding language markers. The application can display the markup file using the DOM with the included language content.