Moved `NamingConvention` from the settings package to a new settings.presets package. This involved modifying various import statements across the application and updating methods that utilised this enum. Increased the `KeyCaseFormater` minimum and preferred width to 200 for better UI rendering.
Moved key naming convention conversion logic into NamingConvention enum. This simplifies the code in LocalizeItAction and makes the conversion function easily reusable. Also added support for uppercase snake and camel cases.
Updated naming convention features by simplifying key case formatter construction and expanding the naming convention enum. Also performed a refactor to layout and formatting across various files for improved readability. Added new test cases to validate the update to naming convention.
Refactored convertKeyToNamingCase method to include project-specific naming conventions. Now, it adapts to the naming convention specified in the project settings. This change enhances flexibility by catering to individual project preferences.
This commit adds a new attribute, `caseFormat`, to the `ProjectSettingsState` class. It also introduces a static method `fromSelector` in the `NamingConvention` class to transform a string into a NamingConvention enum. The transformation in `ProjectSettingsComponentState` has been updated to use this new method.
This update enables the user to specify a key naming convention (Camel Case or Snake Case) for extracted translations. This option is made available in the settings panel, and has been included in the project-specific configuration and state management for the project settings component.
Implemented a new setting, `getCaseFormat`, in the `ProjectSettings` interface, returning the naming convention used. Also extended corresponding implementations (`DefaultPreset`, `VueI18nPreset`, `ReactI18NextPreset`, `SettingsTestPreset`) to return `NamingConvention.CAMEL_CASE`. A new enum `NamingConvention` was created for this, with options `SNAKE_CASE` and `CAMEL_CASE`.
New methods have been added to convert keys to either camel or snake case depending on a boolean flag. These methods are used to format the text that is input into the Add Dialog in 'LocalizeItAction' class. This improves the versatility of key handling within the project.
The `flavorTemplate` has been introduced in `ProjectSettingsState` to allow developers to customize the i18n string replacement format. In addition, the `LocalizeItAction` class has been simplified by refactoring commented details into JavaDocs and adding methods to replace selected text and build replacement strings. A new utility class, `DocumentUtil`, checks the document type during string replacement.
A new feature is introduced to replace the selected text in editor with Internationalization (i18n) keys, improving the coding workflow for developers handling string localization. The i18n keys are generated based on the customized settings or default flavor template. Further, a function to retrieve the key field from the `TranslationDialog` is added and a new utility class `DocumentUtil` for checking document file types has been added.
A new setting, `flavorTemplate` is introduced to specify how strings are replaced with i18n representation. This includes code modifications for handling this new feature and also updates in the messages.properties file for the associated UI text. The feature is especially useful for customizing how localization strings are generated in different project setups.
This commit introduces a new action, `LocalizeItAction`, into the easyi18n toolset, which allows users to automatically apply localization to a selected string in the text editor. The action is now accessible from the editor's context menu. This provides a more efficient way to localize selected strings compared to manually adding them.
This commit introduces a new action, `LocalizeItAction`, into the easyi18n toolset, which allows users to automatically apply localization to a selected string in the text editor. The action is now accessible from the editor's context menu. This provides a more efficient way to localize selected strings compared to manually adding them.