Project Settings
The Project Settings window in LSDE allows you to adjust parameters specific to the currently open project. These settings are organized into several sections.
LLM Directive
This section allows you to create custom tasks for LLMs, tailored to your project. While LSDE offers default tasks, you can define your own to precisely meet your needs. You will have access to the following fields:
- New Prompt Add new prompts to the project.
- Label and Descriptions :
- Fill in the task's name (this label can influence the LLM).
- Add an explanatory note, visible only to you and not sent to the LLM.
- Prompt Content : Write here the directive that will be sent to the LLM to accomplish the task.
- Telemetry : Displays information on the word count and an estimated token cost of the prompt.
- Activation Activate or deactivate the task at any time without deleting it.
Note
Note that LLMs always receive task directives with predefined context and rules. Options for refining these elements are presented later.
Variables
The variable manager is a powerful system designed to interact with LLMs, while optimizing your productivity and facilitating dialogue translation and writing.
Why use them?
- They are particularly well-suited for video game projects with complex narrative requirements, such as JRPGs.
- They can contain a wealth of information to display custom tooltips, highlight keywords, and much more.
- They form an essential basis for optimizing your workflow in LSDE.
To create a variable, start by selecting its category.
Note
If no category exists, you will first need to create one (e.g., Actors, Objects, HTML, etc.).
Once created, the variable appears in a list as an expandable block. Expand it to access its full configuration interface.
The Interface
- Variable Group or Category Create and select a variable group.
Note
Right-clicking on a group allows you to delete it, as well as all variables it contains.
- Create a Variable Once a group is selected, use this button to create a new variable within it.
- Edit a Variable Variables are displayed in containers, with quick actions in the header to:
- Activate/deactivate the variable.
- Reorder it by drag and drop.
- Give it a label (used in tooltips and options).
- Change its group.
- Delete it.
- Tags/Regular Expressions Enter the keywords (tags) or regular expression (regex) that will allow the system to identify this variable.
Note
For example, a text capture pattern will rely on these tags or this regex to find a match.
- Switch to Regular Expression The default mode uses keywords (tags). Activate this mode to use a regular expression, offering more flexibility and dynamism.
Note
Example: /actor\\d+/ avoids having to manually define tags like « actor1 », « actor2 », « actor11 », etc.
Descriptions
- Note Write a note for the user, which will be displayed in tooltips but not sent to LLMs.
Note
Avoid describing sensitive content if you are versioning the project, as these notes are saved in .lsde files.
- Descriptions This description provides directives to the LLM when the variable is included in the context of a query.
Note
It can describe a character's personality, world elements, or even formatting rules (Markdown, JSX, HTML...).
Appearance
This section allows you to associate visual elements with the variable, facilitating its recognition in the interface for artists, translators, and writers. 8. Render Icon Associate an icon (image or emoji) that will represent the variable in editors and menus. 9. Tooltip Image Add a larger image, displayed in tooltips to provide better visual context to the user.
Note
Images are automatically compressed and saved with the project to facilitate sharing.
- Colorimetry Define a text and background color. These colors will take priority if the variable is associated with a pattern or another visual element.
Additional Information
This section gathers additional design options for tooltips, as well as coupling parameters with suggestion triggers. 11. Decorations Add optional information that will be displayed in the decoration section of the tooltip. 12. External Link Insert an external link in the tooltip, which will open in your default browser. 13. Voice Label Redefine the variable's name when it is associated with a voice. By default, its label is used; otherwise, its UUID. 14. Associate with Suggestions Allows the variable to be included in suggestion triggers during input.
Note
The variable's tags will be used as suggestions.
- Telemetry Displays statistics on the variable's usage in the project.
Patterns
Patterns allow LSDE to capture specific text portions in dialogues. By relying on regular expressions, this system offers great flexibility for formatting and processing your dialogues. Learn more about patterns and rendering here
The Interface
- Create a Pattern/Template Create a new pattern, either from a predefined template or from scratch.
- Internal Reference Define a pattern to reference other project keys (« nesting » mechanism), if your game engine or framework supports it. For example, if you use i18next's « nesting ».
- Regular Expression Enter your regular expression. It is not necessary to escape curly braces
{}. - Add Decorators Add additional decorators in addition to the initial capture, then associate them with the capture groups of your regular expression.
- Initial Decorator The initial decorator defines the rendering of the text captured by the regular expression in the editor.
Note
Initial decorators must be of « inline » type and cannot be « widgets ».
- Group and Type Assign the capture group and the desired rendering type for additional decorators. More details here
Contexts
This section allows you to define rules for managing different contexts, such as plurals or genders.
A context is identified by a suffix added to the end of the key (e.g., key_plural). LSDE manages these variants so that you can gradually integrate them into your project, without having to modify existing source code.
This way, you can support contexts only when necessary, without altering your project.
The Interface
- Labeling Define the context's ID, label, and separator. For example, to manage plurals with i18next:
name_space.folder.key_contextwould become:game.common.welcome-to-my-shop_onegame.common.welcome-to-my-shop_manygame.common.welcome-to-my-shop_otherMore information on i18n plurals with i18next - Tags Define the suffixes (tags) that will be used to identify each context variant.
- Description (LLM) Write here the description that will be sent to the LLM when it processes a key using this context.
- Delimiter Choose the character used as the context delimiter.
Note
Periods are not allowed.
Codeview
This section is used to configure the analysis module for your source code (codebase). This module scans your files to automatically extract translation keys, their contexts, and their default values. To be valid, a regular expression must contain at least one capture group assigned to the key. Consult the advanced section here.
The Interface
- Project Codebase Path Indicate the path to your project's root folder, containing the source files that use translation keys.
- Exclusions Specify folders and files to exclude from analysis to optimize performance.
Note
Separate entries with commas. Use full folder names or file names (with extension).
Pattern
Manage your list of capture patterns here, presented in expandable blocks. 3. Note/Label A label or note to easily identify the pattern and its role. 4. Regular Expression Insert or modify your regular expression. The number of detected capture groups is displayed below. 5. Namespace Associate the capture group that corresponds to the namespace of your keys (optional).
Note
Automatically suggests the correct namespace when creating keys.
- Key Associate the capture group that corresponds to the key itself (without the namespace).
Note
Keys should not contain a namespace; use the dedicated field for this purpose.
- Default Text Associate the capture group that corresponds to the default text.
Note
In software projects, developers often insert default text for a quick UI/UX preview.
- Context Associate the capture group that corresponds to the context (e.g., plural).
Templates
When creating a pattern, you can choose from predefined templates. They serve as a starting point to avoid writing a regular expression from scratch or to help you build one.
Generator
This section allows you to configure the automatic generation of a file containing your keys, in a format adapted to your project. This is useful, for example, for creating a TypeScript enum from your keys.
- Name of the class that will export the keys.
- Name of the generated file.
- Destination folder for the exported file.
- Language of the generated JSDOC comments.
- Maximum length of JSDOC comments.
- Replacement character for periods (
.).
Note
In JS/TS, periods are not allowed in key names; the converter will automatically create string literals as keys.
- Include the namespace in the generated keys.
- Include contextual keys (with suffixes).
Note
It is generally not necessary to include these keys, as their management is handled by your internationalization framework.
Voices
The Voice section allows you to configure the voice generator for your dialogues. Building on advancements in LLM and TTS (Text-to-Speech) technologies, this feature allows you to create synthetic voices by controlling tone, intonation, and emotion. These voices can then be integrated into your game engine, offering immersive audio narration at a fraction of the cost of traditional studio recording.
Note
Although this technology is still evolving, it offers independent creators a tremendous opportunity to stand out and enhance the narrative immersion of their work.
A dedicated section on integrating voices into your project is available here.
Suggestions
This section allows you to configure the display of the suggestions menu. When a key combination (a trigger) is entered in the editor, a contextual menu appears. It can suggest variables (based on their tags) or translation keys (if the trigger is associated with internal references).
- Key Suggestions Define the trigger to display all project keys.
Note
Useful for projects using internal dictionaries and cross-references.
- Conditions Choose a modifier key (e.g., Ctrl, Alt) for the trigger (optional).
- Letter Specify the letter or symbol which, combined with the modifier key, will activate suggestions.
- Label A name to easily identify this trigger in the interface.
- Affixes
- Prefix : Content to add before the user's selection.
- Suffix : Content to add after the user's selection.
