Software Localization via Dynamic Unit Conversion Patterns
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software development processes require numerous properties files with repetitive information, and changing units in large software applications necessitates significant code modifications, especially when dealing with capacities in different units like GB and Go, which becomes inefficient as storage capacities increase.
Innovation Solution
Implement a method that allows a smaller number of properties files with less repetitive information by using property display patterns that include unit conversions, enabling developers to modify units without altering the code, by reading and extracting patterns to perform unit conversions on numeric property values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional properties files are used for each dialog box with language-specific translations, then localization is achieved, but the number of properties files increases significantly with repetitive information
Solution Approach 1:
The patent combines translation information and unit conversion information into a single properties file structure. Instead of having separate files for each dialog box with repetitive translation patterns, the system merges these into unified properties files that contain both language translations and unit conversion rules, reducing the overall number of files needed.
Solution Approach 2:
The properties files are designed to serve multiple functions simultaneously: they provide language-specific translations and also contain unit conversion rules that apply across the entire application. This multi-functionality eliminates the need for separate unit conversion configurations and reduces redundancy.
2Ease of manufacture
If properties files contain fixed unit definitions, then translation is simplified, but units cannot be changed without rewriting code
Solution Approach 1:
The system makes unit definitions dynamic by storing them in properties files rather than hardcoding them in the source code. This allows unit conversion rules to be modified, added, or removed by simply editing the properties files without requiring code changes, compilation, or deployment updates.
Solution Approach 2:
The patent introduces properties files as an intermediary layer between the source code and the actual display units. This intermediary contains conversion rules that can be modified independently of the code, allowing flexible unit changes while maintaining the stability of the core application logic.
3Manufacturing precision
If developers hardcode unit conversions in source code, then unit accuracy is maintained, but code complexity increases and maintenance becomes difficult
Solution Approach 1:
The patent extracts unit conversion logic from the source code and places it into external properties files. This separation removes the complexity of unit conversion handling from the main codebase, making the code cleaner and easier to maintain while preserving conversion accuracy through the structured format of the properties files.
Data Source
AI summary
A method is provided for displaying a numeric property value. The method includes (a) reading a file from a tangible computer-readable storage medium, the file containing a set of property display patterns, (b) extracting a particular property display code from the file, the particular property display pattern corresponding to the numeric property value to be displayed, (c) extracting a unit of measure and a reference to a conversion function from the particular property display pattern, (d) calling the referenced conversion function to perform a unit conversion on the numeric property value to convert from an internal unit of measure into an display unit of measure, and (e) displaying the converted numeric property value and the extracted unit of measure to a user. In another embodiment, software is provided for executing this method. Additional methods are provided for developing software.


