Method for internationalized software development, internationalized software development system, and server
By establishing data and business models in international software development, and utilizing visual designers and rule engines to automatically collect and inject international resources, the problem of low efficiency in international information collection and embedding in existing technologies has been solved, achieving efficient and accurate international software development.
Patent Information
- Application Number
- CN202211542278.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-02
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2042-12-02
AI Technical Summary
In the current process of international software development, the collection and embedding of international information is inefficient, and there is a lack of systematic resource collection and management capabilities, which makes the development process time-consuming and prone to errors.
By extracting the database table structure to build a data model, performing business modeling and page modeling, using a visual form designer to obtain internationalization resources, and generating internationalized software engineering code through a rule engine, the automatic collection and injection of internationalization resources is achieved.
It improves the efficiency and accuracy of international software development, reduces human error, and provides systematic international resource management and the ability to support multilingual requirements.
Smart Images

Figure CN116243914B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of international software development technology, specifically to a method, system, and server for international software development. Background Technology
[0002] As more and more domestic companies engage in multinational operations, multilingual software development has become mainstream in order to enable products or software to better enter the international market. Software that provides multilingual support greatly facilitates user use, improves user satisfaction, reduces software costs, and helps products enter the international market.
[0003] In real-world software development, product managers typically understand business logic as scenarios, processes, functions, and rules, while developers' logic focuses on system modules, classes and objects, class attributes, methods, database tables, and fields. This difference leads to inefficient communication between product and development teams. Domain modeling is the most widely used method for extracting and structurally expressing business logic. Based on domain modeling, current internationalized software development involves developers writing internationalization language files during software code development and then embedding the internationalization keys from these files into the front-end and back-end code. Existing methods require developers to write code based on the domain model after completion, resulting in a disconnect between the final output of domain modeling and code creation. Furthermore, the collection and embedding of internationalization information is done manually, one by one, by developers—a time-consuming and error-prone process that lacks systematic collection and management capabilities for internationalization resources. Summary of the Invention
[0004] The purpose of this application is to provide a method for internationalized software development, in order to solve the problem of low efficiency in the collection and embedding of internationalized information when generating internationalized software code in the prior art.
[0005] To achieve the above objectives, the first aspect of this application provides a method for internationalized software development, applied to an internationalized software development system, wherein the internationalized software development system communicates with a database, including:
[0006] Extract the table structure from the database to build a data model;
[0007] Perform business modeling on the data model to generate a business model;
[0008] The page model is generated by combining the business model with the data model using a visual form designer.
[0009] Access to international resources;
[0010] By combining business models, page models, and internationalization resources through a rules engine, internationalized software engineering code can be generated.
[0011] In this embodiment of the application, generating a page model by combining a business model with a data model using a visual form designer includes:
[0012] Define forms based on the data model using a visual form designer;
[0013] Business queries are performed by combining the business model with the data model.
[0014] In this embodiment of the application, defining a form based on a data model using a visual form designer includes:
[0015] Retrieve field attributes and page attributes from the data model;
[0016] Define forms using a visual form designer, based on field attributes and page attributes.
[0017] In this embodiment, business queries include column queries, in-row operations, and global operations. Business queries based on the business model and combined with the data model include:
[0018] Retrieve the field attributes and page attributes of the data model;
[0019] Perform column queries based on field attributes and page model;
[0020] Obtain the business relationships and business operations from the business model;
[0021] Perform intra-line and global operations based on business relationships and operations.
[0022] In this embodiment of the application, obtaining internationalization resources includes:
[0023] Based on business model-driven approaches, we collect the first internationalization resources during the data model building process and the second internationalization resources during the business model generation process.
[0024] Store the first and second internationalization resources in the internationalization component;
[0025] Obtain the first and second internationalization resources from the internationalization components.
[0026] In this embodiment of the application, the first internationalization resource includes tags, references, and dictionaries;
[0027] The second set of internationalization resources includes prompts and buttons.
[0028] In this embodiment of the application, generating internationalized software engineering code by combining a rules engine with a business model, a page model, and internationalization resources includes:
[0029] Obtain the context and development configuration to run the rules engine;
[0030] The rules engine combines backend code, frontend code, and internationalization resources to generate internationalized software engineering code.
[0031] The context includes code generation rules, internationalization injection rules, and language pack generation rules, while the development configuration includes service and module configuration, system field configuration, UI component configuration, verification rule configuration, operation template configuration, and generation rule configuration.
[0032] A second aspect of this application provides a server, comprising:
[0033] The memory is configured to store instructions; and
[0034] The processor is configured to retrieve the instructions from the memory and, when executing the instructions, to implement the aforementioned method for internationalized software development.
[0035] A third aspect of this application provides an internationalized software development system, comprising:
[0036] The aforementioned servers;
[0037] The model component communicates with the server and is configured to generate code and internationalization resources;
[0038] The rules engine component communicates with the server and is configured to provide code generation rules;
[0039] Develop configuration components that communicate with the server and are configured to assist in modeling and running the rule engine;
[0040] Internationalization components communicate with the server and are configured to store and provide internationalized resource management.
[0041] In this embodiment of the application, the internationalization component includes:
[0042] The language management module is configured to store tag resources;
[0043] The translation management module is configured to store reference resources, dictionary resources, and prompt information resources;
[0044] The dictionary management module is configured to store button resources.
[0045] The above technical solution first extracts the table structure from the database to establish a data model, then performs business modeling on the data model to generate a business model. Next, a visual form designer, based on the business model and combined with the data model, performs page modeling to generate a page model. Finally, internationalization resources are acquired, and a rule engine, combining the business model, page model, and internationalization resources, generates internationalized software engineering code. This application uses a business model to drive visual modeling and page design, enabling the automatic collection and injection of internationalization resources, while simultaneously generating software engineering code that meets internationalization requirements for different technical architectures using a rule engine.
[0046] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description
[0047] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings:
[0048] Figure 1 A flowchart illustrating an internationalization software development method according to an embodiment of this application is shown schematically;
[0049] Figure 2 This illustration schematically shows a domain modeling and code generation flowchart according to a specific embodiment of the present application;
[0050] Figure 3 This illustration schematically shows a flowchart of obtaining international resources according to an embodiment of this application;
[0051] Figure 4 This schematic diagram illustrates a structural block diagram of a server according to an embodiment of the present application;
[0052] Figure 5 The diagram illustrates an internationalized software development system architecture according to an embodiment of this application.
[0053] Explanation of reference numerals in the attached figures
[0054] 510 Model Components 520 Rule Engine Components
[0055] 530 Development Configuration Components 540 Internationalization Components
[0056] 541 Language Management Module 542 Translation Management Module
[0057] 543. Thesaurus Management Module Detailed Implementation
[0058] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0059] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of the components in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.
[0060] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0061] Figure 1 A flowchart illustrating an internationalization software development method according to an embodiment of this application is shown schematically. Figure 1 As shown in the embodiments of this application, a method for internationalized software development is provided, which may include the following steps.
[0062] Step 101: Extract the table structure from the database to build a data model.
[0063] In this embodiment, domain modeling is the most widely used method for extracting and structurally expressing business logic during software development. A domain model is a visual representation of conceptual classes or real-world objects within a domain. Domain models focus on analyzing the problem domain itself, uncovering important business domain concepts, and establishing relationships between these concepts. In this embodiment, the domain model is a business model. After completing the database table design, business model modeling begins, starting with the creation of a data model. The data model includes field attributes and page attributes. Field attributes correspond to database fields, while page attributes describe the default representation of fields in specific forms or query lists. Therefore, the database table structure can be extracted first, abstracted into a data model, and the relationships within the data model can be refined.
[0064] Step 102: Perform business modeling on the data model to generate a business model.
[0065] In this embodiment, the business model is created based on the data model. Therefore, business modeling of the data model is a further abstraction of the data model to generate the business model. The business model interfaces with both the data model and specific business logic. A complete business model can drive the generation of complete business logic code, i.e., backend code. Since the business model describes business relationships and operations, and complex business scenarios are often composed of numerous business relationships and operations, code generation based on the business model can accurately express business logic and generate highly available business logic code.
[0066] Step 103: Use a visual form designer to perform page modeling based on the business model and the data model to generate a page model.
[0067] In this embodiment, the front-end code is the front-end page, which can be generated from a page model. Therefore, page modeling can be performed first, combining the business model with a data model to generate the page model. Specifically, page modeling includes two parts: form definition and business query. The key to generating a complete front-end page is perfecting the form definition and query list, which is essentially perfecting the final form presented to the user for the business scenario. Perfecting the form definition can provide personalized front-end business functions, such as adding, modifying, and viewing form model configurations. The perfected query list can also provide personalized front-end business functions. Business queries and form definitions are completed using a visual form designer, combining the business model with a data model. Based on visual page modeling, anyone with business knowledge can design highly customized business forms and query lists. Personalized front-end code that meets various business scenarios can be generated through business queries and form definitions.
[0068] Step 104: Obtain international resources.
[0069] In this embodiment, the process of establishing the data model and generating the business model encompasses all page elements, i.e., internationalization resources. Furthermore, driven by the business model, these resources can be aggregated and stored in the internationalization component for unified management. Thus, during code generation, internationalization resources can be automatically retrieved from the internationalization component. In this embodiment, the business model-driven approach enables the collection and injection of internationalization resources to be automated, eliminating the need for developers to write software code line by line. It also provides the system with functions for collecting and managing internationalization resources, satisfying the internationalization requirements of page tags and table data through a combination of language files and system caching, ensuring the reliability and efficiency of the development process.
[0070] Step 105: Generate internationalized software engineering code by combining the business model, page model, and internationalization resources through the rules engine.
[0071] In this embodiment, front-end and back-end code can be generated based on a business model and combined with a page model. A rules engine can then combine the back-end code, front-end code, and internationalization resources to form code with internationalized information—that is, internationalized software engineering code. Specifically, to aggregate and acquire internationalization resources, internationalization injection rules and language pack generation rules are first added to the rules engine. Simultaneously, to generate internationalized software engineering code, code generation rules are also added to the rules engine to ensure that the generated code can adapt to different technical architectures. A robust rules engine can separate the generated code from the specific framework; therefore, based on the rules engine, software engineering code that meets internationalization requirements can be generated for different technical frameworks, with low learning costs and easy extensibility.
[0072] The above technical solution first extracts the table structure from the database to establish a data model, then performs business modeling on the data model to generate a business model. Next, a visual form designer, based on the business model and combined with the data model, performs page modeling to generate a page model. Finally, internationalization resources are acquired, and a rule engine, combining the business model, page model, and internationalization resources, generates internationalized software engineering code. This application uses a business model to drive visual modeling and page design, enabling the automatic collection and injection of internationalization resources, while simultaneously generating software engineering code that meets internationalization requirements for different technical architectures using a rule engine.
[0073] In this embodiment of the application, generating a page model by combining a business model with a data model using a visual form designer may include:
[0074] Define forms based on the data model using a visual form designer;
[0075] Business queries are performed by combining the business model with the data model.
[0076] Specifically, page modeling includes two parts: form definition and business query. The front-end code, i.e., the front-end page, is crucial for generating a complete front-end page. Perfecting the form definition and query list is key to refining the final presentation of the business scenario to the user. In this embodiment, the form definition is completed using a visual form designer based on the data model. By refining the form definition, personalized front-end business functions can be provided to meet user needs, such as adding, modifying, and viewing form model configurations. In this embodiment, the business query is completed based on the business model combined with the data model. The business query can refine the query list, and the refined query list can provide personalized front-end business functions to meet user needs.
[0077] In this embodiment of the application, defining a form based on the data model using a visual form designer may include:
[0078] Retrieve field attributes and page attributes from the data model;
[0079] Define forms using a visual form designer, based on field attributes and page attributes.
[0080] In this embodiment, the visual form designer allows for the rapid creation of form pages through visual operations. Therefore, forms can be defined based on the business model and the data model using the visual form designer. Specifically, since the data model includes field attributes and page attributes, where the field attributes correspond to database fields and the page attributes describe the default representation of fields in a specific form, the server can first obtain the field attributes and page attributes from the data model, and then define the form based on these attributes using the visual form designer.
[0081] In this embodiment, business queries include column queries, in-row operations, and global operations. Business queries based on the business model and combined with the data model can include:
[0082] Retrieve the field attributes and page attributes of the data model;
[0083] Perform column queries based on field attributes and page model;
[0084] Obtain the business relationships and business operations from the business model;
[0085] Perform intra-line and global operations based on business relationships and operations.
[0086] In this embodiment, business queries can include column queries, inline operations, and global operations. Specifically, since the data model includes field attributes and page attributes, where the field attributes correspond to database fields and the page attributes describe the default representation of the fields in the query list, the server can first obtain the field attributes and page attributes from the data model and perform column queries based on these attributes and the page model. In this embodiment, the business model is used to describe business relationships and operations. In most cases, complex business scenarios consist of numerous business relationships and operations. At this step, visual configuration methods can be used to intuitively construct business scenarios. Therefore, the server can obtain the business relationships and operations from the business model and perform inline and global operations based on these relationships and operations.
[0087] Figure 2 This illustration schematically depicts a domain modeling and code generation flowchart according to a specific embodiment of this application. Figure 2 As shown, in one specific embodiment, the domain modeling and code generation process may include the following steps:
[0088] S1. Extract database tables to build a data model.
[0089] S2. Abstract the data model to generate a business model.
[0090] S3. Obtain the field attributes and page attributes from the data model, and use the visual form designer to create a page model and define the form based on the field attributes and page attributes.
[0091] S4. Obtain the field attributes and page attributes of the data model, and perform column queries based on the field attributes and page model; obtain the business relationships and business operations in the business model, and perform in-row operations and global operations based on the business relationships and business operations.
[0092] Specifically, domain modeling includes establishing a data model and generating a business model. The business model generates complete business logic code (backend code), while the page model generates frontend pages (frontend code). The data model is established by extracting the table structure of the database. Further abstraction based on the data model generates the business model. In this embodiment, the business model is the domain model, and the page model is built upon the data model and business model. Specifically, page modeling includes form definition and business query. For form definition, the server first obtains field attributes and page attributes from the data model, and then uses a visual form designer to build the page model based on these attributes to define the form. Business queries include column queries, inline operations, and global operations. Column queries can be performed by obtaining field attributes and page attributes from the data model. Inline and global operations can be performed by obtaining business relationships and business operations from the business model. Driven by the domain model and through visual operations using a visual form designer, the creation and design of highly customized business forms and query lists can be completed quickly.
[0093] Figure 3 A flowchart illustrating an embodiment of this application for obtaining internationalized resources is shown schematically. Figure 3 As shown in this embodiment, obtaining internationalized resources may include:
[0094] Based on business model-driven approaches, we collect the first internationalization resources during the data model building process and the second internationalization resources during the business model generation process.
[0095] Store the first and second internationalization resources in the internationalization component;
[0096] Obtain the first and second internationalization resources from the internationalization components.
[0097] In this embodiment, the domain modeling process, namely the process of establishing the data model and generating the business model, encompasses all page elements, i.e., internationalization resources. Driven by the business model, these resources can be aggregated and stored in the internationalization component for unified management. Thus, during code generation, internationalization resources can be automatically retrieved from the internationalization component. Specifically, the internationalization resources include a first internationalization resource and a second internationalization resource. The first internationalization resource is the internationalization resource used during the data model establishment process, and the second internationalization resource is the internationalization resource used during the business model generation process.
[0098] like Figure 3 As shown in the embodiments of this application, the first internationalization resource may include tags, references, and dictionaries;
[0099] The second internationalization resource can include prompts and buttons.
[0100] In this embodiment of the application, the page elements, i.e., internationalization resources, collected during the domain modeling process, that is, during the process of establishing a data model and generating a business model, include a first internationalization resource and a second internationalization resource. The first internationalization resource consists of tags, references, and dictionaries collected during the data model establishment process; the second internationalization resource consists of prompts and buttons collected during the business model generation process.
[0101] In this embodiment of the application, generating internationalized software engineering code by combining a rules engine with a business model, a page model, and internationalization resources may include:
[0102] Obtain the context and development configuration to run the rules engine;
[0103] The rules engine combines business models, page models, and internationalization resources to generate internationalized software engineering code.
[0104] The context includes code generation rules, internationalization injection rules, and language pack generation rules, while the development configuration includes service and module configuration, system field configuration, UI component configuration, verification rule configuration, operation template configuration, and generation rule configuration.
[0105] In this embodiment, front-end and back-end code can be generated based on a business model and combined with a page model. A rule engine can then combine the back-end code, front-end code, and internationalization resources to generate internationalized software engineering code. Specifically, the internationalization component also stores translation data for languages and standards supported by the business system. By combining this translation data with the acquired internationalization resources and translating them into their corresponding languages, internationalized code can be generated. In this embodiment, the rule engine requires two parts to run: context and data. The context refers to the rules needed to generate internationalized software code, including code generation rules, internationalization injection rules, and language pack generation rules. The data refers to the development configuration during the modeling process, including service and module configurations, system field configurations, interface component configurations, validation rule configurations, operation template configurations, and generation rule configurations. By running the rule engine, the code can be combined with language packs (i.e., internationalization resources) to form internationalized code.
[0106] Figure 4 A schematic block diagram of a server according to an embodiment of this application is shown. Figure 4 As shown in the illustration, this application provides a server that may include:
[0107] Memory 410 is configured to store instructions; and
[0108] Processor 420 is configured to retrieve instructions from memory 410 and, when executing instructions, to implement the aforementioned internationalized software development method.
[0109] Specifically, in this embodiment of the application, the processor 420 can be configured to:
[0110] Extract the table structure from the database to build a data model;
[0111] The data model is abstracted to generate a business model, which in turn generates backend code;
[0112] The visual form designer allows for business queries and form definitions based on the business model and data model to generate front-end code.
[0113] Access to international resources;
[0114] By combining backend code, frontend code, and internationalization resources through a rules engine, internationalized software engineering code can be generated.
[0115] In this embodiment of the application, the front-end code includes a first front-end code and a second front-end code.
[0116] Furthermore, the processor 420 can also be configured as follows:
[0117] Retrieve field attributes and page attributes from the data model;
[0118] Build a page model based on field attributes and page attributes using a visual form designer;
[0119] Define forms using a page model to generate the first front-end code.
[0120] Furthermore, the processor 420 can also be configured as follows:
[0121] Retrieve the field attributes and page attributes of the data model;
[0122] Perform column queries based on field attributes and page model;
[0123] Obtain the business relationships and business operations from the business model;
[0124] Perform intra-line and global operations based on business relationships and operations;
[0125] Generate second front-end code through column queries, inline operations, and global operations.
[0126] Furthermore, the processor 420 can also be configured as follows:
[0127] Based on business model-driven approaches, we collect the first internationalization resources during the data model building process and the second internationalization resources during the business model generation process.
[0128] Store the first and second internationalization resources in the internationalization component;
[0129] Obtain the first and second internationalization resources from the internationalization components.
[0130] In this embodiment of the application, the first internationalization resource includes tags, references, and dictionaries;
[0131] The second set of internationalization resources includes prompts and buttons.
[0132] Furthermore, the processor 420 can also be configured as follows:
[0133] Obtain the context and development configuration to run the rules engine;
[0134] The rules engine combines backend code, frontend code, and internationalization resources to generate internationalized software engineering code.
[0135] The context includes code generation rules, internationalization injection rules, and language pack generation rules, while the development configuration includes service and module configuration, system field configuration, UI component configuration, verification rule configuration, operation template configuration, and generation rule configuration.
[0136] The above technical solution first extracts the table structure from the database to establish a data model, then performs business modeling on the data model to generate a business model. Next, a visual form designer, based on the business model and combined with the data model, performs page modeling to generate a page model. Finally, internationalization resources are acquired, and a rule engine, combining the business model, page model, and internationalization resources, generates internationalized software engineering code. This application uses a business model to drive visual modeling and page design, enabling the automatic collection and injection of internationalization resources, while simultaneously generating software engineering code that meets internationalization requirements for different technical architectures using a rule engine.
[0137] Figure 5 This diagram schematically illustrates an internationalization software development system architecture according to an embodiment of this application. Figure 5 As shown in the embodiments of this application, an internationalization software development system is also provided, which may include:
[0138] The aforementioned servers;
[0139] Model component 510 communicates with the server and is configured to generate code and internationalization resources;
[0140] The rules engine component 520 communicates with the server and is configured to provide code generation rules;
[0141] Develop configuration component 530, which communicates with the server and is configured to assist in modeling and running the rule engine;
[0142] Internationalization component 540 communicates with the server and is configured to store and provide internationalized resource management.
[0143] like Figure 5 As shown in the embodiments of this application, the internationalization component includes:
[0144] Language management module 541 is configured to store tag resources;
[0145] Translation management module 542 is configured to store reference resources, dictionary resources, and prompt information resources;
[0146] The dictionary management module 543 is configured to store button resources.
[0147] In this embodiment, the server (not shown in the figure) communicates with the model component 510, the rule configuration engine 520, the development configuration component 530, and the internationalization component 540. Specifically, the server first extracts the table structure of the database to establish a data model, and then abstracts the data model to generate a business model to generate backend code. Then, a visual form designer is used to perform business queries and form definitions based on the data model and the business model to generate frontend code. During the process of establishing the data model and generating the business model, internationalization resources are collected based on the business model and stored in the internationalization component 540. The internationalization component 540 includes a language management module 541, a translation management module 542, and a thesaurus management module 543. The language management module 541 stores tag resources; the translation management module 542 stores reference resources, dictionary resources, and prompt information resources; and the thesaurus management module 543 stores button resources. The language management module 541 also stores the languages supported by the business system, and the thesaurus management module 543 stores standard translation data. By combining the languages supported by the business system and the standard translation data, the internationalization resources can be translated into the corresponding languages. Finally, the rule engine component 520 is run by the development configuration component 530, and then the rule engine component 520 is combined with the business model, page model and internationalization resources to generate internationalized software engineering code.
[0148] This application also provides a machine-readable storage medium storing instructions that cause a machine to execute the aforementioned internationalization software development method.
[0149] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0150] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0151] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0152] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0153] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0154] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0155] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0156] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0157] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method for international software development, characterized in that, Applied to internationalized software development systems, wherein the internationalized software development system communicates with a database, including: Extract the table structure from the database to build a data model; The data model is used for business modeling to generate a business model; The page model is generated by combining the data model with the business model using a visual form designer. Access to international resources; The rules engine combines the business model, the page model, and the internationalization resources to generate internationalized software engineering code. The acquisition of internationalization resources includes: based on the business model, collecting first internationalization resources in the process of establishing the data model and second internationalization resources in the process of generating the business model; storing the first internationalization resources and the second internationalization resources in the internationalization component; and acquiring the first internationalization resources and the second internationalization resources from the internationalization component.
2. The method according to claim 1, characterized in that, The step of generating a page model by combining the business model and the data model using a visual form designer includes: The form is defined based on the data model using the visual form designer. Business queries are performed based on the business model and the data model.
3. The method according to claim 2, characterized in that, The step of defining the form based on the data model using the visual form designer includes: Obtain the field attributes and page attributes from the data model; Define forms using a visual form designer, based on the field attributes and page attributes.
4. The method according to claim 2, characterized in that, The business query includes column queries, in-row operations, and global operations. The business query based on the business model and the data model includes: Obtain the field attributes and page attributes of the data model; Perform column queries based on the field attributes and the page model; Obtain the business relationships and business operations in the business model; Perform in-line and global operations based on the business relationships and business operations.
5. The method according to claim 1, characterized in that, The first internationalization resource includes tags, references, and dictionaries; The second internationalization resource includes prompts and buttons.
6. The method according to claim 1, characterized in that, The step of generating internationalized software engineering code by combining the business model, the page model, and the internationalization resources through a rules engine includes: Obtain the context and development configuration to run the rule engine; The rule engine is used to combine the business model, the page model, and the internationalization resources to generate internationalized software engineering code. The context includes code generation rules, internationalization injection rules, and language pack generation rules, while the development configuration includes service and module configuration, system field configuration, interface component configuration, verification rule configuration, operation template configuration, and generation rule configuration.
7. A server, characterized in that, include: The memory is configured to store instructions; as well as A processor configured to retrieve the instructions from the memory and, when executing the instructions, to implement the method of internationalized software development according to any one of claims 1 to 6.
8. An internationalized software development system, characterized in that, include: The server according to claim 7; The model component, which communicates with the server, is configured to generate code and internationalization resources; The rules engine component, which communicates with the server, is configured to provide code generation rules; A configuration component is developed to communicate with the server and is configured to assist in modeling and running the rule engine; An internationalization component, which communicates with the server, is configured to store and provide internationalized resource management.
9. The system according to claim 8, characterized in that, The internationalization components include: The language management module is configured to store tag resources; The translation management module is configured to store reference resources, dictionary resources, and prompt information resources; The dictionary management module is configured to store button resources.
Citation Information
Patent Citations
Node.js-based internationalization realization method
CN106569793A
Software application internationalization method and device and electronic equipment
CN110018876A